个人信息管理系统.docx
《个人信息管理系统.docx》由会员分享,可在线阅读,更多相关《个人信息管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
个人信息管理系统
长治学院
课程设计报告
课程名称:
软件工程课程设计
设计题目:
个人信息管理系统
系别:
2008级计算机系01班
专业:
计算机科学与技术
组别:
第十组(同组人:
王开君,李静芳,李丹)
学生姓名:
边佳学号:
********
起止日期:
2011年10月10日~2011年10月16日
********
第一章可行性研究
1.1问题描述
个人信息管理系统内容包括通讯录信息(通讯人姓名、联系方式、工作地点、城市、备注)、备忘录信息(什么时间、事件、地点)、日记信息(时间、地点、事情、人物)、个人财物管理(总收入,消费项目、消费金额、消费时间、剩余资金)四个方面。
该系统实现了这四方面信息的查询和管理功能。
1.2开发背景
开发软件的名称:
个人信息管理系统
项目的任务提出者:
长治学院计算机系0801班
开发者:
计科0801班第十组
1.3开发环境
WindowsXP系统
powerbuilder9.0开发软件
sqlserver数据库
1.4应用范围
该系统用于管理个人信息,面向广大在校大学生,也可用在公司管理员工信息等方面。
第二章需求分析
2.1用户需求
本系统是一种比较经济耐用的管理系统,它面向所有在校学生,但具有比较高的安全性能。
它能够实现信息管理的基本功能,包括信息的录入,查询,删除等操作以及后台数据库的备份和恢复。
用户合法注册后必须输入用户账户和密码才能成功进入该系统,以此保证了信息的安全性和个人隐私,进入该系统后可以依照自己的想法进入相应的功能模块,进行信息的查看,录入,更新等基本操作。
对于非法操作,系统有识别和防护措施。
个人信息管理的特点是能够存放的信息比较多,所管理的信息种类繁多,为了给用户一个很好的使用平台,内部使用设计以按钮形式给出。
对于查询和更新的方式设置了一个统一标准,因此在使用和管理起来非常方便。
本系统在设计过程中,为了克服困难,删除不必要的冗余,实现管理规范化,科学化。
界面友好,简单化,做到实用,方便,尽量满足广大使用者的需求。
2.2功能需求
(1)登录功能:
登录系统为身份验证登陆,用户输入用户账户和密码后才能进入该系统,以此保证了系统的安全性。
(2)更新信息功能:
用户进入系统后,找到相应的所属功能模块,然后根据自己的需要,可以删除一些已经对自己没有任何用处的信息,或者重新输入自己要保存的信息。
(3)查询功能:
用户进入系统后,找到相应的所属功能模块,然后根据内容输入或根据关键字进行查询,查询出的信息会显示在界面上,并且可以预览和打印出结果。
(4)系统维护功能:
数据的安全管理,主要是依靠管理员对数据库里的信息进行备份和恢复,这提高了系统和数据的安全性,有利于系统的维护。
2.3通讯录模块数据字典
2.4系统数据流图
图1个人信息系统数据流图
2.5E-R图
2.5.1个人信息管理系统E-R图
图2个人信息系统E-R图
2.5.2通讯录模块E-R图
图3通讯录模块E-R图
第三章概要设计
3.1系统模块划分
本系统分成四个模块,通讯录,备忘录,个人日记,个人财务。
模块划分图如下:
图4个人信息管理系统模块划分图
3.2通讯录模块细化
通讯录模块实现两个功能:
查询,管理。
其中管理功能包括显示,删除,添加,更新四个功能。
图5通讯录模块结构图
第四章详细设计
4.1数据库设计
该数据库设计了五个表:
用户表,通讯录表,备忘录表,个人日记表,个人财务表。
表结构设计如下:
表1用户表
列名
数据类型
长度
说明
备注
用户账号
Numeric
8
用户帐号
Primarykey
用户名
char
50
用户姓名
Notnull
密码
char
50
密码
Notnull
表2通讯录表
列名
数据类型
长度
说明
备注
用户账号
Numeric
8
用户帐号
foreignkey
姓名
char
10
姓名
Primarykey
联系方式
char
50
电话
工作地点
char
50
工作地点
城市
char
50
城市
备注
char
16
备注
表3备忘录表
列名
数据类型
长度
说明
备注
用户账号
Numeric
8
用户帐号
foreignkey
时间
datetime
——
时间
Primarykey
地点
char
50
地点
事件
char
300
事件
表4个人日记表
列名
数据类型
长度
说明
备注
用户账号
Numeric
8
用户帐号
Foreignkey
时间
datetime
——
时间
Primarykey
地点
char
50
地点
人物
char
50
人物
事件
char
300
事情
表5个人财务表
列名
数据类型
长度
说明
备注
用户帐号
Numeric
8
用户帐号
Foreignkey
消费时间
datetime
——
消费时间
Primarykey
消费地点
char
50
消费地点
消费金额
money
——
消费金额
收入
money
——
收入
4.2通讯录模块实现方法
关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型就是要将实体型,实体的属性和实体型之间的联系转换为关系模式。
根据由ER图导出一般关系模型的原则将E-R图转换成的关系模式如下:
用户(用户帐号,用户姓名,密码)
通讯录(用户帐号,姓名,性别,电话,工作地点,城市,备注)
第五章主要源代码
5.1登陆界面及编码
图6w_load登陆界面
Functionload_connect{
Stringls_userid,ls_password,ls_database//定义形参
ls_userid=trim(userid)
ls_password=trim(password)//将实参的值赋给形参
ifls_password=""then//输入密码非空
return-1endif
SQLCA.DBMS="ODBC"SQLCA.AutoCommit=FALSE
ls_database="ConnectString='DSN=person;"
SQLCA.dbparm=ls_database+"UID="+ls_userid+";PWD="+ls_password+"'"
CONNECTUSINGSQLCA;//与数据库连接
RETURNsqlca.SQLCode}
确定按钮
SetPointer(hourglass!
)
IFPARENT.load_connect(sle_1.text,sle_2.text)=-1THEN
MessageBox("连接数据库错误","连接失败"+sqlca.sqlerrtext)
HALT
ELSE
messagebox("恭喜!
","密码正确,已批准登陆系统!
")
close(parent)
Open(w_cxselect)
ENDIF
5.2系统控制窗口及编码
图7w_select
屏幕切换:
数据管理子系统按钮open(w_glselect),查询子系统open(w_chaxun)退出close(parent)
图8w_kecheng
屏幕切换:
查询通讯录信息open(w_txlcx)
5.3个人信息查询窗口及编码
图9w_chaxun
窗口函数:
dw_1.SetTransObject(SQLCA)
查询按钮脚本:
string用户帐号
用户帐号=trim(sle_1.text)
if用户帐号=""then
messagebox("没有输入用户帐号","请输入正确的查询条件!
")
elsedw_1.Retrieve(用户帐号)
endifsle_1.SetFocus()
清除按钮脚本:
dw_1.ReSet()sle_1.text=""sle_1.SetFocus()
5.4个人信息管理窗口及编码
图10w_guanli
添加:
Longrowrow=dw_1.InsertRow(0)dw_1.SetRow(row)
dw_1.ScrollToRow(row)dw_1.SetFocus()
更新:
dw_1.UpDate()dw_1.ReSet()
删除:
dw_1.DeleteRow(dw_1.GetRow())
插入:
Longrowrow=dw_1.InsertRow(dw_1.GetRow())
dw_1.SetRow(row)dw_1.ScrollToRow(row)dw_1.SetFocus()
显示:
dw_1.Retrieve()
取消:
close(parent)
第六章测试
6.1测试概要
本系统的测试内容如下表:
要求用户账号必须是数字型,输入其他格式将报错;字符长度按照下表给出的严格测试,超出范围报错;用户账号和姓名非空,当输入内容中这两项为空时不能进行插入或修改,;姓名是主键,主键唯一,插入内容账户和姓名同时已存在时提示错误。
表6测试内容
测试内容
数据类型
长度
是否为空
说明
用户账号
Numeric
8
否
foreignkey
姓名
char
10
否
Primarykey
6.2测试结果及发现
1.当插入的信息中账号和姓名同时与已存在数据一致时,系统提示未通过测试,不能进行插入操作,图10
1.当插入的信息中账号是账户表中不存在的信息时,系统提示未通过测试,不能进行插入操作
图11重复测试图12外键测试
6.3.功能测试
6.3.1查询功能
系统完成了按用户账号查询通讯录的功能。
测试发现该软件存在局限性,即查询方式只能一次性查处一个用户下所有通讯录,不能按照姓名查询联系方式等。
如图12所示:
图13查询功能测试
6.3.2管理功能
管理功能中包括显示,插入,删除,更新等功能。
1、显示功能。
单击显示按钮,显示结果如图13所示。
测试发现该系统缺陷在于显示时不排序。
完全按照信息输入的顺序显示,解决方案:
可以在显示按钮的脚本中添加排序函数。
图14显示功能
2、删除功能。
选择要删除的行(1002王璐),单击删除,更新完成删除。
删除比较简单,找见所要删除的行,直接删除。
如图14所示。
图15删除功能
第七章总结
本次的设计总体来说设计的比较简单,考虑不过细致,有些地方没有考虑。
也有些地方是做的比较满意的,有可圈点的地方。
首先,比如我们给个人信息管理系统嵌入了比较多的功能,能过满足用户的日常需要,并且其功能使用相对简单,不会给用户带来使用时的困扰。
但是,我们还是有不足的地方,如功能的优化简洁,这一点我们由于知识不够充分,所以功能优化方面有所欠缺。
其次,在数据库的设计中,几个表之间的联系比较复杂,给建表带来了困难,但是我们会仔细地设计每一个步骤,尽力使数据库完善。
合理之处有:
我们所设计的个人信息管理系统,整体设计比较清晰,分为若干个模块,不仅便于设计功能,并且用户用起来也会对整个软件有个清晰地感觉,不会在用起来感到吃力。
在本次的课程设计中,有些知识没有掌握,所以数据库方面的设计没有做好,但是由于对数据库使用不太了解,所以花了一些时间,经过努力还是逐渐了解数据库,学会了一些以前没有掌握的东西,这算是一个收获吧。
其次是感觉,知识掌握的不够牢固,掌握的知识不够全面,查了许多资料才勉强做出来,看来基础知识是非常重要的。
还有团队的合作是非常重要的,即使自己个人掌握某些知识,但是还是要和组员通力合作,自己独自是做不好的,再者组员之间合作过程中可以相互学习,这样更能使知识掌握的更加牢固。
参考文献
[1]王珊,萨师煊.数据库系统概论(第四版)[M].北京:
高等教育出版社,2006.
[2]郑阿奇.PowerBuilder使用教程(第三版).电子工业出版社出版社,2009年2月.
[3]张海藩.软件工程导论(第五版).清华大学出版社,2008年2.
指导教师评语:
指导教师签名:
年月日
成绩评定
项目
权重
成绩
1、设计过程中出勤、学习态度等方面
0.1
2、设计技术水平
0.4
3、编程风格
0.2
4、设计报告书写及图纸规范程度
0.3
总成绩