第4章 系统概要设计
第4章 系统概要设计
4.1概述
本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及色合计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分5析1结果AS来PX确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所有要求的功能,同时,力争达到高效率、搞可靠性、可修改性、并且容易掌握和使用。
模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定得原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:
抽象。抽象就是抽象出十五的本事特性而暂时不考虑它们的细节。处理复杂系统唯一有效地方法就是用层次的方法构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,知道最底层次的具体元素。
信息隐蔽和局部化。信息隐蔽式指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。
局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。
信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。
逐步求精的模块化概念。逐步求精的模块化的抽象是密切相关的。软件构造每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。
模块独立性。模块的划分要使模块间极可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。
13
第4章 系统概要设计
在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块制作一件事情。在设计时应力求做到高内聚。
4.2功能模块划分
查询系统模块
该模块实现公交查询功能。可实现按线路查询、站点查询和起点—终点查询三种查询方式。
录入系统模块
该模块实现数据的增新、修改、删除功能。 系统模块图如下图所示:
邯郸市公交查询系统 前台用户查询页面 后台管理员窗口 公交路线查询 公交站点查询 公交换乘查询 公交用户评论 用户登录注册 高级管理员 普通管理员 登录用户可以评 管理员增、删、改、查 公交线路的增、删、查 公交站点增、删、改、查 公交用户注册查看、删除 公交用户评论查看、回复 邯郸市公交查询系统模块图
14
第4章 系统概要设计
4.3数据库设计
数据库技术史载文件系统的基础上发展起来的一种高效的数据管理技术,
它能保持系统数据的整体性,完整性和共享性。在数据库系统中提供了对数据的访问机制,能有组织的存储相关的数据,具有合理的存储方式,快速的查询效率和小的数据冗余等特性。另外数据的存储和应用程序彼此独立,不仅便于数据的管理与控制而且又利于应用程序的辨别与调试。数据库类似于一个数据的大仓库,能很好地实现数据共享,能维护数据的一致性。数据库设计是屎系统设计的一个重要内容,其设计质量的好坏直接影响系统开发的成败,系统的质量,系统效率及可维护性。
在本系统的设计中,充分考虑到了管理系统数据繁杂,重复性很大,数据使用频繁。因此本系统采用了一种能正确反映用户实现环境,能被现行系统接收,易于维护、效率高的数据管理方法—数据库系统。
数据模型是指数据库中记录与记录之间联系的数据结构形成的。不同的数据管理系统有不同的数据模型,数据库设计的核心问题是设计好的数据模型。在目前的数据库管理系统中有层次模型,网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独立性,使用也较为方便。其中的排序和索引功能,对数据快速定位,查询提供了有利条件。交流股东对于本系统的数据库设计有以下几点说明:数据库设计兼顾前面设计的数据流程图,管理信息系统的设计并不是以数据库为核心的数据库应用设计,本系统的数据库设计尽量满足3NF(第三范式)的要求,本系统的数据库设计以提高系统运行效率为前提。 4.3.1数据库概念结构设计
在系统设计的开始,我首先考虑的是如何用后素具模型来建立数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可以分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”:另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界 第一次抽象。ER模型直接从现实世界抽象出实体类型及实体之间的关系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解:与计算机无关,用户容易接受。但它只是数据库设计的第一步。E-R图式直观表示概念模型的工具,它有三个基本成分:
(1)矩形框,表示实体类型(考虑问题的对象)。 (2)菱形框,表示联系类型(实体间的联系)。 (3)椭圆形框,表示尸体的属性。 实体和属性的定义如下:
14
第4章 系统概要设计
Adminregister(管理员注册表)(adminname(管理员名称),adminid(管理员id),adminsex(管理员性别),adminpass(管理员登陆密码)adminclass(管理员级别))
Bus(公交路线)(busnum(公交路线号)busid(公交路线id))
Busall(公交路线详细时间)(busid(公交路线号)allsite(公交全部站点)time1(夏季首末班)time2(冬季首末班)time3(间隔时间))
Busdetail(公交详细站点)(busid(公交线路id)sitename(公交站点)siteid(公交站点id))
Register(公交用户注册)(username(用户名称)birthday(出生日期)sex(性别)password(密码)province(省)cityname(市))
Usercomment(用户评论)(ccomments(用户评论)ctime(评论时间)cuser(用户名)cid(评论id)admincomments(管理员回复)adminname(管理员名称)admintime(回复时间)) 各实体属性图如图所示:
14
路线时间 路线号 第4章 系统概要设计 路线站点 公交路线 路线id
(b)公交路线实体属性 14