软件工程课程设计.docx
- 文档编号:23367069
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:72
- 大小:909.36KB
软件工程课程设计.docx
《软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计.docx(72页珍藏版)》请在冰豆网上搜索。
软件工程课程设计
任务书
1、课程设计题目
饭卡管理系统
2、设计任务和内容
一个饭卡管理系统是根据学校的饭卡管理工作专门设计的一个管理信息系统。
该系统能够完成饭卡管理的工作过程。
饭卡管理过程中主要涉及:
持卡者信息、饭卡信息、饭卡历史信息等数据,并对数据进行相应的增、删、改、查询操作。
使传统、手工的管理工作更加规范,更加科学,保证了饭卡信息查询更新及时到位。
本课题任务是开发一个饭卡管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。
3、设计步骤和要求
设计步骤:
首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。
然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计,最后对系统进行调试和测试,完善功能。
设计要求:
1、撰写课程设计说明书。
其要求如下:
(1)基本要求:
①能反映完成了上述设计内容要求。
②要求撰写不少于5000个文字(20页)的文档。
③文档中至少要包括:
数据流图、数据字典、E-R图、数据库表的详细
说明、系统功能结构图、主要功能模块说明和软件测试过程。
(2)文档格式要求(遵循软件工程课程设计大纲上的要求)
其中,正文部分:
①分章、层次等,每一章从新一页开始。
②章节安排可如下安排
.可行性研究:
包括项目背景、编写目的、软件定义、开发环境等。
.需求分析:
问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概要设计:
程序系统的基本处理流程、程序系统的组织结构、模块划分、数据库结构设计和出错处理设计。
.详细设计:
模块过程设计与界面设计以及代码设计
.软件测试:
单元测试和集成测试
2、一个可运行的饭卡管理系统原型。
(根据学分制的实际情况该要求为部分专业学生的要求,其他专业学生为可选要求)
教师签名:
软件工程课程设计工作安排
姓名
设计部分
百分比
备注
蔡蓬亮
软件代码的设计实现及系统的架构与分析
30%
组长
王金鑫
软件测试及需求分析的部分内容
25%
组员
张文俊
可行性研究分析报告
15%
组员
陈亮
详细设计
15%
组员
陆迪华
概要设计
15%
组员
一、可行性研究
1分析系统目的
随着我国大学扩招,大学生的人数呈逐渐上升趋势。
学生人数的众多使得现今大学校园的管理难度越来越高,学校对一款能够实现科学有效的一体化管理的系统软件的需求越来越紧迫。
校园卡管理系统采取银行卡的金融功能与校园卡的校务管理功能整合的方式,由银行与学校联合发行校园卡,师生可以用银行卡在学校的自主终端实现存取款、消费等金融支付。
校园卡系统的建设,为学校实现财务统一管理提供科学的、现代化的手段,将提高学校的管理水平,极大提高效率。
2分析当前系统的状况
校园卡管理系统目前在我国各高校的应用还主要处于试点和探索的阶段。
在部分已建立一卡通的高校中,由于出发点和着重点的不同,使得系统存在相当大的差异,并无统一、均衡的系统方案可供参考。
有些大学以身份认证为出发点建立校园卡系统,强调对学生的身份信息认证、门禁等方面的功能比较强大,而电子消费方面则略显不足;有些大学一的校园卡系统则以金融消费为重点,强调校园卡的电子货币功能,在需要身份认证的信息管理系统中校园卡的功能不够完善。
3对当前系统的分析
分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性:
3.1工作负荷
人工操作频繁加减存款。
工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。
3.2费用开支
由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开支总额。
3.3人员配备
由于现有系统的技术性含量比较低,操作不便,工作量大,因此需要较多的人才能完成工作。
而新系统将具有较高的技术操作性,但它确使工作变得较为简便,因此只需要少量的高素质人才就可完成。
3.4系统局限性
人工处理的主要局限性表现在系统依赖于大量的人力和物质投入,工作效率较低和成本较高,现有系统主要存在如下的局限性:
1)信息分散、共享性差
每个人的时间精力是有限的,大量的信息资源分散在不同的收集者手中,难于共享和发挥作用。
2)信息的及时性、准确性差
数据的采集和处理部分靠人工,效率低、速度慢、滞后严重、反馈不及时,严重影响信息的反馈速度和质量,不能有效地、及时地提供基层决策需要的定量信息和领导决策需要的宏观定性信息。
3)职工多,开支大
4.所建议的系统
4.1对所建议系统的说明
新的校园卡管理系统的设计遵循学校管理的理论和系统工程的方法,利用计算机技术、数据通讯技术、数据库技术,实现以计算机为主要工具的人机交互、信息存储系统。
它存储学生的个人信息、图书借阅信息以及消费信息。
具体原则如下:
1)信息资源共享
2)提高信息处理速度
3)提高信息存储密度
4)减轻管理人员的工作强度,提高管理水平
5)疏通信息传输渠道,加强职能部门的横向联系
4.2业务处理流程图
新校园卡系统业务的流程图如下图4.1所示:
图4-1新校园卡业务流程图
4.3系统改进之处
原系统采用分开管理各个功能,较麻烦,使用起来也不方便。
用一卡通取代了以前的各种卡证,实现了身份识别一卡通;以前所有卡证的信息管理系统,其身份识别部分都连通一卡通系统,实现校内所有地方,包括食堂、校门、图书馆、超市、机房的身份识别,提高学校的管理水平。
4.4技术条件方面的可能性
在以上限制条件下,利用目前现有的技术条件和开发人员的投入,能够在规定时间内完成系统规定的开发设计任务。
同时,为了高质量完成本软件系统开发工作,还需要遵循如下准则:
(1)好战略数据的规划,建立稳定的信息模型;
(2)在功能模型的划分上,按组织机构来划分子系统或模块;
(3)应用软件的开发设计,要充分考虑应用软件的适应性,建立友好的人机界面。
因此,从技术性方面来看是可行的。
5.制定新系统的技术方案
5.1可选择的系统方案1
卡片选择:
接触性IC卡;
网络平台:
采用校园网和银行网以及校园卡操作系统相结合;
数据库与前台操作:
采用大型数据库管理系统Oracle、DB2等作为后台数据库,采用VB或VC或者Delphi来开发前台的操作部分;
方案优势:
接触性IC卡在性能方面安全性好,网络要求不高,操作方便,数据库和前台操作简单,便于管理;
5.2可选择的系统方案2
卡片选择:
非接触性IC卡;
网络平台:
采用校园网和银行网以及校园卡操作系统相结合;
数据库与前台操作:
采用中小型数据库管理系统Access或SQLServer作为后台数据库,用C#等来开发前台的操作部分。
方案优势:
高效性、集成性、智能性、读写成本低,前台操作与数据库分离,便于实现多种需求,操作界面统一;
6.投资及效益分析
新系统开发完成后,只需要2~3名管理员,大大减少的人员方面的开支,同时由于数据冗余度也大大降低,在物质方面也降低了开销,因此会有较好的市场效益。
7.社会因素方面可行性
7.1法律方面的可行性
本方案在法律方面完全可行;
7.2使用方面的可行性
本方案的使用技术的要求完全在能力范围之内,并且该系统的维护运行容易便捷,故使用方面完全可行;
8.结论
综上所述,本系统从技术、经济、社会法律、使用性等方面来看,都是切实可行的。
二、需求分析
1.引言
1.1编写目的
需求分析是软件系统生存期中定义阶段的最后一个步骤。
这个阶段的任务不是具体解决问题,而是准确确定为解决问题系统必须具备哪些功能。
这个阶段的一个重要任务是用正式的文档准确地记录目标系统的需求。
该文档将最终交给软件具体的开发人员进行具体的开发。
1.2背景
软件系统名称:
饭卡管理系统
项目任务提出者:
软件工程课程设计
项目开发者:
安徽工程大学计算机与信息学院“饭卡管理系统”开发小组
1.3参考资料
《数据库系统概论》萨师宣王珊高等教育出版社
《SQLServer2000教材》龚波北京希望电子出版社
《软件工程导论》张海藩清华高校出版社
《软件工程实验指导书》安徽工程大学计算机与信息学院
2.任务概述
2.1目标
主要开发目标是能够对饭卡信息进行查询和更新管理,且反映敏捷准确。
2.2用户特点
由于系统的界面清晰、美观,操作简单、方便,所以操作人员只需要具备一定的电脑操作技能即可。
管理员(维护人员)不需要任何数据库专业技能知识。
本系统可以极大的提高工作效率,预期使用频度较高。
2.3假定和约束
系统的规模较小,适于WindowsXP和SQL数据库系统。
3.建立流程图
4.建立数据流图
顶层:
一层:
二层:
持卡者信息管理:
饭卡信息管理:
饭卡消费记录管理:
5.建立数据字典
Ø名称:
管理员
描述:
对饭卡管理系统管理的人员
定义:
管理员=用户名+密码+类别+工号
用户名=字符/20位
密码=字符/20位
类别=管理员
工号=字符/50位
位置:
用户表
Ø名称:
持卡者
描述:
对饭卡管理系统进行操作的人员
定义:
持卡者=用户名+密码+类别+学号/工号
用户名=字符/20位
密码=字符/20位
类别=持卡者
学号/工号=字符/50位
位置:
用户表
Ø名称:
刷卡服务员
描述:
对饭卡管理系统操作的人员
定义:
刷卡服务员=工号+姓名+性别+电话+地址
工号=数字/20位
姓名=字符/20位
性别=【男/女】
电话=数字/20位
地址=字符/500位
Ø名称:
饭卡
描述:
饭卡管理系统被操作的对象
定义:
饭卡=卡ID+余额+锁
卡ID=字符/50位
余额=浮点型(>=0)
锁=字符型
位置:
饭卡信息表
Ø名称:
刷卡器与显示器
描述:
消费付款,显示消费款额和余额
定义:
刷卡器与显示器=余额+款额
余额=浮点型/(>=0)
款额=浮点型/(>=0)
位置:
饭卡历史信息表
Ø名称:
用户信息
描述:
对饭卡管理系统进行操作的人员
定义:
用户信息=用户名+密码+类别+学号
用户名=字符/20位
密码=字符/20位
类别=持卡者/管理员
学号=字符/50位
位置:
用户表
Ø名称:
持卡者信息
描述:
记录持卡者相关信息
定义:
持卡者信息=学号/工号+卡ID+姓名+性别+电话+地址
学号/工号=字符/50位
卡ID=字符/50位
姓名=字符/20位
性别=【男/女】
电话=数字/20位
地址=字符/50位
位置:
持卡者信息表
Ø名称:
饭卡信息
描述:
记录饭卡相关信息
定义:
饭卡信息=卡ID+余额+锁
卡ID=字符/50位
余额=浮点型/(>=0)
锁=字符/10位
位置:
饭卡信息表
Ø名称:
饭卡历史信息
描述:
记录饭卡历史使用的相关信息
定义:
饭卡历史信息=卡ID+时间+款额+操作
卡ID=字符/50位
时间=年/月/日
款额=浮点型/(>=0)
操作=【存款|消费|其他】
位置:
饭卡历史信息表
Ø名称:
注销信息
描述:
将不再使用的卡信息去除
定义:
注销信息=卡ID+余额+
卡ID=字符/50位
余额=浮点型/(>=0)
位置:
饭卡历史信息表
Ø名称:
挂失信息
描述:
将丢失的卡加锁
定义:
挂失信息=卡ID+余额
卡ID=字符/50位
余额=浮点型/(>=0)
位置:
饭卡历史信息表
Ø名称:
消费额
描述:
描述消费款额
定义:
消费额=款额
款额=浮点型/(>=0)
位置:
饭卡历史信息表
Ø名称:
余额
描述:
显示卡上的现有金额数
定义:
余额=款额
款额=浮点型/(>=0)
位置:
饭卡信息表
Ø名称:
存款额
描述:
对存款数目的统计
定义:
存款额=款额
款额=浮点型/(>=0)
位置:
饭卡历史信息表
Ø名称:
锁信息
描述:
对卡挂失后信息的记录
定义:
锁信息=卡ID+状态
卡ID=数字/50位
状态=【加锁/解锁】
位置:
饭卡历史信息表
Ø名称:
学生照片表
描述:
对学生身份的一种验证
定义:
学生照片表=卡ID+照片
卡ID=数字/50位
照片=字符/50
6.建立E-R图
三、概要设计
1.引言
软件概要设计主要是一个把软件需求转化为软件表示的过程,这种表示只是描述出软件总的概貌。
1.1编写目的
概要设计说明书编制的目的是:
说明对程序系统系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
本软件概要设计说明书的读者是系统开发人员或合同约定人员。
1.2背景
软件系统名称:
饭卡管理系统
项目任务提出者:
软件工程课程设计
项目开发者:
安徽工程大学计算机与信息学院“饭卡管理系统”开发小组
1.3定义
学生照片表:
存放学生的照片
持卡者信息表:
记录持卡者的相关信息
饭卡信息表:
记录饭卡的相关信息
饭卡历史信息表:
记录饭卡的相关历史信息
1.4参考资料
《数据库系统概论》萨师宣王珊高等教育出版社
《SQLServer2000教材》龚波北京希望电子出版社
《软件工程导论》张海藩清华高校出版社
《软件工程实验指导书》安徽工程大学计算机与信息学院
2.总体设计
2.1需求规定
本系统可大致划分为四大模块:
系统用户登录,持卡者信息管理,饭卡信息管理,饭卡消费记录管理。
Ø系统用户登录
主要是对系统用户进行身份验证。
Ø持卡者信息管理
主要是对持卡者信息进行管理,包括注册,修改和查询。
Ø饭卡信息管理
主要是对饭卡信息进行管理,包括对饭卡的加锁与解锁,注销,充值和消费。
Ø饭卡消费记录管理
主要是对饭卡的消费记录进行管理,包括消费记录的查询和修改。
2.2基本设计概念和处理流程
本系统的基本设计概念和处理流程如下:
Ø系统启动时,激活身份验证模块。
Ø通过身份验证后,对系统进行初始化,判断用户身份,导入到不同的操作界面。
Ø系统进入消息循环状态,通过事件驱动机制激活各功能模块,并执行指定模块。
Ø各项功能执行完毕后,重新进入消息循环状态。
Ø由退出系统事件激活关闭系统模块,退出系统。
2.3系统功能模块结构图
3.系统数据库结构设计
3.1、逻辑设计要点
用户(工号,用户名,密码,类别)
用户名
密码
类别
学号
持卡者信息表
学号|工号
卡ID
姓名
性别
电话
地址
饭卡历史表
卡ID
时间
款额
操作
饭卡信息表
卡ID
余额
锁
学生照片表
卡ID
照片
3.2、物理结构设计要点
用户表
用户表
数据项
类型
主键
备注
用户名
varchar(20)
是
不为空
密码
varchar(20)
否
不为空
类型
char(20)
否
不为空
学号
nvarchar(20)
否
可为空
持卡者信息表
持卡者信息表
数据项
类型
主键
备注
学号|工号
nvarchar(50)
是
不为空
卡ID
nvarchar(50)
否
不为空
姓名
char(20)
否
不为空
性别
char(10)
否
不为空
电话
char(20)
否
不为空
地址
char(50)
否
不为空
饭卡历史表
饭卡历史表
数据项
类型
主键
备注
卡ID
nvarchar(50)
是
不为空
时间
datetime
是
不为空
款额
float
否
可为空
操作
char(20)
否
可为空
饭卡信息表
饭卡信息表
数据项
类型
主键
备注
卡ID
nvarchar(50)
是
不为空
余额
float
否
可为空
锁
char(10)
否
可为空
学生照片表
学生照片表
数据项
类型
主键
备注
卡ID
nchar(10)
是
不为空
照片
varchar(100)
否
可为空
4、触发器及存储过程设计
4.1、触发器
持卡者信息表:
createtriggerchikaon持卡者信息表forinsertas
declare@kaidnvarchar(50)
declare@shijiandatetime
set@kaid=(select卡IDfrominserted)
set@shijian=(selectCONVERT(VARCHAR(19),GETDATE(),20)asCurrentDateTime)
insertinto饭卡历史表values(@kaid,@shijian,0.00,'新建')
insertinto饭卡信息表values(@kaid,0.00,'已解锁')
饭卡信息表:
createtriggerfankaxinxibiaoon饭卡信息表forupdateas
declare@kaidnvarchar(50)
declare@shijiandatetime
declare@moneryfloat
set@shijian=(SELECTCONVERT(VARCHAR(19),GETDATE(),20)ASCurrentDateTime)
set@kaid=(select卡IDfrominserted)
set@monery=((select余额frominserted)-(select余额fromdeleted))
if(@monery>0)
begin
insertinto饭卡历史表values(@kaid,@shijian,@monery,'充值')
end
else
if(@monery<0)
begin
set@monery=-@monery
insertinto饭卡历史表values(@kaid,@shijian,@monery,'消费')
end
4.2、存储过程
饭卡历史表:
createprocedurelishi
@kaidnvarchar(50),
@shijiandatetime,
@caozuochar(20)
AS
insertinto饭卡历史表values(@kaid,@shijian,0.00,@caozuo)
用户表:
ALTERPROCEDUREusers
@usernamevarchar(20),
@passwordvarchar(20),
@typechar(10),
@studentIDnvarchar(50)
AS
insertinto用户表values(@username,@password,@type,@studentID)
RETURN
持卡者信息表:
createprocedurexinjian
@xuehaonvarchar(50),
@kaIDnvarchar(50),
@namechar(20),
@malechar(10),
@phonenumberchar(20),
@addresschar(50)
AS
insertinto持卡者信息表values(@xuehao,@kaID,@name,@male,@phonenumber,@address)
5.系统出错处理设计
5.1、补救措施
本系统中当用户输入非空字段而进行数据提交时,系统提示数据不得为空,请重新输入再提交。
此时,输入界面保留刚刚输入信息的界面,而不是清空全部输入界面上的所有数据;要求重新输入。
另外本系统定期备份数据库,以便在系统出现故障时,能够及时恢复。
5.2、系统维护设计
本系统需严格按照软件产品设计规范的步骤进行开发,并重复考虑软件的可维护性,详细编写各阶段的文档资料,并在程序设计过程中做出大量详细的注释。
系统名称
饭卡管理系统
模块名称
用户登录
模块编号
1
作者
蔡蓬亮
日期
2011/5/30
模块描述
用于系统对用户的登录进行身份验证
调用模块
数据库模块
被调用模块
无
输入
项目
用户名,密码,用户类型,验证码
格式
用户名:
varchar(20)密码:
varchar(20)类别:
char(10)
验证码:
char(4)
处理
1、用户输入用户名、密码,选择用户类型及输入验证码
2、模块获得用户名密码等信息
3、模块调用数据库表进行比较及程序进行验证码校验
4、模块返回登录信息
输出
用户登录成功或登录失败。
局部数据元素
数据库表
约束条件
验证码验证
注释
需要数据库用户表
四、详细设计
模块过程设计与界面设计
1)验证用户登录功能模块
(1)功能描述
对登录系统的用户进行身份验证。
(2)模块IPO表
(3)界面设计
(4)主要算法
【登录】按钮:
验证用户的合法性。
【取消】按钮:
关闭用户登录窗口。
【注册】按钮:
弹出用户注册功能窗口。
2)用户注册功能管理模块
(1)功能描述
用户注册一个登录帐号。
(2)模块IPO表
系统名称
饭卡管理系统
模块名称
用户注册
模块编号
2
作者
蔡蓬亮
日期
2011/5/30
模块描述
学生用户注册登录帐号
调用模块
数据库模块
被调用模块
无
输入
项目
用户名,密码,确认密码,绑定学号,绑定饭卡号,验证码
格式
用户名:
varchar(20)密码:
varchar(20)
学号:
nvarchar(50)饭卡号:
nvarchar(50)
验证码:
char(4)
处理
1、用户点击登录页面的注册链接
2、系统返回注册页面
3、用户输入注册信息
4、系统调用数据库模块进行数据信息比对
5、信息确认无误系统弹出注册成功对话框
输出
注册成功或失败
局部数据元素
数据库表
约束条件
验证码验证
注释
需要数据库用户表及持卡者信息表
(3)界面设计
(4)主要算法
【注册】按钮:
注册一个新用户。
【取消】按钮:
关闭登录窗口。
【返回登录】按钮:
返回上层界面。
3)查询用户详细信息功能模块
(1)功能描述
用于用户查询本人信息。
(2)模块IPO表
系统名称
饭卡管理系统
模块名称
查询用户详细信息
模块编号
3
作者
蔡蓬亮
日期
2011/5/3
模块描述
用于用户查询本人详细信息
调用模块
数据库模块
被调用模块
无
输入
项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计