总体设计(软件项目)

发布时间 2023-03-28 17:19:06作者: 蜀道,难

这份报告是机票预订系统的总体设计,老师评分90分,应该是图画的好。

image-20230328170849320

1.引言

1.1编写目的

由前面的需求分析,得出了系统的基本需求,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个系统进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,实现对系统的初步设计。目的在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。

1.2背景

本项目的名称:机票预订系统。

随着人们物质需求的提高,科技全球化的发展,乘坐飞机成为多数人生活、旅行中不可缺少的一部分。而飞机的航班的数量和业务量庞大,仅仅靠传统的记账式管理是不可行的。机票预订系统应运而生,逐渐成为信息化建设的重要组成部分。机票预订系统为机场的管理员提供所有乘客的详细信息,以及飞机航班的详细情况,对飞机购票和航班信息两大功能进行合理操纵并登记。

1.3 定义

开发(develop ):除了单纯的开发活动外,还包括维护活动。

项目(project ):向顾客交付的最终的全部产品,包括程序及各种文档,以及开发活动所需资源经费等各种信息。

项目开发计划(project development plan):把项目与过程联系起来的计划方案。

产品生命周期(product life cycle):产品从构思到不可在使用的持续时间。

1.4参考文献

张海藩:《软件工程导论》第五版 清华大学出版社 肖刚等:《实用软件文档写作》清华大学出版社 李涛、刘凯奎、王永皎:《Visual C# SQL Server 数据库开发与实例 》清华大学出版社

2.总体设计

2.1需求规定

主要输入输出项目:

航班信息:(航班号、飞机号、登机口、起飞时间、最近一天航班的日期和余票额)

旅客信息:(姓名、性别、身份证号码、旅行时间、旅行始发地和目的地)

订票:(目标航班、订票数额、座位号)

退票:(日期、航班)

2.2运行环境

数据库管理系统软件:Mysql

运行软件:Java eclipse/Idea

运行平台:Windows XP/ Windows 7/ Windows 10/ Windows 11

系统类型:64 位操作系统 基于 x64 的处理器

CPU:1.6GHz 以上

内存:256M 以上

分辨率:最佳为1024*768像素

2.3基本设计概念和处理过程

录入模块:可以录入航班情况,全部数据可以只放在内存中,最好存储在文件中。管理员登录系统后,输入需要录入航班信息。系统对航班信息进行处理,将航班信息有顺序地写到文件中。

航班查询模块:根据旅客提出的终点站名输出下列信息:航班号、飞机号及星期几飞行、最近一天航班的日期和余票额。旅客登录系统后,输入需求的终点站名进行航班查询。系统对旅客查询的航班订单进行处理,系统将显示适合要求的航班信息。

订票模块:根据客户提供的要求(航班、订票数额),查询该航班的票额情况,若有余票,则为客户办理订票手续,输入座位号;若无客户需求的座位号,则重新询问客户要求。客户进入订票系统后,输入航班和订票数额。系统对客户输入的航班进行查询找到目标航班,查询该航班的票额情况并与客户输入订票数额进行比对,最后为客户处理要求。

退票模块:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所剩余票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。

登录模块:分为管理员和客户登录两种,管理员拥有客户的权限以及航班管理和客户信息管理的权限。客户只有客户权限。

系统流程图:

image-20230324234621067

3. 数据库设计

列名 数据类型 可否为空 说明 主键
User_Name CHAR(10) NOT NULL 姓名
User_No INT(11) NOT NULL 联系方式
User_ID CHAR(18) NOT NULL 证件号码
User_Type BOOLEAN NOT NULL 是否为学生

​ 3.1乘客信息表

列名 数据类型 可否为空 说明 主键
Plane_No INT(15) NOT NULL 航班编号
Plane_Origin CHAR(10) NOT NULL 起飞地点
Plane_Destination CHAR(10) NOT NULL 目的地
Plane_Departure CHAR(10) NOT NULL 出发时间
Plane_Arrival CHAR(10) NOT NULL 到达时间

​ 3.2航班信息表

列名 数据类型 可否为空 说明 主键
Plane_No INT(15) NOT NULL 航班编号
ticket_Level CHAR(4) NOT NULL 机舱等级
ticket_Price INT(5) NOT NULL 价格
ticket_Status CHAR(5) NOT NULL 购票状态

​ 3.3机票信息表

4。接口设计

4.1用户接口

在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。

4.2外部接口

在输入方面,对于键盘、鼠标的输入。在输出方面,打印机的连接及使用。在网络传输部分,在网络硬件部分,实现高速传输。

4.3内部接口

内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。

5.运行设计

5.1运行控制

​ 管理员先对有合作的航空公司的数据库进行连接,然后把数据写在文件上。用户登录系统后进行查询相关的航班信息,信息从文件读取形成航班信息表给用户。用户进行订票功能,从查询出来的航班信息进行选择,进入支付页面,支付成功就把相关信息写在数据库里。用户进行退票功能,系统从数据库中查找用户支付成功的信息返回给用户。用户对已经支付成功的机票进入退票页面,退票成功信息返回给用户,并且从数据库中删除之前用户支付成功的机票信息。

5.2 运行模块的组合

image-20230324234705974

5.3 运行时间

整个机票预定系统总体占用内存较小,运行速度很快,不管是管理员还是用户,体验感不错,反应迅速。

6.系统出错设计

6.1出错信息

在用户使用错误的数据或访问没有权限的数据后,系统给出提示:“对不起,你非法使用数据,没有权限!”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。

6.2补救措施

由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。