3.3 本章小结
需求分析报告是对系统需求的书面表达形式。由于需求分析报告是采用软件设计的术语编写的,因此常常令计算机背景知识较少的用户方难以理解,也就很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。特别是那些编写得较差的需求分析报告,用户方更不知所云。所以,做好系统的需求分析尤为重要。
-17-
第4章 总体设计
4.1 系统模块总体设计
4.1.1 总体设计目标
总体设计阶段主要任务是划分出系统的物理元素及设计软件的结构,通过已经完成的业务流程分析以及系统功能需求来订制系统的功能模块。总体设计过程通常有两个主要阶段组成:系统设计和结构设计,其中系统设计确定系统的具体实现方案,结构设计确定软件结构。
随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。从对顶层信息的分类开始,沿着图中每条路径反复细化,s直到确定了数据结构的全部细节为止。
4.1.2 系统模块设计
游友旅游公司网站管理系统是真正为用户考虑的网站,以满足客户实际需要而设计的。本系统参照真实的旅游网站所做,这样可以更直接体现本网站的特点和价值所在。该系统属于B/S模式,可以通过前台的操作界面进行网站的访问和浏览,而后台是对数s据表的操作对前台相关数据的管理,对数据库进行数据的更新和修改等操作,数据库可以单独存放在一个服务器上,而客户端的模块分别安装在相应的机器上。该系统包括如下六个主要模块:旅游信息管理、预订管理、客户信息管理、用户留言管理、站内搜索管理、系统管理各个模块主要功能如下:
(1)旅游信息管理:管理员可以对景点、酒店、航班机票、租车、套餐信息的增加、查看、删除、修改等操作。而客户主要是一些景点、门票,酒店、酒店价格、航班机票、相关价格、租车相关信息、旅游套餐相关信息的浏览和查看,让游客可以更清楚更直观的进行对比和选择。
(2)预订管理模块:主要包括客户可以对酒店和租车进行预订进行提交订单、详细查询自己的订单、修改自己的订单,而管理员则是对预订的订单进行查看和执行等功能。
-18-
(3)客户信息管理:主要包括客户注册与登录模块:客户可以方便的进行注册和登录,还可以对自己的信息进行修改,只有登录之后才可以进行酒店的预订查看更多信息。客户注销与客户信息修改:客户可以进行自己信息的修改,让信息更完善还可以在不使用本网站时进行自己信息的注销。
(4)用户留言模块:用户留言主要是客户可以对本网站的进行留言提出相关意见和评价,同时也可以查看别人的留言和删除自己的留言,而管理员可以对回复留言和查看客户留言。
(5)站内搜索模块:游客可以根据自己的需要直接对景点、酒店、线路等信息进行站内搜索。
(6)系统管理:管理员可以进行系统用户信息的修改、查看、删除等操作。
系统功能结构图如图4-1所示。
游友旅游公司网站管理系统旅游信息管理预订管理客户信息管理用户留言管理搜索管理系统管理航景酒班点店信管管息理理管理套餐信息管理租车信息管理酒店预定线路预订租车预订机票预订客户登录客户注册客户修改客户注销留言删除查看留言用户留言留言回复景点搜索管理酒店搜索管理线路搜索用户管理密码修改
图4-1 系统功能结构图
4.2 数据库设计
数据库设计一般包括数据库需求分析和数据库逻辑结构设计。数据库设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。
数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较
-19-
高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。
4.2.1 数据库设计概述
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体的说,数据库设计是一个给定的应用环境,构造最优的用户的应用需求(信息要求和处理要求)。这个问题是我们在进行软件开发时期的主要研究方向。
由于信息结构复杂,应用环境多样,设计方法于设计人员的经验和水平有直接的关系,数据库设计成为一种技艺而不是工程技术,缺乏科学理论和工程方法的支持,软件的质量难以保证。数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。
4.2.2 数据库详细设计
设计数据库实际上就是设计数据库中的表。在设计表时,要使用尽可能少的表的数量,每个表中包含的列的数量尽可能的少来达到设计要求。合理的表结构可以大大提高整个数据库数据查询效率。
为了提案高数据库的效率,设计出高质量的存储数据的表,在设计表时,应该从整体上考虑下面6个因素。
1. 考虑表将要存储哪些数据对象,绘制出E-R图。
2. 考虑表中将包含的列以及列的数据类型、精度、是否允许空值等。 3. 考虑表是否使用主键,如果使用则在何处使用主键。
4. 考虑是否使用约束、默认值、规则、以及在何处使用这些对象。 5. 考虑是否使用外键,在何处使用外键。
6. 考虑是否使用索引,在何处使用索引,使用什么样的索引。 根据以上因素,对数据库内容进行详细设计
1.用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,为后面的具体设计打下基础。
通过上述系统功能分析,针对桂林旅游网,总结出如下的需求信息: (1)用户分一般用户、注册用户和管理员用户。
(2)一般用户和注册用户无需登录就可以查看旅游线路、酒店、新闻、
-20-
票务、图片、景点。
(3)注册用户登录后可以维护自己的个人信息,并且在可以留言、预订酒店客房、预订机票、预订旅游线路。
(4)每间客房都对应一个酒店。 (5)每条新闻对应一个类型。
(6)每个航班对应一个航空公司。 (7)每个订单都以来于一个用户。 (8)每个路线都属于一种路线类型 (9)每条留言都对应一种留言类型
2.经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
本系统的数据库结构设计的18个基本的数据表,通过这18个表可以了解到这个系统的数据库的基本组织形式,以及进行数据库操作所需要的基本数据信息,下面截取了主要的数据库表。
(1)管理员信息,包含数据项:管理员编号、用户名、真实姓名、联系电话等。
管理员表如表4-1所示:
表4-1 管理员表(Admin)
字段名称 Username Password Admin_Really Admin_Remark 数据类型 VARCHAR VARCHAR VARCHAR VARCHAR 长度 20 20 30 200 说明 用户名 密码 真实姓名 备注信息
(2)公司信息,包含数据项:公司编号、公司名等。
城市信息,包括数据项:城市编码、城市名称,城市信息等。 城市信息表如表4-2所示:
表4-2 城市信息表(City)
字段名称 City_ID City_Name City_Remark 数据类型 长度 NUMBER 1 8 VARCHAR VARCHAR 20 200 说明 城市编号 城市名称 城市信息 (3)航班信息,包括数据项:航空公司编号、航班号、客机名称、飞行
-21-