内容发布更新时间 : 2024/11/20 15:36:14星期一 下面是文章的全部内容请认真阅读。
石河子大学--Delphi课程设计 2012年11月2日
器数据同步的问题。
(6) 适合企业内部应用程序。
3 系统分析与设计
3.1 需求分析
开发软件首先要进行的就是需求分析,通常这一步需要与客户进行广泛的交流,对于一个复杂一些的系统,可能需要与客户进行数次会议,甚至需要需求分析人员在客户处调查数月。对于本通讯录系统,我们可以先将自己作为通讯录的使用者,从自己的角度来考察需求(在真正的项目中,这一点是十分忌讳的,需求分析人员可以帮助,诱导客户说出他的需求,而绝不能从自己的角度替客户提出需求)。很显然,一个普通的通讯录系统,最基本的功能是记录一个教师的信息,那么,教师的信息需要有哪些呢?这是一个在需求分析中要特别注意的问题,一般而言,通讯录使用者可能需要的信息有以下这些:
姓名、性别、工作单位、办公电话、住址、住宅电话、手机、邮箱、QQ、MSN、其他备注信息。
这样开发者了解了需要保存的每个教师的基本信息有哪些,同时,应当注意到,不是每一位教师都有工作单位,也不是每一位教师都有手机或者QQ。因此,除了姓名与性别外,其他信息都可以是空的,但既然是通讯录,其中也至应当记录该教师的一项联系信息,所以,对上述信息记录时的要求应当为:姓名与性别是必需的,其他所有信息至少有一项不为空。
与记录教师信息相关的操作很容易联想到有增加教师、删除教师和对教师信息进行更新3钟。所以对教师的操作的需求归纳为以下3点:
增加新的教师、删除已存在的教师、修改已存在的教师的信息。
石河子大学--Delphi课程设计 2012年11月2日
软件形式的通讯录与传统纸面形式的通讯录比较起来,可以实现更为方便、有效的应用。为了便于查看及使用,通常通讯录需要对教师进行分组应用,这又成为一个新的需求挖掘点。基于实例的简单性考虑,对于组操作假定仅有以下需求:
组增加、组删除、组改名。
对于组的操作还有一个细节性的问题,有时候有些教师可能不会被归属于任何组,此时,该教师会被归入“未分组”这个组。也就是说,“未分组”本身也需要成为一个组,而且,它不应当可以被删除。
另外,为了避免所有人打开电脑都能随意查看机主的通讯录,本系统还应设置一个登录界面,即拥有机主的教师名和密码才能进入系统。而作为通讯录的拥有者,同时还会拥有一个数据库,可以方便的进行教师名的添加功能。同时登录界面也可以进行教师的注册,但是只有在拥有机主的密码才能注册成功。另外,注册成功的教师,如果忘记了密码,也可以通过找回密码功能找回自己的密码。
3.2 模块设计
从模块的角度来说,并没有刻意地进行模块的划分,相关的操作是集中在一起进行处理的。从类的角度来说,可以将系统分为登录窗口、注册窗口、找回密码窗口、主窗口、查询窗口,追加组窗口及数据库表记录集映射类几个模块。它们之间的关系如图3-1所示。
石河子大学--Delphi课程设计
2012年11月2日
用户应用
退出系统 信息信修改关键录入 息密码 字查维询 护 图 3-1 模块划分及模块之间的关系
姓名查询 石河子大学--Delphi课程设计 2012年11月2日
3.3 数据库设计
3.3.1数据表设计
数据库应用系统的核心毫无疑问是存储在数据库中的数据。而要合理有效地存储数据,有赖于设计一个结构良好的数据库结构。同时,对于一些比较重要的系统,可能还需要考虑到备份、同步等问题。因此,一个系统选用何种数据库是要综合权衡各方面因素之后才能决定的。而对于通讯录而言,它主要应用于桌面,因此没有数据同步的要求,数据量也很小,备份工作也不需要经常地进行。所以,可以考虑用Access数据库作为存储手段。
得到上面的数据项和数据结构以后,就可以设计出能够满足教师需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。
图3-2为教师实体E-R图;图3-3为教师实体E-R图; 图3-4为分组实体E-R图
图 3-2 教师实体E-R图
找回密用户 教师 石河子大学--Delphi课程设计 2012年11月2日
图3-3 教师实体E-R图
分组
图3-4 分组实体E-R图
在确定的使用数据库的类型之后,就可以对数据库进行详细的设计了。针对需求分析,现在已经知道需要保存的信息主要包含三个方面,即登录信息、组信息和教师信息。在设计数据库时一般会遵循“一事一地”的原则,也就是说,一类实体存储于一张表中,一张表中也仅表示一类实体。根据这个原则,数据库中应当存在三张表,它们分别用来存储信息和教师信息,它们的表结构如表3-1、表3-2和表3-3所示。
表 3-1 组信息表groupInfo 结构
字段
含义
类型
长度
默认值
NULL/主键
id groupName
组id 组名
int varchar
20
主键/自增