还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
河北工业大学课程设计报告课程名称软件工程课程设计设计题目火车预售票系统设计专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目火车预售票系统设计_________________________________________________________设计内容与要求为各类用户提供并实现以下功能
1.管理员各类用户权限设置;
2.操作员查询与火车票销售/退票管理;
3.普通用户查询与网上预定/取消预定火车票课程设计报告的组成
1.需求规格说明书,包括用例图,数据流图,数据字典;
2.概要设计说明书,包括系统模块结构图,功能模块清单,实体图,系统E-R图,数据库表结构设计
3.项目总结报告,包括实际完成情况表指导教师课程设计评语成绩指导教师_______________年月日目录TOC\o3-3\t1级标题12级标题23级标题3目录1第一部分软件需求规格说明书11引言
11.1编写目的
11.2背景
11.3术语定义
11.4参考资料22任务概述
22.1目标
22.2用户的特点23需求规定
33.1系统用例图
33.2数据流图与数据字典
43.3对性能的规定134运行环境规定
144.1设备
144.2支持软件141引言
151.1目的
151.2范围
161.3命名规则
161.4术语定义
161.5参考资料172总体设计
172.1总体结构设计
172.2功能模块清单193数据库设计
193.1数据库概念级设计(E-R图)
193.2数据结构逻辑级设计22第三部分项目开发总结报告241引言
241.1编写目的
241.2参考资料242设计总结
252.1实际完成情况
252.2收获
252.3有待改进之处28第一部分软件需求规格说明书1引言
1.1编写目的《火车网上售票系统需求规格说明书》的目的是明确《火车网上售票系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅《火车网上售票系统需求规格说明书》的阅读对象为1)对相关业务技术和总体方案作出决策和管理人员和质量管理人员;2)对本《需求规格说明书》进行评审和确认的有关业务和技术人员;3参加概要设计和详细设计阶段工作的全体设计人员;4《火车票网上售票系统》项目组;
1.2背景本项目的任务提出者、开发者、用户;软件系统名称火车票预售系统任务提出者开发者洛阳理工学院计算机系用户广大人民群众、系统管理员
1.3术语定义用例图由参与者(Actor)、用例(UseCase)以及它们之间的关系构成的用于描述系统功能的静态视图称为用例图数据流只能以事先规定好的顺序被读取一次的数据的一个序列数据流图结构化分析方法中使用的工具它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型数据字典一种用户可以访问的记录数据库和应用程序源数据的目录
1.4参考资料
[1]张海藩.软件工程导论(第五版).北京清华大学出版社,2012
[2]孙家广.软件工程.北京高等教育出版社,2005
[3]郑人杰.实用软件工程.北京清华大学出版社,2004
[4]陈有祺.软件工程引论.天津南开大学出版社,2000
[5]杨芙清.面向对象程序设计.北京北京大学出版社,1992
[6]潘锦平.软件系统开发技术.西安西安电子科技大学出版社,1997
[7]蔡希尧,陈平.面向对象技术.西安西安科技大学出版社,1993
[8]罗晓沛,侯炳辉.系统分析员教程.北京清华大学出版社,19922任务概述
2.1目标叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料
(1)完善目前火车售票系统,使之能跟上时代的发展同时通过实践来提高自己的动手能
(2)应用范围理论上能够实现于铁路部门的售票系统,其目的在于在原有的系统基础使得火车售票便捷化,以期实现完善日常生活中火车售票的各种缺陷
(3)可实现旅客对于火车票的查询与购买功能,售票员则可实现查询、添加和删除等功能;对于所查询的车次结果提供列表显示输出;有一定的安全机制,普通旅客不能对车次信息随意删改,只有授权的售票员可通过密码识别进行维护
2.2用户的特点列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度这些是软件设计工作的重要约束本系统的最终用户有两类1操作员对做各项售票管理熟悉,管理系统操作经验丰富,为本系统的主要面向用户,教务人员几乎每天都会体会到本教务系统;2客户能够较快地熟悉系统的用户,上网时会大量地使用本系统进行信息查询和买票订票;3需求规定
3.1系统用例图管理员的功能是管理用户的权限�管理员管理用户权限修改车次修改票价修改始发车站图1-1管理员用例图客户的功能主要是注册、登录、修改密码、查询信息(查询车次信息、查询列车时刻表、查询余票信息)、预定车票、改签车票和退票几项功能�客户登录修改密码注册查询信息预定车票退票改签车票图1-2客户用例图操作员的功能主要包括查询、修改票价、修改车次、修改起始站、修改订单、统计查询�操作员查询信息登录订单修改图1-3操作员用例图
3.2数据流图与数据字典
3.
2.1数据流图从顶层逐层画出数据流图火车订票系统管理员注册登录信息客户事务数据操作员提交订单信息登录信息提交调度、维护信息客户请求查看信息管理员请求查看信息提交修改订单、登录信息订单信息事务图1-4火车票预售系统0层数据流图客户p1验证注册信息P3提交订单信息注册信息D1注册信息注册信息注册信息P2验证登录信息登录信息登录信息d5列车时刻表信息余票信息车次信息P6提取列车时刻表信息P4提取余票信息d3余票信息余票信息P7提取订单信息余票信息余票信息d2订单信息p5提取车次信息余票信息d4车次信息列车时刻表信息客户车次信息列车时刻表信息车次信息列车时刻表信息订单信息订单信息图1-5火车票预售系统客户端1层数据流图客户P1验证注册信息注册信息d1注册信息注册信息注册信息P2验证登录信息登录信息注册信息d5列车时刻表信息余票信息车次信息P8提取车次信息P6提取余票信息d3余票信息余票信息P3订票信息管理余票信息余票信息d2订票信息p7提取车次信息P4改签信息管理P5�d6改签信息退票信息P10提取退票信息d3余票信息d4车次信息列车时刻表信息客户车次信息列车时刻表信息列车时刻表信息车次信息余票信息P9提取改签信息改签信息退票信息改签信息退票信息改签信息改签信息退票信息退票信息P4提取订票信息订票信息订票信息图1-6火车票预售系统客户端2层数据流图管理员p1验证注册信息登录信息注册信息D1注册信息注册信息注册信息P2验证登录信息登录信息登录信息调度信息维护信息d1调度信息P3进行调度P4进行维护d2维护信息调度信息调度信息维护信息维护信息管理员图1-7火车票预售系统管理员端1层数据流图管理员p1验证注册信息登录信息注册信息D1注册信息注册信息注册信息P2验证登录信息注册信息注册信息d5列车时刻表信息车次信息P6修改列车时刻表信息p5修改车次信息票价信息P2修改票价信息d3票价信息票价信息票价信息d4车次信息列车时刻表信息管理员车次信息列车时刻表信息车次信息列车时刻表信息图1-8火车票预售系统管理员端2层数据流图系统管理员p1验证注册信息登录信息注册信息D1注册信息注册信息注册信息P2验证登录信息登录信息登录信息D2订单信息信息P3修改订单信息订单信息订单信息订单信息图1-9火车票预售系统管理员端1层数据流图操作员p1验证注册信息登录信息注册信息D1注册信息注册信息注册信息P2验证登录信息注册信息注册信息退票信息d5列车时刻表信息订票信息改签信息P6修改退票订单信息P4修改订票订单信息d3订票信息退票订单信息改签信息改签订单信息余票信息订票订单信息p5修改改签订单信息d4车次信息退票信息操作员图1-10火车票预售系统管理员端2层数据流图
3.
2.2数据字典
1.数据流条目火车订票系统数据流条目数据字典描述举例如下1用户登录数据流名称用户登录信息别称用户登录验证简述用户登录系统的身份验证数据流组成用户登录信息=用户名+用户密码数据来源客户、管理员及操作员数据去向用户信息验证2用户注册数据流名称用户注册信息别称用户信息存储简述用户身份信息的存储数据流组成用户登录信息=用户名+用户密码+身份证号+籍贯+出生日期+姓名+性别数据来源客户及管理员数据去向用户信息存储
(3)订票数据流名称客户订票订单信息别称无简述客户订票的详细信息数据流组成客户订票订单信息=客户名+客户身份证号+车次+乘车日期+出发站+目的站+票价+开车时间数据来源客户数据去向订票处理
(4)退票数据流名称客户退票订单信息别称无简述客户退票的详细信息数据流组成客户退票订单信息=客户名+客户身份证号+车次+乘车日期+出发站+目的站+应退款数数据去向退票处理
(5)改签数据流名称客户改签订单信息别称无简述客户改签的详细信息数据流组成客户退票订单信息=客户名+客户身份证号+车次+日期+出发站+目的站+票价+应退补差价+开车时间数据去向改签处理
(6)用户查询数据流名称用户查询信息别称无简述用户查询自己的基本信息及订单信息数据流组成用户信息+订票信息+退票信息+退票信息+列车时刻表+车次列表+余票信息
2.数据存储条目数据存储是数据结构保存的地方一个数据存储词条应有以下几项内容数据存储名、简述、输入数据、输出数据、数据存储组织、记录数、记录组成火车订票系统数据存储描述举例如下所示
(1)用户注册信息名称用户注册信息编号D1主关键字用户名存储组织每个用户对应一个用户名组成用户名+用户密码+身份证号+籍贯+出生日期+姓名+性别简要说明使用身份证号实现实名注册,每个身份证号只能注册一个账号,订票时实行实名制
(2)客户订票信息名称客户订票信息编号D2主关键字订票订单号存储组织每个订票订单对应一个订单号组成订票订单编号+客户名+客户身份证号+车次+日期+出发站+目的站+票价简要说明当订票成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息
(3)客户退票信息名称客户退票信息编号:D3主关键字退票订单编号存储组织每个退票订单对应一个订单号组成订票订单编号+客户名+客户身份证号+应退款数简要说明当退票成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息
(4)客户改签信息名称客户改签信息编号:D4主关键字改签订单编号存储组织每个改签订单对应一个订单号组成改签订单编号+客户名+客户身份证号+车次+日期+出发站+目的站+应退补差价简要说明当改签成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息
(5)车次信息名称车次信息编号D5主关键字车次存储组织每个车次对应着一个车次信息组成车次+具体时间+到站数+行驶时间简要说明车次信息的存储是由车次来决定的
(6)列车时刻表信息名称列车时刻表编号D6主关键字车站名称存储组织每个车站对应一个列车时刻表组成车站名+时间点+车次+始发站+目的站简要说明每个车站都有自己的列车时刻表7余票信息名称余票信息编号D7主关键字车次、乘车日期、乘车站、目的站存储组织每个车站到其他车站的余票因时间和车次的不同而不同组成车次日期+乘车日期+乘车站+目的站+余票数简要说明每个车站到其他车站的余票因时间和车次的不同而不同
3.加工条目加工逻辑是对数据流程图中各个基本处理的精确描述实例如下所示
(1)注册加工名称注册输入数据流加工号1输入数据流客户注册信息输出数据流客户查询信息加工逻辑
①当用户名或身份证号已被占用时,系统会自动提示
(2)登录加工名称登录加工号2输入数据流客户登录信息输出数据流用户查询信息加工逻辑
①当用户名或者密码输入有误时,系统会提示
(3)订单加工加工号3输入数据流订票,改签,退票输出数据流用户查询信息加工逻辑
①订票时,如果没有余票则不能购买退票时,如果已经过了发车时间,则不能退票改签时,如果要改签到的车次没有余票,则不能改签订票、退票或者改签成功时都会自动生成一个订单号
4.数据项数据项是数据流组成的最小单位,是无法再细分的数据流火车订票系统房间号数据项描述如下名称用户名别名用户登录名所属数据流用户登录、用户注册存储位置客户基本数据库,系统管理员基本数据库代码类型字符串备注每个用户有唯一的用户名名称订单号别名订单编号所属数据流订票、改签、退票存储位置客户订票订单数据库,客户改签订单数据库,客户退票订单数据库代码类型字符串备注每个订单只有唯一的订单号名称车次别名车辆编号所属数据流订票、改签、客户查询信息存储位置客户订票订单数据库,客户改签订单数据库、列车时刻表数据库、车次信息数据库代码类型字符串备注车次是客户买票的重要依据名称乘车日期别名乘车的具体日期所属数据流订票,改签,客户查询信息存储位置客户订票订单数据库,客户改签订单数据库
3.3对性能的规定
3.
3.1精度说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度在输入票价时,应当保留至小数点后两位,输入数量时票价报表中的票价一般保留至小数位后两位
3.
3.2时间特性要求说明对于该软件的时间特性要求,如对
1、响应时间;
2、更新处理时间;
3、数据的转换和传送时间;
4、解题时间等的要求
1.响应时间所有的查询操作响应时间一般不超过5秒,大型的报表如票价报表则应该在15秒内显示或者提示相关出错信息;
2.更新处理时间所有提交数据一般在3秒内响应;
3.数据的转换和传送时间;
4.解决时间等的要求4运行环境规定
4.1设备列出运行该软件所需要的硬设备说明其中的新型设备及其专门功能,包括处理器型号及内存容量外存容量;其它输入及输出设备
4.2支持软件列出支持软件包括要用到的操作系统、编译(或汇编)程序、测试支持软件等操作系统windows、编程工具VisualStdio2005测试支持软件第二部分概要设计说明书1引言该文档首先给出了整个系统的整体网络结构和功能结构的概貌,试图从总体架构上给出整个系统的轮廓而且还给出了非常直观的模块结构图以及各实体的E-R图这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件该文档详尽说明了这一软件产品的需求和规格,这些规格说明是进行设计的基础,也是编写测试用例和进行系统测试的主要依据同时,该文档也是用户确定软件功能需求的主要依据本文档面向多种读者对象
(1)项目经理项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理
(2)设计员对需求进行分析,并设计出系统,包括数据库的设计
(3)程序员配合《设计报告》,了解系统功能,编写《用户手册》
(4)测试员根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试
(5)销售人员了解预期产品的功能和性能
(6)用户了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商
(7)其他人员如部门领导、公司领导等可以据此了解产品的功能和性能在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解
1.1目的本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等
1.2范围本文档用于软件设计阶段的概要设计,它的上游(依据的基线)是《需求分析规格说明书》,它的下游是《详细设计说明书》,并为《详细设计说明书》提供测试的依据软件概要设计的范围是软件系统总体结构设计(包括系统模块结构图、功能模块清单)、数据库设计(包括实体图、系统E-R图、数据库的表结构)
1.3命名规则变量对象命名规则全局变量首字母英文大写;局部变量首字母小写数据库对象命名规则数据库表名全部英文字母大写;字段名英文首字母大写;视图名英文字母小写
1.4术语定义E-R图是“实体-联系方法”(Entity-RelationshipApproach)的简称它是描述现实世界概念结构模型的有效方法是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来模块结构图采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想描述(分解)系统结构化设计方法,首先以数据流图为基础导出系统模块(功能)结构图在导出系统模块(功能)结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块主键全称叫主关键字主键作表的行的唯一标识的候选关键字一个表只有一个主关键字主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键又称主码并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体外键如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键由此可见,外键表示了两个关系之间的相关联系以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表外键又称作外关键字
1.5参考资料
[1]张海藩.软件工程导论(第五版).北京清华大学出版社,2012
[2]孙家广.软件工程.北京高等教育出版社,2005
[3]郑人杰.实用软件工程.北京清华大学出版社,2004
[4]陈有祺.软件工程引论.天津南开大学出版社,2000
[5]杨芙清.面向对象程序设计.北京北京大学出版社,1992
[6]潘锦平.软件系统开发技术.西安西安电子科技大学出版社,1997
[7]蔡希尧,陈平.面向对象技术.西安西安科技大学出版社,1993
[8]罗晓沛,侯炳辉.系统分析员教程.北京清华大学出版社,19922总体设计
2.1总体结构设计火车票预定系统包含6个模块分别是注册登录模块、售票功能模块、查询功能模块、调度功能模块、维护功能模块和系统功能模块总体结构设计如图2-1所示以下是对各个子模块的具体分析注册登录模块包括2个子模块
(1)注册;
(2)登录售票功能模块包括4个子模块
(1)销售车票;
(2)预定车票;
(3)车票退订;
(4)车票改签查询功能模块包括2个子模块
(1)起始站查询;
(2)车次查询表查询维护功能模块包括4个子模块
(1)票价修改;
(2)车票表修改;
(3)退票表修改;
(4)密码修改调度功能模块包括2个子模块
(1)车次修改;
(2)起始站修改系统功能模块包括2个子模块
(1)售票统计;
(2)报表打印系统的模块图如图2-2所示售票功能火车票预订系统查询功能维护功能调度功能系统功能M3车票销售M4车票预订M5车票退订M7车次查询M8起始站查询M9密码修改M1�M6车票改签M11车票表修改M12票价修改M13车次修改M14起始站修改M15售票统计M16报表打印注册登录M1注册M2登陆图2-2系统结构图
2.2功能模块清单各功能模块的具体分析如表2-1所示表2-1功能模块清单模块编号模块名称模块功能描述M1注册在用户购票之前需要先注册M2登录注册成功后用户可以登录系统购票M3车票销售车票的卖出M4车票预订提前预订车票M5车票退订如果自己有其他情况可以退票M6车票改签用户可以改签到其他时间坐车M7车次查询用户、管理员可以根据车次号查询相关车次信息M8起始站查询用户、管理员根据火车的始发站查询相关车次M9密码修改为了安全用户可以更改自己的账户密码M10退票表修改管理员及时对退票车次的信息进行修改M11车票表修改管理员及时的对车次信息进行及时更新M12票价修改管理员对车票票价进行更改M13车次修改管理员对车次表修改M14起始站修改管理员对临时调度车次的始发站进行修改M15售票统计管理员对车次的售票情况进行统计M16报表打印管理员对需要打印的数据进行打印3数据库设计
3.1数据库概念级设计(E-R图)
3.
1.1实体图用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入整体结构E-R图如图2-3所示用户查询订票退票车次修改操作员处理订单授权管理员mmmnnmnmn111图2-
33.
1.2系统E-R图针对火车票网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,包括以下实体
1.用户信息包括姓名、ID号、身份类别、电话实体图如图2-4所示�姓名用户ID号电话类别图2-
42.管理员信息包括姓名、电话、ID号、地址实体图如图2-5所示�姓名管理员ID号电话地址图2-
53.操作员信息包括姓名、电话、ID号、地址实体图如图2-6所示�姓名操作员ID号电话地址 图2-
64.订单信息包括订单号、车次号、发车日期、订购票数、总价、起始站实体图如图2-7所示�车次订单信息总价订单号票数起始站发车日期图2-
75.车次信息包括车次号、起始站、发车时间、座位数、票价、发车时间实体图如图2-8所示�车次号车次座位类型票价座位数起始站发车时间图2-
83.2数据结构逻辑级设计火车站网上订票系统数据库中各个表格的设计结果如表2-2——表2-6所示每个表格表示在数据库中的一个表表2-2用户信息表序号字段名类型(宽度、精度)取值约束空否默认值主键/外键注释1NameChar
(20)无NotNull空姓名2IDChar
(20)无NotNull空主键身份证号3PhoneChar
(20)无NotNull空电话4CategoryChar
(20)无NotNull成人身份类别表2-3管理员信息表序号字段名类型(宽度、精度)取值约束空否默认值主键/外键注释1NameChar
(20)无NotNull空姓名2IDChar
(20)无NotNull空主键身份证号3PhoneChar
(20)无NotNull空电话4AddressChar
(20)无NotNull空地址表2-4操作员信息表序号字段名类型(宽度、精度)取值约束空否默认值主键/外键注释1NameChar
(20)无NotNull空姓名2IDChar
(20)无NotNull空主键身份证号3PhoneChar
(20)无NotNull空电话4AddressChar
(20)无NotNull空地址表2-5订单信息表序号字段名类型(宽度、精度)取值约束空否默认值主键/外键注释1Name1Char
(20)无NotNull空姓名2IDChar
(20)无NotNull空外键身份证号3PhoneChar
(20)无NotNull空电话4CategoryChar
(20)无NotNull空身份类别5TotalChar
(20)无NotNull空总票价6OrderIDChar
(15)无NotNull空主键订单号7OrdernumChar
(5)无NotNull空票数8BusFromChar
(20)无NotNull空起始站9BusToChar
(20)无NotNull空终点站10BusBeginChar
(20)无NotNull空发车时间表2-6车次信息表序号字段名类型(宽度、精度)取值约束空否默认值主键/外键注释1BusIDChar
(20)无NotNull空主键车次号2SeatChar
(20)无NotNull软卧座位类型3PriceChar
(20)无NotNull空票价4TicketNumChar
(20)无NotNull空剩余票数5BusFromChar
(20)无NotNull空起始站6BusToChar
(20)无NotNull空终点站7BusBeginChar
(20)无NotNull空发车时间第三部分项目开发总结报告1引言
1.1编写目的以前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题同时还会出现由此带来的大量记录存放和管理所带来的问题本次设计拟开发一个火车站网上订票系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务本次设计便是利用开发工具JAVA和SQLServer2005数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中本文档预期的读者为软件开发人员
1.2参考资料
[1]孙卫琴李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社2004年4月:1-205
[2]罗晓沛,侯炳辉.系统分析员教程.北京清华大学出版社,1992
[3]孙一林彭波.《Java数据库编程实例》.清华大学出版社2002年8月:30-210
[4]蔡希尧,陈平.面向对象技术.西安西安科技大学出版社,1993
[5]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社2003年9月:32-300
[6]耿祥义张跃平.《JSP实用教程》.清华大学出版社2003年5月1日:1-354
[7]陶华亭,吴洁,魏里.《软件工程实用教程》.清华大学出版社,2012年9月
[8]萨师煊,王珊.《数据库系统概论》.高等教育出版社2006年5月:3-460
[9]Brown等.《JSP编程指南(第二版)》.电子工业出版社2003年3月:1-268
[10]清宏计算机工作室.《JSP编程技巧》.机械工业出版社2004年5月:1-410
[11]张海藩.软件工程导论(第五版).北京清华大学出版社,2012
[12]孙家广.软件工程.北京高等教育出版社,2005
[13]郑人杰.实用软件工程.北京清华大学出版社,2004
[14]陈有祺.软件工程引论.天津南开大学出版社,2000
[15]杨芙清.面向对象程序设计.北京北京大学出版社,1992
[16]潘锦平.软件系统开发技术.西安西安电子科技大学出版社,19972设计总结
2.1实际完成情况表3-1实际完成情况统计表
2.2收获对于项目开发来说需求规格说明书是非常重要且必要的,它可以说明编写这份软件需求说明书的目的,指出预期的读者软件需求说明书的作用在于便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据首先进行需求分析,列出需要实现的业务逻辑,然后编出需求规格说明书,需求规格说明书中需要用到用例图、数据流图和数据字典其中数据流图是关键技术,数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也能容易理解数据流图里的符号也极为简单,只有四个1)外部实体;2)处理;3)连线;4)数据存储这四个符号也有两种一种是Yourdon Coad法,另一种是Gane Sarson法只是略有不同而已如果你使用Microsoft Visio,那么你只能使用Gane Sarson法了需要注意的是1)处理并不一定是程序它可以是一系统程序、单个程序或程序的一个模块,甚至可以是人工处理过程; 2数据存储并不等同于一个文件它可以是一个文件、文件的一部分、数据库元素或记录的一部分;它代表的是静态的数据 3)数据流也是数据,是动态的数据下面就介绍下画数据流图的步骤1分离数据流图中的元素2逐步分解的画出数据流图第一步,画出最概括的系统模型因为任何系统实质上都是由若干个数据源点/终点以及一个处理组成这个处理就代表了系统对数据加工变换的基本功能然后对第一步进行细化,随后勾出边界,最后在细化一下数据流图的命名方法1)为数据流命名A.名字应该代表整个数据流(或数据存储)的内容; B.不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”); C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图; 2)为处理命名 A.通常先为数据流命名,然后再为与之相关联的处理命名; B.名字应该反映整个处理的功能; C.应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”; D.通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当; E.如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解 3)为数据源点/终点命名 通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字然后是概念设计说明书,需要画出功能模块和E-R图,其中E-R图为关键技术E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称它是描述现实世界概念结构模型的有效方法是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:11:n或m:n)下面介绍E-R图的具体步骤⑴确定所有的实体集合 ⑵选择实体集应包含的属性 ⑶确定实体集之间的联系 ⑷确定实体集的关键字,用下划线在属性上表明关键字的属性组合 ⑸确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n多)来表示联系的类型设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图一般而言,中层的数据流图能较好地反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据然后逐一设计分E-R图每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了现在就是要将这些数据从数据字典中抽取出来,参照数据流图,1标定局部应用中的实体,2实体的属性、标识实体的码,3确定实体之间的联系及其类型(
11、1n、m n)最后生成基本E-R图分E-R图经过合并生成的是初步E-R图但因为其中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步E-R图后,还应当进一步检查E-R图中是否存在冗余,如果存在,应设法予以消除修改、重构初步E-R图以消除冗余,主要采用分析方法
2.3有待改进之处每个项目的完成都会存在这样那样的缺陷,包括设计上的缺陷和业务逻辑上的不足例如查询模块提供的查询模式过少,如果提供更多种查询方式,则可以更方面人们的查询,可以增加日期查询,时间点查询,班次的种类删选,团体类型查询,代售点查询等在项目要进行自由分组后,我们的项目小组便诞生了我们小组由3个成员组成,在相互商量后我们也确定了我们组的项目,是做一个火车票预售系统我们也随即做了分工我们的项目也正式开始了需求调研和分析对于软件开发过程至关重要我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生致命的后果我们在项目的开发中便遇到了这样的问题在这一周里,我还对软件工程有了新的理解在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件具体地讲,它表现在与软件开发和管理有关的人员和过程上所以,软件工程就不仅仅是单一的编程过程了它包括了系统分析-建模-概要设计-详细设计-编码-测试-维护编码可以理解为编程,这个只占总时间的20%左右编程只是其中的一小部分通过这次课设使我们提升了合作精神,由于大家负责的模块不一样,所以需要很好的沟通,个模块之间独立但又有某种联系,这就要求我们需要很好的熟悉项目的需求我们通过网上查询资料,翻阅课本,向同学和老师请教,最终完成了这份报告在这过程中使我们自学的能力进一步提升,也让我们初步了解了企业项目开发的流程,对我们以后参加工作奠定了基础知识上的收获重要,精神上的丰收更加可喜挫折是一份财富,经历是一份拥有这次实习必将成为我人生旅途上一个非常美好的回忆!火车票预订系统售票功能调度功能系统功能图2-1总体结构图查询功能维护功能注册登陆。