第三章 系统分析
开发一个系统首先要对系统进行分析,是开发者针对系统实际客户对软件应用的一个调查访问和研究,弄清用户对软件需求的具体要求,同时开发者还要对系统开发的经济和可技术上是否可行进行分析,并确定系统开发的成本和进度约束。还要与用户确定总体目标等。系统分析还要充分考虑系统的市场潜力和竞争力,最终将这些问题确定并进行总结,将结果纳入系统设计规格说明中,最终确定开发功能和详细的实现。
通常选用计算机软件进行开发一款信息化管理系统,主要将软件系统功能利用JSP技术和MYSQL数据库而开发。以下是对本系统的可行性研究、需求分析、功能分析及业务流程描述进行介绍。
3.1 系统可行性研究
1、经济可行性分析
旅游网站的开发是由开发者自己设计研究所开发,不需要购买其他软件或者端口之类的,而且在系统的开发之前所做的市场调研及其他的旅游管理相关系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于旅游网站的开发在经济上是完全可行的,没有任何费用支出的。
2、技术可行性
本旅游网站在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通旅游网站系统的web服务器。旅游网站系统的开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用JSP开发技术,使用比较成熟的开发环境进行对功能的实现及程序的交互,根据技术语言对开发环境的安装管理,结合需求进行修改维护,可以使得旅游网站运行更具有稳定性和安全性,从而完成实现网上旅游网站的开发。
3、操作可行性
旅游网站系统的界面简单易操作,用户只要平时有在用过电脑,都能进行访问和操作。计算机网络使人们的生活更快捷更有效率。在这个飞速发展的社会里,人们对工作效率的要求越来越高,操作性也越来越强。因此,以计算机和计算机网络为基础的管理系统是社会发展的必然趋势。日新月异的智能软件使我们逐渐从原来的手工操作转变为现在的人工智能。该系统操作简单,管理方便,交互性强,操作简单。因此,该系统在操作上是非常可行的。
3.2 性能分析
实用性:旅游网站系统基于市场研究开发的实际需要,用户界面清晰易懂,符合使用人员的功能需求。当使用太多人时,服务器会产生大量的数据流量,响应时间会有一些延迟。
平台安全:旅游网站是开放性的操作系统平台,不涉及付款及其他支付的功能,所以不涉及资金的往来,该系统主要是工作人员来管理平台上的内容便于传输和保存数据,数据备份功能将不会透露任何信息。
稳定性:旅游网站开发系统操作必须有一定程度的稳定性,设计使用安全技术及开发环境进行数据传输,稳定性极佳。
可伸缩性:每个程序的开发过程,不是一蹴而就的,在使用用户的过程中,会有很多不完善的地方,需要改进功能,重新添加新功能等等,这就需要程序的可扩展性、各种功能模块的开发以及独立开发的可行性。
响应性:该系统能够快速响应用户的请求,返回正确、实时的有效信息,尽可能避免失速和碰撞问题。
处理能力:对于系统的异常可以进行有效的处理,可以在异常发生后及时备份,恢复到以前的状态,对数据不进行破坏或修改。
3.3 业务流程分析
1、登录流程图如下:
登录流程,系统登录必须输入正确的登录信息。登录流程图如图3-2所示。
图3-2用户登录流程图
2、管理员后台管理流程图如下:
管理员通过登录成功进入到系统操作界面,可以根据系统界面的功能模块,管理员进行修改维护等操作。如图3-3所示。
图3-3管理员后台管理流程图
- 修改密码流程图如下:
用户修改登录密码时,用户名是固定不变,只要直接输入新密码即可。新密码只要不空,输入后点击提交即可成功修改。具体如图3-4所示。
图3-4修改密码流程图
第四章 系统的总体设计
4.1 系统功能结构设计
架构设计的目的是反映一个结构和其他元素之间的关系,抽象,通常用于指导大型软件系统。将一个巨大的任务细分为多个小任务的过程是系统架构的总体设计。完成小任务后,整个任务就可以完成了。具体的实现过程是分解系统,分析各部分的功能、接口和逻辑关系。信息传递的设计,最后一步是优化,系统的大体功能靠两部分展现,它们分别是前端平台和后端平台,应用MVC开发框架,页面是一个一个模块组建而成的,层次结构分明,思想运用的是面向对象,一个实体对应一个数据类型,还要对每个数据类添加一个实施类。
架构设计的用途是反映一个结构内的元素与别的元素之间的关系,有抽象性,一般用于为大型软件系统提供指导。将庞大的任务具体细分为多个小人物的过程就是系统架构的整体设计,对细小任务进行整合后就可以完成整个任务,具体实现过程是分解系统,对各个部分的功能、界面和逻辑关系、信息传输予以设计,最后是进行逐步的优化。
用户拥有最高管理权限。通过以上需求分析的调查与研究,将系统的总体功能定义如下图4-1所示。
图4-1 系统总体功能结构图
4.2 数据库概述
在对软件系统分析后,就开始进行软件设计了。在对软件数据库进行设计时,就要先对软件进行一个概念性数据模型设计,来对用户的数据要求清晰明了的表达,从而减少数据运行更加的规范化和减少数据的冗余。
4.2.1 数据库概念设计
实现数据概念模型,我们必须采取数据作为起点,做好数据收集和处理的控制,分析它们之间的关系,得到其逻辑模型,该模型不理解的方式来实现和细节性问题,只要系统中数据的状态处理阶段。
我们分析特定用户的需求的功能系统,详细设计在线系统的ER图,我们可以在多个实体之间获得详细的关系模型,如下图所示:实体模型图之间的关系:
(1)用户E-R图
图4-2管理员E-R图
(2)订单信息信息E-R图
图4-4 旅游路线信息E-R图
(3)旅游路线信息E-R图
图4-4 旅游路线信息E-R图
4.2.2 数据库逻辑设计
我们可以根据数据结构的详细分析要求,我们根据输入和输出数据量的要求进行分析,确定什么表表,结构之间的关系,我们可以验证, 调整和完善,查询和浏览过程,可以实现数据库,以使用户对数据和功能有更多要求。
表4-1:address信息表
列名 数据类型 长度 约束 说明
id bigint 20 PRIMARY KEY 主键
userid bigint 20 NOT NULL 用户id’,
address varchar 200 NOT NULL 地址’
name varchar 200 NOT NULL 收货人
phone varchar 200 NOT NULL 电话’
isdefault varchar 200 NOT NULL 是否默认地址[是/否]
表4-2:cart信息表
列名 数据类型 长度 约束 说明
id bigint 20 PRIMARY KEY 主键
tablename varchar 200 NOT NULL 商品表名
userid bigint 20 NOT NULL 用户id’
goodid bigint 20 NOT NULL 商品id’
goodname varchar 200 NOT NULL 商品名称
picture varchar 200 NOT NULL 图片’,
buynumber int 11 NOT NULL 购买数量
表4-3:chat信息表
列名 数据类型 长度 约束 说明
id int 11 PRIMARY KEY 主键
userid bigint 20 NOT NULL 用户id
adminid bigint 20 NOT NULL 管理员id’
isreply int 11 NOT NULL '是否回复
表4-4:config信息表
列名 数据类型 长度 约束 说明
id int 11 PRIMARY KEY 主键
name int 255 NOT NULL 配置参数名称
value int 11 NOT NULL 配置参数值
表4-5:discusslvyouxianlu信息表
列名 数据类型 长度 约束 说明
id bigint 20 PRIMARY KEY 主键
refid bigint 20 NOT NULL 关联表id
userid bigint 20 NOT NULL 用户id’,
表4-6:discusszuixinxianlu信息表
列名 数据类型 长度 约束 说明
id bigint 255 PRIMARY KEY 主键
refid bigint 255 NOT NULL 关联表id
userid bigint 255 NOT NULL 用户id’
表4-7:lvyouxianlu信息表
列名 数据类型 长度 约束 说明
id bigint 20 PRIMARY KEY 主键
xianlumingcheng varchar 200 DEFAULT NULL 线路名称’
xianlufenlei varchar 200 DEFAULT NULL 线路分类’
fengmiantu varchar 200 DEFAULT NULL 封面图’,
jingdianmingcheng varchar 200 DEFAULT NULL 景点名称
chufadi varchar 200 DEFAULT NULL 出发地’
mudedi varchar 200 DEFAULT NULL ‘目的地
jiaotongfangshi varchar 200 DEFAULT NULL 交通方式’
clicknum int 11 DEFAULT NULL 点击次数
表4-8:token信息表
列名 数据类型 长度 约束 说明
id bigint 20 PRIMARY KEY 主键
userid varchar 20 DEFAULT NULL 用户id’,
username varchar 100 DEFAULT NULL '用户名
tablename varchar 100 DEFAULT NULL ‘表名
role varchar 100 DEFAULT NULL 角色
token varchar 200 DEFAULT NULL 密码’,