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