个人信息管理系统课程设计.docx
《个人信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《个人信息管理系统课程设计.docx(17页珍藏版)》请在冰点文库上搜索。
经济与管理学院
《数据库系统原理》课程设计报告
(2013/2014学年第一学期)
学生姓名:
汪启源
专业班级:
信管112001
学生学号:
指导教师:
2013年 12 月 10 日
《个人信息管理系统》的设计
目录
1 3
. 系统概述 3
1.1. 设计背景 3
1.2. 设计目的 3
1.3. 设计内容 3
1.4. 运行环境 3
2. 需求分析 4
2.1. 工作流图 4
2.2数据流图 5
3. 概念模型 7
3.1. 关系模型 7
3.2. 各模块E-R图 7
4. 逻辑结构设计 9
5.物理结构设计 11
6.心得体会 13
课程设计名称
数据库课程设计
课程设计题目
个人信息管理系统
学生姓名
专业班级
课程设计任务内容
1、通讯录管理:
对个人通讯录进行分类、按编号录入、删除、查询等:
库文件字段建议有如下字段:
姓名、性别、与本人关系、家庭住址、单位、固定电话、移动电话、备注。
2、备忘录:
对个人重大事件进行记录,重要日期进行记录并提醒。
3、日记功能:
记录个人的电子日记,并具有查询、修改、删除功能。
4、财务管理:
对个人的收入、支出进行记录。
重大支出预警。
该系统应具备对数据进行录入、修改、删除、查询、统计、报表等功能。
指导教师:
时间:
年月日
. 系统概述
1.1. 设计背景
对学校而言,个人信息的管理能极大的帮助学生和老师管理生活学习或办公的琐事,过去都是用纸质物品记录存储,缺点很多,面临着保管困难,查找困难,浪费资源,不环保等诸多问题,现在需要一个应用于计算机的强大软件来管理这些信息,解放劳动力,节省资源,因此,借助于强大计算机的处理能力,能够把人从繁重的日常工作中解脱出来,并且更加准确、安全、清晰的管理自我信息,势在必行。
1.2. 设计目的
对通讯录、备忘录、个人日记、个人财务的部分功能进行管理,以个人信息系统的方式简化传统的纸质个人管理的工作,方便个人的日常生活和工作。
1.3. 设计内容
个人信息管理系统是针对个人生活中通讯、日志、日记、财务管理放面的一些事务进行管理,参照现有的开发环境,利用可用资源和使用环境,设计出能满足相应功能的特点,构造并确定出类和类成员函数。
实现一个能够进行数据库的数据定义、数据操纵、数据控制等处理功能。
具体功能:
总体而言该系统具备对数据进行录入、修改、删除、查询、统计、报表等功能;在个人通讯录方面实现对个人通讯录进行分类、按编号录入、删除、查询等功能;在备忘录方面实现对个人重大事件进行记录,重要日期进行记录并提醒;在个人日记功能方面,实现记录个人的电子日记,并具有查询、修改、删除功能;在个人财务管理方面,实现对个人的收入、支出进行记录。
重大支出预警。
1.4. 运行环境
操作系统:
Windows7;
DBMS:
SQLServer2008;
开发工具:
VisualC#2013
powerdesigne12.5
2. 需求分析
2.1. 工作流图
个人信息管理系统可以分成四大模块,一是个人管理通讯录的基本信息模块,里面应该包含个人所联系的所有的通讯信息;再者便是个人备忘录管理模块,在该模块中应该包含有对个人重大事件的记录和按时提醒的功能模块;三是日记功能模块,此模块具有对电子日记的创建、修改、删除、查询;四是财务管理模块,此模块具有收入支出记录,重大支出预警功能。
图1-1
2.2数据流图
通讯录数据流图
图2-1
备忘录数据流图
图2-2
个人日记数据流图
图2-3
财务管理数据流图
图2-4
3. 概念模型
3.1. 关系模型
1.备忘录(内容,发生时间,提醒时间,提醒方式)
2.财务管理(收入,支出,收支统计,支出提醒限制值,提醒方式)
3通讯录(姓名,性别,地址,联系电话,职务,于本人关系)
4个人日记(日期,内容,种类)
3.2. 各模块E-R图
备忘录实体的E-R模型图
图3-1
财务管理实体的E-R模型图
图3-2
通讯录实体的E-R模型图,如图3所示:
图3-3
个人日记实体的E-R模型图,如图4所示:
图3-4
4. 逻辑结构设计
根据E-R图数据流图等可得出相应的数据库表
表“通讯录”用于保存通讯录的详细信息,该表的结构如表1所示:
列名
类型
描述
性别
Char(4)
联系人性别
姓名
Char(8)
联系人的姓名,主键
地址
Char(16)
联系人的家庭或公司住址
联系电话
Varchar(16)
联系人的固话或手机号,主键
职业
Char(8)
联系人的职业职位
于本人关系
Char(8)
联系人于本人具有何种亲属或上下级关系
表1通讯录
表“备忘录”提供备忘录的详细信息,表的结构如表2所示:
表2备忘录
列名
类型
描述
备忘录内容
Char(500)
备忘的重大事情,主键
发生时间
char(12)
记录要做事件的具体时间
提醒事件
Char(12)
记录提醒用户注意备忘内容的时间
提醒方式
Char(20)
记录提醒用户的语言
表“个人日记”个人日记的详细信息,表的结构如表3所示:
表3个人日记
列名
类型
描述
种类
char(8)
日记种类
内容
Char(1000)
日记具体内容,主键,唯一
日记日期
Char(12)
写日记时间
表“财务管理”用于保存财务收支,重大支出预警等内容表结构如表4所示:
表4财务管理表
列名
类型
描述
收入
varchar(12)
收入金额,主键
支出
varchar(12)
支出金额,主键
支出预警限制值
char(12)
当支出多少金额以上发出提醒预警,主键
提醒方式
Char(50)
记录提醒语
5.物理结构设计
创建数据库并运用数据库创建各个表
CREATEDATABASEtushu
ON
PRIMARY
(NAME=tushudata,
filename='D:
\tushu.mdf',
size=5MB,
Maxsize=25MB,
FILEGROWTH=10%)
LOGON
(NAME=tushu_log,
filename='D:
\tushu.ldf',
size=5MB,
Maxsize=10MB,
filegrowth=1MB)
USETushu
CREATETABLEDZ
[XH]char(10)notnullprimarykey,
[MM]char(10)notnull,
[XM]char(30)notnull,
[XB]char(5)notnull,
[DZYJ]char(50),
[BZ]char(100),
USETushu
CREATETABLEZG
[ZGID]char(5)notnullprimarykey,
[MM]char(10)notnull,
[XM]char(30)notnull,
[XB]char(5)notnull,
[LXDH]char(11),
[SSBM]char(3)notnull,
USETushu
CREATETABLEBM
[BMBH]char(3)notnullprimarykey,
[BMMC]char(30)notnull,
USETushu
CREATETABLEJYTS
[LSH]char(10)notnull,
[XH]char(10)notnull,
[SM]char(50)notnull,
[JSRQ]datetimenotnull,
[YHRQ]datetimenotnull,
[GHBJ]char(5)notnull,
USETushu
CREATETABLEGHTS
[LSH]char(10)notnull,
[XH]char(10)notnull,
[SM]char(50)notnull,
[HSRQ]datetimenotnull,
6.心得体会
两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。
虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。
这次实习证实提供了一个很好的机会。
通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。
同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。
在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。
亲身体验了一回系统的设计开发过程。
很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。
但真正需要自己想办法去设计一个系统的时候才发现其中的难度。
经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。
我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。
因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。
所以以后的课程设计要特别注意这一块的设计。
在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:
客户端子系统,服务器端子系统。
在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:
由于忘记了一些java语言的规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。
我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。
很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。
在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。
物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:
主键约束、check约束、default定义等。
最后才做索引的部分,对一些比较经常使用搜索的列,外键上建立索引,这样可以明显加快检索的速度,最后别忘记重要的安全性设置,限制用户访问权限,新建用户并和数据库用户做相应的映射。
不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也是可以的。
如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!
以上基本是这次实习的体会了,设计进行的非常艰难,编码非常不容易,才发现做一个项目最重要的不在于如何实现,而是实现之前的需求分析和模块设计。
创新很难,有些流行的系统其实现并不难,难的在于对市场的分析和准确定位。
设计,是一个任重道远的过程。
参考文献
[1]邓春妮《Sql企业级开发案例大全》人民邮电出版社
[2]孙士宝,张瑾,张鸣《ASP.NTE数据库网站设计教程》电子工业出版社
[3]陈志泊,李冬梅《数据库原理与应用教程》人民邮电出版社
[4]何玉洁,梁琦《数据库原理与应用2》机械工业出版社
[5]王鹏《数据库技术及其应用》人民邮电出版社