演示视频:
https://www.bilibili.com/video/BV1AQ4y1G7GL/
第4章总体设计
3.1系统设计方法三原则
人类在复杂的工程技术系统如能源、交通等建设方面,积累了丰富的经验,为研究复杂系统如管理信息系统
提供了科学的指导性方法论,其主要原则如下:
(1)整体性原则。系统是相互联系,相互作用的诸要素组成的综合体。我们必须从整体和各组成部分的相互关系来考察事物,从整体目标和功能出发,正确处理系统各组成部分之间的相互关系和相互作用。
(2)分解—协调原则。就是把复杂问题化成若干相对简单的子问题以方便求解。若子系统的问题比较复杂,还可以再分。但在处理各类子问题时,必须根据系统的整体功能和目标,协调各子系统的行为、功能与目标,以保证整体功能目标的实现。
(3)目标优化原则。所谓目标优化原则对简单系统来说,是求最优解,对复杂系统来说,求的是满意解。一定要注意,目标优化原则并不简单是求最优解的问题
这里最需要指出的是:以上三原则是系统方法中处理复杂系统问题的三个主要原则,并非全部原则。在处理实际问题时,还需在这些原则的指导下,根据问题的特点,确定求解的具体方法和策略。
3.2系统系统功能说明
表3-1 系统总体功能表
功能类别
子功能
用户登录
用户输入正确的用户名和密码及正确的权限后,就登录系统。
如果输入有误,系统报错。
管理员对基本信息进行管理
对员工信息进行管理
对陌生人拜访进行管理
对人员出入进行管理
对车辆出入进行管理
对带出物品进行管理
对管理员进行管理
表3-2 用户界面需求表
需求名称
详细要求
风格
界面友好,布局合理,美观大方,实用性强,操作简单
颜色
淡灰色系为主
分辨率
1024*768
表3-3 软硬件环境需求表
需求名称
详细要求
运行速度
系统启动运行时间不超过5min,人机界面交互时间不超过5s
容量
占用内存大于15MB
操作系统性能
10/100M bit/s
网络传输率
10/100M bit/s
表3-4 产品质量需求表
主要质量属性
详细要求
正确性
经过测试达到了预期的效果
健壮性
具有一定的健壮性
可靠性
容错能力强,测试质量合格
性能,效率
性能优,效率高
易用性
跨平台操作
清晰性
优
安全性
安全可靠性极佳
可扩展性
优良的可靠的接口
兼容性
可作用于任何平台
可移植性
正确的进行软件配置后,就可以正常运行程序
图3.1功能模块图
3.3 系统流程图设计
要进行系统首先要有一个管理员登陆验证,管理员输入正确的用户名和密码后进入后台管理界面。在这里设置了一个超级管理员,这个管理员需要在数据库中直接添加,是不可以在管理员管理界面被删除的。管理员登陆后根据权限对公司人力资源基本信息进行管理。
根据上述说明,建立了系统流程图,如3.3所示。
图3.3 系统后台流程图
3.4 数据库设计
3.3.1 数据库需求分析
需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
通过系统功能分析,针对一般的在线信息交流系统,总结出如下的需求信息:
(1)人员管理:
物业员工管理:物业员工信息的添加删除修改。
陌生人拜访管理:对进入小区的陌生人进行记录管理。
人员出入管理:出入小区的人员进行登记管理。
(2)车辆管理:
对出入小区的各种车辆进行管理。
(3)带出物品管理:
对从小区带出物品的管理。
(4)系统维护:对管理员进行统一管理。
3.3.2 数据库概念结构设计
在概念设计阶段中,从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
设计规划出的实体有:管理员、员工实体、车辆实体、带出物品实体。
ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:1、1:N、M:N的关系。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等针对本系统分析如下:
一个管理员一次可以多个工资信息,而一个工资信息只可以被一个管理员编辑
N
1
工资信息
管理员
管理员信息实体E-R图如图所示:
员工信息实体ER图如图所示:
3.3.2 数据库逻辑结构设计
数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。
居民住宅小区物业管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。
表1为管理员表,存储系统中的管理员信息。
表1 管理员表(admin)
表2为员工信息表,记录系统中员工信息。
表2 员工信息表(person)
表3为陌生人访问信息,记录小区陌生人访问的信息。
表3 陌生人访问信息表(visit)
表4为出入人员信息表,记录小区出入人员信息的信息。
表3 出入人员信息表(accesscontrol)
表5为出入车辆表,记录小区出入车辆的信息。
表5 出入车辆信息表(vehicle)
表6为带出物品表,记录从小区带出物品的信息。
表6 带出物品信息表(goods)
第5章系统模块实现
系统界面的大部分功能都是以管理模块为前提的,因为客户模块所显示的数据大部分需要通过管理模块来添加。因此,我们首先要来介绍管理模块的设计与开发。管理模块相对客户模块要复杂一些,因为在这里需要对所有信息进行维护,包括浏览、增加、修改和删除等操作。为了便于系统维护,页面的命名才用“模块名+功能名”的方式。
3.1 SSH2配置
系统使用的是SSH2框架。Struts2框架实现了MVC模式,层次结构清晰,程序员只需要注重业务逻辑的实现就可以了,这样一来大大的提高了开发的效率; Struts2只要有配置文件,就可以把握住整个系统各个部分之间的关系; Spring框架在没有程序员的情况下就可以自己实现singleton模式。Hibernate框架的可移植性非常好。在开发过程中简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量,使开发难度降低。[14]
所以,SSH2十分适合本系统的开发。在配置SSH2时首先需要创建工程,然后添加struts支持,紧接着进行分包。紧接着添加spring支持和spring配置文件。下面给出具体配置详细分布过程。
SSH2的生命周期如图3-1所示。
图3-1SSH2生命周期
3.2 MVC设计模式
3.2.1 MVC介绍
MVC的英文全称是Model-View-Controller,就是把一个应用的输入、输出和处理流程按照模型、视图、控制的方式进行分离,这样一个应用就会被分成三个层次——模型层、控制层、视图层。如图3-2为MVC模式的基本分层图。[15]
图3-2 MVC 模式基本分层图
1.视图(View)
视图代表人机交互界面,就是用户可以清楚看到内容,同时可以参与交互的界面。主要功能实现数据的传输和输出功能,然后在相关页面显示出来,这样用户便可以从视图层获取到有用信息。不同的视图利用不同的方法来呈现需要反应给用户的信息。每一个视图组件都会有一个更新函数,当模型层发生变化的时候这个函数就会被激活。在这个函数被激活以后视图层就会进行更新操作。通过状态查询函数,视图层可以从模型获取数据。
2.模型(Model)
模型层的另一个名字是业务逻辑层,它主要用来封装业务逻辑和业务产生的数据。业务逻辑是软件的核心。用户是无法看到业务逻辑层的,业务逻辑层独立于特定输出表示或者输入模式。用户只能利用控制器来控制业务逻辑层。
3.控制(Controller)
控制层可以理解起到控制整个业务流程的作用,实现View层跟Model层的协同工作。每个视图有一个与之对应的控制器组件。一旦控制器组件接受到某个事件,就会将这个事件翻译成为对模型或者视图的请求。如果控制器的行为取决于模型的状态,那么控制器需要进行变更的时候也需要向模型发出变更请求通知。例如:用户点击确定按钮,确定按钮的事件响应函数将会做出相应的反应来处理用户要求。
本论文在实现系统时,系统架构使用了MVC设计模式。所以它拥有以下几点优势。
第一,新月出租车公司管理系统拥有多个视图对应一个模型的能力。这样做可以减少本系统代码量,在进行维护时也减少了工作压力,同时也便于维护。其次,该模型还没有数据显示格式,因此,这些模型可以直接应用到接口。
第二,因为应用程序被分成三个图层,所以有时候改变其中之一将能够满足应用程序的更改。
第三,系统控制层的概念也很有效,因为它把不同的模型和不同的视图组合在一起完成不同的要求,因此,控制层可以说是包含用户请求的权限的概念。
第四,本系统采用的设计模式有利于软件的工程管理。由于每层都有着不同的功能,而每一层不同的应却具有某些相同的特征。利用这样的特点程序员可以工程化、工具化产生管理程序代码。
由于界面简约,操作简便,系统在设计时就充分考虑到这点,所以,在此不再累述其中的操作过程。总之,系统界面设计人性化,功能齐全无遗漏、无冗余,是物业管理系统的最大亮点。