文档资料管理系统的设计与实现

文档资料管理系统的设计与实现
文档资料管理系统的设计与实现

文档资料管理系统的设计与实现

目录

论文总页数:20页1引言 (1)

2 设计理论依据 (1)

2.1 MFC简介 (1)

2.2 XML介绍 (2)

3文档资料管理系统简介 (4)

3.1 系统开发背景 (4)

3.2系统开发环境 (5)

3.2.1 系统软件环境 (5)

3.2.2工具简介 (5)

3.3系统概述 (5)

4文档资料管理系统的设计 (6)

4.1系统需求分析及功能设计 (6)

4.2 XML存储结构的设计 (7)

4.3用户界面和事物处理 (12)

4.3.1用户界面 (12)

4.3.2事务处理 (13)

5软件测试 (15)

结论 (18)

参考文献 (18)

1引言

当今世界是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛用于管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。但是在众多的资料中,如何规范,准确,快速,全面的管理自己的资料,如书籍,电子资料等,并且方便自己查阅。使用计算机进行信息管理控制,不仅提高了工作效率,而且大大提高了其安全性。本系统就是为了管理好自己的各种有用资料信息而设计的。

面对各种繁多的资料,很多人是没有进行合理的分类整理和建立一个资料管理系统来管理它们,有时候在手头研究需要一些资料的时候往往是靠记忆来寻找,但是这样做会浪费很多时间和精力。由于数据繁多容易丢失,且不易查找。总的来说缺乏系统,规范的信息处理手段。尽管我们有计算机,但是尚未用于信息管理,没有发挥它的效益,资料闲置比较突出,就是管理信息开发的基本环境。基于此类问题,我认为有必要建立一个资料管理系统,使资料管理工作规范化,程序化,避免资料管理随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改资料情况。

本次毕业设计是在老师指导下自己独立完整的进行软件的设计,程序编写,调试等工作。通过自己对整个流程的设计和实现,能够完成最初提出的要求,也对一些功能进行了扩展和加深。利用文档资料管理系统能够比较完善的管理自己的资料,也能比较快速的找到自己以前看过或是记录下的资料,使用起来也很方便,快速。

2 设计理论依据

2.1 MFC简介

MFC微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎。MFC就是挂在它之上的一个输助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的.

MFC是Win API与C++的结合,API,即微软提供的Winos下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身。MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一

个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁)

MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序。MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;Class Wizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。

2.2 XML介绍

XML是Extensible Markup Language的缩写,即可扩展标记语言是一种您可以用来创建自己标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML (即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和 HTML 一样;XML 基于 SGML ―标准通用标记语言(Standard Generalized Markup Language)XML实际上是Web上表示结构化信息的一种标准文本格式,它没有复杂的语法和包罗万象的数据定义。XML同HTML一样,都来自SGML(标准通用标记语言)。SGML是一种在Web发明之前就早已存在的用标记来描述文档资料的通用语言。但SGML十分庞大且难于学习和使用。鉴于此,人们提出了HTML语言。但近年来,随着Web应用的不断深入,HTML在需求广泛的应用中已显得捉襟见肘,有人建议直接使用SGML作为Web语言。但SGML 太庞大了,学用两难尚且不说,就是全面实现SGML的浏览器也非常困难。于是Web标准化组织W3C建议使用一种精简的SGML版本——XML。XML与SGML一样,是一个用来定义其他语言的元语言。与SGML相比,XML规范不到SGML规范的1/10,简单易懂,是一门既无标签集也无语法的新一代标记语言。可以说,XML 的出现给数据交换带来了一场革命;XML的出现是至今为止最聪明的一种符号化语言;XML成为下一代网络发展的基石。

XML作为引人注目的核心技术应用于BtoB、Web服务、.NET等许多系统中。XML可以作为电子数据交换的统一格式,用XML可以对数据关系进行定义形成特有的标准,因此各行各业都在建立自己的行业化标准,以应用于网络上处理电子商务,把后台系统通过Web站点表现出来。XML还可以作为数据仓储,一个XML文件就是一个小的数据库,通过对数据关系的定义形成各种关系、属性的数据,实现数据交换、上下文检索、多媒体传输。XML具有其他方法所不具备的数据描述特点XML是以文本形式来描述的一种文件格式由于XML是以文本形式描述的,所以适合于各种平台环境的数据交换。同样由于使用文本来描述

内容,可以越过不同平台的障碍进行正常的数据交换。但是,文本形式也会因为文字代码的不同造成不能阅读的问题,在这一点上XML有着非常完美的解决方案。 XML使用有意义的标记(Tag)在XML中文件是由一个个称之为元素(Element)的部件构成。使用标记(Tag)来描述元素。由于使用了标记的描述方法,可以保持原数据的意思和构造在互联网上进行数据交换,进而可以保持不同系统之间数据交换的灵活性。

可以说,XML是“定义语言的语言”,也即是一种元语言。由于XML具有元语言的功能,所以可以成为描述电子商务数据、多媒体演示数据、数学公式等各种各样数据应用语言的基础语言。下面提供几个以XML为基础生成的数据描述语言(本文亦称为XML应用语言)的应用例子,即出版媒体:Open eBook(电子书籍)、NewsML(新闻媒体);科学:MathML(数学表达式)、CML(化学);电子商务:cXML(电子商务)、FpML(金融);多媒体:SMIL(多媒体演示)、BML (卫星数据传送)。

XML是描述内容的数据格式,在使用XML数据时,还需要XML数据的显示、打印、数据结构的变更等许多相关技术。如果这些相关技术也都标准化的话,即使在不同平台开发应用程序也都可以用相同的方法,使开发难度降低。处理XML数据时,一定要使用XML Processor(也就是XML Parser),把XML数据结构的检查等交给XML Parser去做。应用程序对接收到XMLProcessor传递来的XML树进行处理,向用户提供服务。此时,不管是电子商务,还是知识管理,都是定义XML数据结构的技术、显示打印XML数据的技术、XML数据结构变更技术、XML数据联接整合技术、用程序操作XML树的API和其它应用技术的组合。

在XML中用户可以自由的定义标记名以及与标记相关的元素及元素层次,这是XML的主要特征。但是,如果定义的都是只有自己才能理解的标记,就无法与其他人进行交换数据。为了在企业团体之间进行XML格式的数据的交换,XML数据的结构、元素的名称、元素的数据类型以及元素的亲子关系都需要仔细考虑,一定要设计成人和系统能够理解的语言。这样设计的XML数据结构在XML领域称为Schema,描述Schema的语言称为Schema语言。DTD是最普通XML 的Schema语言是DTD(Document Type Definition:文档类型定义)。DTD是远在SGML时期就一直使用的Schema语言,1998年制订XML语法时,沿用了描述Schema的DTD。XML Schema中有下述DTD中不具备的特征:多个Schema复合使用XML名字空间;用XML语法描述;可以详细定义元素的内容及属性值的数据类型。由于在XML Schema中的数据结构也都是用XML数据来表现的,与DTD 相比数据量增大很多。但是,XML Schema的表现力要远比DTD强得多,不仅支

持字符串、10进制数、浮动小数点、日期等,还支持m回以上和n回以下出现的元素(m、n为整数)的指定。例如“邮编xxxxxx”(x是字符)是邮政编码元素的格式指定等都是DTD所不能表现的内容。XML Schema于2001年5月成为W3C的推荐规范,对XML的利用产生了重要的影响。

XML作为数据描述语言是非常优秀的,但是并不是所有的电子数据都是转换到XML是最有效的。例如XML的文本表现手法、标记的符号化等会导致XML 数据比二进制表现方法数据量增加,尤其当数据量很大时,会成为很大的问题。也就是说,XML的导入要根据具体需求,比较其优缺点,在充分发挥XML优点的领域进行。尽管XML具备了作为通用数据描述语言的优秀特征,但是XML不是编程语言,说到底它是一种数据描述的技术。因此XML文件的显示、文件结构的变更、应用程序的操作等XML相关技术也是非常重要的。

随着计算机和网络技术的不断发展深入XML技术的应用也将不断扩大。该技术不仅在传统的银行之间数据交换、证券公司对上市公司情况的数据统计、图书馆对图书的查询检索、企事业文件档案管理等领域的应用更加迫切,在电子商务、搜索引擎软件、自动智能翻译、文档发声软件等领域也将得到更大的发展,特别是近期发展起来的移动通讯网络服务的发展,将使各种各样的信息经过格式转换到达PDA、甚至到达手持电话机,将来我们可以通过网络数据格式转换服务使小小的手机可以阅读到大千世界的丰富信息。

3文档资料管理系统简介

3.1 系统开发背景

本文档资料管理系统是为个人管理自己的各种资料的一个基于Windows XP 系统的一个应用软件.现在也有很多的资料管理系统,其中都是一个运用界面和逻辑接口嵌入一个数据库,这样在编写软件的时候也很方便和快速。但是对于编程人员来说,利用别的工具来实现自己的东西总是不好的事,尤其对于我们这种经验不足的人来说,尤其是不好的事情。因此我就想自己编写一个储存结构来代替数据库。因为在以前学习过XML知道用它可以实现数据的存储功能,于是决定利用它编写文件存储结构来实现本系统的数据存储。

现在人们有了电脑,对于存储自己需要的资料有了一个好的地方,但是如何能够有效的把日益增多的这些各种资料管理起来,能够方便需要的时候取出来,这是一个难题;对于一些以前看过的书,如何在以后突然需要的时候,快速的找到它的摆放位子?这些都是开发本资料管理系统的一个原因。为了管理个人的资料例如:电子资料,纸版资料等不同的资料并对所有的资料进行归类,如划分为VC++资料,windows类资料,健康类资料等。当这些资料经过科学的

分类,并把各种不同属性的资料各类管理起来,这样就实现了对资料的有效管理,也方便了用户在需要的时候很快能够找到想要的资料,节约了很多人力物力和精力。

3.2系统开发环境

3.2.1 系统软件环境

本系统采用的软件工具有:

操作系统: Windows XP

开发环境:VC++6.0

3.2.2工具简介

VC++6.0在提供可视化的编程方法的同时,也适用于编写直接对系统进行底层操作的程序,其生成代码的质量要优于很多其他的开发工具。VC++6.0所提供的基本类库MFC,对Windows所用的Win32应用程序接口进行了十分彻底的封装,这使得开发人员可以使用完全面向对象的方法来进行Windows编程,从而大大节省了应用程序的开发周期,降低了开发成本。而且,其强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。

随着多媒体技术和图形图像技术的不断发展,可视化技术得到了广泛的重视,愈来愈多的人开始研究并应用可视化技术。所谓可视化技术,一般是指软件开发阶段的可视化和对计算机图形技术和方法的应用。VC++是一个很好的可视化编程工具,使用VC++环境来开发基于Windows的应用程序,其界面更友好,便于程序员操作。开发环境是程序员同VC++的交互界面,通过它程序员可以访问C++源代码编辑器、资源编辑器,使用内部调试器,还可以创建项目文件

3.3系统概述

软件主要提供的功能包括:资源管理方面——添加资源,删除资源;资源浏览——按照目录,按照搜索。因此把软件大体分成三个部分进行实现:第一部分: 用户界面。包括整个程序的框架,以及用户操作的接口设计等即就是实现用户界面的部分.第二部分:用于处理事务的模块.包括用户添加,删除,修改资源,用户通过目录浏览,通过搜索找寻,通过自己的收藏夹进行资源管理等业务逻辑的实现。第三部分: 用于进行数据物理存储的模块。使用XML文档进行数据的存储,所以在实现的过程中,XML的操作成为了这个模块的主要工作。

文档资料管理系统是为个人管理自己的各种资料的软件,首先将资料分为电子资料和非电子资料;电子资料主要包括自己电脑上面储存的例如:电子文档,

电子书籍,影像资料等各种电子资料。非电子资料包括书籍,影碟,光碟等实物

资料;对每一份资料均有命名,可以使用书名来指代这本书,也对每一份资料加了关键字和注释,便于后面需要时候准确的找到需要的资料。对所有的资料进行归类,如划分为VC++资料,windows类资料,影像类资料等;指明资料的存放位置,若是电子资料(如电脑上的文件),可以通过鼠标点击直接打开文件,对于非电子资料和非本机子上的资料,在注释内注明其放置的位子,便于快速找到自己需要的资料;系统也有增加,删除,修改等工具条:增加是在有新资料需要用本系统管理的时候,可以通过它来增加。删除是对无用的资料进行删除。修改是需要对已有的资料增加一些说明的。另外也有目录,搜索和收藏夹等功能。系统也在最下面的窗口有一个对选中的资料有一个类似统计的显示,便于使用者,更加方便的使用本系统。

4文档资料管理系统的设计

4.1系统需求分析及功能设计

随着信息时代的来临,电脑用户的资料日益增多,而这些资料可能有着不同的特点。比如,它可能是一本书,也可能是一张光碟,也可能是个电子文档。如果稍有疏忽,资料的存放位置失去了某些特征,例如,某些电子文档你可能放到了一个目录下,而另外一个文档你却放到了其它的目录下。当你需要的时候,将难于准确迅速的找到,更谈不上有效的查询和管理了。总之,资料属性的多元化和数量的增多给管理这些资料带来了很多不便。

文档资料管理系统的设计目标正是为了解决这些问题。它将满足用户对资源的管理:增加,删除,修改,搜索及查看资源。具体说来,该系统将具备下面的功能:

(1)增加资源——用户能够添加一个资源,该资源可以是电子资源(比如PC上某个目录下的一张图片)或者是非电子资源(例如书桌上的本书)。添加该资源后,用户将可以通过该系统直接管理和使用该资源。

(2)删除资源——用户能够将系统中的某个资源删除掉,从而放弃系统对该资源的管理。

(3)修改资源——当某个资源的属性发生变化的时候(例如存放位置发生变化),用户能够选中某个资源,对其属性进行修改,以反映这种变化。

(4)搜索资源——用户能够通过提供资源的某个特征属性进行查找,获得相关的资源。

(5)查看资源——如果所选择资源为电子文档,用户将能在系统中直接查看该资源。

图1 整体框架设计图

资源应该具有以下属性:资源的作者,资源名称,资源的位置(若是电子资源,则是资源在电脑上的文件位置),资源添加日期,资源所属目录情况(一个资源可以属于多个目录),关键字(用于搜索), 资源的注释等。

下面就系统中对以上属性的定义:

struct RESITEM

{

int id; // 资源在文档中的唯一标志

string name; //资源名称

string author; //资源的作者

string path; //资源的位置(若是电子资源,则是资源在电脑上的文件位置)

bool bEbook;//是否是电子资源

string date; //资源添加日期

string keywords; //关键字,用于搜索

int catalogs; //资源所属目录情况(一个资源可以属于多个目录)

double bytes; //资源大小(只对电子资源有效)

string note; //资源的注释

};

4.2 XML存储结构的设计

本系统的用XML编写存储结构,参照一般的XML编写方法包含以下几个

类:XmlContainer(XmlTree),XmlFile,XmlLeaf,XmlNode,XmlParser。

表1 XmlFile设计表

表2 Xmlparser设计表

说明:正是通过这两个类的协作,实现了XML文档的读写和转换。例如:

XmlFile file;

if(!file.load("Settings\\items.xml"))

{

AfxMessageBox("打开数据文件items.xml失败");

return;

}

XmlTree* pTree = XmlParser::doc2tree(file.getdoc());

if(!pTree)

{

AfxMessageBox("转换数据文件items.xml失败");

return;

}

上面的代码段首先使用XmlFile的实例load了一个XML文档,然后使用

XmlParser::doc2tree创建了一个XmlTree,从而为内存中使用XML提供了基础。

下面说明一下对XML的处理方案。使用树型结构表达XML文档,可以比较方便

的进行相应的读写删改操作。因为XML本身就是一个数型的结构。例如:

tttttt

13

d

xx

7

xx

以上是一段程序中用到的XML文档结构。注意到整个文档以开始,以结尾,表示之间的都是存储的数据(实际上就是资源的属性数据)。中间共有两个item,而每个item又各有几个属性(如等)。所以可以用一颗树来表示:

图2 Xml树型结构图

注意到上面的树中有些节点只有Name没有Value,而有些却都有。虽然它们都是节点,但类型上还是有区别的。故,采用三个类表达这种信息:XmlNode,XmlLeaf,XmlContainer。

首先定义一个接口类XmlNode,该类表达抽象的XML节点。然后使用XmlLeaf 类和XmlContainer类来实现XmlNode,XmlLeaf表示叶节点(有Name和Value双重属性的节点,但自己没有子节点),XmlContainer表示容器节点(只有Name属性的节点,而且自己可以有子节点)。下面是它们的定义:

class XmlNode

{

public:

XmlNode(){name = "node";parent = NULL;}

virtual ~XmlNode(){};

virtual bool isleaf()=0; //是否叶节点

virtual bool iscontainer()=0;//是否容器节点

virtual XmlNode* getparent(){return parent;}; //返回父节点

virtual bool setparent(XmlNode* _parent){ parent=_parent; return true;}; //设置父节点

virtual const string& getname(){return name;}; //返回节点名称

virtual bool setname(const string& _name){name=_name; return true;}; //设置节点名称

protected:

XmlNode* parent;

string name;

};

class XmlContainer : public XmlNode

{

public:

XmlContainer(){pos = -1; name="container";};

XmlContainer(const string& _name){name=_name; pos = -1;};

~XmlContainer(){release();};

bool isleaf(){ return false;};

bool iscontainer(){return true;};

bool addchild(XmlNode* _node); //新增一个子节点

bool remove(XmlNode* pNode); //删除一个子节点

XmlNode* firstchild(); //返回第一个子节点

XmlNode* nextchild(); //返回下一个字节点

XmlNode* getchild(int nIndex); //返回第nIndex个子节点

XmlNode* search(const string& name); //找到第一个以name为名的子孙节点

XmlNode* search(const string& name, const string& value); //找到第一个以name 为名,以value为值的叶节点

void trav(ostream& out); //遍历并输出到out中

void print(int lev);

protected:

void release();

int pos;

vector children;

};

typedef XmlContainer XmlTree;

class XmlLeaf : public XmlNode

{public:

XmlLeaf(){name="leaf";};

XmlLeaf(const string& _name) {name=_name;};

XmlLeaf(const string& _name, const string& _value) {name=_name; value=_value;};

~XmlLeaf(){};

bool isleaf(){ return true;}; //是叶节点,返回true

bool iscontainer(){return false;}; //不是容器节点,返回false

const string& getvalue(){return value;}; //获取值

bool setvalue(const string& _value){value=_value; return true;};//设置值protected:

string value;

};

下图为数据流的转化图:

图3 Xml 数据流转换图

在读取文件数据的时候使用XmlFile从磁盘读取文件数据,并转化为一个String 对象,然后使用XmlParser转化为一个XmlTree对象,这样就可以很方便的操作数据。当存储数据的时候,使用XmlParser把一个XmlTree对象转化为一个String 对象,然后通过XmlFile类将这个String 对象保存到磁盘文件中。上述过程就实现了系统数据流的转化,也在次基础上变于整个系统调用XML 来实现具体的功能。

4.3用户界面和事物处理

4.3.1用户界面

本系统的用户界面是一个,类似VC的界面,左边、底下有两个可浮动、可变大小的控制窗口。具体实现的为:首先创建窗口的定义如下:先为CMainFrame增加成员变量:

class CMainFrame : public CFrameWnd

{ protected: CMainFrame();

DECLARE_DYNCREATE(CMainFrame)

public:

CDlgInfo m_dlgInfo; //用于显示信息,位于程序最下方

CCoolTabCtrl m_TabCtrl;

CCoolBar m_wndMyBar1; //我们将它作为左边的窗口

CCoolBar m_wndMyBar2; //我们将它作为右边的窗口

创建ControlBar即控制条和“删除”,“修改”,“修改”按钮:

if (!m_wndMyBar1.Create(_T("我的控制条"), this, CSize(230,260)

,TRUE,123)){……};if (!m_wndMyBar2.Create(_T("我的控制条2"), this,CSize(200,100),TRUE,124)){……}

m_wndToolBar.SetButtonText(0," 增加");

m_wndToolBar.SetButtonText(1," 删除");

m_wndToolBar.SetButtonText(2," 修改");

创建TAB Control,并把它加入到ControlBar中。需要注意的是:同一个ControlBar只能加入一个"一级子窗口"

m_TabCtrl.Create(TCS_DOWN|WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),&m_ wndMyBar1,125);

m_TabCtrl.AddPage(RUNTIME_CLASS(CCatalogDlg),IDD_DLG_CATALOG, "目录", IDI_ICON_CATALOG);

m_TabCtrl.AddPage(RUNTIME_CLASS(CSearchDlg),IDD_DLG_SEARCH, "搜索", IDI_ICON_SEARCH);

m_TabCtrl.AddPage(RUNTIME_CLASS(CFavDlg), IDD_DLG_FAV, "收藏夹", IDI_ICON_FAC);

停靠控制:

m_wndMyBar1.SetBarStyle(m_wndMyBar1.GetBarStyle() |CBRS_TOOLTIPS |

CBRS_FLYBY| CBRS_SIZE_DYNAMIC);

m_wndMyBar2.SetBarStyle(m_wndMyBar2.GetBarStyle() |CBRS_TOOLTIPS |

CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

m_wndMyBar1.EnableDocking(CBRS_ALIGN_ANY);

m_wndMyBar2.EnableDocking(CBRS_ALIGN_ANY);

EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar);

DockControlBar(&m_wndMyBar1, AFX_IDW_DOCKBAR_LEFT);//停靠左边

DockControlBar(&m_wndMyBar2, AFX_IDW_DOCKBAR_BOTTOM);//停靠右边

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar);

此时我们已经生成了两个控制条窗口,但窗口中还没有任何东西。在创建这些控件时将控制条窗口指针作为父窗口指针赋值给这些控件。在上面叙诉中,创建了“添加”“删除”,“修改”按钮。其他按钮,控件在class CCoolTabCtrl : public CWnd类中声明和定义,在使用中调用。由于它们涉及到对具体事件的处理,在下面部分分类说明。其中对于风格的使用,论文中没有特别说明,在使用中可以看出来。

4.3.2事务处理

事务处理这个模块就是对具体的按钮,控件的设置和响应,通过对它们函数的定义和调用实现具体的功能,主要实现的就是添加,删除,搜索,和一些具体

图4 添加功能流程图

响应添加功能的类为class CAddResDlg,其中具体实现为:void CResManView::OnBtnAddres()响应点击添加按钮,用户在弹出窗口按照具体资源添加其具体属性,填写完毕,点击“确定”按钮,void CAddResDlg::OnOK()是确定按钮的响应函数,然后BOOL CAddResDlg::ValidItem()判定资源的属性填写是否合法,合法就添加该资源即调用XmlFile file实现把数据写入文件中,从而实现添加功能。在添加中也用了int CAddResDlg::GetCatalogs()来获取资源的所属目录,这只是针对本机上的电子文档。通过上述过程和具体函数实现了添加的功能。

在列表视图中选中某个资源的时候,在下面的窗口中会有关于该资源的具性的信息显示出来,class CDlgInfo : public CDialog。

在列表视图中双击某个资源的时候,若该资源是电子资源,那么它将被打开。void CResManView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 删除资源:在视图列表中选中要删除的项目,点击工具条中的删除,就会弹出一个询问对话框,若点击“确定”,将删除所选择的项目。并且支持同时删除多个资源。删除功能的流程图如下图所示

图5 删除功能流程图

实现删除的具体过程为:当用户想要删除一个或是多个资源的时候,首先选定要删除的项,然后点击“删除”按钮,响应该按钮的函数为void CResManView:: OnUpdateBtnDelres(CcmdUI* pCmdUI).实现删除的具体函数voidCResManView::

OnBtnDelres(),最后调用XmlFile file实现在XML文件存储结构中删除该资源,从而实现了删除的功能。

搜索功能:

1.用户输入搜索条

4.更新视图3.按关键字和高级

选项溲索

2.按关键字搜索使用高级选项

不使用高级选项

图6 搜索功能流程图

该功能实现的过程:按照搜索浏览资源:通过使用关键字,用户可以搜索出自己感兴趣的资源。如果使用高级选项,还可以指定资源的添加日期的范围,也可以在资源作者和资源注释等属性中进行查找。实现的函数为:void CSearchDlg:: OnBtnSearch()

5软件测试

整个测试过程是一个,“测试——修改——再测试——再修改”的过程,直到整个系统能正常运行,所有功能都能正常实现。在测试过程中,出现过一些不符合标准的情况,经过修改,都基本与设计书的标准符合,能够完成正常的功能。下面就是对本系统的各种功能的测试:

增加功能的测试:

图7 添加功能测试显示图

用户点击增加按钮,弹出上图的对话框,用户输入资源的信息,点击确定按钮,如果添加成功在系统文件的settings文件夹的items.xml文件中会有如下记录:

item>

13

vc资料教程

1

10

E:\vc资料教程

vc 教程

-1

2007-05-31 17:05:04

vc资料教程光碟

这就说明添加成功。

删除功能的测试:如下图所示:

图8 删除功能测试截图

实现删除的具体过程为:当用户想要删除一个或是多个资源的时候,首先选定要删除的项,然后点击“删除”按钮,响应该按钮的函数为void CResManView:: OnUpdateBtnDelres(CcmdUI* pCmdUI).实现删除的具体函数voidCResManView::

OnBtnDelres(),最后调用XmlFile file实现在XML文件存储结构中删除该资源,从而实现了删除的功能。

删除成功的话在系统文件的settings文件夹的items.xml文件中就没有该资源的记录。

搜索功能的测试:如下图所示:

图9 搜索功能测试截图

该功能实现的过程:按照搜索浏览资源:通过使用关键字,用户可以搜索出自己感兴趣的资源。如果使用高级选项,还可以指定资源的添加日期的范围,也可以在资源作者和资源注释等属性中进行查找。按照搜索条件可以实现快速寻找自己需要的资料,成功后会在右边的显示框中显示符合搜索条件的资料资源,并在下面有一个统计的显示。

由于经验欠缺或其它某些原因,本次完成的软件不可能是完美无缺的。测试只能尽量避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度,减少错误的引入,但是不可能完全杜绝软件中的错误。经过测试,能实现各功能。

详细设计-酒店客房管理系统——客户信息管理模块的设计与实现

酒店客房管理系统--报表管理子系统的设计与实现 详细设计

修改履历

目录 1引言 (1) 1.1编制目的 (1) 1.2参考资料 (1) 1.3系统开发环境 (1) 1.4词汇表 (1) 2系统开发环境 (2) 3系统设计思路 (2) 4系统公用代码设计 (2) 4.1分页组件类: (2) 4.2过滤组件类:C HARACTER F ILTER,L OGIN F ILTER (2) 4.3H IBERNATE S ESSION F ACTORY类 (3) 4.4404.JSP,500.JSP (4) 4.5CSS: CSS (4) 4.6页面图片文件夹:IMAGES (5) 5功能模块设计 (5) 5.1报表模块设计 (5) 6数据库设计 (6) 6.1功能说明 (6) 6.2数据表设计 (6) 6.3视图设计 (7) 6.4序列设计 (7)

1引言 1.1 编制目的 通过报表让酒店管理者可以时刻掌握酒店整体运营情况,帮助提高酒店的服务水平和工作效率,规范酒店的业务流程,有效地提高经营效益。 1.2 参考资料 无 1.3 词汇表 2系统开发环境 操作系统:Windows XP 数据库:Oracle10g 集成开发工具:MyEclipse 10.0M 中间件:tomcat6.0 JDK:JDK 1.6版本

3系统设计思路 本次酒店客房管理系统的实验设计就是通过SSH框架结构和Oracle数据库的使用完成酒店客房管理系统的基本信息管理、报表管理、房客信息管理、客房管理、商品管理几个子系统中的房客信息管理设计与实现。通过JSP的网页对系统进行显示,运行和实际操作。 4系统公用代码设计 4.1 分页组件类: 4.1.1功能描述 Page类用于封装页面常用的信息,用于页面间对象的传递,pageDAO类用于产生Page 类的实例。pageService类用于使用pageDAO中的数据,并输出 4.1.2类、方法描述 4.1.2.1 P age类 4.1.2.2 P ageDAO类

物业管理系统(设计文档)

物业管理系统(设计文档) 3.1 系统功能设计 根据系统功能的要求,小区物业系统分为五个主要模块。即住户资料管理、投诉管理、住户报修管理、物业缴费管理、住户停车车位管理。可以将系统分解成为几个功能模块来分别设计,功能模块间的关系如图3.1.1所示。 图3.1.1基本模块图 对于小区物业系统,根据系统功能分析,仅有一个单一的流程化页面。所以从欢迎页面到登录页面,如果登录成功,则进入相应的功能页。 整个系统的页面逻辑结构示意图如图3.1.2所示。

图3.1.2系统页面图 3.2物业业主服务子系统功能模块图 该系统主要是针对系统管理员的小区物业管理系统,没有设置其他用户登录,该系统有六个主要的功能模块构成其中有: (1)基本设置:主要是对系统管理员的登陆密码进行修改和管理,管理员身份admin,初始密码:admin,登录后才能对起进行修改。 (2)住户资料管理:包括业主基本资料添加和管理模块。 (3)投诉管理:包括投诉添加和投诉管理,主要是内容上投诉的基本事项和处理详细内容。 (4)报修管理:报修添加和报修管理两个子模块,添加信息有报修事项和报修处理结果及产生的费用内容。 (5)缴费管理:是该系统的最重要组成模块,包括主要收费项目和缴费业主信息,包括指定业主的主要产生费用项目管理。 (6)停车车位管理:包括停车车位管理和信息管理,主要是车位基本信息方面 的添加与查看。 图3.2系统功能模块图

图3-3系统业务流程图 流程说明: (1)用户填写基本信息交给系统管理员,有系统管理员将用户信息添加到用户信息库。 (2)用户将投诉单交给系统管理员,待投诉处理后,给用户处理回执结果。(3)业主提交报修单给维修人员,维修人员处理后将处理信息给系统管理员,管理员向用户提供回执和将维修信息报维修总计。 (4)系统管理员通过业主基本信息库向用户提交缴费清单,用户缴费到财务,财务回复用户缴费收据给用户和向系统管理员提供缴费信息。 (5)用户查看停车位信息,缴费有管理员确定车位信息,修改剩余车位信息。

CCIP平台基础数据管理系统-详细设计

CCIP平台基础数据管理系统详细设计说明书 [CCIP V1.0 ] 拟制人______________________ 审核人______________________ 批准人______________________ 2006年12月12日

1.引言 1.1.编写目的 本设计说明书的编写目的为指导程序开发人员进行程序开发,并供测试人员进行测试方案及测试用例的编写时参考。 1.2.背景 1.本文为常州信息学院统一数据平台系统的基础数据管理子系统的详细设计说明书。 2.本项目的具体开发人员为常州信息职业技术学院软件学院教师,产品的最终用户为常州 信息职业技术学院。 1.3.定义 参见项目的需求分析报告,略。 1.4.参考资料 略。 2.系统的结构 系统及模块划分:

3. 模块设计说明 3.1. 用户组管理 3.1.1. 模块描述 平台的用户需要进行分类授权,以便执行各自的操作,完成各自的职责功能,所以对平台用户进行分组,另外有相应模块可以对用户组进行授权。 3.1.2. 界面描述 图:用户组管理页面

3.1.3.功能描述 ●用户组列表:页面首先列出目前系统的所有用户组,支持分页显示,在列表中显示 组名和说明,后面带“选择”按钮,选择后可进行“更新”和“删除”,列表下还 带“添加”按钮,实现新增数据功能。 ●用户组新增:输入组名和说明,保存时必须判断组名是否都填写完成,且要判断 组名是否有重复,否则不能保存。 ●用户组修改:选择要修改的用户组,保存时条件同新增。 ●用户组删除:删除时必须弹出确认框,以便用户再次确认,删除用户组时需要调用 存储过程,删除和该用户组对应用户的关联和已授权给该用户组的功能菜单项关 联。 ●页面支持局部刷新(使用AJAX组件或技术),以下模块都同样处理。 3.1. 4.性能 由于后台管理的数据量非常小,并且后台管理也不是日常经常使用的业务,所以性能上一般没有问题。 3.1.5.输入项 输入组名和说明。 3.1.6.输出项 ●数据保存到数据库表,显示输出到网页,用于管理员查询,可打印。 3.1.7.算法 主界面 ●从表P_UserGroup中显示所有用户组,利用数据源控件绑定到 Gridview。 ●在GridView选择一数据项后,在列表下用一个panel控制是否隐藏,如编辑 数据,则显示,在panel中的表格里显示要编辑的字段信息,每次数据有更改 保存后要重新绑定Gridview,用来刷新数据。

客户关系管理系统的分析与设计

第七章客户关系管理系统的分析与设计 本章主要内容 学习目标: 1.认识CRM的系统结构。 2.了解客户销售管理子系统、客户市场管理子系统、客户支持和服务子系统的基本功能。 3.理解CRM系统的几个子系统的概念,并掌握其业务功能和流程分析、设计的思想和方法。 4.了解CRM系统的层次结构、逻辑结构、网络结构的基本知识。 本章引导案例 美国航空公司CRM的成功案例 在电子商务时代,企业为了降低成本、提高效率、增强竞争力,纷纷对业务流程进行了重新设计,同时开始将客户关系管理(CRM)作为新的利润增长点。如何提高客户忠诚度、保留老客户、吸引新客户,是CRM关注的重点。成功的CRM可以为企业带来滚滚财源,美国航空公司的案例可以称得上是成功实施CRM的典范。 1994年之前,美国航空公司的订票服务主要通过免费电话进行。但在电话定票发挥巨大作用的同时,时任该公司负责监督电脑订票系统业务的通路规划主任Johnsamuel无意中注意到公司的网站上只有公司年报一项内容,显然,公司的网站远远没有发挥应有的作用。 JohnSamuel设想可以吸引这些订票者通过网络来查询航班、票价以及进行行程规划的话,将可以为公司省下一大笔费用;而如果公司拿出一小部分资金用干网络系统的建设,让乘客得以在网上预订行程,那么实际的回报将远远超过开支。他还进一步想到,如果可与经常搭机的老主顾建立更加紧密的关系,在航空业越来越激烈的竞争中,公司才可以站稳自己的脚跟。 这一设想在1995年初开始变为现实。美国航空公司的调查发现,近九成的乘客会在办公室里使用电脑,近七成的乘客家中有电脑,这直接导致了以Johnsamuel为首的6人网络小组的成立。这个小组主要掌管公司的电子交易业务,他们首先改造了公司的网站,将其定位为以传播资讯为主。经营到10月份时,美国航空公司已经成为第一家在网上提供航班资讯、飞机起降,航班行程变更、登机门等诸多资讯的航空公司,甚至连可不可以带狗上机这样的问题,也可以上网查到。他们提供的资讯准确、快捷,有些更是每隔30秒更新一次, 极大地方便了乘客。 如果说这一切还都是对于网络的简单应用的话,那么接下来美国航空公司对于自己的老主顾的关注,则加入了电子商务的内容。通过对常客进行调

教务管理系统-详细设计说明书

教务管理系统-详细设计说明书

详细设计说明书 1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (2) 2.1登录模块 (3) 2.2学生模块 (4) 2.3教师模块 (5) 2.4管理员模块 (6)

1引言 1.1编写目的 在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。 1.2背景 随着学校教育水平的不断提高,现有管理系统已经远远不能够满足学校的需求,已经成为学校进一步发展的瓶颈,例如软件维护费用高,信息查询不方便,软件可操作性不高,为此我们小组想开发教务管理系统,方便学校师生。 1.3定义 Access2003: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 主键:数据库表中的关键域。值互不相同。 1.4参考资料 《软件工程导论》(第5版)张海藩编著清华大学出版社 2程序系统的结构 软件结构

2.1登录模块 学生信息存储在数据库表student中,包括学号,密码等。教师信息存储在表professor中,包括教工号,密码等。管理员信息存储在表registrar中用户选择登录身份(学生,教师或管理员),学工号,密码。首先检查学工号是否为空,为空则提示。若不为空,则检索相应数据库表,检查用户是否存在。若存在,检查密码是否正确,若正确,则登录成功。 开 输入学 工号和

客户关系管理系统的详细设计及测试

客户关系管理系统的详细设计及测试 本篇论文目录导航: 【题目】J2EE技术下的客户关系管理系统研究 【第一章】J2EE技术在客户关系管理系统中的应用绪论 【第二章】客户关系管理系统的相关技术及概念介绍 【第三章】客户关系管理系统的需求分析及架构设计 【4.1】客户关系管理系统的数据库设计 【4.2】客户关系管理系统的相关模块设计 【第五章】客户关系管理系统的详细设计及测试 【结论/参考文献】基于J2EE技术的客户关系管理平台构建结论及参考文献 第5 章系统的详细设计及测试 系统的详细设计包括系统的界面设计及实现,通过详细设计来完成前期的概要设计及系统所需要的功能。测试部分则是对系统测试环境、工具及测试结果进行了叙述。 5.1 详细设计 这一部分中,我们将就系统的具体实现进行详细的论述。如图 5.1 所示,是系统的用户登录界面。用户在输入登录用户名和密码的同时还需要输入验证码,只有这三项都输入正确的情况才能够登

录系统。如图 5.2 所示,是系统管理员登陆系统以后所见到的界面图,默认是查看用户基本信息管理功能的。正上方的导航部分包括首页、后退、前进、刷新、帮助等五项常用基本操作,导航栏右侧可以查看用户信息、修改密码以及退出系统,并且带有日期。而基于J2EE 技术的客户关系管理系统的左边栏部分按照系统的设计,则包括了公司的客户关系管理系统中的用户信息管理、项目管理、版本信息等功能模块。基于J2EE 技术的客户关系管理系统的中心区域则是显示相关功能的具体信息,多数以列表的形式呈现。 在基于J2EE 技术的客户关系管理系统用户信息管理模块中,包括了用户基本信息管理、用户权限信息管理、系统角色管理以及系统角色权限管理四个功能。下图所示的是用户基本信息管理,以列表形式展现系统用户的用户名、用户角色、联系方式、登陆的IP地址以及详细描述。如果需要进一步查看相关用户的详细信息,则可以点击对应行中的查看按钮,进入详细信息界面查看、修改或者删除相关用户信息。是项目基本信息管理的界面图。在基于J2EE 的客户关系管理系统的项目管理模块中,根据数据库设计以及相关的概要及详细设计,分为公司的项目基本信息管理、项目里程碑分解、项目人员信息管理、项目进度信息管理等功能。点击相关功能,则会进入相关功能界面。而项目基本信息列表如下图所示,在列表中,可以直接的看到项目的项目名称、项目编号、项目类型、详细描述、基本操作等功能。点击相关的查看按钮,则可以进入项目详细信息界面查看项目的详细信息。而点击删除按钮,则会提示是否删除该条项目信息,如果

理发店管理系统设计文档

理发店管理系统设计说明书

目录 一、文档简介 (3) 1.1 文档目的 (3) 1.2 背景 (3) 1.3 读者对象 (3) 1.4 定义 (4) 1.5 参考文献 (4) 1.6 术语与缩写解释 (4) 二、总体设计 (4) 2.1 需求规定 (4) 2.2 运行环境 (4) 2.3 物理结构示意图 (5) 2.4 总体结构图 (5) 2.5 客户端程序组成 (5) 2.6 基本设计概念和处理流程 (6) 三、接口设计 (7) 3.1 用户接口 (7) 3.2 外部接口 (8) 3.3 部接口 (8) 四、系统数据库设计 (10) 4.1 数据库环境说明 (10) 4.2 数据库的命名规则 (11) 4.3 逻辑结构设计 (11) 4.4 物理结构设计 (12) 五、系统出错处理设计 (13) 5.1 出错信息 (13) 5.2 补救措施 (14) 5.3 系统维护设计 (14)

一、文档简介 1.1 文档目的 1.编写本说明书的目的在于: (1)将系统划分成物理元素,即程序、文件、数据库、文档等。 (2)设计软件结构,即将需求规格转换为体系结构,划分出程序的基本模块组成,确定模块间的相互关系,并确定系统的数据结构。 2.本说明书的用途在于寻找实现目标系统的各种不同方案,分析员从这些可供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的物理元素,进行成本\效益分析,从中选出一个最佳方案向用户和使用部门负责推荐。如果用户和使用部门负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。 3.本说明书的主要读者为系统分析员和用户和使用部门的有关人员,为后面的系统开发提供依据。 作为BSS理发店管理系统设计文档的重要组成部分,本文档主要对软件后台数据库的概念模型设计和物理模型设计做出了统一的规定,同时确定了每个表的数据字典结构。本文档是开发人员实际建立BSS数据库及其数据库对象的重要参考依据。同时本文档对软件的整个系统的结构关系进行了详细的描述,并对相关容作出了统一的规定。 1.2 背景 理发店是人们日常生活中不可缺少的一部分,有一定规模的理发店具有多名理发师和众多顾客,一般情况下,当忙碌起来以后,很难记清楚每名理发师的工作量,不便于日后考核;同时大量的会员如果仅适用传统的纸质和卡片记录管理,容易出错,而且不方便统计。计算机应用技术迅猛发展,开发一套理发店的理发师和会员管理系统具有很强的现实意义。 1.3 读者对象 本文档的主要读者包括: 1.本系统的设计人员:包括模块设计人员。 2.本系统的系统开发人员:包括数据库开发、编码人员。 3.本系统的测试人员。

仓库管理系统,详细设计

超市仓库管理系统详细设计说明书

1.引言...................................................... 错误!未定义书签。 编写目的................................................. 错误!未定义书签。 项目背景................................................. 错误!未定义书签。 定义..................................................... 错误!未定义书签。 参考资料................................................. 错误!未定义书签。2.总体设计.................................................. 错误!未定义书签。 需求概述................................................. 错误!未定义书签。 软件结构................................................. 错误!未定义书签。3.程序描述.................................................. 错误!未定义书签。 功能..................................................... 错误!未定义书签。 性能..................................................... 错误!未定义书签。 输入项目................................................. 错误!未定义书签。 输出项目................................................. 错误!未定义书签。 算法..................................................... 错误!未定义书签。 程序逻辑................................................. 错误!未定义书签。 接口..................................................... 错误!未定义书签。 存储分配................................................. 错误!未定义书签。 限制条件................................................. 错误!未定义书签。 测试要点................................................. 错误!未定义书签。

客户关系管理系统设计报告

客户关系管理(CRM)系统设计报告 摘要 通过CRM系统分析、本公司需求分析及考察CRM的一般系统与实际业务流程关系,确定本公司CRM系统设计定位于基于部门应用、运营与分析并重。并在此系统设计目标定位下,确定系统流程,设计功能模块,并努力面向部门协作与数据挖掘。 针对系统,本文模拟了使用过程,预测运行效益,证实了系统的可行性。因已立项,本报告不作项目可行性分析。 目录 第一部份系统分析和需求分析 一、基本需求分析-------------------------------------------2. 二、CRM 一般系统-------------------------------------------3. 三、系统设计定位-------------------------------------------7. 第二部份系统设计 一般技术需求-------------------------------------------7. 流程设计及功能菜单设计---------------------------------8. 三、数据表设计---------------------------------------------11. 四、界面设计-----------------------------------------------16. 五、功能模块设计-------------------------------------------16. 六、系统策略-----------------------------------------------17. 第三部份可行性预测 一、使用描述-----------------------------------------------17. 二、效益分析-----------------------------------------------18. 第四部份其他信息 词汇注解-----------------------------------------------19. 参考模型-----------------------------------------------19. 系统设计流程图-----------------------------------------20. 设计说明-----------------------------------------------20.

教学管理系统的设计与实现

教学管理系统的设计与实现 一、概述 随着学校教务的越来越繁重,学校的学生,教师,课程的日益增多,因此对它们的管理问题也是日益突显,所以需要一个专业的应用程序对它们实施系统的管理。为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。 本系统——教学管理系统就是为了实现对它们的管理而专门设计的。 本教学管理系统是用Sybase公司的PowerBuilder数据库应用开发工具而开发的。它主要包括学生管理、成绩管理、班级管理、课程管理和教师管理。 它是通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统。 基本要求: 1、完成学生、班级、课程等表的维护 2、完成成绩表的浏览查找 3、完成成绩表的维护 4、按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率 5、统计某学生、某学期的所有课程的平均成绩。 6、查询教师的授课情况 7、完成注册用户管理功能

二、需求分析 1、本系统是开发目标是有效管理学生,教师,课程等信息,实现这些信息的数据录入、浏览、修改、查询等,从而实现对信息的规范化、系统化、自动化管理。根据对终端用户的调研,得出下面的需求分析说明文本: (1)由于学生等信息具有一定的保密性,为了便于管理,应该为用户设置密码保护,以提高系统的数据安全性。 (2)使用该系统,能够对学生,教师信息时行记录,并能够非常方便地浏览、添加、编辑和查询。 (3)使用该系统,能够对学生的成绩信息非常方便地浏览、添加、编辑和查询,实现对成绩的有效管理,方便教师查看。 (4)学校的班级是不断增加的,有些班级还要撤编,所以应用程序应该能够方便地对学生班级进行添加、编辑、删除。 (5)课程信息描述了课程名称、授课教师等重要教学方面的信息,应该方便进行管理。 2、根据系统设计规化出的实体有学生实体,班级实体,课程实体,教师实体,各实体的E-R图如下: 图1 学生实体E-R图 图2 班级实体E-R图 图3 课程实体E-R图 图4 教师实体E-R图 图5 各实体联系E-R图 三、数据字典 经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图6所示。下面,结合该实例具体情况,给出具体需求。

客户关系管理系统的相关模块设计

客户关系管理系统的相关模块设计 本篇论文目录导航: 【题目】J2EE技术下的客户关系管理系统研究 【第一章】J2EE技术在客户关系管理系统中的应用绪论 【第二章】客户关系管理系统的相关技术及概念介绍 【第三章】客户关系管理系统的需求分析及架构设计 【4.1】客户关系管理系统的数据库设计 【4.2】客户关系管理系统的相关模块设计 【第五章】客户关系管理系统的详细设计及测试 【结论/参考文献】基于J2EE技术的客户关系管理平台构建结论及参考文献 4.2 相关模块设计 基于J2EE 技术的客户关系管理系统的模块包括基于角色权限控制的管理模块、公司销售信息管理模块、公司的收入合同信息管理模块、公司的采购支出管理模块、公司的项目管理模块、公司的基础数据模块等。 4.2.1 角色权限控制模块 系统权限的设计是基于RBAC 进行设计的,系统根据公司的

组织架构而设定的角色,包括销售人员、财务人员、项目审核人员、部门经理、技术部门经理、经营服务部经理、财务部门经理、总经理。销售人员的权限包括维护销售周报、维护销售线索、维护销售机会、维护销售签单、升级销售线索到销售机会、升级销售机会到销售签单、申请签订收入合同。销售经理的权限包括查看各区销售情况、查看业务大类销售情况、查看各部门员工销售情况、查看机会转换率、查看线索转化率、查看产品线销售情况。财务人员的权限包括确认合同已经财务存档、确认合同已经通过省级认证、维护回款信息、查看公司回款额、查看公司合同额、登记合同发票。总经理的权限包括查看公司回款额、查看公司合同额、审批收入合同。销售人员的权限还包括撤销还未通过审批的合同、确认合同、修改审核未通过的合同、申请签订收入合同。系统中采购部分的权限设计,项目经理的权限有申请项目采购、维护采购申请单列表、查看项目采购信息。销售人员的权限有申请项目采购、维护采购申请单列表、申请销售采购、申请平台采购、查看项目采购信息。部门经理的权限包括维护采购申请单列表、查看项目采购信息、查看部门采购信息、申请部门采购。经营服务部经理的权限包括查看公司采购额、审批采购申请单、查看设备分类采购统计信息、查看供应商采购统计信息。除了部门经理所拥有的权限之外,技术部门经理的权限还有审核项目采购申请单的权限。财务人员拥有的权限有确认支出合同财务存档以及确认采购发票财务存档这两个权限。总经理的权限包括审核采购付款、审批支出合同、查看支出合同账期这三个权限。经营服务部经理的权限包括审核采购付款、

题库管理系统设计文档

(此文档为word格式,下载后您可任意编辑修改!) 华南农业大学 软件开发技术实践 课程设计实验报告 小组成员: 教师:林毅申 提交日期: 2013年11月30日

华南农业大学信息学院 课程设计

1、基本信息 1.1 小组基本信息 1.2 项目基本信息 这次我们小组开发的是一个面向一所大学内的任课老师以及在校学生的题库管理系统。作为数字化校园的一部分,该系统的主要的功能包括为教师用户提供的查阅题库,新组试卷功能和面向学生的在线考试功能。题库分为两部分,一部分是之前教师利用组卷功能得到并保存的试卷,一部分是不同类型的题目。题目范围为学校内各门课程期末考试的试题,包括公共基础课以及各学院开设的不同课程。题目不仅包括普通的文字类题目,还包括一些包含复杂元素如图片,特殊公式等的题目,做到基本兼容现在学校内能看到的题目。 考虑到小组成员的技术水平以及项目的实际需要,该系统是采用C/S模式。为提高效能,服务器方面采用IOCP模型,客户端采用WPF技术来改善Winform在界面上的劣势。 1.3 项目技术信息

2、系统架构图 注:实线表示数据传输方向,虚线表示模块间调用关系,由被调用者指向调用者 服务器程序: 数据加密模块: 采用一种加密算法,(具体哪种算法等系统实现时,再进行确定),将即将发送的数据进行加密。保证数据再传输过程中的安全性。与客户端中的数据加密模块原理一样。 数据解密模块: 采用与加密算法相对应的解密算法,将接受到数据,进行解密,还原得到原始的数据。与客户端中的数据解密模块原理一样。 消息队列: 为了能实现同时让尽量多的客户连接到服务器,所以不使用一线程处理一客户模型的服务器。这里的消息队列是将所有用户对服务器的各种请求按照先进先出的规则排列起来。等待处理。如果实现是使用windows io完成端口和对应的SOCKET进行绑定,这个消息队列是由系统生成和维护的。 工作者线程池: 线程池用于维护和管理服务器中所有以工作者身份存在的线程,工作者线程就是用来处理客户请求的线程。线程池的线程会互斥的到消息队列中取出对应的客户请求进行处理。没有请求时候,所有线程都处于阻塞状态等待消息队列中出现客户请求。当工作者线程获得客户请求的时候会按顺序去调用数据解密模块,数据传输格式解析模块,业务逻辑处理模块,加密发送数据模块。 数据传输格式解析模块: 数据在网络传输的过程中,我们给它规定特定的格式。通过该模块,服务器可以清楚的知道,客户需要服务器为他实现哪些功能。但是这里解析的数据需要通过解密之后,才能解析。对应的客户端想要与服务器进行交互,就需要使用这个特定的格式发送数据。 业务逻辑处理模块: 这个模块就是服务器具体工作的模块,模块中包含服务器能够为客户端提供的所有服务。工作者线程通过解析数据格式,知道客户的需求,再从这个模块中调用指定的服务。这个模块也是直接和数据库进行交互的模块。 数据发送加密模块: 业务逻辑模块处理完客户的请求的服务之后,需要为客户返回处理后的结果。可能是简单的操作成功和失败的返回结果,也可能是直接数据的传输。和加密模块结合在一起,说明数据发送前需要进行加密。 数据库模块: 采用sql server做数据库管理,https://www.360docs.net/doc/f03076492.html,技术实现面向业务层的接口。

教务管理系统(概要设计及详细设计)

概要设计说明书 1. 总体设计 1.1 需求规定 教务管理系统可分为学生信息管理系统和教师管理信息系统,系统开发的整体任务是实现学校教师和学生信息管理的系统化、规范化、自动化和智能化,从而达到提高学校管理效率的目的。 本阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。 1.2 运行环境 软件基本运行环境为Windows XP环境。 1.3 基本设计概念和处理流程 概要说明书的目的在于明确系统的数据结构和软件结构,设计外部软件和内部软件的接口,说明各个软件模块的功能说明,数据结构的细节等。系统的总体处理流程如图1-1所示:

图1-1 系统的总体处理流程 1.4 系统体系结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划 教务管理系统 选择操作 基础维护 教学管理 报表统计 选择操作 选择操作 班级信息维护 课程信息维护 学生选课 课表查询 成绩输入 打印成绩单 学生信息维护 教 师信息维护

分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。 本系统的体系架构如图1-2所示: 图1-2 系统体系架构 本系统体系结构大致可以定义为:客户机层上的表示层主要是通过Struts 框架实现的,由显示视图产生一个请求。请求被ActionServlet(控制器)接收,它在struts-config.xml文件中寻找请求的URI,找到对应的Action类后,Action类执行相应的业务逻辑。Action类执行建立在模型组件基础上的业务逻辑,模型组件是和应用程序关联的。一旦Action类处理完业务逻辑,它把控制权返回给ActionServlet,Action类提供一个键值作为返回的一部分,它指明了处理的结果。ActionServlet使用这个键值来决定在什么视图中显示Action的类处理结果。当ActionServlet把Action类的处理结果传送到指定的视图中,请求的过程也就完成了。中间业务层是通过Spring框架实现的,首先建立一个BaseAction,它继承了Action类,而其他定义的Action都要继承这个BaseAction。这个BaseAction需要导入AppContext工具类,这个AppContext需要导入Spring中org.springframework.context.support.*;这样一个继承BaseAction的Action,就可以getXXXService()的方法得到某一个service的实例-----服务定位器的设计模式。持久(PO)层是由hibernate 架构实现的,它包括关于整体数据库的hibernate.cfg.xml文件、每个表的JavaBean类和每个表的hbm.xml文件,通过Spring集成模板HibernateTemplate提供DAO 来使用PO。在Spring 的配置文件(applicationContext. xml)中配置sessionFactory的bean 来管理hibernate。

医院管理系统详细设计文档

工程学院信电学院课题设计报告 医院管理系统详细设计文档 班级13软嵌2班 组长王凯 组员王维可夏辉徐洋洋专业13软嵌2 指导教师周宏生

2016 5月20日年

1 引言 1.1 编写目的(Purpose) 根据概要设计说明书中的设计容,编写详细设计说明书,为开发过程提供系统处理过程的详细说明,使系统开发各类技术人员对整个系统所需实现的功能以及系统的功能模块的划分、实现和数据库的表结构清楚的认识,为整个系统的开发、测试、评定和移交的提供基础,本报告一旦确认后将成为系统开发各类技术人员共同遵守的准则,并为以后的编程工作提供依据。 1.2 读者对象(Reader) 本说明书的预期读者为本项目负责人以及负责项目开发的各类技术人员、管理人员、项目评审人员。 1.3 编写目标(Goal) 以先进成熟的数据库管理技术、计算机技术和通信技术为主要手段,结合用户业务需求,在医院以C/S作为开发平台的企业信息网上建立一个覆盖医院的高质、高效、实用的管理信息系统;从系统层到应用层具有严密的安全控制机制。系统能够适应医院组织机构和结构的调整。采用构件化技术,使应用系统具有相应的独立性,使各子系统能具有通用性,又能适应医院某些机构的个性化要求;系统具有较长的生命周期,并保证从现有业务管理模式向更加优

化的领导决策和管理模式平稳过渡。 1.4 项目背景(Background of Project) 项目名称:医院信息管理系统 项目简称:医院系统 委托单位:某医院 开发单位:本公司主管部门:本公司 1.5 定义(Definitions) 本详细说明书中涉及的专门术语、容易引起歧义的概念、关键词缩写及相应的解释容包括(有关医疗术语关键词不在此列表中):门诊:CN 住院:IH 病案:PA 药库:MC 医技:所有检验、检查项目、手术项目等药品:中草药、西药、试剂 2 系统总体描述 2.1 业务处理总流程 2.1.1 总体业务流程图

“客户资源管理”系统设计方案

客户资源管理系统(CRM)设计方案 本方案主要从系统背景、需求分析、设计方案、日程安排、系统报价五个方面。讲述如何进行企业客户资源管理系统的建设过程、维护支持、运行升级等过程,利用本系统成协助企业管理客户资源,规范企业的客户管理体制,实现对客户资源全方位的协调管理,让企业利用本系统达到最大化利用客户资源,节约客户管理成本,提升企业工作效率,加快企业市场感应速度,加大企业市场敏感度,规范客户管理,提高客户服务档次,有机调整客户管理策略,利用业务管理系统,可于鑫顶点公司开发的企业网站相结合,实现网上销售系统,网上客户服务系统,使你的公司的业务与国际网无缝接轨,使公司业务进行综合协调管理,实现跨区域、跨企业间协同客户管理,使企业的业务遵循系统的设计原则,有序、迅速、进入规范的良性发展轨道。 一、系统背景: 1.1 可行性分析: 本节着重介绍当前系统的的社会背景,对本系统的可行性进行详细的系统分析。 随着企业的发展,全球已进入买家市场,“客户第一”是所有企业摆在第一的经营方针,如何统一管理客户信息档案,如何确定客户的关系,如何保证对客户市场的高度敏感,如何提升保证客户服务质量,如何实现客户的市场跟踪、深挖掘,如何实现企业内部的市场管理,如何对销售人员的活动进行有效的监控,如何实现让企业与客户之间的活动与市场的销售业绩进行有机的整合,如何与客户保持融洽的关系,如何建立有效的客户资源管理系统,是所有企业所要面对的共同话题。 目前客户销售管理系统已经是一个可行、可实施的管理系统,其体现在: 1. 网络硬件及其相关支持设施的客观条件已经具备。 2. 企业接受计算机,使用计算机的普及,一般企业人员都懂得使用计算机。 3. 软件开发技术已经提供,企业可以委托通过专业软件公司进行技术支持。 4. 长期接触客户的管理人员也意识到客户管理的重要性,客户管理成为一门专业的学问,以及客户销售管理系统成为一个专业的管理工具越来越普及。 根据统计数据:目前中国企业使用管理系统已经占据企业总数20%以上,特别是大型企业,使用管理系统的达到80%以上,而目前国内企业的大多数的管理系统,都是一个简单的销售管理系统,系统都是简单的客户档案管理与销售管理进行结合的管理。鑫顶点公司自创办始,以卓越领先的信息科技(企业分布式应用),辅以优秀的企业经营管理经验,始终提倡为企业提供“客户资源管理系统”而努力不懈,是国内为数不多的的客户销售管理系统的提供商与领导者,为企业规范客户体系,建设全方位的客户资源管理系统为我们最大的优势所在,对客户资源管理的深入认识,并成功为香港金日集团、中国DELL电脑、香港CITI BANK、新加坡TAO集团、厦门银恒贸易、厦门海天货柜、香港电贸园科技等企业提供了一流的客户

教务管理系统详细设计说明书范文

教务管理系统详细设计说明书

详细设计说明书 1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (2) 2.1登录模块 (3) 2.2学生模块 (4) 2.3教师模块 (5) 2.4管理员模块 (6)

1引言 1.1编写目的 在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。 1.2背景 随着学校教育水平的不断提高,现有管理系统已经远远不能够满足学校的需求,已经成为学校进一步发展的瓶颈,例如软件维护费用高,信息查询不方便,软件可操作性不高,为此我们小组想开发教务管理系统,方便学校师生。 1.3定义 Access : 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 主键:数据库表中的关键域。值互不相同。 1.4参考资料 《软件工程导论》(第5版)张海藩编著清华大学出版社

2程序系统的结构 软件结构 2.1登录模块 学生信息存储在数据库表student中,包括学号,密码等。教师信息存储在表professor中,包括教工号,密码等。管理员信息存储在表registrar中 用户选择登录身份(学生,教师或管理员),学工号,密码。首先检查学工号是否为空,为空则提示。若不为空,则检索相应数据库表,检查用户是否存在。若存在,检查密码是否正确,若

信息管理系统设计文档1

超市营销管理系统的计划和开发 摘要:随着我国成功加入WTO及信息化浪潮的日益临近,超市经营管理机制正在发生着根本性的变化,商场要想在激烈的市场竞争环境下求得生存,就必须有效地利用人才、时间、信息结合的优势,进行有效的超市内部改革和加强收银管理。借助现代信息技术和管理理论,建立超市收银管理信息系统势在必行。 本系统针对商品管理的业务范围及工作特点,设计了收银登记、收银管理、业务管理、会员管理、统计分析等几个部分,这几个部分可以全面实现对商品的进货、付款、销货、收款和库存等业务的计算机管理,大大减轻了超市工作人员的工作量,全面提高了超市收银管理的管理效率以及服务质量,使管理水平和业务水平跃上了一个新的台阶。 本系统是根据现代超市收银管理的需要而开发的,操作方便及美观的界面给用户节省了不少宝贵的时间,全面实现了对商品的进货、付款、销售、收款和库存统计等业务的计算机管理,大大减轻了商店工作人员的工作量,全面提高了商店的管理效率及服务质量。系统采用Microsoft Office中的Access 2003来设计数据库,并使用VB 6.0为开发工具。 我们主要介绍了本课题的开发背景,所要完成的功能和开发的过程。在系统分析的前提下,本文重点说明了总体设计,数据库的设计以及系统详细的设计和实现过程。 关键词:超市管理系统,数据,信息,系统开发

目录 1超市管理研究背景...................................................... 错误!未定义书签。 1.1手工记账的弊端.................................................................... 错误!未定义书签。 1.2管理信息系统的重要性 (3) 2超市管理系统软件介绍 (4) 2.1本系统研究方案的确定与说明 (4) 2.2开发工具与环境 (5) 2.3数据库介绍 (3) 3超市管理系统软件模块规划 (7) 3.1模块页面功能描述:............................................................ 错误!未定义书签。 3.2模板结构功能及软件数据流程图 (6) 4代码设计...................................................................... 错误!未定义书签。 4.1主窗口模板的设计................................................................ 错误!未定义书签。 4.2用户注册登陆界面功能的描述............................................ 错误!未定义书签。 4.3用户资料管理功能的描述.................................................... 错误!未定义书签。 4.4管理功能的描述.................................................................... 错误!未定义书签。 4.5工具功能的描述.................................................................... 错误!未定义书签。5程序的调试 6 系统开发过程中的心得体会

相关文档
最新文档