软件工程课程设计通讯录管理系统Word文件下载.docx
《软件工程课程设计通讯录管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计通讯录管理系统Word文件下载.docx(19页珍藏版)》请在冰点文库上搜索。
Word、Visio、Myeclipes6.0.1、WindowsXP、SQLServer2000;
(2)开发时间:
开发的整个过程在三周内完成;
(3)经费问题:
经费少,适合学生开发的简单系统。
2.3可选的方案
由于系统过于简单,所以开发小组没有提供其他的方案,只有一种方案。
2.4社会因素方面的可行性
2.4.1经济可行性
如果系统运行的好的话,至少可以使联系人的管理效率提高10倍以上。
因为本系统不仅可以面无繁杂的手工操作,避免了效率低、保密性差等缺点,大大提高了对联系人管理的自动化、正确性等。
另外,该系统开发人员少,投资小,技术含量高,但它却可以带来了无形的不可估量的效益,而且该系统的开发是基于有形的企业单位或部门家庭等,故其投资风险低。
2.4.2技术可行性
根据该系统的目标来衡量的技术是否具备,一般可从硬件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。
考虑到系统实施的可行性,在软件方面选择了如今较流行的Myeclipes6.0.1来进行开发管理平台的设计,使用SQLServer2000数据库存储数据。
在硬件方面,则选择空间较大,只要是PentiumⅣ系列及以上的计算机,内存在512MB以上,硬盘在20GB,都可以满足系统的开发需要。
当然,硬件的配置越高,系统的开发与运行会更流畅,考虑到如今的家用电脑硬件的整体配置水平,系统在硬件方面是可行的。
在软件方面,由于Myeclipes6.0.1和SQLServer2000都是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的。
2.4.3法律可行性
所有软件都使用正版,所有技术资料都有提出放保管,该系统的开发和研制,将不会侵犯他人、集体和国家的利益,不会违法国家政策和法律,在法律上是可行的。
2.4.4用户可行性
使用本软件的用户要求有一定计算机基础的人员,系统管理员要求有计算机的专业知识的人员来担当,最好经过专业培训。
2.5结论
综上所述,通过可行性分析,此通讯录管理系统可以实现。
3项目需求报告
3.1引言
以工程的方法来设计项目中的各个功能模块,解决遇到的问题。
软件工程设计原则:
①选取合适的开发模型②选取合适的设计方法③选取高质量的工程支持④重视软件工程的管理。
3.1.1编写目的
在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。
此需求规格说明书对《通讯录管理系统》软件做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。
本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。
本文也是项目完成后系统验收的依据。
3.1.2项目背景
本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。
通讯录管理系统是典型的信息管理系统,要求应用程序功能完备,易使用等特点。
3.1.3定义
需求:
用户解决问题或达到目标所需的条件或功能;
系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
3.1.4目标
实现通讯录管理系统的基本功能。
辅助功能:
用户的登录、新建、密码修改以及删除功能;
系统主要功能:
②联系人和类别的查询、添加、删除等功能,以方便人们的记录和通讯。
3.1.5条件与限制
本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。
通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。
3.2数据字典
1.输入数据:
鼠标按钮的单击、菜单的命令、查询条件和查询关键字、相关信息更改、统计条件、受限操作所需密码记录等。
2.输出数据:
查询关键字确定的数据库记录的子集、统计结果、信息的录入、修改结果(成功或失败)等。
3.内部数据:
操作所产生的中间数据和查询操作建立的索引。
4.数据库描述:
本软件采用个关系型数据库。
采用的数据库管理系统是SQLServer2000.
5.数据流条目如下:
5.1)名称:
用户名和密码。
简述:
用户登陆的凭证,用户管理联系人要用到用户名。
定义:
用户名和密码=用户名+用户密码。
来源:
用户。
去向:
6.1核查,7.1核查,8.1核查,联系人或类别的添加,查看,修改,删除(用到用户名);
5.2)返回用户的主界面=用户的个人操作界面;
5.3)名称:
联系人基本信息。
组成联系人的各种信息,用户可以管理;
联系人基本信息=联系人编号+联系人姓名+联系人性别+出生日期+住址+电话+邮箱+类编+用户名;
1.1核查联系人,1.2核查类别;
5.4)定义:
联系人新信息。
用户修改联系人时,修改过的信息。
联系人新信息=联系人编号+联系人姓名+联系人性别+出生日期+住址+电话+邮箱+类编+用户名。
3.1核查联系人,3.2核查类别;
5.5)名称:
联系人查询条件。
用户用来查询联系人的条件。
联系人查询条件=[[联系人性别+用户名],[联系人姓名+用户名],[类别+用户名],[联系人性别+联系人姓名+用户名],[联系人性别+类别+用户名],[联系人姓名+类别+用户名],[联系人性别+联系人姓名+类别]+用户名]。
2.1查询处理;
5.6)名称:
联系人查询结果。
用户输入条件,从数书库中查询的联系人条目。
联系人查询结果={联系人编号+联系人姓名+联系人性别+出生日期+住址+电话+邮箱+类编+用户名}。
5.7)名称:
删除联系人条件。
用户要删除某个联系人是输入的条件。
删除联系人条件=联系人编号+用户名;
4.1核查处理;
5.8)名称:
删除用户类别条件。
用户删除类别时输入的条件。
删除用户类别条件=用户类别名+用户名;
4.14.1核查处理,4.2删除联系人或类别;
5.9)名称:
类别查询条件。
查询类别时的条件。
类别查询条件=用户类别名+用户名。
5.1查询处理;
5.10)名称:
查询类别结果。
用户查询类别的结果。
查询类别结果={类别名+用户名+备注}。
5.1查询处理。
用户;
新用户密码。
用户修改密码时,输入的新密码。
新用户密码=新用户名+密码。
7.1核查,7.2修改用户处理;
6.文件条目如下:
名称:
用户信息文件。
记录用户信息的文件。
文件组成:
{用户名+密码}。
写文件的加工:
9.2注册用户处理,7.2修改用户处理。
读文件的加工:
6.1核查,6.2登陆处理,7.1核查,8.1核查,9.1核查。
使用权限:
用户和非用户;
6.2)名称:
联系人信息文件。
记录联系人基本信息的文件。
{联系人编号+联系人姓名+性别+出生日期+住址+电话+邮箱+关系+用户名}。
1.3添加联系人,3.3修改联系人处理,4.2删除联系人或类别。
1.1核查联系人,2.1查询处理,3.1核查联系人,4.1核查处理,4.2删除联系人或类别。
6.3)名称:
用户类别信息文件。
记录用户联系人类别的文件。
{类别名+用户名+备注}。
1.4添加新类别,3.4添加新类别,4.2删除联系人或类别,
1.2核查类别3.2核查类别4.1核查处理4.2删除联系人或类别5.1类别查询处理
3.3E-R图
图3-1用户表E-R图
图3-2联系人表E-R图
3.4功能描述
用户分为两种角色(权限):
①非用户:
新建用户名和密码;
②用户:
登录,修改用户密码以及删除用户。
对于用户,为了方便用户使用本软件,用户必须新建帐户,在后来的使用中用户可以修改密码,用户可以将自己删除;
登陆后便进入用户个人的主界面,对联系人进行管理。
对联系人进行以下管理如下:
1.查询联系人:
①按姓名、性别和类别进行查询(可组合查询)②无条件查询,即全部联系人查询③查询类别,按类别名查询;
2.修改联系人:
需要知道联系人编号,然后重新填写联系人信息,幷提交;
3.添加联系人:
用户将自己的联系人信息添加到数据库(里面嵌套了添加类别);
4.删除联系人或类别:
用户可以将对自己无用的联系人或类别删除;
4项目设计报告
4.1简要概述
本系统具有多种功能:
①用户管理(为了方便用户而设计)②联系人管理(系统的主要功能);
通过本系统,用户可以很方便的注册和管理自己的联系人,其中可供用户和非用户使用,即用户可以登陆,修改自己的密码,将自己从数据库中删除(注意:
删除用户的同时,也将级联的删除了用户的所有联系人的一切信息),而非用户可以根据自己的需要注册自己的帐户,注册成功之后,非用户即变成了用户,可以登陆自己的主界面来管理自己的联系人。
系统具体的功能如下。
4.1.1用户
用户分为两种:
①非法用户:
新建用户名和密码即注册新用户;
②合法用户:
登录系统,修改用户密码以及删除用户。
4.1.2联系人的管理
添加信息:
填写联系人基本信息(注意联系人编号,姓名,类别不可为空,注意,若用户添加了一个新的类别,则类别的备注也不可为空)。
查询信息:
①查询联系人操作是本系统所有其他联系人操作的必备操作
查询条件有联系人姓名,性别,类别,可任意组合查询;
②在查询中不输入任何条件即可查询所有联系人信息,输入类别可以查询该类别的联系人信息,输入性别,则查询相应联系人的信息。
修改信息:
修改联系人的功能与添加联系人的功能大同小异,但是要注意的是,当用户要修改某个联系人的信息是,必须知道此联系人的编号(即此联系人已经存在用户的通讯录中),联系人编号可通过“查询联系人信息模块”来得到,同样,若改变了此联系人的类别,则注意类别是否是一个新的类别。
删除信息:
用户可以通过它来删除所要删除的联系人信息,只需要提供次联系人的编号即可,删除联系人中同时有删除联系人类别的功能,提供类别名即可。
查看类别:
用户可以提供类别名来查看类别的信息。
帮助:
主要是为新注册的用户提供软件功能上的帮助,帮助新用户了解软件的主要功能,如何使用等。
4.2系统总体设计
图4-1总体设计图
4.3逻辑结构设计
表4-1用户表(Userss)
字段
数据类型
长度
备注
username
varchar
50
用户名
password
char
12
密码
表4-2类别表(Leibie)
lname
类别名
所属用户名
beizhu
text
类别备注
表4-3联系人表(Relationmans)
rname
联系人姓名
sex
10
性别
birthday
16
出生日期
address
住址
telephone
电话
youxiang
邮箱
所属类别名
4.4数据流向
4.4.1用户数据流向
输入流:
①用户名和密码
②新用户名和密码
③用户名和新密码
输出流:
无
用户操作:
用户登陆,注册新用户,用户修改密码,用户删除自己帐户,需要核对检查。
用户登陆时,要将用户的用户名和密码作为条件在数据库中检索,若结果为空则说明不是合法的用户,给出出错提示,若结果不为空则登陆用户系统主界面;
注册用户时,同样将输入的用户名和密码作为条件在数据库中检索,若结果不为空,则给出出错提示(此用户名已经错在),要求重新输入,其中需要用户重新输入密码,以防用户输错,导致用户本人忘记;
删除用户和更改用户密码是,同样要进行核查,在这里就不再赘述。
4.4.2联系人数据流向
①新联系人基本信息
②联系人查询条件
③联系人新信息
④联系人编号或类别名
⑤类别名
①添加结果
②查询联系人结果
③修改结果
④删除结果
⑤查询类别结果
⑥核查出出错信息
联系人操作:
添加联系人,查看联系人,修改联系人,删除联系人或类别,查看类别,这些操作均需要核查。
具体怎么核查,同用户管理子系统,这里不在赘述。
4.5界面设计
图4-2用户登陆界面:
图4-3系统主界面
5项目测试报告
5.1测试的目的
通过测试,找到至今仍未发现的错误,进行修正,及早的发现错误,以免以后不必要的改正和费用,选择测试方法,完成测试用例的设计。
5.2测试内容与要求
白盒法测试(语句覆盖、条件覆盖、路径覆盖,基本路径测试),黑盒法测试(等价类划分、边界值分析),软件测试说明书;
根据需要选择部分测试方法包括白盒测试与黑盒测试方法对本软件进行必要的测试。
5.3集成测试
经过单元测试(报告中仅列出了部分模块测试)完成后,每个模块都能独立的工作,将登陆模块,添加联系人模块集成到系统中,已测试;
现在将查询模块集成到系统中进行测试。
5.3.1测试目的
必要性:
进行集成测试的必要性,因为每个模块都能独立的工作,但是放到一起时,往往就不能正常工作地工作。
主要原因:
数据可能在通过接口时丢失;
一个模块可能对另一个模块产生非故意的,有害的影响(即副作用);
当子功能连接到一起时可能不能达到期望的主功能;
在单个模块中可以接受的不精确性,在连起来构可能跨达到无法接受的程度;
全局数据结构可能也存在问题。
此次测试目的:
将查询模块添加到系统中,测试并发现其中的错误。
5.3.2测试的方式
集成测试的方式有两种,非增量集成测试和增量集成测试,增量集成测试又可分为自顶向下集成测试和自底向上集成测试;
本次测试采用增量集成测试方法。
5.3.3测试用例
表5-1添加模块的用例:
NO
测试用例
实际结果
输入数据
理论结果
编号
姓名
生日
关系
1
001
郭1
男
朋友
成功
2
郭2
女
编号重复
3
郭3
编号为空
表5-2查询模块的用例
输入条件
类别
所有联系人
出错,有其他用户的联系人
郭4
无此人
一条记录
查询成功
4
5
6
同学
无此类别
7
三条记录
8
测试结果:
进行第一次测试时,出现了错误,即用户查询自己的联系人信息时,将其他用户的联系人信息查了出来,这是一个严重的错误,经过仔细的排查,发现程序中关于用户名的传递出了问题,修改过后进行了第2,3...次测试,无误。
5.4确认测试
确认测试是以软件需求规约为依据,以发现软件与需求不一致的错误根据需求规格说明书进行测试,找出错误,幷进行修改,主要是检查软件是否实现了规约规定的、全部功能要求,文档资料是否完整,正确,合理,其他的需求等。
确认测试的结果可分为以下两类:
①满足需求规约要求的功能和性能特性,用户可以接受。
②发现与需求规约有偏差,此时需要列出问题清单。
测试方法:
a测试,b测试。
测试过程:
嵌套在前面测试中,根据需求规约进行了测试,在此没有列出测试的具体步骤和内容。
5.5系统测试
几种常用的系统测试方法:
①恢复测试②安全测试③压力测试④性能测试。
测试的内容和步骤:
各功能模块集成后进行确认测试,模块之间无影响,且可完成预定功能。
软件没有问题,则这个软件经过确认测试后就可以交付使用了,我们将系统测试贯穿于使用过程中,在使用中找出那些隐密性强的错误。
6项目总结
这次课程设计是对我们进入大学以来学习软件工程这门课程结果的一次大检验。
自己动手,团队合作的方式,发现和解决问题。
收获还是不小的,我们对软件工程这门课有了更深入的理解,同时了解开发软件的一般过程,所采用的方法,遇到问题时如何解决等。
通过这次课程设计,同时也检验了我们编码的能力,对语言学习的一大检验。
编码时,我们采用了Java面向对象编程语言来完成项目,通过类与对象来完成需求规格说明书中的软件功能。
在此次项目开发过程中,我们发现需求分析的重要性,它是软件开发成功的关键,虽然需求分析阶段我们遇到了一些小问题,但通过小组方式的讨论,终于达成一致的意见。
结构设计对于软件编码的实施也非常重要,因为好的系统结构决定着功能实现的方式,进而影响到用户与系统交互的方式;
测试是找出至今仍未发现的错误和缺陷,是检验一款软件优劣甚至成败的最重要的方式,通过测试,我们找到了一些错误,通过讨论,我们解决了这些小的错误。
避免了以后带来不必要的麻烦。
虽然本系统属于小的应用系统,但是,我们严格按照软件工程一般的方法,一步一步完成它,一步一步去实现它,可是由于能力和时间有限,本系统可能仍然存在没有被发现的错误。
总之,从中我们学到了很多知识,我个人认为这次实践对于我们从事软件方面的开发有很大的帮助。
我一向都认为,只有亲身去经历,才能获得真实的体会,这些体会是用金钱买不到的。
最后我感谢方贤文老师的亲切指导,我会努力,我虽然做的不是最好,但我争取做到了更好。
7参考文献
[1]印旻.Java与面向对象程序设计[M].北京:
高等教育出版社,2005
[2]王珊,萨日煊.数据库系统概论(第四版)[M].北京:
高等教育出版社,2008
[3]齐治昌,谭庆平,宁洪.软件工程(第二版)[M].北京:
高等教育出版社,2007
[4]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:
清华大学出版社,2007