1、长 治 学 院课 程 设 计 报 告课程名称:软件工程课程设计设计题目:个人信息管理系统 (个人日记模块) 系 别: 2008 级计算机系 01 班 专 业: 计算机科学与技术 组 别: 第十组(李丹、李静芳、边佳、王开君) 学生姓名: 李丹 学 号: 08407108 起止日期: 2011 年 10 月 10 日2011 年 10 月 16 日指导教师: 郭咏梅 1目录第一章 个人信息管理系统可行性研究 .31.1 问题描述 .31.2 开发背景 .31.3 意义 .31.4 开发环境 .31.5 应用范围 .3第二章 个人信息管理系统需求分析 .32.1 问题现状 .32.2 用户对系统的
2、功能需求 .42.2.1 性能需求 .42.2.2 接口需求 .42.2.3 用户界面需求 .42.3 系统的数据流图 .42.4 系统的数据字典 .42.5 系统的 E-R 图 .62.6 个人日记模块 E-R 图 .6第三章 个人信息系统概要设计 .73.1 系统的模块划分 .73.2 系统功能模块设计图 .7第四章 个人信息管理系统详细设计 .824.1 数据库设计 .84.1.1 设计各个表结构 .84.2 个人日记交互界面 .94.3 个人日记模块的关系模式 .9第五章 个人日记模块主要源代码 105.1 登录界面的源代码 105.2 管理个人日记模块源代码 105.2.1 查询模块
3、的源代码: 105.2.2 管理个人日记源代码 10第六章 个人日记模块测试 116.1 测试概要 116.2 测试结果及发现 116.3 功能测试 126.3.1 查询功能 126.3.2 管理功能 126.3. 测试结论 .13第七章 总结 13参考文献 .143第一章 个人信息管理系统可行性研究1.1 问题描述设计个人信息管理系统,提高个人信息的效率,保证信息的准确规范,使个人管理工作真正做到科学、合理的规划,系统高效的实施。1.2 开发背景开发软件的名称:个人信息管理系统项目的任务提出者:长治学院计算机系 0801 班开发者:计科 0801 班第十组1.3 意义通过对此系统的设计,更方
4、便的对个人信息进行管理。1.4 开发环境Windows XP 和 Power Builder 9.0 以及 Microsoft SQL Server 2000 数据库1.5 应用范围本系统应用于广大群体对个人信息进行管理,适用于各种人群使用。第二章 个人信息管理系统需求分析2.1 问题现状 目前要解决的问题是设计出个人信息管理系统的需求分析,对各个模块进行详细的分析。2.2 用户对系统的功能需求2.2.1 性能需求(1)系统易操作性。所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。(2)系统具有可维护性。由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空
5、间及性能也随之下降,为了使系统更好地运转,学院可4以对系统数据及一些简单的功能进行独立的维护及调整。(3)系统具有开放性。该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作。2.2.2 接口需求运行本系统的硬件和软件基本要求如下:CPU:Intel P3 及以上;内存:256MB 及以上;硬盘:10GB 及以上。. NET 框架: Microsoft .Net Framework V1.1 版本及以上。数据库服务器:Microsoft SQL Server 2000 及以上。2.2.3 用户界面需求本系统采用 PowerBuilder9.0
6、 设计,用户交互界面采用的是基于 Windows 的窗口界面。2.3 系统的数据流图通讯录备忘录 个人财务个人日记个人信息管理系统查询通讯录1 . 1管理通讯录1 . 2查询备忘录3 . 1管理备忘录3 . 2查询个人日记2 . 1管理个人日记2 . 2查询个人财务4 . 1管理个人财务4 . 2图 2-1 系统的数据流图 2.4 系统的数据字典图 2-3 备忘录数据字典名字:通讯录信息别名:通讯录描述:管理员对通讯录信息进行添加,插入,删除,查询,更新等操作,定义:通讯录=用户账号+ 姓名+ 工作地点+联系方式+城市+ 备注名字:备忘录信息别名:备忘录描述:管理员对个人备忘录信息进行添加,插
7、入,删除,查询,更新等操作,定义:备忘录表=用户账号+ 时间+ 地点+事件5表 2-1 通讯录、备忘录、个人日记和个人财务的数据字典2.5 系统的 E-R 图通讯录电话性别备注城市工作地点姓名备忘录时间地点 事件用户 密码账号姓名管理写备忘MN11写日记管理财务日记个人财务时间地点人物事情消费地点收入消费金额消费时间11PQ名字:个人财务信息别名:财务表描述:管理员对个人财务信息进行添加,插入,删除,查询,更新等操作,定义:财务表=用户账号+ 消费时间+ 消费地点+消费金额+ 收入名字:个人日记信息别名:日记信息表描述:管理员对个人日记信息进行添加,插入,删除,查询,更新等操作,定义:日记信息
8、表=用户账号+时间+ 地点+人物+事件6图 2-4 系统的 E-R 图2.6 个人日记模块 E-R 图日记事情时间 人物地点图 2-5 个人日记模块 E-R 图第三章 个人信息系统概要设计3.1 系统的模块划分个人信息管理系统包括四个模块,分别为通讯录模块、备忘录模块、个人日记模块和个人财务模块。根据系统中所包含的内容,该系统可以分为两个子系统,分别为查询系统和管理子系统。查询又分为通讯录的查询、备忘录的查询、个人日记的查询和个人财务的查询。管理子系统又包括通讯录、备忘录、个人日记和个人财务的录入、删除和显示。查询子系统登录系统显示查询个人日记管理子系统 管理个人日记更新删除插入图 3-1 个
9、人日记模块结构图3.2 系统功能模块设计图详细的功能模块设计图如图 3-1 所示:7图 3-2:详细介绍功能模块第四章 个人信息管理系统详细设计4.1 数据库设计4.1.1 设计各个表结构根据设计要求设计出各个表结构表 4-1 各个表结构如下所示用户表:列名 数据类型 长度 说明 备注用户账号 char 8 用户帐号 Primary key用户名 char 50 用户姓名 Not null密码 char 50 密码 Not null通讯录表:列名 数据类型 长度 说明 备注用户账号 char 8 用户帐号 foreign key姓名 char 10 姓名 Primary key联系方式 cha
10、r 50 电话工作地点 char 50 工作地点城市 char 50 城市备注 char 16 备注8备忘录表:列名 数据类型 长度 说明 备注用户账号 char 8 用户帐号 foreign key时间 datetime 时间 Primary key地点 char 50 地点事件 char 300 事件日记表:列名 数据类型 长度 说明 备注用户账号 char 8 用户帐号 Foreign key时间 datetime 时间 Primary key地点 char 50 地点人物 char 50 人物事件 char 300 事情个人财务表:列名 数据类型 长度 说明 备注用户帐号 char 8
11、 用户帐号 Foreign key消费时间 datetime 消费时间 Primary key消费地点 char 50 消费地点消费金额 money 消费金额收入 money 收入4.2 个人日记交互界面系统登录界面以及个人日记的管理界面如下图所示:图 4-1 系统的登录界面9图 4-2 个人日记交互界面4.3 个人日记模块的关系模式 用户(用户帐号,用户姓名,密码)用户账号用户姓名,用户账号密码。第四范式日记(用户帐号,时间,地点,人物,事情)时间地点,时间人物,时间事情。第四范式。第五章 个人日记模块主要源代码5.1 登录界面的源代码登录界面主函数:SetPointer (hourglas
12、s!)IF PARENT.load_connect (sle_1.text,sle_2.text) =-1 THENMessageBox (“连接数据库错误“,“连接失败“+sqlca.sqlerrtext)HALTELSEmessagebox(“恭喜!“,“ 密码正确,已批准登陆系统!“)close(parent)Open(w_cxselect)END IF 5.2 管理个人日记模块源代码5.2.1 查询模块的源代码: string 用户帐号用户帐号=trim (sle_1.text)if 用户帐号=“ thenmessagebox(“没有输入用户帐号“,“请输入正确的查询条件!“)10el
13、se dw_1.Retrieve(用户帐号 ) end if sle_1.SetFocus()5.2.2 管理个人日记源代码管理功能主函数:添加(录入)主函数: Long rowrow=dw_1.InsertRow (0)dw_1.SetRow (row)dw_1.ScrollToRow (row)dw_1.SetFocus ()插入主函数: Long rowrow=dw_1.InsertRow (dw_1.GetRow ()dw_1.SetRow (row)dw_1.ScrollToRow (row)dw_1.SetFocus ()显示主函数: dw_1.Retrieve ()更新主函数:
14、dw_1.UpDate ()dw_1.ReSet ()删除主函数: dw_1.DeleteRow (dw_1.GetRow ()第六章 个人日记模块测试6.1 测试概要本模块的测试内容如下表:要求各个测试内容必须按照严格的字符类型,输入其他格式将报错;字符长度按照下表给出的严格测试,超出范围报错:用户账号非空,当输入内容此项为空时不能进行插入或修改,用户账号为主键,主键唯一,插入已存在用户账号时提示错误。表 6-1 测试内容(见下页)测试内容 数据类型 长度 是否为空 说明用户账号 char 8 否 主键时间 datetime 8 是地点 Varchar 50 是人物 vArchar 50 是
15、6.2 测试结果及发现1.当输入查询的用户账号为空时,出现提示,请输入正确的查询条件。11图 6-1 查询输入为空时出现提示2.当插入为空时,系统提示不能进行此操作。图 6-2 插入为空时,系统出现提示6.3 功能测试6.3.1 查询功能系统完成了用户账号查询个人日记的功能。测试发现该软件存在局限性,即查询方式仅限于按照用户账号查询,而个人则希望通过时间进行具体的日记查询。这样可以更方便的对个人的日记信息进行管理。图 6-3 个人日记查询功能126.3.2 管理功能管理功能中包括显示,插入,删除,更新等功能。1、 显示功能。单击显示按钮,显示结果如图所示。测试发现该系统缺陷在于显示时不排序。完
16、全按照信息输入的顺序显示,这个问题解决方案可以在显示按钮的脚本中添加排序函数。图 6-4 显示功能的测试结果2、 删除功能。选择要删除的行(10006) ,单击删除,更新完成删除。删除比较简单,找见所要删除的行,直接删除。可以更完善的是添加一个搜索功能,搜索要删除的条目,甚至可以批量删除。图 6-5 删除功能的实现6.3. 测试结论测试结果,系统完成了要求的各项功能,满足以下约束:要求各个测试内容必须按照严格的字符类型,输入其他格式将报错;字符长度按照下表给出的严格测试,超出范围报错;用户账号非空,当输入这项为空时拒绝插入或修改;用户账号唯一,插入已存在账号时提示错误。13第七章 总结通过这次
17、课程设计,我了解到了数据库课程设计主要的目标是利用课程中学到的软件工程知识和技术较好的开发设计出应用系统,去解决各行各业信息化处理的要求。完成这个设计可以巩固我们对软件工程理论的理解,进一步提高我们综合运用所学知识的能力。我们这组要做的是个人信息管理系统,开始时,我们并没有着手写程序。而是大家一起商量这个系统需求分析、概要设计、详细设计。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。这样就组成了一个完整的系统。我所负责的模块是个人信息管理系统中
18、个人日记管理模块的设计。自己刚知道自己题目的时间还是对要做的系统不是很了解,自己不知道具体的功能是什么,我就先从需求分析开始,一步一步地进行分析,最后明白了自己的工作内容。但是在这个过程中也遇到了一些问题,起先要确定系统要划分为几个模块,E-R 图的设计。这些问题自己都是和组员一起商量得出的最后结果。最后,通过老师和同组组员的帮助,我顺利完成了这次课程设计我所负责的模块的设计。从这次课程设计中,我深刻的体会到了团队合作的重要性,大家需要多交流和沟通才能更好的去完成老师所布置的任务。同时,在这次设计中,郭老师也对我们进行了很多耐心和细心的讲解,使我们的课程设计能够顺利的完成。再次特别感谢郭老师的
19、细心指导和同组组员的帮助。参考文献 1 王珊, 萨师煊. 数据库系统概论(第四版)M. 北京: 高等教育出版社, 2006.2 郑阿奇.PowerBuilder使用教程 (第三版). 电子工业出版社出版社, 2009年2月.3 张海藩.软件工程导论(第五版). 清华大学出版社, 2008年2.14指导教师评语:指导教师签名: 年 月 日项 目 权重 成绩1、设计过程中出勤、学习态度等方面 0.12、设计技术水平 0.43、编程风格 0.24、设计报告书写及图纸规范程度 0.3成绩评定总 成 绩 15密码用户名查询管理个人信息管理系统用户 登录图 1 个人信息管理顶层数据流图个人财务信息表备忘录信息表查询返回信息管理个人财务信息返回查询信息管理备忘录信息返回查询信息管理个人日记信息返回查询信息管理通讯录信息通讯录信息表通讯录个人日记个人财务备忘录用户登录密码用户名 个人日记信息表图 2 个人信息分层数据流图登录个人信息系统查询子系统管理子系统查询个人日记管理个人日记更新 删除 显示 插入图 3 个人日记模块结构图5个人信息管理系统通讯录备忘录个人日记个人财务管理通讯录查询通讯录管理备忘录查询通讯录管理个人日记查询个人日记管理个人财务查询个人财务