软件工程实验三概要设计.docx
《软件工程实验三概要设计.docx》由会员分享,可在线阅读,更多相关《软件工程实验三概要设计.docx(15页珍藏版)》请在冰豆网上搜索。
软件工程实验三概要设计
人事工资管理系统概要设计
1.导言
1.1目的
该文档的目的是描述人事工资管理系统项目的概要设计,其主要内容包括:
●系统功能简介
●系统结构设计
●系统接口设计
●数据设计
●模块设计
●界面设计
本文档的预期的读者是:
●开发人员
●项目管理人员
●测试人员
1.2范围
该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3缩写说明
UML
UnifiedModelingLanguage(统一建模语言)的缩写,是一个标准的建模语言。
HR
Humanresourcesmanagement(人事工资管理管理)的缩写。
1.4引用标准
[1]《企业文档格式标准》
北京长江软件有限公司
[2]《软件概要设计报告格式标准》
北京长江软件有限公司软件工程过程化组织
1.5参考资料
[1]《实战struct》〔美〕Ted Husted
机械工业出版社
[2]《软件重构》
清华大学出版社
2.系统分析
本系统可以实现人事工资管理,人事管理者通过该系统进行人事工资管理。
系统包括管理端子系统和客户端子系统。
管理端子系统包括人事管理、工资额度管理、岗位管理。
客户端子系统包括查询工资、查询岗位。
图B-1和B-2为客户端和管理端的组成结构图。
管理端
图B-2:
管理端子系统
3.界面设计
本系统的用户界面按功能分客户端和管理端。
3.1管理端界面设计
管理端主要实现人事管理管理、岗位管理、工资额度管理管理等功能。
-登录界面
◆通过用户名和密码实现用户登录,并判断用户的权限
-管理首页
◆根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能。
-人事管理
◆包括“职工列表”、“职工详细信息”、“查询职工”、“增加职工”、“删除职工”和“修改职工信息”等页面。
-岗位管理
◆包括“职工列表”、“岗位列表”、“职工所在岗位列表”等页面。
-职工工资额度管理
◆包括“职工列表”、“工资分配列表”、“职工所在岗位工资列表”等页面。
-用户管理
◆包括“用户列表”、“用户信息”、“修改用户信息”、“添加用户”和“删除用户”、“用户权限设置”等页面。
具体页面流如下图B-3所示:
人事管理
登录界面
图B-3:
管理端的页面流程
3.2数据流图
图2-2人事管理顶层数据流图
图2-3工资管理顶层数据流图
图2-4人事管理0层数据流图
图2-5人事管理0层编号1的数据流图
图2-6人事管理0层编号2的1层数据流图
图2-7工资管理0层数据流图
图2-8工资管理0层编号1的1层数据流图
图2-9工资管理0层编号2的1层数据流图
4.体系结构
系统的总体结构设计遵循如下原则:
1)系统应具有良好的适应性:
能适应用户对系统的软件环境、管理内容、模式和界面的要求;
2)系统应具有可靠性:
采用成熟的技术方法和软件开发平台,以保证在以后的实际应用中安全、可靠;
3)系统应具有较好的安全性:
应提高完善的安全机制和用户权限限制机制,确保数据的受限访问;
4)系统应具有良好的可维护性:
系统应易于维护、安装;
5)系统应具有良好的可扩展性:
系统应适应未来信息化建设的要求,能方便得进行功能扩展,以建立完善的信息集成管理体系。
本系统采用struts体系结构,Struts是一个基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架。
4.1体系结构
4.1.1Struct体系结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSPModel2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。
在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成。
其中:
视图:
就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struct标签库的标签。
此外,通常将Strcut框架中的ActionFormBean也划为视图模块中,ActionFormBean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以与将其属性重新设置默认值。
Struct框架利用ActionFormBean来进行视图和控制器之间表单数据的传递。
Strcut框架将用户输入的表单数据保存在ActionFormBean中,将它传递给控制器,控制器可以对ActionFormBean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionFormBean的信息,重新设置HTML表单。
控制器:
控制器由ActionServlet类和Action类实现,ActionServlet类是Struct框架中的核心组件。
是这个MVC的中央控制器的角色,ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。
Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。
模型:
模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。
如果在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。
4.1.2系统体系结构
根据系统分析结果,该系统从结构上应满足:
●基于浏览器进行显示以方便用户使用;
●采用MVC的三层体系结构,分化各个功能组件;
●采用JDBC技术与数据库通讯以便于数据库的转换;
●采用标签技术完成动态页面的简单逻辑。
其中:
表示层:
用于与用户进行交互以与显示结果。
包括所有的JSP,提供用户界面,接受用户输入,还包括相应的ActionFromBean,用来存放表单数据,并进行表单数据验证。
控制层:
包括所有的Action类,它完成三项任务:
一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户。
模型:
进行逻辑处理的JavaBean等。
数据库采用ODBC技术以提供数据库的可移植性
客户层主要是指用户登录的Web浏览器;中间层负责平台的业务逻辑处理和表示逻辑生成;服务层提供底层的信息数据库服务器。
1.客户层:
用于与企业信息系统的用户进行交互以与显示根据特定业务规则进行计算后的结果。
本系统将完全采用基于WEB的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。
2.中间层:
这相当于三层标准架构中的Web应用服务层,支持诸如响应客户请求以与查询等功能。
并且由中间层进行逻辑处理,再处理的结果反馈给客户或者发送到数据库中。
3.服务层:
主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。
4.2系统运行环境
4.2.1硬件环境
本系统的硬件环境如下:
●客户机:
普通PC
⏹CPU:
P41.8GHz以上
⏹内存:
256MB以上
⏹能够运行IE5.0以上或者Netscape4.0以上版本的机器
⏹分辨率:
推荐使用1024*768像素
●WEB服务器
⏹CPU:
P42.0GHz
⏹内存:
1G以上
⏹硬盘:
80G以上
⏹网卡:
千兆
●数据库服务器
⏹CPU:
P42.0GHz
⏹内存:
1G以上
⏹硬盘:
80G以上
4.2.2软件环境
本系统的的软件环境如下:
●操作系统:
Unix/Linux/windows2000或以上版本
●数据库:
SQLServer2000
●开发工具包:
JDKVersion1.4.2
●开发环境:
eclipse-SDK-3.1.2-win32
●Web服务器:
Tomcat
●浏览器:
IE6.0以上
数据库与操作系统:
对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型;以与管理人员的专业技术水平。
5.数据模型
本系统的数据模型主要是进行数据库的设计。
5.1数据库的概念结构模型设计
概念设计以反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的每一幅用户视图。
5.2数据库的逻辑结构模型设计
数据库的逻辑设计是将各局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。
5.3数据库管理物理结构模型设计
信息存储结构的设计在系统的设计中至关重要,要考虑到数据冗余、系统执行效率、信息控制以与维护等方面的要求。
信息的管理离不开数据库的支持,我们采用SQLServer2000数据库管理系统。
数据库的物理设计主要是对数据在内存中的安排,包括对索引区、缓冲区的设计;对使用的外存设备与外存空间的组织,包括索引区、数据块的组织与划分;设置访问数据的方式方法。
需在非系统卷(操作系统所在卷以外的其他卷)上安装SQLServer程序与数据库文件。
内存是影响MicrosoftSQLServer系统性能的一个重要因素,应在MicrosoftSQLServer数据库安装后进行内存选项(Memory)设置,最大配置值为2GB。
6.模块设计
6.1.1表示层设计
ActionFormBean用于在视图组件和控制组件之间传递HTML表单数据,通常每个HTML表单对应一个ActionFormBean。
此外,ActionFormBean的validate()方法用于对用户输入的数据进行合法性验证,由于ActionFormBean工作于视图组件和控制器组件之间,不会访问模型组件,因此,validate()方法通常不涉与对数据的业务逻辑验证,只是完成简单的数据格式和语法检查。
6.1.2控制层
控制层主要是设计Action组件,Action负责单个事件的流程控制,Action映射决定了Action与其它Web组件之间的关联关系.
6.1.3模型层
在struct框架中,模型组件负责完成业务逻辑,模型组件可以是JavaBean、EJB和实用类。
6.2登录管理模块设计
登录管理模块负责管理端用户的登录。
管理端用户都是通过登录界面进入管理端的,用户输入用户名和密码进入管理界面首页,提供了进入功能面板的接口,并根据用户的权限在首页中列出相应的操作功能。
6.2.1表示层设计
根据上述的功能介绍,总结出用户登录的页面如表B-7所示。
表B-7:
登录管理模块的页面设计
界面
JSP
功能描述
登录界面
Login.jsp
登录的主页面
主页面
main.jsp
管理主页面
页面中部
center.jsp
复用页面:
页面中心部分
页面上端
Top.jsp
复用页面:
页面上部分
页面左端
Left.jsp
复用页面:
页面的左部分
页面下端
bottom.jsp
复用页面:
页面的下部分
根据界面流的设计可以确定各个界面的访问入口,以与界面之间切换关系,页面的流程图如图B-15所示。
图B-15:
登录管理的页面流程
6.2.2控制层设计
登录管理的控制层主要是设计用户的登录事件的流程控制(Action)。
表B-8列出了每个Action的入口(即调用Action的组件)、传递Action的ActionForm,以与出口(即Action将请求转发到目标组件)。
表B-8:
登录管理的控制层设计
事件
Action
入口
ActionForm
出口
用户登录
LoginAction
login.jsp
LoginForm
main.jsp
6.2.3模型层设计
登录管理模型组件负责完成用户信息的数据库操作的业务逻辑模型,建立封装了用户信息的bean,这个Bean主要完成验证用户相关信息是否存在,并判断其权限。
模型组件见表B-9。
表B-9:
客户端的模型组件
模型组件
描述
DBUtil
数据库的基本操作,为复用组件
Permission
判断用户权限的类。
Userbean
Bean主要完成验证用户信息是否存在。
6.3用户管理模块设计
在用户管理中系统管理员对用户进行增删改查,可以进行权限设置。
具有不同权限的用户进入不同的主界面,界面左侧栏中的图标数有所不同,具体的图标与用户所具有的权限对应。
在用户管理中可以增加或删除用户,编辑用户名,用户密码,修改用户权限等。
6.3.1控制层设计
用户管理的控制层主要负责进入用户信息界面、进入浏览用户信息界面、增加用户信息、修改用户信息、删除用户信息等事件的流程控制,即设计用户管理的Action。
6.3.2模型层设计
用户管理的模型层主要是完成用户信息的浏览、增加用户信息、用户信息维护等业务逻辑,并于完成相应的数据库操作。