首页 > 其他分享 >总体设计(软件项目)

总体设计(软件项目)

时间:2023-03-28 17:22:30浏览次数:35  
标签:航班信息 项目 订票 系统 总体设计 用户 航班 软件 NULL

这份报告是机票预订系统的总体设计,老师评分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补救措施

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

标签:航班信息,项目,订票,系统,总体设计,用户,航班,软件,NULL
From: https://www.cnblogs.com/malinyan/p/17265970.html

相关文章

  • SpringBoot+RocketMq+Mybatis项目整合demo
    转载自:https://blog.csdn.net/mikewuhao/article/details/106666109 ============= Demo实现的功能项目启动生产者和消费者2个服务后,生产者端执行用户查询,从数据......
  • 压力位移监控软件,压装过程压力位移判断
    压力位移监控软件,压装过程压力位移判断学习LabVIEW过程,做的一个demo,程序功能主要是采集采集卡或PLC得到的压力位移数据,生成曲线,并对曲线数据进行判断,判断条件使用鼠标拖动......
  • 第三章 工程化 - 基于 webpack 从零构建 vue3.x 项目基本流程二
    bable概述1、babel是什么babel是把最新特性、浏览器无法兼容的代码,编译成浏览器可识别的代码(低版本浏览器对新特性的支持不友好),就比如箭头函数,经过babel的转化......
  • 01 - 环境 - 项目建立
    检测node:node-vvue:vue-v检测到vue'不是内部或外部命令,也不是可运行的时打开下列,找到vue,卸载重装即可https://www.cnblogs.com/wencaiguagua/p/16910640.html ......
  • 软件性能测试名称介绍
    响应时间响应时间又分为系统响应时间和页面呈现时间系统响应时间:请求发出到客户端接收到数据的时间;它又可细分为请求时间、系统处理时间、数据库处理时间、网络延迟时间......
  • 松下PLC编程 FP-XH 10轴定位 松下PLC项目实例,两台CPU间通过RS485通讯
    松下PLC编程FP-XH10轴定位松下PLC项目实例,两台CPU间通过RS485通讯,10轴定位控制。轴控制程序采用FB,直观可靠,可以重复使用,使用时只需要对fb接口赋值即可,内部已经对系统寄......
  • 【Spring】创建第一个Spring项目
    添加依赖:1<!--spring基础包spring-core-->2<dependency>3<groupId>org.springframework</groupId>4<artifactId>spring-core</artifa......
  • 类 ChatGPT 开源软件,开发者用的上吗?
    声明:本文是PreethiCheguri所著文章《ChatGPTEquivalentIsOpen-Source,ButitIsofNoUsetoDevelopers》的中文译文。原文链接:https://www.analyticsinsight.net......
  • [软件体系结构/架构]零拷贝技术(Zero-copy)[转发]
    0前言近期遇到难题:1个大数据集的查询导出API,因从数据库查询后占用内存极大,每次调用将消耗近100MB的JVM内存资源。故现需考虑研究和应用零拷贝技术。如下全文摘自:看一......
  • 谈软件架构(转)
    最近看了下《架构之美这本书》,摘录了部分书中的内容,在摘录书里面内容前先谈谈我自己对架构的看法。架构应该包括了功能性架构和非功能性架构两个方面的内容。我们常说的J2EE......