软件工程课程设计.docx
- 文档编号:23301153
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:22
- 大小:122.61KB
软件工程课程设计.docx
《软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
软件工程课程设计
一、项目开发计划
1、引言
1.1编写目的
本项目开发计划旨在明确开发时间、规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。
1.2背景
a.待开发软件系统的名称;名片管理系统
b.本项目的任务提出者:
刘龙,刘仕任,韩超
c.本项目将对原有的系统进行扩充和完善,以提供各种数据信息服务。
1.3参考资料
1.《软件工程导轮》张海藩清华大学出版社
2.《网站开发典型模块与实例精选》韩国峰电子工业出版社
3.《信息系统开发实例精选》赛奎春机械工业出版社
2项目概述
2.1工作内容
本项目的的包括技术和非技术两大部分。
技术上需要进行数据库开发、名片管理系统代码的编写、界面设计,规划与编写、名片的更新和删除以及整个系统的测试等;非技术部分包括对名片的收集、资料的检索等。
2.2主要参加人员
刘仕任熟悉JAVA,软件工程,数据库
刘龙熟悉JAVA,软件工程,数据库
韩超熟悉JAVA,软件工程,数据库
2.3产品
2.3.1程序
最终内容包括完整的名片用户界面,数据库系统,以及相关的代码、说明及范例。
2.3.2文件
列出须移交用户的每种文件的名称及内容要点。
2.3.3服务
列出需向用户提供的各项服务,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和服务的期限。
2.3.4非移交的产品
说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。
2.4验收标准
对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。
2.5完成项目的最迟期限
按计划,本项目最迟将于2011年7月7号完成。
2.6本计划的批准者和批准日期
本计划的批准者为古老师,批准日期为2011-7-4。
3可行性研究
3.1技术可行性:
本设计“名片管理系统”是为各类人员开发的信息管理系统。
通过两个星期的学习,对开发管理信息系统又有了新的认识。
使自己在开发管理信息系统方面的技术更加成熟。
由于本设计最重要体现的是实用性,所以通过大量的社会调查和分析,结合自己现有的技术水平加上老师的指导,能按期完成本次课程设计。
3.2经济可行性:
支出:
硬件设备:
PC机;
软件:
Windowsxp,Myeclipse,SQLServer。
效益:
进一步实现办公自动化,减少人力投资和办公费用,极大地提高办公效率。
3.3操作可行性:
本软件的用户对象是信息管理的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。
所以从以上几个方面的分析来看,开发本软件是完全可行的。
3实施计划
3.1工作任务的分解与人员分工
刘仕任:
项目开发设计;需求分析设计;部分代码实现
刘龙:
概要设计;详细设计;部分代码实现
韩超:
数据库的建立;测试分析设计;主要代码设计
3.2接口人员
刘龙:
登陆界面与主模块的接口;
刘仕任:
类别模块和主界面模块的接口
韩超:
与数据库的接口和卡片管理界面与主界面的接口
3.3进度
2011.7.4-2011.7.5:
初步完成需求分析、系统设计规划,熟悉数据库开发。
2011.7.5-2011.7.6:
系统应用程序、开发数据库、编写代码。
2011.7.6-2011.7.7:
初步完成开发,进行调试及代码优化。
项目的开发分几个阶段,每阶段开始时负责人会对各成员的工作提出具体要求,开发过程中应及时提交相关会议记录、学习心得、进展报告等,便于负责人对项目进度进行把握和评估,从而决定是否进入下个开发阶段。
上传的文档中也将明确说明本项目已进入的阶段。
。
3.4关键问题
本项目实现的关键不在于已经相对熟悉的java与数据库编程;而在于比较陌生的名片修改模块的构建,这也是项目能否给人以可信度的关键。
4支持条件
4.1计算机系统支持
运行该软件系统所需要的硬设备包括服务器和客户机,要求满足(最低配置)
a.1GHz以上处理器,内存不少于256M。
b.3G以上空余硬盘空间,CDROM驱动器。
c.客户机为用户的计算机,能够上网。
4.2需由用户承担的工作
逐项列出需要用户承担的工作和完成期限。
包括需由用户提供的条件及提供时间。
5专题计划要点
说明本项目开发中需制定的各个专题计划(如分合同计划、开发人员培训计划、测试计划、安全保密计划、质量保证计划、配置管理计划、用户培训计划、系统安装计划等)的要点。
二、软件需求说明书
1、引言
1.1编写目的
名片是人们相互间交流的工具,但是传统人们使用的都是有树胶制作而成的,对名片的存放修改都有相当的困难,所以我们结合时代的前沿科技,将名片设计为电子设备,进行名片管理系统将更加有利于人们之间的交流和合作。
1.2背景
名片管理系统(NewsReleaseSystem)是互连网技术发展以后才出现的技术,是解决一些实物名片的不便而开发,最初只是简单的储存和显示,功能十分单一。
互连网技术进一步发展,java和数据库的大量运用,将名片管理系统作为交流工具,其用户大大增加,对系统的要求也越来越高,新的名片管理系统在这样的一个环境中提出、开发、并改进。
1.3定义
Java;sql;信息管理;模板
1.4参考资料
《mysql数据库开发》、《软件工程》和相关网络资源。
2任务概述
2.1目标
开发意图
a.为了名片管理系统更完善;
b.为了名片的存储和更新更方便;
c.为了方便人们之间的更好的交流。
应用目标
通过本系统软件,能帮助人们利用计算机,快速方便的对名片进行管理、输入、输出、查找的所需操作,使散乱的名片能够具体化,直观化、合理化。
作用及范围
本软件适用于有自己名片的人,它是比较完善的系统管理软件,对登陆界面的用户的名片信息可以随时查找。
以及对新的名片进行快速的进行输入和输出。
为了以后更好的维护开发名片管理程序,编写软件需求说明书,通过编写软件需求说明书为了进一步明确系统的功能和实现方法,作为下一步开发的依据,是双方项目组进行工作的基础性文件.
能够更好的了解以后的开发任务和合理的控制开发时间和开发模块.
确定程序流程,模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块.确定模块间的联系,确定数据结构,文件结构,数据库模式,确定测试方法与策略.
2.2用户的特点
本软件的使用对象是任何有数字名片的人们。
懂计算机的简单操作就可以利用该软件进行所需操作。
2.3假定和约束
a.本项目的无开发费用;
b.辅导老师1人,开发人员3人;
c.管理方针:
无约束
d.硬件的限制:
无约束
与其他应用间的接口:
进入主界面后点击相应的窗口,分别进入相对应的界面
并行操作:
a.初始化操作;b数据处理的支持功能较强;c后援和恢复操作。
所需的高级语言java编程语言
安全和保密方面的考虑:
无约束
3.数据描述
3.1实体-关系
名片信息实体E-R图如图3-1所示:
图3-1名片信息实体E-R图
3.2系统数据流图
本系统根据上面的设计规划出的实体有:
名片存储系统(名片号),用户个人信息(编号、姓名、职业、联系方式)。
描述名片管理系统功能的数据流图如3-2所示:
图3-2名片管理系统的数据流图
3.3数据字典
名称
操作请求
别名
无
用途
更新名片管理系统
描述
操作请求=添加|修改|删除|查询
名称
名片信息
别名
名片资料
用途
查找名片、更新名片
描述
名片信息=卡号+姓名+性别+生日+工作单位+职务+电话+家庭地址+邮编+电子邮件
名称
用户信息
别名
无
用途
确认用户身份
描述
用户信息=用户名+用户登陆密码
名称
查询结果
别名
无
用途
对用户操作进行响应、查询处理
描述
查询结果=名片信息
4需求规定
4.1对功能的规定
类别设置(添加类别、修改类别、删除类别)
信息管理(添加信息、修改信息、删除信息、查询信息)
用户管理(修改密码、退出)
退出(退出系统)
4.2对性能的规定
4.2.1精度
在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,由于本系统使用了数摞结构,可以满足各种精度的需求。
4.2.2时间特性要求
a.相应时间:
快
b.更新处理时间:
快
c.数据的转换和传送时间:
迅速
d.解题时间:
迅速
在软件方面运行时间都比较快且迅速,完全能够满足用户要求。
4.2.3灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
4.3输人输出要求
模块
详细功能描述
类别设置
添加类别:
主要是用于添加新的名片类别
修改类别:
对已有的名片类别进行修改
删除类别:
对已有的名片类别进行删除
信息管理
添加信息:
名片信息进行添加
修改信息:
名片信息进行修改
删除信息:
名片信息进行删除
查询信息:
名片信息进行查询
用户管理
修改密码:
修改当前登陆人员的登录密码
退出
退出当前系统
4.4数据管理能力要求
1、能处理大量的名片信息数据。
2、负荷能力强,防止数据量过大,而影响速度。
3、遵循数据完整性规则,保证数据实际有效。
4、保证发送数据库引擎的数据得以可靠存储。
5、数据恢复功能,当数据遇到损坏时,可以随时恢复过去备份的数据,将损失降到最低点。
6、密码管理,为了保证系统数据的安全性,系统对用户登陆进行了加密限定。
4.5故障处理要求
a.内部故障处理
在开发阶段可以随即修改数据库里的相应内容。
b.外部故障处理
对编辑的程序进行重装载时,第一次装载认为错,修改。
第二次运行,在需求调用时出错,有错误提示,重试。
4.6其他专门要求
1.用户单位要求在后台管理中,管理员登入需要用户帐号和密码.
2.可使用性
在装载总程序时,正常就运行,异常就停止;汉语编程系统出现错误,将会产生不可遇见的问题,热启,整个终端程序就会再启动;程序出现错误,重新装载,若仍有错,。
3.可维护性
本软件的组成程序为java程序设计语言,组构均较简单,直观意义上的较独立。
4.可转移、可转换性
4.运行需求
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性、互联性
5运行环境规定
5.1设备
1、硬件条件
服务器为数据库服务器,客户端为运行界面
2、系统平台
采用client/Server体系结构,服务器端采用sqlserver2008为服务器的运行系统。
客户端软件,eclipse
5.2支持软件
支持环境:
作为一种基于服务器端的应用程序编程环境,jsp需要选择一种服务器作为其工作环境.
操作系统:
MicrosoftWindowsXp
数据库:
Microsoftsqlserver2008
编码软件:
eclipse
5.3接口
内容管理及发布系统将提供对内、对外两种信息接口,对内能够实现其他系统数据在本平台特定栏目的显现。
对外能够实现将本系统内部信息发布到其他业务系统。
三、概要设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。
总体设计的基本目的就是回答“概括的说,系统应该如何实现?
”这个问题,因此,总体设计又称为概要设计或初步设计。
总体设计的重要任务是设计软件的结构,也就是要确定系统中每个程序由哪些模块组成,以及这些模块相互间的关系。
通常程序中的一个模块完成一个恰当的子功能。
应该把模块组成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。
软件结构(即由模块组成的层次系统)可以用层次图或结构图来描述。
3.1.1基本设计概念和处理流程
系统流程图是概括地描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。
系统流程图如图1-1所示:
图1-1系统流程图
3.1.2层次图
对需求分析得到各项功能进行集中、分块、按照结构化程序设计的,得到如图1-2所示的层次图。
图1-2名片管理系统的层次图
3.1.3关系模式
用户(用户名,密码)
分类(类别编号,类别)
名片(卡号,姓名,性别,生日,工作单位,职务,家庭电话,办公电话,移动电话,家庭地址,邮编,电子邮件)
。
3.2接口设计
3.2.1用户接口
本名片管理系统采用图形用户接口,以鼠标和键盘为用户接口,信息从界面输入(也可以通过数据库直接输入);信息管理中心集中存储和管理各类信息。
授权用户可以访问或修改信息中心的信息,各种信息源的数据通过“信息管理”进入信息中心。
3.2.2外部接口
系统提供基于SQLServer的数据导入和导出功能,方便用户与操作员的数据交换。
3.2.3内部接口
中间层组件实现对数据库的操作和前台页面的生成工作,数据库服务器主要对系统提高数据服务。
中间层组件主要封装了对数据库的查询、修改、删除以及页面生成工作,实现了本系统的全部中间业务逻辑.名片管理系统根据后台管理员设置的栏目和绑定的模板自动生成界面模板、名片的编辑、修改、和删除功能,完成系统的所有功能.
3.3运行设计
3.3.1运行模块组合
1.类别设置:
添加类别:
主要是用于添加新的名片类别;
修改类别:
对已有的名片类别进行修改
删除类别:
对已有的名片类别进行删除;
2.信息管理:
添加信息:
名片信息进行添加
修改信息:
名片信息进行修改
删除信息:
名片信息进行删除
查询信息:
名片信息进行查询
3.用户管理:
修改密码:
修改当前登陆人员的登录密码
4.退出:
退出当前系统
3.3.2运行控制
本系统类别设置->新的类别->添加信息->新的名片,主要通过相关类实现了数据库的管理
3.4数据库设计
该实例实现的是简单的名片管理功能,因此系统后台数据库比较简单,只有名片表、类别表、用户表3个数据表。
表3-3名片表
序号
字段名
类型及长度
是否为空
含义
1
carid
int
Not
卡号
2
tpid
int
Not
类别编号
3
frdname
Char(10)
Not
姓名
4
sex
Char
(2)
Yes
性别
5
birthday
datetime
Yes
生日
6
depart
vachar(50)
Yes
工作单位
7
power
vachar(50)
Yes
职务
8
homephone
char(10)
Yes
家庭电话
9
officephone
char(10)
Yes
办公电话
10
mobil
char(10)
Yes
移动电话
11
address
char(20)
Yes
家庭地址
12
number
char(10)
Yes
邮编
13
varchar(30)
Yes
电子邮件
表名:
名片主键:
carid
表3-4类别表
序号
字段名
类型及长度
是否为空
含义
1
tpid
int
Not
类别编号
2
tpname
Char(20)
Yes
类别
表名:
类别主键:
lbbh
表3-5用户表
序号
字段名
类型及长度
是否为空
含义
1
uername
Char(10)
Not
用户名
2
password
Char(10)
Not
密码
表名:
用户主键:
username
3.5物理结构设计要点
本小组的名片系统中的所有数据结构中的所有数据项都存储在SQL数据库中。
用户表中的密码对外是保密的。
3.6系统出错处理设计
3.6.1出错信息
任何一个系统的开发都应充分考虑各种系统错误,避免造成系统不一致或损坏,因此在本系统中采用出错提示框形式为用户提示出错信息;另外对一些关键性操作如后台系统管理员登入时,输入密码也采用了确认机制.
系统应对以下错误做出正确处理:
1.无法与数据库连接时,若不能够正确连接,则应做出正确处理。
2.系统管理员忘记登入密码,则应做出正确处理。
3.系统原始数据丢失.
3.6.2补救措施
①提示数据库无法连接信息。
②提示密码出错,请输入正确密码,如忘记密码,请点击忘记密码,并进行密码修改.
③当系统原始数据丢失时,将启用副本的建立和启动技术,本系统将周期性地把硬盘信息记录到移动硬盘上去;
本系统的降效技术是手工操作和数据的人工记录;
本系统采用的恢复再启动技术是从故障点恢复执行,这样节省了时间,提高了效率,若使软件从头开始重新运行,必然造成用户等待.系统再启动以后会对故障点以前的内容进行检查,如无出错,系统将继续执行.
3.6.3系统维护设计
为了系统维护的方便,在本新闻发布系统程序内部设计中,安排了用于系统检查和维护的检测点和系统维护模块,系统维护模块应包括对系统进行全面检查,系统出错处理.系统优化等一系列小模块.
四.详细设计
详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计的结果基本上决定了最终的程序代码的质量。
从前面得知,本系统是JAVA在与数据库连接的基础上对数据进行的一系列操作。
JAVA编写的名片管理系统属于前台应用,SQLSERVER数据库管理系统作为提供后台数据的平台。
4.1建表
后台数据库的建立可以很容易根据前面的数据库设计分析实现,即建立三张表,分别存储用户登录时所需数据,名片信息和名片的分类信息。
4.2加载驱动和URL
JAVA连接SQLSERVER2005本程序采用ODBC数据源的连接方法。
加载驱动和URL为:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
url="jdbc:
odbc:
userinfo";
4.3应用系统部分
JAVA编写的应用系统部分可以大致分为:
视图窗口,监视器,数据操作。
他们相互隔离又相互配合来完成各种操作。
4.3.1视图窗口
作为系统的主界面,采用BorderLayout的布局方式,需要包含菜单、现实名片信息的窗口和名片分类的窗口。
新建四个菜单:
用户管理,类别管理,名片管理,生日提示,用于各项操作。
把菜单添加到菜单条中。
然后把各菜单中的菜单项添加到菜单中,并声明监视器。
显示类别信息和名片信息的分块,分别设置成模块pnlBtn和pnlAll。
他们分别写成类TypeDialog和CardDialog,在类中分别把Label,Button,Txtfield等元组添加进去。
其他窗口,例如进行类别管理时的要弹出的窗口,查询名片信息的窗口等,都是类似的写法。
4.3.2监视器
用户管理和类别管理需要调用到另一个弹出窗口,所以声明addActionListener(newmnuHandler(this)),mnuHandler()中并没有具体的操作,只是提供一个该操作所需的窗口,并把需要处理的数据转入到SelectFrameHandler(),该监视器再调用DatabaseOperate()类中的具体的数据处理的方法。
名片信息管理中,查询和新建操作与上面的类似,也是利用mnuHandler()来提供一个窗口,最终把需要的操作送入SelectFrameHandler();删除和修改直接调用SelectFrameHandler()监视器。
监视器只是把外部的用户动作提供给系统处理,并没有对数据的直接操作,对数据的操作都集中在DatabaseOperate()类中。
4.3.3数据操作
对三张表进行查找,更新,删除,插入操作。
首先调用Connection,然后调用statement执行语句,ResultSet存储操作结果。
另外,为了方便数据的设置和返回,需要建立两个类typemodel,cardmodel,而Allmodel可以返回这两个类的实体。
对用户表的操作分为查找和更新,查找即在登录时校验用户输入的ID在usertable表中所对应的密码是否与输入的密码一致,可以用以下语句实现:
select*fromusertablewhereusername='"+um.getUsername()+"'。
更新即对密码进行修改,用以下语句实现:
updateusertablesetpassword='"+um.getPassword()+"'whereusername='"+um.getUsername()+"'。
对用户表的操作体现在主界面菜单栏的第一栏,调用监视器mnuHandler()。
对名片分类表的操作分为更新、删除和插入。
更新可用以下代码实现updatetypetablesettpname=?
wheretpid=?
;删除可用以下代码实现:
deletetypetablewheretpid=?
;插入可用以下代码实现:
insertintotypetable(tpname)values(?
)。
对名片表的操作复杂的多,于是名片的操作放在两个监视器中SelectFrameHandler()和muHandler()中。
对名片表的操作可分为查找,插入,更新,删除。
SQL语句与对其他两张表的操作类似。
查找可以用以下代码实现:
selecttpid,frdname,sex,birthday,depart,power,homephone,officephone,mobil,address,number,emailfromcardtablewherecarid="+car+"。
插入可以用以下代码cardtable(carid,tpid,frdname,sex,birthday,depart,power,homephone,officephone,mobil,address,number,email)values(?
?
?
?
?
?
?
?
?
?
?
?
?
)。
更新和删除操作直接放在SelectFrameHandler()中完成。
对名片分类表的操作体现在主界面菜单栏的第三栏,调用监视器muHandler()或者直接调用SelectFrameHandler()。
4.4输人项
1.卡号:
int
2.类别编号:
int
3.姓名:
Char(10)
4.性别:
Char
(2)
5.生日:
datetime
6.工作单位:
vachar(50)
7.职务:
varchar(50)
8.家庭电话:
char(10)
9.办公电话:
char(10)
10.移动电话:
char(10)
11.家庭地址:
char(20)
12.邮编:
char(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计