软件工程课程设计全.docx

上传人:b****6 文档编号:6126965 上传时间:2023-01-04 格式:DOCX 页数:54 大小:495.82KB
下载 相关 举报
软件工程课程设计全.docx_第1页
第1页 / 共54页
软件工程课程设计全.docx_第2页
第2页 / 共54页
软件工程课程设计全.docx_第3页
第3页 / 共54页
软件工程课程设计全.docx_第4页
第4页 / 共54页
软件工程课程设计全.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

软件工程课程设计全.docx

《软件工程课程设计全.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计全.docx(54页珍藏版)》请在冰豆网上搜索。

软件工程课程设计全.docx

软件工程课程设计全

 

软件工程与软件开发工具

课程设计报告

项目名称饭卡管理系统

项目负责人

项目开发单位

 

一问题定义

饭卡管理系统是一套针对大学校园食堂饮食交费,一般消费等方面的信息管理系统,它包括了同学在校内消费各方面内容:

刷卡消费、查询、存款,学生信息管理等。

方便的对同学饭卡信息进行各项操作,定时进行数据的备份更新,保持数据的一致性和准确性,各方面的内容应该相互联系,最终产生各种查询统计报表,以供同学进行检查。

饭卡管理系统的主要任务就是把人们从繁琐的交费,找零工作中解放出来,用计算机实现对销售合同资料进行存款,消费,查询、修改、删除以及存储等功能。

同时,用计算机能够快速准确地完成共档案资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。

进行数据库设计的首要任务是考虑信息要求,也就是数据库要存入什么样的数据。

当然,创建数据库并非仅仅为了存储数据,更主要的目的是从中提取有用信息。

所以除了要考虑数据库存储什么数据外,还应该考虑数据的存储方式、目的、用途以及性能要求。

1.背景:

用户通过系统首页面,创建饭卡,存入钱。

消费时根据饭卡ID判断该用户是否是合法用户,同时进行消费操作。

管理员可以对系统进行新建饭卡、注销饭卡、修改饭卡信息等操作,而学生进行消费的操作。

2.项目目标:

建立饭卡管理系统,使管理员和拥护和客户都能够方便的进行销售合同的查询。

3.项目范围:

硬件和软件利用现有微机和数据库等软件进行系统的开发和研制。

4.系统设计设想:

该系统具有数据处理(饭卡信息的增加和删除)、信息修改、多种方式查询、备份、以及多种条件方式的打印。

5.可行性研究:

进行1天的可行性研究。

二可行性研究报告

1引言

1.1编写目的

进一步分析和澄清问题定义,推导出系统的逻辑模型,对以后的行动方针提出建议。

如果问题没有可行的解,那么花费在这项工程上的任何时间、资源、人力、经费、都是无谓的浪费。

为了避免这些,我们要用最小的代价在尽可能短的时间内确定问题是否能够解决。

对此项的报告即为可行性研究报告。

1.2背景

a.所建议开发的软件系统的名称:

饭卡管理系统;

b.本项目的任务提出者:

软件工程课程设计

开发者:

李杜松

用户:

刷卡消费人员

1.3定义:

本文件中用到的专门术语的定义及外文首字母词组的原词组:

(1)系统流程图:

用图形符号以黑盒子形式描绘系统的每个部件(程序,文档,数据库,人工过程)。

表达数据在系统各部件之间流动的情况。

(2)数据流图(DFD):

没有任何具体的物理部件,描绘信息流和数据从输入移动到输出的过程中经受的变换。

(3)数据字典(DD):

是对数据流图中包含的所有元素的定义的集合。

其内容为数据流、数据元素、数据存储、处理。

2可行性研究的前提

2.1要求

a.功能:

1实现消费使用卡片扣钱(取代现金);

2在固定保险的地方存钱;

3有消费记录功能;

4有挂失功能。

b.性能;

1刷卡消费时,要求快速,准确,可撤销;

2在查询消费记录时,达到一般的查询速度。

c.输出:

在刷卡器上,每次消费时:

1存额

2此次消费额

3剩余额

刷卡器上,额外的信息如:

1出错信息

2锁卡信息

3剩余不多提示信息

报单:

1每学年或者每月,可选择性的(需学生主动要求)输出消费记录报单。

详细程度可由使用者,自行定义。

2存款时,可选择性的(需学生主动要求)输出存款记录报单。

3注销卡时,返还剩余额(钱)。

d.输入:

刷卡器上,每次消费时:

1卡ID(可由读卡器自动读入)

2消费额

3操作符(确认,撤消,后退,计算(加减乘除),存款(有权限限制),其他功能)

数据库管理电脑上:

1输入学生信息

2学生存款额(由读卡器端输入器完成)

3查询,修改,删除功能输入

e.在安全与保密方面的要求:

1使用者之间的ID号不能重复;

2ID号不被他人轻易知道;

3即便知道也能有快速相应的机制,予以弥补;

4有使用追踪功能,可以让用户了解,自己使用的情况。

f.完成期限:

2007年7月18日之前完成.

2.2目标

主要开发目标:

a.处理速度的提高;

b.安全系统的改进;

c.用户使用上的便捷。

2.3条件、假定和限制

a.所建议系统的运行寿命的最小值:

1年;

b.进行系统方案选择比较的时间:

1天;

c.经费、投资方面的来源和限制:

无;

d.法律和政策方面的限制:

无;

e.硬件、软件、运行环境和开发环境方面的条件和限制:

无;

f.可利用的信息和资源:

图书馆;

2.4进行可行性研究的方法

从以下几个方面研究解法的可行性:

(1)经济可行性分析:

从开发软件系统所需的总时间,总费用,及其中可行性研究所需的费用,以及系统软件开发完成后,所能预计的市场占有率等方面进行考虑,看该软件系统是否能达到一定的经济效益。

(2)技术可行性分析:

由于新的系统需要对变化的数据进行动态的存贮,即数据库中数据要随着管理员对系统的操作来随时更新,并且具有定时数据备份功能。

因此要从技术角度方面研究者性功能是否可以是实现。

(3)操作可行性分析:

要分析设计出的系统在用户的操作上是否简便,这一点很重要,因为它会影响到用户对该系统的反应。

3对现有系统的分析

分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。

(因为本身开发的系统就是想尽量接近于现有系统。

所以对于这次试验,这一步没有什么实际意义)

3.1处理流程和数据流程

现有系统的基本的处理流程和数据流程。

此部分请浏览4.2中的数据流程图

3.2工作负荷

人工操作频繁加减存款。

工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。

3.3费用开支

由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开支总额。

(由于缺房相关调查,此处从略)

3.4人员

由于现有系统的技术性含量比较低,操作不便,工作量大,因此需要较多的人才能完成工作。

而新系统将具有较高的技术操作性,但它确使工作变得较为简便,因此只需要少量的高素质人才就可完成。

3.5设备

1,读卡器(带输入器)

2,中央电脑(数据库)

3.6局限性

人工处理的主要局限性表现在系统依赖于大量的人力和物质投入,工作效率较低和成本较高。

4所建议的系统

用来说明所建议系统的目标和要求将如何被满足。

4.1对所建议系统的说明

使用饭卡可以快速便捷的进行消费。

中央电脑--数据库对饭卡的操作相应至关重要。

在高峰时刻,也能保证,存款,消费无错误,并且可记录,撤销操作。

4.2处理流程和数据流程

系统的处理流程

数据流程

4.3改进之处

相对于原有系统,新系统较大的方便了管理员的工作。

比原先系统效率更高,功能更全。

4.4影响

1对设备的影响

设备不变

2对软件的影响

新系统使用具有较高技术的软件(例如数据库软件等)

2对对象的影响:

新系统要求对客户、合同、操作人员有较为详细地记录,在其它方面没有什么带大的变化。

3对系统运行过程的影响:

系统的运行更加高速、有效。

4对开发的影响:

新系统的开发环境要求不高,只需要现有设备就可以完成,且不会在开发过程中影响到现有系统的使用。

5对地点和设施的影响:

开发新系统不用考虑地点等方面的问题。

6技术条件方面的可能性

开发新系统的技术虽较现有系统比较先进,但总的来看,这些技术均已比较成熟,因此新系统的俄开发在技术方面应该不会有带大的困难。

4.5局限性

因为时间有限,软件局限性很大。

4.6技术条件方面的可行性

a.在当前的限制条件下,该系统的功能目标能够达到;

b.利用现有的技术,该系统的功能能实现;

c.对开发人员的数量和质量的要求能满足;

d.在规定的期限内,本系统的开发能够完成。

5可选择的其他系统方案

没有供选择的系统方案可考虑。

6投资及效益分析

新系统开发完成后,只需要2~3面管理员,大大减少的人员方面的开支,同时由于数据冗余度也大大降低,在物质方面也降低了开销,因此会有较好的市场效益。

7社会因素方面的可行性

7.1法律方面的可行性

软件完全合法

7.2使用方面的可行性

完全可行

A.8结论

通过技术、经济、具体操作等方面的研究可知,新系统可开发风险较低,可以开始进行具体的开发工作。

三需求分析

1引言

1.1编写目的

需求分析是软件系统生存期中定义阶段的最后一个步骤。

这个阶段的任务不是具体解决问题,而是准确确定为解决问题系统必须具备哪些功能。

这个阶段的一个重要任务是用正式的文档准确地记录目标系统的需求。

该文档将最终交给软件具体的开发人员进行具体的开发。

1.2背景

开发的软件系统的名称:

饭卡管理系统

本项目的任务提出者:

软件工程课程设计

开发者:

李杜松

实现该软件的计算站:

图书馆计算机中心

1.3定义

本文件中用到的专门术语的定义和外文首字母词组的原词组。

实体—联系图(E-R图):

包含实体(即数据对象)、关系和属性。

作为用户与分析员之间有效交流的工具。

状态转换图:

通过描绘系统的状态及引起系统的状态转换的事件来表示系统的行为。

提供行为建模机制。

层次方框图:

用树形结构的一系列多层次的矩形框描绘数据的层次结构。

输入-处理-输出图(IPO图):

方便描绘输入数据、对数据的处理和输出数据之间的关系。

1.4参考资料

同可行性研究报告处

2.任务概述

2.1目标

主要开发目标是能够对饭卡信息进行查询和更新管理,且具有反映敏捷准确。

2.2用户的特点

由于系统的界面清晰、美观,操作简单、方便,所以操作人员只需要具备一定的电脑操作技能即可。

管理员(维护人员)不需要任何数据库专业技能知识。

本系统可以极大的提高工作效率,预期使用频度较高。

2.3假定和约束

系统的规模较小,适于Windows和操作系统,SQL数据库系统。

3.需求规定

3.1对功能的规定

(1)更准确的系统流程图

(2)更准确的数据流程图

-------------0层-------------

-------------1层-------------

-------------2层-------------

-------------3层-------------

(3)IPO图

(4)状态变化图

(5)层图

(6)动态数据

动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值,就查阅信息。

数据库描述

本系统的实体有:

学生信息、卡信息它们之间的关系是一对一的。

卡信息和卡历史是一对多的。

E-R图如下:

(4)更准确的数据字典

数据字典

1学生信息:

学生学号=[数字|字母]

卡ID=[数字|字母]

学生姓名=[汉字]

性别=[男|女|null]

电话号码=[数字]

地址=[汉字|数字|字母]

2卡信息

卡ID=[数字|字母]

余额=[数字]

锁=[true|false]

3卡历史

卡ID=[数字|字母]

时间=[时间格式]

款额=[数字]

操作=[存款|消费|其他]

数据元素的数据字典卡片:

学生信息

名字:

学生信息别名:

描述:

记录学生相关信息

定义:

学生信息=学生学号+卡ID+学生姓名+性别+电话号码+地址

位置:

数据库

卡信息

名字:

卡信息别名:

描述:

记录卡的信息

定义:

卡信息=卡ID+余额+锁

位置:

数据库

卡历史信息

名字:

卡历史信息别名:

描述:

记录卡历史的信息

定义:

客户信息=卡ID+时间+款额+操作

位置:

数据库

学生信息库(student_info)

列名

数据类型

学生学号

stu_num

int

卡ID

id

int

学生姓名

name

Char(20)

性别

male

boolean

电话号码

tel

Char(20)

地址

address

Char(50)

卡信息(card_info)

列名

数据类型

卡ID

id

int

余额

sum

float

lock

boolean

卡历史(card_his)

列名

数据类型

卡ID

id

int

时间

daytime

daytype

款额

sum

float

操作

op

Char(20)

3.2对性能的规定

3.2.1精度

输入数据:

查询最大查询范围1年内;卡ID合法性;客户信息合法性;

输出数据:

余额以213.12的形式最多小数点后两位,即到分为止显示。

(小于的部分不可能出现)

3.2.2时间特性要求

刷卡响应时间不超过1秒;

查询响应时间不超过5秒;

3.3故障处理要求

刷卡响应时间超过1秒后,自动提出警告。

要求重新刷卡。

查询超过5秒,要显示查询时间长的提示信息。

以免误认为死机。

当计算机突然死机、重启、断电时自动存储备份数据。

即便没有存上。

也有备份数据库,供恢复。

3.4其他专门要求

普通学生只能刷卡消费,系统管理员还可以进入管理员界面;刷卡服务员可以操作刷卡器。

界面清晰、美观,操作简单、方便。

所有数据存储在学校服务器端,数据存储安全可靠。

4运行环境规定

4.1设备

a.中央电脑,要求容量大,CPU能够满足查询的。

b.刷卡器,要求读取ID敏捷,准确。

c.要求刷卡器与中央电脑连接。

通信量要满足查询精度和速度。

d.刷卡器上的功能建,要求显示明确,意思表达精确。

四结构化分析、设计部分

一总体设计说明书

1.引言

1.1编写的目的

总体设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块计的关系。

总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。

然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。

分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。

如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定测试要求并且是定测试计划。

1.2定义

总体设计——又叫概要设计,主要是确定系统的具体实施方案和确定软件结构。

2.总体设计

IPO图并不能得到很好的体现出H图(层次图),所以在下面增添了一个HIPO图以及后边的层次图,以方便突出不同的重点。

HIPO图(层次图加输入/处理/输出图),为了能使HIPO图具有可追踪性。

IPO图:

在H图(层次图)离除了最顶层的方框之外,每个方框都加了编号如下:

3接口设计

3.1用户接口

(1)用户类别:

1有提供学生查阅的学生界面。

2提供管理员操作的管理员界面。

3提供刷卡的刷卡服务员界面。

(2)管理员界面菜单

1状态

1.1登陆;

1.2注销;

2新建--新建学生信息界面;

3查询更新

3.1学生消费历史

3.2学生信息

4挂失

4.1加锁

4.2解锁

5注销卡

(3)学生查询菜单

1状态

1.1登陆;

1.2注销;

2查询历史

3查询学生信息

(4)刷卡界面

1状态

1.1登陆;

1.2注销;

2消费方式

2.1正常

2.2定价

3显示上次输出

3.2外部接口

说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。

3.3内部接口

查询和更新都要调用数据库的操作。

4运行设计

4.1运行模块组合

具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。

4.2运行控制

软件运行时有比较友好的用户界面,基本能够实现用户的数据处理要求。

4.3运行时间

系统的运行时间基本可以达到用户所提出的要求。

5系统数据结构设计

5.1物理结构设计

系统的物理结构具体由数据库来设计与生成,此处略。

5.2数据结构与程序的关系

系统的数据结构由标准数据库语言SQL生成。

6系统出错处理设计

6.1出错信息

1在学生刷卡后,卡ID被锁,将会出现错误信息:

“KardLocked”

2学生卡信息丢失,查询时或者消费-存款时,不认卡情况

3存款额大于999.99元,刷卡器只显示小于等于999,99元部分

4消费时消费额大于存款额。

系统将会提示错误,不作其他任何操作。

6.2措施(号码对应)

1只能解卡锁

2有备份数据库,随时可以恢复

3只能更换刷卡器

4计时充钱

7数据流划分

7.1变换型

输入流:

有合法性判断得出的合法数据

变换中心:

查询

输出流:

查询结果

数据按照输入—变换—输出的时间顺序流动。

左图DFD可以看出典型的变换型数据流。

7.2事务型

事务中心:

存款-消费

数据流以“事务中心”为核心。

当时数据沿通路到达事务存储消费时,根据输入

数据的类型在存款、消费中选择一个执行。

具体上是根据按键,分消费和存钱按键。

 

二、详细设计

1引言

1.1编写目的

详细设计阶段的任务就是把解法具体化,解决具体应怎样实现这个系统。

也称为模块设计,详细地设计每个模块,确定实现模块所需的功能需要的算法和数据结构。

1.2定义

在软件具体设计阶段的专用术语有:

程序流程图、盒图(N—S图)、判定表、判定树、PAD图

2入口程序entry()设计说明

2.1程序描述

提供管理员和学生用户,刷卡服务三种环境,限制用户对系统的使用权限。

特点:

非常驻内存;单独的一个程序;顺序处理。

2.2输入项

权限:

三个单选项。

Level。

管理员用户名:

字符串类型,user,长度不超过20,可以是数字(不能开头)和字母、汉字;

管理员密码:

字符串类型,pass,长度不超过20,可以是数字和字母,区分大小写

2.3输出项

欢迎或者提示错误信息。

2.4流程逻辑1程序流程图

2盒图

3查询模块search()设计说明

3.1程序描述

完成对系统(数据库)的查找。

3.2输入项

学生卡信息,时间信息,消费信息等。

3.3输出项

查找结果。

3.4流程逻辑PAD图

4消费模块pay()设计说明

4.1程序描述

完成消费部分。

对输入和消费额,进行合法性验证。

4.2输入项

卡ID,定价与否,消费额。

4.3输出项

卡余额,错误提示。

4.4流程逻辑判断树

5存款模块deposit()设计说明

5.1程序描述

完成存款部分。

对输入和存款额,进行合法性验证。

5.2输入项

卡ID,存款额。

5.3输出项

卡余额,错误提示。

5.4流程逻辑判断表

学生代号

1

2

3

4

5

6

7

8

读卡成功

N

Y

N

N

Y

Y

N

Y

卡没有锁

N

N

Y

N

Y

N

Y

Y

存款成功

N

N

N

Y

N

Y

Y

Y

显示余额

显示

不可能

不可能

显示

不可能

不可能

显示

题是错误

提示

不可能

不可能

不可能

不可能

显示存款成功信息

不显示

不显示

不可能

不可能

不显示

不可能

不可能

显示

显示存款失败信息

不显示

显示

不可能

不可能

显示

不可能

不可能

不显示

五、面向对象分析、设计部分

1.引言

面向对象分析首要的工作,是建立问题域的对象模型,这个模型描述了现实世界中的“类于对象”以及它们之间的关系,表示了目标系统的静态数据结构。

其中对象是对问题域中有意义的事务的抽象,他们既可能是物理实体,也可能是抽象概念。

要确定类和对象,我们先要找出候选的类于对象,然后在从中筛选出正确的类于对象。

2.对象模型

1有四个类:

(1)类名:

学生帐户

属性:

学号,卡ID,余额,锁

方法:

创建(学生,卡,历史),更新属性,更新数据库,注销(学生,卡,历史),返回(学号,卡ID,余额,锁),消费,存款,设定(号,卡ID,余额,锁),撤销历史,显示历史

(2)类名:

读卡器

属性:

卡ID

方法:

读取ID,确认卡,警告,设定ID

(3)类名:

输入器

属性:

值,临时值1,临时值2

方法:

读入,加法,减法,乘法,等于,定价,常用,最

后一次输入,取消卡,消费

(4)类名:

屏幕

属性:

值1,值2,值3,定价

方法:

显示当前输入,显示卡余额,清屏,定价,

2类间关系

无直接关系

3细化对象模型,生成Java代码框架

//=============

(1)学生帐户=============

publicclassStudentInfo

{privateIntegerstu_num;privateIntegercard_id;privateDoublesum;

privateBooleanlock;

publicStudentInfo()

{}

publicvoidcreateStuInfo(Integerstu_num,Integercard_id,Stringname,Booleanmale,Integertel,Stringaddress)

{}

publicvoidcreateCardInfo(Integerid)

{}

publicvoidcreateCardHis(Integerid)

{}

publicvoidupdateAttr()

{}

publicvoidupdateDB()

{}

publicvoiddeposit(Doublevalue)

{}

publicvoiddelCardHis()

{}

publicvoiddelCardInfo()

{}

publicvoiddelStuInfo()

{}

publicvoidspend(Doublevalue)

{}

publicvoidunDoHis()

{}

publicvoidprintHis()

{}

publicIntegergetStu_num()

{returnnull;}

publicIntegergetCard_id()

{returnnull;}

publicDoublegetSum()

{returnnull;}

publicBooleangetLock()

{

returnnull;

}}

//=============

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1