2020-12-29 G003-186-16

课程名称 软件需求分析与建模
班级 18软件工程6班
作业名称 项目报告书
教导教师 董瑞生

工资管理系统项目报告书

一.提案计划书

1提案背景

企业负责工资管理工作的员工使用工资管理系统降工资管理的工作强度、提高工作的准确度,降低企业成本,并通过协调系统提高工资管理人员的工作效率。

2提案目的

本提案的编写目的在于向用户阐述我开发小组对于工资管理系统建设的方案。

3执行方案

具体流程如下:项目申请、组织项目及环境准备->完成条件协议及合同->开始工作计划->执行项目->进行示范->促活性化->系统交接。

4期望效果

1.组织架构改造,适合多岗位多部门等复杂的管理应用现状,完善工资管理的权限管理体系。
2.可拓展的应用服务器群集设计,满足未来发展状况下,服务器可以平滑得升级和扩张。
3.完成一次完整的外部应用系统的接口以及接口规范的整理工作,使得将来在开发系统可以按照规范调用。
4.提供初步完整的API底层架构
5.完整的数据字典设计,合理的输入输出设计。
6.几个具体化的目标。

二.需求萃取分析书

1引言

1.1立项背景

随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。所以急需一套完整的工资管理系统帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化,规范化和自动化。企业通过工资管理系统,不需要再使用传统繁琐的工作方式去处理这些工资事务工作,只需要通过工资管理系统来一键操作,就能核算出具体的数据,同时还能满足后续的数据导出备份以及电子工资条的发放等操作。通过这一方法,有利于减少错误,减轻财务部门的工作任务,提高效率,很大程度上节省了企业在工资管理方面的成本,同时还提高了工资管理的透明度和互动性。

1.2涉众分析

(1)企业:企业不需要太大型的数据库系统。只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位三方对数据的管理及需求的系统,希望用户操作方便,系统简单明了,希望系统能够提高企业工资管理的工作效率、提高工资管理工作结果的准确度,降低企业的工资管理成本。
(2)企业财务人员:财务人员作为系统的管理员,在传统的工资管理模式下,面对庞大的员工基数时,工作十分繁重,效率低下,错误率高。因此,财务人员希望能依靠技术的发展以减轻工资管理负担、提高工作效率、提高工资管理结果的准确度,希望完善系统功能,使系统更加稳定。
(2)企业员工:员工作为劳动力,是工资管理系统中的主要群体,在为企业工作的同时也很关心自己的工资情况,希望能查询个人工资信息,查询个人的考勤信息,希望企业的工资管理更加的安全、透明。
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:允许业务分析人员、业务架构师或其他涉众创建组织图,以表示特定时间点的组织结构。可以将组织的部门、角色或指定的人员包括在图表中。
绘制步骤:首先我们创建一个组织结构图:
在这里插入图片描述
图例说明:这是工资管理项目的组织结构图,在工资管理系统下一共有管理员、员工还有部门3个组织,管理员分为超级管理员,拥有最高权限,普通管理员,可执行发布公告、增删改查等功能,员工分为新入职员工、老员工还有已经辞职的员工,因为这三类员工都可能因为资历、岗位等原因而导致薪资数目的不同,所以我们分了这三个类别。已经辞职的员工还分为被辞退和主动辞职两类。各部门就是指公司里分的部门了,比如设计部、秘书部这些,分各部门的意义在于我们可以在管理系统中通过筛选部门来查看员工的工资情况。

1.3项目目标

建立一个界面友好,操作简单的工资管理系统,实现满足中小企业工资管理需求的系统。本系统通过计算机技术给公司管理员管理公司工资的运作,并且给公司职员查询工资带来便利。开发小组在两个月内完成本系统的开发、部署。产品是一项独立的应用程序,以下是我们的开发计划。
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:允许业务架构师、业务分析人员或其他涉众创建或查看组织计划在指定时间框架内创建或获取的功能的高层概要。通常情况下,当业务中发生重大变化时,需要计划和开发对业务需求至关重要的核心或额外功能,并且在图表上的时间尺度所涵盖的时间段内,这也将是有用的参考。
绘制步骤:首先我们在EA中创建一个Capability Roadmap图:
在这里插入图片描述
然后我们可根据具体的项目进行图档的绘制,以下是我们的Capability Roadmap:
在这里插入图片描述
图例说明:在这里插入图片描述
产品,表示我们项目最后会生产出的产品,例如我们的项目中,最后的产品即为工资管理系统。在这里插入图片描述
我们在项目开发的过程中需要做出无数个决定,由此来决定我们的项目会有什么样的功能等。在工资管理系统中,我们希望开发出一个工资管理系统以供企业进行财务管理,减少时间成本和人力资源的支出,在项目开发前期做好用户需求的分析与确定,以及系统架构的设计,以供后期的项目实现。

1.4系统组成

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:允许业务架构师、业务分析人员和其他涉众创建和查看正在规划的产品的重要方面,以便能够可视化产品的发展。路线图可以包括版本和特性发布、业务和技术里程碑,甚至是与产品相关的市场和销售计划。
绘制步骤:首先我们创建一个Project Roadmap:
在这里插入图片描述
然后我们可以根据项目实际情况进行图档的绘制。
图例说明:这是我们组的产品路线图,一共分为开发组,设计组,运营组,测试组四组,设计组最先进行需求分析,体系架构设计以及界面设计,在那之后开发组根据设计组的界面去写相关代码,在第一次开发完成后,测试组对功能进行测试,之后运营组让系统版本1.0上线。

1.5项目前景与范围

随着社会经济的发展,企业的规模也在逐渐扩大,这意味着员工人数将会增多,企业的管理也将随之变得繁琐而困难,因此,工资管理系统的存在就显得尤为重要。本系统主要针对中小企业的工资管理,适用于企业所有的员工,能够帮助中小企业对员工的工资进行发放和管理,提高了工作效率。

1.6参考资料

[1] 骆斌等,《需求工程——软件建模与分析》第二版,高等教育出版社

2项目概述

2.1功能范围

对财务人员而言:
财务人员可通过系统发布,对已发布的公告进行查看、修改、删除等;根据实际情况进行对企业内部各部门类型的设置与修改;根据实际情况进行对企业岗位类型的设置与修改;根据实际情况对企业规定的工龄奖金、职称奖金的设置与修改;对员工的所属部门信息进行修改;对企业或单位的人员以及相应工资进行增加、删除、修改、查询。
对普通员工而言:
员工可通过系统查看公告;登录修改个人信息;查询个人的工资信息和考勤信息。

2.2产业环境

2.2.1技术介绍

本系统主要应用于web端,开发运用html、css、js和Java技术,数据通过后台mysql数据库进行处理。
(1)HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
(2)css层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
(3)JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)。
(4)Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
(5)SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。
SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

2.2.2开发环境及工具

·页面开发工具: Intellij IDEA
·数据库:MySQL
·操作系统:Windows 10
Intellij IDEA是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
Windows 10是由美国微软公司开发的应用于计算机和平板电脑的操作系统,于2015年7月29日发布正式版。Windows 10操作系统在易用性和安全性方面有了极大的提升,除了针对云服务、智能移动设备、自然人机交互等新技术进行融合外,还对固态硬盘、生物识别、高分辨率屏幕等硬件进行了优化完善与支持。

3需求获取

3.1获取方法

传统方法:问卷调查、文档分析。
集体获取方法:头脑风暴。

3.2硬数据采样

(1)一般公司审核发放工资流程:参考文献如下
https://wenku.baidu.com/view/0ef0d9612c3f5727a5e9856a561252d380eb20a5.html?fr=search-1-wk_sea_es-income3-score_2
https://wenku.baidu.com/view/4da0ff6087c24028915fc37a.html?fr=search-1-wk_sea_es-income4-score_2
结论:在一般的工资发放流程中,财务人员工作内容庞杂,计算量大,需要参与工资管理的员工很多,员工的对接也多,工作分散,这样的工资管理效率很低的。在这种情况下,企业成本需要的财务人员多,成本较高,工作结果的错误率也必定会提高。
(2)工资发放流程图:参考文献如下
https://wenku.baidu.com/view/20d72b9c591b6bd97f192279168884868762b882.html
结论:在此流程图中,员工需要凭个人私章领取工资。这样的流程显而易见十分繁琐,假如可以通过系统一键发放工资,那么对于企业和员工来说都是十分便捷的,工作效率也能显著提高,员工也能查看自己的工资、考勤信息,增加了透明度,提高了财务部门在员工中的公信力。

3.3用户需求

实现工资的管理系统,供财务人员对本单位的人员及工资进行增加、删除、修改、查询,对人事的管理及工资发放中的应发工资合计等功能。供普通公司员工对个人工资和考勤信息的查询。
在这里插入图片描述

4系统概述

工资管理系统主要分两部分,一个是普通用户界面:只能使用工资、考勤查询功能和退出系统功能。另一个是管理员界面:可以使用界面中所有功能,包括用户功能、工资管理功能、考勤管理功能、退出系统功能。
在这里插入图片描述

5功能需求

5.1用户管理

在这里插入图片描述
(1)管理员
增加新用户:管理员可通过系统添加新员工。
删除用户:管理员通过系统可直接删除某个用户。
查找及浏览用户:管理员通过特定信息搜索用户,可浏览用户信息。
修改用户资料:管理员可以修改用户的资料信息。
(2)普通职员
注册登录:用户注册,并由用户端登录系统。
修改个人信息:用户可修改个人资料,如姓名、所属部门等。
查看工资信息:用户查看自己的工资及详情。
查看考勤信息:用户查看自己的考勤信息及详情。

5.2工资管理

(1)工资发放:管理员可通过系统审核并发放工资到员工账户。
(2)查询、修改工资项:管理员可通过系统查询员工工资,修改工资项。
(3)添加、修改、删除、查询工资奖金、津贴:页面列出企业制定的所有奖金项、津贴项,管理员可以添加、删除奖金、津贴项,修改、查询奖金项、津贴项的信息。
在这里插入图片描述

5.3考勤管理

(1)添加、修改、删除考勤项:页面列出所有的考勤项,管理员可以通过系统添加、修改、删除考勤项。
(2)添加、删除、查询考勤信息:页面列出所有员工的考勤信息,管理员可添加、删除员工的考勤信息,通过特定信息查询某个员工的考勤信息。

5.4用例图

5.4.1系统用例图

在这里插入图片描述

5.4.2管理员用例图

在这里插入图片描述

5.4.3用户用例图

在这里插入图片描述

6非功能需求

在这里插入图片描述
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:功能需求图是对软件系统功能应满足的需求的描述,如软件系统的功能应满足可靠性,即在规定的时间内,如设备的平均故障时间,部件能够在规定的条件下完成其所需功能的能力等。可扩展性则是指解决方案合并新功能的能力,合规性是指根据环境或司法管辖区的不同,可能会有不同的监管、财务或法律限制,软件系统应当合乎这些监管或法律限制。性能效率是指解决方案或组件以最小资源消耗其指定功能的程度,是否可以根据上下文或时期来定义,例如高峰、中峰或非高峰时期的使用率等。可用性有两方面:一是指解决方案在需要使用时可操作和可访问的程度,通常以解决方案可用时间的百分比表示;二是指用户学习使用解决方案的容易程度。等等。
绘制步骤:首先我们应当新建一个新的功能需求图:
在这里插入图片描述
在这里插入图片描述
其次我们在新的功能需求图中完成图档的绘制及说明。
在这里插入图片描述
图例说明:在这里插入图片描述
Non Functional非功能性,表示非功能的组件,在这里插入图片描述
Functional,在上述的功能需求图中,就全部都是Functional。

7业务动机模型

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:Business Motivation Model(BMM) 使组织能够制定一个考虑到业务战略所有方面的有组织的商业计划。这包含了公司愿景、目标、使命、战略、策略以及内部和外部影响,以随后确定组织的潜在影响。
绘制步骤:首先我们创建一个新的BMM:
在这里插入图片描述
其次我们根据工资管理系统进行图档的绘制。
图例说明:这是关于工资管理系统的Business Motivation Model,即业务动机模型。首先我们想要提供一个基于互联网的工资管理系统,此系统的目标在于提供给企业一个更加方便快捷的工资管理平台,减少企业时间和人力资源等的支出。为此,我们需要实现员工能够通过系统查询个人的工资详情,管理员能够一键申请代发工资到员工账号,并在系统中可查询工资详情表,还可以进行修改,这就大大提高了工作效率。

7.1动机观点

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:该模式的目的是提供一个关于计划的动机方面的丰富视图,显示从高级别涉众到需求的分解。它为企业、业务和技术架构师、业务分析师、需求经理和其他关注架构战略、战术和动机的涉众提供了一个视图。该模式通常在计划的分析阶段使用,以获得对需求和约束如何与涉众和其他定义其目标的事物联系起来的概述和洞察。动机观点允许设计者或分析师对动机方面建模,而不关注这方面的某些元素。
绘制步骤:查找Motivation Viewpoint,并添加该图表:

根据我们具体的项目,即工资管理系统进行图档的绘制:
在这里插入图片描述
图例说明:我们开发该项目的驱动是该项目可以提高企业工资管理效率,并且开发系统可以使我们获取一定的费用,得到受益。我们希望系统能被更多的企业选择使用,在日后开发出一些新的业务。使用该系统的时候还要注意法律对用户隐私的保护,不要越界。

7.2观点模型

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:模式的目的是提供一个关于计划的动机方面的丰富视图,显示从高级别涉众到需求的分解。它为企业、业务和技术架构师、业务分析师、需求经理和其他关注架构战略、战术和动机的涉众提供了一个视图。该模式通常在计划的分析阶段使用,以获得对需求和约束如何与涉众和其他定义其目标的事物联系起来的概述和洞察。
绘制步骤:搜索Principles Viewpoint,新建一个新的图
在这里插入图片描述
根据工资管理项目画出下图:
在这里插入图片描述
图例说明:项目总目标是在小型企业工资管理市场中占据一定的份额,该系统在企业内部使用,不考虑利益目标,开发人员要科学管理、合理分工,尽可能减少开发费用。

三.需求分析规格书

1.1目的

随着社会经济的高速发展,企业的规模开始庞大化,员工人数也随之增多,这时,对于员工的工资管理工作量与工作难度也随之增加,传统的工资管理方式,即完全由财务部门进行人工发放和管理工资的方式已经不适应企业的规模,效率极其低下。
工资管理系统是在组织发展战略指导下,对员工薪酬支付原则、薪酬策略、薪酬水平、薪酬结构、薪酬构成进行确定、分配和调整的动态化电子动态管理。可支持多种自定义项目,满足不同企业的管理需求,实现数据变化时的精细管控,具有严谨的权限设置,保证数据安全,大大提高了企业管理的效率,减少了不必要的人力和物力,降低了成本。当前的薪资组成可能有许多基本项目,如基本薪资、绩效奖励、项目奖励和其他模块。工作管理软件的开发可以使财务人员预先设置相关项目的薪资计算方法,系统根据设置的计算公式自动计算实际薪资。
工资管理系统还可适应成员薪酬绩效的浮动变化。由于员工绩效水平每月都在波动,经理可以控制和管理系统中员工基本项目中薪资列的数值变化。通过薪资变动申请,其中一项薪资变动,完成了一个绩效较好的浮动管理方案。薪酬管理的安全性也能得到保证。薪酬管理软件系统本身的安全性可以保证公司成员的薪酬数据不会被泄露,通过严格的管理权限设置和安全系统提高系统的安全系数。只有授权的财务人员才能输入、计算和管理员工的工资。管理系统还具有很强的可扩展性。该系统本身具有很强的可扩展性。例如,它可以与评估系统相联系。自动薪资计算可以将考勤数据引入薪资项目。根据考勤数据,可以自动计算员工工资,参与实际工资的计算。

1.2范围

工资管理系统是在组织发展战略指导下,对员工薪酬支付原则、薪酬策略、薪酬水平、薪酬结构、薪酬构成进行确定、分配和调整的动态化电子动态管理。管理员可根据企业实际情况对薪酬结构进行调整。工资管理系统还可适应成员薪酬绩效的浮动变化。由于员工绩效水平每月都在波动,经理可以控制和管理系统中员工基本项目中薪资列的数值变化。通过薪资变动申请,其中一项薪资变动,完成了一个绩效较好的浮动管理方案。薪酬管理的安全性也能得到保证。薪酬管理软件系统本身的安全性可以保证公司成员的薪酬数据不会被泄露,通过严格的管理权限设置和安全系统提高系统的安全系数。只有授权的财务人员才能输入、计算和管理员工的工资。管理系统还具有很强的可扩展性。该系统本身具有很强的可扩展性。例如,它可以与评估系统相联系。自动薪资计算可以将考勤数据引入薪资项目。根据考勤数据,可以自动计算员工工资,参与实际工资的计算。

1.3定义和缩略语

1.3.1定义

工资管理系统是计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作的软件系统。这样就使办公人员可以轻松快捷地完成工资管理的任务,实现工资的集中管理,降低企业的管理成本,提高管理效率。在组织发展战略指导下,对员工薪酬支付原则、薪酬策略、薪酬水平、薪酬结构、薪酬构成进行确定、分配和调整的动态化电子动态管理。管理员可根据企业实际情况对薪酬结构进行调整。

1.3.2缩略语

SMS : 工资管理系统Salary Management System
OOA : 面向对象分析方法 Object-Oriented Analysis
OOD:面向对象设计方法 Object-Oriented Design
OOP:面向对象的编程 Object-Oriented Programming
GUI:图形用户界面 Graphical User Interface
SPI:外围设备接口 Serial Peripheral Interface
WEB:全球广域网 World Wide Web
HTML:超文本标记语言 Hyper Text Markup Language
CSS:层叠样式表 Cascading Style Sheets
TCP/IP:传输控制协议/网际协议 Transmission Control Protocol/Internet Protocol
DOS:分布式拒绝服务攻击软件 Denial of Service
HA:高可用性 High Availability
DU:数据不可用 Data Unavailable
DL:数据丢失 Data Lost

1.4参考文献

[1]《需求分析 软件需求与建模 第2版》骆斌 丁二玉著 2015.2
[2]《Requirement Engineering》
[3]《UML notation》
[4]《UML-Intensive Framework》
[5]《Sysml Overview》
[6]《Sysml-Models》
[7]《Modeling with Sysml》
[8]《IEE1471 PDF》

1.5文档组织

文档包括:
1.引言
1.1目的
1.2范围
1.3定义、首字母缩写和缩略语
1.4参考文献
1.5文档组织
2.总体描述
2.1产品前景
2.2产品功能
2.3用户特征
2.4约束
2.5假设和依赖
3.详细需求描述
3.1对外接口需求
3.1.1用户界面
3.1.2硬件接口
3.1.3软件接口
3.1.4通信接口
3.2功能需求
3.2.1系统特性
3.2.1.1特性描述
3.2.1.2刺激/响应序列
3.2.1.3相关功能需求
3.3性能需求
3.4约束
3.5质量属性
3.6其他需求
2.总体描述

2.1产品前景

随着经济的发展,企业正向着大型化、规模化发展,员工的工资管理等的工作量和难度也随之增加,传统的人工处理方式已经无法适应员工人数的庞大而造成的管理困难,因此,如何设计一个企业工资的管理系统,由计算机代替人工执行一系列诸如增加新员工、删除旧员工、工资查询、统计等操作,已经成为了刻不容缓的进程。而对于企、事业单位的工资管理来说,并不需要太复杂的工资管理系统,只需要满足财务部门、单位其他相关部门及代发部门单位三方对工资的管理及需求,实现对工资的简单管理即可,同时系统还可对人事及工资管理情况进行多角度查询,供财务人员对本单位的人员以及工资进行增加、删除、修改、查询,对人事的管理及工资发放中的应发工资合计等项目由系统自动进行计算。对于小型企业来说,利用小型软件对小型企业的工资进行管理,不仅可以节省企业的财务成本,并且可以节约时间成本,充分发挥了其小却精的特点。这也是工资管理系统的意义所在。

2.2产品功能

工资管理软件(系统)是在组织发展战略指导下,对员工薪酬支付原则、薪酬策略、薪酬水平、薪酬结构、薪酬构成进行确定、分配和调整的动态化电子动态管理。主要包括查看工资详情、工资管理、工资审核、工资发布、工资发放、工资报表、工资设置、权限分配十大模块。具体分析如下:
(1)自定义薪酬结构设置
工资管理系统需要支持企业根据实际工资表自定义薪酬结构,即具体的工资项,代表员工的工资由哪些项目组成,例如全勤、项目提成、加班补贴、出差补贴、年底奖金、旷工罚款,或早退罚款等。由企业根据自身情况自定义薪酬结构的好处在于,企业能够随时新增或删除薪酬结构,方便快捷,不必强行按照系统自动的薪酬结构进行工资的管理。
(2)自动生成薪酬详情表和输出
工资管理系统需要支持自动计算并生成薪酬详情表,即员工的工资详情表,包括员工的工资总额、工资项详情等,可供企业管理者进行数据的查看和保存,方便以后的查询,时刻掌握企业的工资管理动向,也防止企业漏发或多发、少发工资给员工,造成不必要的动乱。薪酬详情表还可以输出或打印,输出到电脑存档,或者打印为纸质档,以供实际情形需要。
(3)电子工资条的发放
工资管理系统需要支持企业一键发放电子工资条,以便员工能够及时根据工资条的详情来查看自身工资的具体详情,这种方式在极大程度上节约了企业的经济成本还有时间成本,并且从环境保护角度上看,这是一种有利于环境保护的方式,减少纸张的使用和铺张浪费,方便快捷。
(4)自定义薪酬计算方式
工资管理系统需要支持企业自定义薪酬计算方式,以便企业根据自身详情进行员工的工资管理和发放。由于不同的企业性质不同,从而导致企业的薪酬计算方式不同,例如有的企业没有加班补贴,有的企业对员工的加班情况有视情况而定的加班补贴等等,如果系统无法支持自定义薪酬的计算方式,那么对企业来说,这将是一个极不方便的方式。并且员工也能根据企业的薪酬计算方式清楚明白地了解自己的工资详情。
(5)支持多级部门汇总
工资管理系统需要支持多级部门汇总。对于企业来说,企业内部可能分为多个不同的部门,不同的部门由于员工人数以及部门性质的不同,薪酬的计算方式等等有可能不尽相同,部门经理也可能根据实际需要从而需要了解本部门内的工资详情,因此,工资管理系统也需要支持多级部门汇总,或者说分部门汇总,有利于部门内部的交流。
(6)多级权限管理和保密措施。
对于企业来说,保密措施是一项必需且十分重要的事项。这关系着企业内部数据的是否容易外流,以及公司内部隐私重要信息的是否安全。而企业内部的薪酬管理也是极为隐私的数据之一,这关系着企业内部员工的待遇福利,并且企业管理者也希望能够只给财务部门开放一定的权限,只负责工资的管理,而不涉及企业内部的隐私数据,以保护企业隐私不被侵犯,因此,多级权限管理和保密措施也是工资管理系统最重要且不可缺少的功能之一。
(7)支持批量数据更改功能
工资管理系统存在的重要意义之一就是支持批量数据更改。人工的工资管理方式正是存在工作量的庞大以及工作难度的增加而无法适应企业规模的发展。在工资管理系统中批量更改数据无疑是极为方便快捷的方式。这在极大程度上减少了时间成本,提高了工资管理的效率。例如对全勤工资的数额变动,财务部门可以通过工资管理系统一键批量更改,就不用财务部门逐个更改,浪费了许多珍贵的时间。
(8)操作方便简单
工资管理系统正是由于简单方便快捷的处理方式才能够为企业所欢迎。对企业来说,他们并不需要多么复杂庞大的处理系统,只需要能够实现简单的工资管理功能,降低时间成本即可,如果操作太过于复杂,那么企业还需要专门且长时间的学习才能够完全掌握工资管理系统的应用,这对于企业来说,也是浪费了大量的人力、物力以及财力,得不偿失,

2.3用户特征

工资管理系统是对企业薪酬支付原则、薪酬策略、薪酬水平、薪酬结构、薪酬构成等进行确定、分配和调整的动态化电子动态管理,能够支持企业自定义薪酬结构以及薪酬计算方式等等。在工资管理系统中,包含三方面用户:企业、财务部门、以及员工。具体用户分析如下:

(1)企业
企业是工资管理系统的主体,企业通常希望能够通过工资管理系统来对自身的薪酬支付原则、薪酬策略、薪酬水平、薪酬结构、薪酬构成等方面进行自定义确定、分配和调整,同时也希望能够开放一定的权限给财务部门进行工资的统一管理,由企业领导者拥有工资管理系统的所有权限,保证企业内部数据的隐私性和保密性,使得企业内部数据不被外泄,因此工资管理系统需要有多级权限管理和严格的保密措施。
(2)财务部门
在工资管理系统中,财务部门是负责对工资的统一管理和调整,即管理员身份。根据企业内部的实际详情,以及企业的薪酬支付原则等在工资管理系统中对工资进行统一的管理和调配。并且能够随时根据实际情况进行批量数据更改,增加或删除员工等等。财务部门不仅是管理员,同时也是普通用户,即员工。
(3)员工
在工资管理系统中,员工是用户主体,可在工资管理系统中查询自己的工资详情,查看管理员所发布的公告,查看电子工资条等等,可修改个人信息,但不具备修改工资信息的权限。
用例图如下:
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:用例模型捕获系统的要求。用例是一种与用户和其他利益干系人沟通系统打算做什么的方式。用例图显示系统与系统外部实体之间的交互。这些外部实体称为参与者。参与者代表的角色可能包括人工用户、外部硬件或其他系统。参与者通常绘制为命名棒图,或者绘制为具有 [执行者] 关键字的类矩形。用例是有意义的工作的单一单元。它提供了对某人或系统外某可观察到的行为的高级别视图。用例的表示法是椭圆。使用用例的符号是一条连接线,其可选箭头显示控制方向。用例可能包含另一个用例的功能,作为其正常处理的一部分。通常假定每次运行基本路径时都会调用任何包含的用例。例如,将用例 <卡标识> 的执行作为用例 < 撤回> 的一部分运行。上述的用例模型中,我们描述了企业的工资管理系统中,管理员和员工两个角色的不同行为。
绘制步骤:首先我们应该新建一个用例模型:
在这里插入图片描述
在这里插入图片描述
其次,根据具体的项目,即工资管理系统来完成图档的绘制。
图例说明:在这里插入图片描述
参与者,代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等),通过它,可以对软件系统与外界发生的交互进行分析和描述,通过它,可以了解客户希望软件系统提供哪些功能。在上述的用例模型中,我们有两个参与者,分别是:员工,以及管理员。在这里插入图片描述
用例,系统为响应参与者引发的一个事件而执行的一系列的处理/动作,而这些处理应该为参与者产生一种有价值的结果,这些动作不但应包含正常情况的各种动作序列,而且应包含对非正常情况时软件系统的动作序列的描述。在上述的用例模型中,我们有两个参与者,即员工和管理员,以及两个参与者对应的用例。在这里插入图片描述
系统边界,表示一个系统的边界,在系统中,我们应该有一个系统边界,根据边界来完成软件系统的开发。在这里插入图片描述
连接,表示参与者和用例之间的连接,有一一对应的关系。在上述的用例模型中,员工有对应的用例,管理员也有与其对应的用例。

2.4约束

(1)整个工资管理系统的设计采用基于B/S的三层体系结构,采用面向对象的分析(OOA)和设计(OOD)技术,使系统具有较高的可扩展性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。延迟和吞吐量是衡量可扩展性的一对指标,我们希望获得低延迟和高吞吐量的系统架构。所谓低延迟,也就是用户能感受到的系统响应时间,比如一个网页在几秒内打开,越短表示延迟越低,而吞吐量表示同时有多少用户能够享受到这种低延迟,如果并发用户量很大时,用户感觉网页的打开速度很慢,这意味着系统架构的吞吐量有待提高。扩展性的目标是用可接受的延迟获得最大的吞吐量。可靠性(可用性)目标:用可接受的延迟获得数据更新的一致性。
可扩展性可以通过软件框架来实现:动态加载的插件、顶端有抽象接口的认真设计的类层次结构、有用的回调函数构造以及功能很有逻辑并且可塑性很强的代码结构。
(2)系统通过数据加密和安装防火墙等措施以保证数据传送和存储的安全性:
1)用户及权限管理:对每一类用户设置特定的操作权限,权限设置可具体到模块的有关操作。
2)数据备份:可定时备份系统数据,防止数据丢失,造成不必要的麻烦。
和防火墙配合使用的数据加密技术,是为提高信息系统和数据的安全性和保密性,防止秘密数据被外部破译而采用的主要技术手段之一。在技术上分别从软件和硬件两方面采取措施。按照作用的不同,数据加密技术可分为数据传输加密技术、数据存储加密技术、数据完整性的鉴别技术和密钥管理技术。
数据传输加密技术的目的是对传输中的数据流加密,通常有线路加密与端—端加密两种。线路加密侧重在线路上而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。
数据存储加密技术的目的是防止在存储环节上的数据失密,数据存储加密技术可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码、加密模块等方法实现;后者则是对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据。
数据完整性鉴别技术的目的是对介入信息传送、存取和处理的人的身份和相关数据内容进行验证,一般包括口令、密钥、身份、数据等项的鉴别。系统通过对比验证对象输入的特征值是否符合预先设定的参数,实现对数据的安全保护。

2.5假设和依赖

2.5.1假设

(1)需要文件导出插件实现工资详情表的导出到电脑,可支持不同格式文件的导出,例如word、pdf等。
(2)需要打印插件实现工资详情表的打印,可支持不同格式以及不同尺寸的纸张的打印,例如32开、16开的纸张尺寸等等,不同的纸张尺寸的打印效果不同。
(3)工资管理系统的数据库流量不能实现用户的信息反馈
(4)用户界面应保持相对一致以及简洁,方便用户使用,同时需要依照用户权限不同,适当改动用户界面。
(5)工资管理系统的使用不要求用户懂得专门的开发语言,只需要网络正常运行,主机工作正常。

2.5.2依赖

(1)需要文件导出插件实现工资详情表的导出到电脑,可支持不同格式文件的导出,例如word、pdf等。
(2)需要打印插件实现工资详情表的打印,可支持不同格式以及不同尺寸的纸张的打印,例如32开、16开的纸张尺寸等等,不同的纸张尺寸的打印效果不同。
(3)工资管理系统的数据库流量不能实现用户的信息反馈
(4)用户界面应保持相对一致以及简洁,方便用户使用,同时需要依照用户权限不同,适当改动用户界面。
(5)工资管理系统的使用不要求用户懂得专门的开发语言,只需要网络正常运行,主机工作正常。

2.6组织机构图

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:组织视角关注于某一组织实体的内部结构。组织视角的视图可以通过相互嵌套的块状图形来展示,也可以通过诸如组织结构图这样的传统方式来进行表述。
绘制步骤:首先我们创建一个新的组织机构图:
在这里插入图片描述

根据我们具体的项目来绘制图档。
图例说明:在工资管理系统中,分为前端界面以及技术支持两个部分,前端界面包括了管理员用户以及员工用户,技术支持组包括设计组、开发组、测试组和维护组。

2.7要求规范观点

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:提供一种将一组需求的结构可视化到两个级别的方法,允许在适合非技术受众的熟悉界面中创建和管理需求。对这个视图中的需求的更改将导致所有其他视图(如图)被自动更新。当需求或业务分析师通常希望在文档或电子表格之类的视图中工作时,通常会使用它,因为他们可以通过这种方式提高生产率,或者因为他们不熟悉在其他视图(如图视图)中工作。
绘制步骤:首先我们查找specify,点击新建一个图:
在这里插入图片描述
其次我们根据具体项目进行图档的绘制。
图例说明:这是我们组的Specification Manager,功能有一键代发工资并查询工资详情、查询个人信息等。

2.8业务流程

在这里插入图片描述
图档适用环境:Microsoft Windows10版本
图档使用目的及绘制步骤:
使用目的:活动图用于显示显示系统中不同工作流的构造方式、启动方式以及从开始到结束可能采取的许多决策路径,它们还可以说明某些活动执行中可能发生并行处理的位置。在此活动图中,描述了用户注册登录查询的工作过程,首先,用户注册后登录或直接登录系统,可查询工资相关信息,也可修改个人信息,之后可退出系统。
绘制步骤:首先绘制开始节点,表示动作的开始,这里表示注册/登录动作的开始。动作结束用结束节点表示,这里表示退出系统:
在这里插入图片描述
其次我们从Toolbox中选取两个Action框,表示其中的一个动作,这里表示查询动作:
在这里插入图片描述
图例说明:
在这里插入图片描述
表示开始节点,在这里插入图片描述
表示结束节点,在这里插入图片描述
表示各个动作,在这里插入图片描述
直线箭头表示动作的控制。

2.9时序图

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:序列图是一种交互图,它显示对象作为沿着页面运行的生命线,其交互随着时间的推移表示为从源生命线到目标生命线的箭头绘制的消息。序列图善于显示哪些对象与哪些对象通信;以及哪些消息触发了这些通信。序列图不用于显示复杂的过程逻辑。序列图强调消息的时间顺序。顺序图以二维图表来显示交互。纵向是时间轴,时间显示为自上而下。横向显示了交互中各个对象的角色。每个对象用方框表示,对象可以表示出对象出自的类,中间用冒号区别,冒号前面是对象名称,后面是类的名字。同时一个方框内对象加上下划线。在上述的序列图中,我们描述了管理员与工资管理进行通信的过程。
绘制步骤:首先我们应该新建一个序列图:
在这里插入图片描述
在这里插入图片描述
其次,根据我们具体的项目来绘制序列图;
在这里插入图片描述
图例说明:参与者,系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。在上述的序列图中,我们有一个参与者,即管理员。生命线,表示序列图中的单个参与者。生命线通常具有包含其对象名称的矩形。如果其名称为"自我",则表示生命线表示拥有序列图的分类器。
有时,序列图将有一个生命线,其头部有一个参与者元素符号。如果序列图由用例拥有,通常也会如此。来自健壮度图的边界、控件和实体元素也可以拥有生命线。在上述的序列图中,管理员、工资管理对象等都有相应的生命线。消息,消息显示为箭头。邮件可以是完整的、丢失的或找到的;同步或异步;呼叫或信号。在下图中,第一条消息是同步消息(由实心箭头表示),包含隐式返回消息;第二个消息是异步的(用线箭头表示),第三个消息是异步返回消息(用虚线表示)。

3.详细需求描述

3.1对外接口需求

3.1.1用户界面

图形用户界面(Graphical User Interface,简称GUI)是指采用图形方式显示的计算机操作用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这接口若要通过在显示屏的特定位置,以"各种美观、而不单调的视觉信息"提示用户"状态的改变",势必得比简单的文字信息呈现,花上更多的计算能力,计算"要改变显示屏哪些光点,变成哪些颜色"。
图形用户界面应当满足以下需求:
(1)造型美观
按照以下介绍和平面设计原则提供视觉吸引力:
1)屏幕元素之间进行有意义的对比
2)创建分组
3)屏幕元素和组对齐
4)提供三维表示方法
5)有效且简单地使用颜色和图形
(2)清晰
界面应该提供清晰的视觉、概念和语言,包括:
1)视觉元素
2)功能
3)隐喻
4)单词和文本
(3)兼容性
为以下内容提供兼容:
1)用户
2)任务和工作
3)产品
4)用户的习惯
(4)可理解性
一个系统应该是容易理解和学习的、 用户应该知道以下内容:
1)怎么办
2)怎么看
3)什么时候做
4)在哪里做
5)为什么这样做
6)该怎么做
7)行为、反馈、可视化展现和信息等一系列活动,应该有合理的顺序,很容易记得并容易放置在内容中
(5)可配置性
1)允许简单的个性化配置、设置或新配置
2)增强控制感
3)鼓励在理解的基础上,发挥更积极作用
(6)一致性
系统的外观、行为和操作应该保持一致性、 类似的组件应该符合以下几点:
1)有一个类似的外观
2)也有类似的用途
3)同样操作、同样的动作应该总是产生相同的结果
4)元素的功能不应该改变
5)标准元素的位置不应改变
(7)可控制性
1)交互必须由用户控制
2)行为应由明确的用户请求引起
3)行为应迅速
4)行动应该能够中断或终止
5)错误不应中断用户行为
6)维护内容必须从用户的角度来出发
7)实现目标的手段应是灵活的,并能与用户的技能、经验、习惯和偏好适应
8)避免操作限制用户
9)允许用户自定义界面,同时始终提供一组适当的默认设置值
(8)直接性
1)提供直接的方法来完成任务
2)可用选择应该是可见的
3)对象执行操作的效果应该是可见的
(9)效率
1)最大限度地减少眼、手的动作,以及其他控制措施
2)各种系统控制之间的转换应该流畅、轻松自如
3)导航路径应尽可能短
4)观看屏幕,眼球运动应该是显而易见的和连续的
5)尽可能预测用户的需要和需求
(10)熟悉
1)使用用户熟悉的概念、语言等
2)保持界面的自然,模仿用户的行为模式
3)使用用户能明白的比喻、内容等
(11)灵活
系统必须是灵活的,满足用户的不同需求,根据以下内容实现:
1)每个用户的知识和技能
2)每个用户的经历
3)每个用户的个人喜好
4)每个用户的使用习惯
5)当前情景条件
(12)宽容
1)容忍和原谅常见的和不可避免的人为错误
2)尽可能避免错误
3)防止可能的灾难性错误
4)当错误发生后,提供建设性的反馈消息
(13)可预测
1)用户的应该能够预见任务的自然进程
2)提供独特和可识别屏幕元素
3)为要执行的操作的结果提供线索
4)所有的预期操作应一致、完整
(14)恢复
系统应有恢复功能:
1)命令或行动可以撤销或修改
2)如果出现问题,可以立即返回到某一个点
3)保证用户永不会因下面的情况丢失数据:错误操作、H / W,S / W或网络、通信问题
(15)响应
1)系统必须迅速响应用户的请求
2)对所有用户操作提供即时确认
3)可视形式
4)文本形式
5)听觉形式
(16)简单
1)尽可能提供简单的接口
2)提供默认值
3)最大限度地减少屏幕校准点
4)让常用操作简单,避免不常用操作复杂化
5)提供均匀性和一致性
6)三种方式来提供简单:首先介绍常见和必要的功能,重点突出重要的功能,隐藏更多复杂和不太常用的功能
(17)透明度
1)让用户专注于任务或作业,而不用关心接口的问题
2)计算机内部运作和提醒应该对用户不可见
(18)权衡
1)最终设计应该是权衡各种设计冲突后,基于一系列的平衡设计
2)人的需求总是优先于技术要求
以下是不同界面的逻辑设计:
(1)管理员界面
1)将要采用的图形用户界面风格,我们将采用layui产品系列的风格,layui产品系列的界面风格符合用户使用的要求:简洁、明晰。并且layui产品系列在用户点击组件或控件时能够显示不同的颜色,提示用户当前的具体操作,使用户能够直观看到自己的操作。在layui产品系列中,组件、控件之间的距离适当,字体大小与颜色均能给到用户视觉上的舒适感。操纵组件时,用户能够明显察觉到操作的流畅感,增强了用户使用的体验感。因此我们选用layui产品系列的界面设计风格。
2)关于屏幕布局,我们将采用bootstrap布局进行设计。Bootstrap布局是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站,其中包括以下组件:下拉菜单、按钮组、按钮下拉菜单、导航、导航条、路径导航、分页、排版、缩略图、警告对话框、进度条、媒体对象等。Bootstrap还自带了13个jQuery插件,这些插件为Bootstrap中的组件赋予了“生命”。其中包括:模式对话框、标签页、滚动条、弹出框等。采用bootstrap布局能够更加方便快捷地设计出使用户更满意的界面,提升用户体验感。
3)将要使用在每一个屏幕(图形用户界面)上的软件组件,应当包括:
下拉选单、标准按钮、导航链接、各种功能组件、消息栏。前面我们已经讲到,我们将采用bootstrap布局进行设计,因此下拉选单我们选择使用bootstrap布局中的下拉菜单控件,保证界面颜色的整体舒适感。标准按钮以及各功能组件我们同样选择使用bootstrap布局,从已有的bootstrap布局中的各类组件中选用我们所需要使用的组件进行设计。消息栏应当放置在界面中较为明显的位置,以便用户能够快速查看消息,不会造成消息的遗漏。
4)关于快捷键的使用,我们将使用普通微软计算机上通用的各种快捷键,如此,不需要用户再重新学习如何使用快捷键进行操作,只需要使用平常会使用的快捷键即可。这样可使用户节省下学习使用快捷键的时间成本。
5)关于各种显示格式的规定:
a)不同情况下文字的对齐方式:在屏幕宽度不同的情况下,文字采用两端对齐的方式,保证文字不会因为屏幕宽度的改变而变形,从而保障用户的整体视觉舒适感。
b)不同情况下数字的表现格式与对齐方式:在屏幕宽度不同的情况下,数字的表现格式统一使用阿拉伯数字,对齐方式同样采用两端对齐方式,保证界面的一致性和简洁性。
6)关于错误信息的显示标准,对于用户界面来说,错误信息应当放置在极为明显的位置,以便用户能够及时查看,了解到自己的操作情况等是否出错,网络状况是否良好等等,从而采取相应的措施进行解决。如果由于网络状况差而导致操作出错或操作迟缓,那么用户就可以采取转换网络的方式来解决网络状况不好的问题。
7)关于管理员用户界面应当具备的功能:
a)管理员用户应当能够对工资项进行编辑,包括修改和增加、删除等,实时根据企业自身内部具体详情进行对工资项的改动,系统实时更新数据,并保存数据。在数据库中进行及时更新,同时在员工界面应当也有及时相应的更新。
b)管理员用户应当能够对员工的个人信息进行改动,同样包括增加、修改和删除等,在新员工注册登录后,在系统中增加新员工的信息,或修改新员工的信息,这是为了避免员工填错个人信息,管理员能够进行一定的修改,以保证员工信息的正确性。同时,若有员工离职,管理员能够在系统中进行删除操作,数据库后台信息也能及时更新,防止在工资代发部门代发工资时产生错误。
c)管理员用户能够一键发放工资。管理员通过系统界面的按钮向系统发送发放工资的请求,系统及时响应,向工资代发部门发送相应的请求,工资代发部门接收到请求后再进行相关的工资代发操作。
d)管理员用户能够导出工资详情表到电脑或者打印工资详情表。这是由系统的某些组件完成的,例如导出文件插件、打印插件等等。通过导出或打印,管理员用户能够及时保存相关数据,防止由于系统错误而导致数据的错误。
(2)员工界面
1)将要采用的图形用户界面风格,我们将采用layui产品系列的风格,layui产品系列的界面风格符合用户使用的要求:简洁、明晰。并且layui产品系列在用户点击组件或控件时能够显示不同的颜色,提示用户当前的具体操作,使用户能够直观看到自己的操作。在layui产品系列中,组件、控件之间的距离适当,字体大小与颜色均能给到用户视觉上的舒适感。操纵组件时,用户能够明显察觉到操作的流畅感,增强了用户使用的体验感。因此我们选用layui产品系列的界面设计风格。
2)关于屏幕布局,我们将采用bootstrap布局进行设计。Bootstrap布局是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站,其中包括以下组件:下拉菜单、按钮组、按钮下拉菜单、导航、导航条、路径导航、分页、排版、缩略图、警告对话框、进度条、媒体对象等。Bootstrap还自带了13个jQuery插件,这些插件为Bootstrap中的组件赋予了“生命”。其中包括:模式对话框、标签页、滚动条、弹出框等。采用bootstrap布局能够更加方便快捷地设计出使用户更满意的界面,提升用户体验感。
3)将要使用在每一个屏幕(图形用户界面)上的软件组件,应当包括:
下拉选单、标准按钮、导航链接、各种功能组件、消息栏。前面我们已经讲到,我们将采用bootstrap布局进行设计,因此下拉选单我们选择使用bootstrap布局中的下拉菜单控件,保证界面颜色的整体舒适感。标准按钮以及各功能组件我们同样选择使用bootstrap布局,从已有的bootstrap布局中的各类组件中选用我们所需要使用的组件进行设计。消息栏应当放置在界面中较为明显的位置,以便用户能够快速查看消息,不会造成消息的遗漏。
4)关于快捷键的使用,我们将使用普通微软计算机上通用的各种快捷键,如此,不需要用户再重新学习如何使用快捷键进行操作,只需要使用平常会使用的快捷键即可。这样可使用户节省下学习使用快捷键的时间成本。
5)关于各种显示格式的规定:
a)不同情况下文字的对齐方式:在屏幕宽度不同的情况下,文字采用两端对齐的方式,保证文字不会因为屏幕宽度的改变而变形,从而保障用户的整体视觉舒适感。
b)不同情况下数字的表现格式与对齐方式:在屏幕宽度不同的情况下,数字的表现格式统一使用阿拉伯数字,对齐方式同样采用两端对齐方式,保证界面的一致性和简洁性。
6)关于错误信息的显示标准,对于用户界面来说,错误信息应当放置在极为明显的位置,以便用户能够及时查看,了解到自己的操作情况等是否出错,网络状况是否良好等等,从而采取相应的措施进行解决。如果由于网络状况差而导致操作出错或操作迟缓,那么用户就可以采取转换网络的方式来解决网络状况不好的问题。
7)关于员工用户界面应当具备的功能:
a)员工用户应当能够查询自己的工资详情,但是无法修改,不具有修改工资的权限,通过工资详情了解到自己的工资组成,若有疑问,应当寻找企业财务部门进行解决。
b)员工用户应当能够修改个人基本信息,例如姓名、部门、岗位等等,根据自身实际情况进行修改,以上基本信息应当在员工注册登录工资管理系统时填写完毕,为防止信息错误,员工用户能够随时进行更改操作,系统进行实时更新,并在管理员用户界面也有相应的更新。

3.1.2硬件接口

(1)串口
串口是串行接口的简称,分为同步传输(USRT)和异步传输(UART)。在同步通信中,发送端和接收端使用同一个时钟。在异步通信中,接收时钟和发送时钟是不同步的,即发送端和接收端都有自己独立的时钟和相同的速度约定。
1)RS232接口
RXD从终端接收数据到计算机,TXD从计算机发送数据到终端。
2)异步串口的通信协议
作为UART的一种,异步串口的工作原理是将传输数据的每个字符一位接一位地传输。其中,起始位先发出一个逻辑“0”的信号,表示传输字符的开始。紧接着起始位之后,数据位开始工作,数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码,从最低位开始传送,靠时钟定位。资料位加上奇偶校验位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。停止位是一个字符数据的结束标志,可以是1位、1.5位、2位的高电平。空闲位处于逻辑“1”的状态,表示当前线路上没有资料传送。波特率是衡量资料传送速率的指针,表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10*120=1200字符/秒=1200波特。在嵌入式处理器中,通常都集成了串口,只需对相关寄存器进行设置即可使用。
(2)SPI(外围设备接口)
SPI是Serial Peripheral Interface的缩写,顾名思义,即外围设备接口。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。SPI 用 于CPU与各种外围器件进行全双工、同步串行通讯。它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从 机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。当SPI工作时,在移位寄存器中的数据逐位从输出引脚 (MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据 进入移位寄存器中。即完成一个字节数据传输的实质是两个器件寄存器内容的交换。主SPI的时钟信号(SCK)使传输同步。SPI总线有四种工作方式,其中使用的最为广泛的是SPI0和SPI3方式。如果硬件芯片没有SPI总线硬件模块,就得用软件模拟,也就是通过普通IO口输出高低电平来实现上面的通信“时”和“序”。它比硬件SPI相比,速度要慢很多。在小封装引脚的MCU上,比如8SSOP封装的MCU常用这种方法。
(3)I2C总线
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出.需通过上拉电阻接电源VCC.当总线空闲时.两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路.在总线上消耗的电流很小,因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容.而线路中电容会影响总线传输速度.当电容过大时,有可能造成传输错误.所以,其负载能力为400pF,因此可以估算出总线允许长度和所接器件数量。
(4)TCP/IP
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;而网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。

3.1.3软件接口

我们知道,计算机世界里的接口这两个字具有两种众所周知的含义:其一是指软件本身的狭义“接口”,比如各种软件开发API等。其二则指的是人与软件之间的交互界面。软件类接口是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。我们需要引用到下列接口:
(1)Java接口
Java里面由于不允许多重继承,所以如果要实现多个类的功能,则可以通过实现多个接口来实现。Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现。OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型做为java结构层次上的顶层。
Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。
一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。
从上述不难看出,Java接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。因此在实际应用中我们也应该注意这些问题。
(2)面向对象的接口
一个接口内,允许包含变量、常量等一个类所包含的基本内容。但是,接口中的函数不允许设定代码,也就意味着不能把程序入口放到接口里。由上可以理解到,接口是专门被继承的。接口存在的意义也是被继承。和C++里的抽象类里的纯虚函数是相同的。不能被实例化。定义接口的关键字是interface,继承接口的关键字是implements,相当于继承类的extends。需要注意的是,当继承一个接口时,接口里的所有函数必须全部被覆盖。当想继承多个类时,开发程序不允许,报错。这样就要用到接口。因为接口允许多重继承(,),而类不允许。所以就要用到接口。

3.1.4通信接口

通信接口(communication interface )是指中央处理器和标准通信子系统之间的接口。 如:RS232接口。RS232接口就是串口,电脑机箱后方的9芯插座,旁边一般有 “|O|O|” 样标识。计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”。接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.N.9107723 内有三对双绞线,每对由22# AWG组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为9105856-04是22#AWG的四芯电缆。通信接口的类型有:
(1)232-C总线
232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
(2)RS-485总线
RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从(Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。

3.2功能需求

3.2.1系统特性

在工资管理系统中应当包含的系统特性有:
(1)根据不同用户登录不同的用户界面,可进行对应的用户操作
(2)无论是管理员还是员工用户,注册登录时都应当输入正确的账号和密码,填写正确的个人基本信息。
(3)管理员用户应当能够对工资项进行编辑,包括修改和增加、删除等
(4)管理员用户应当能够对员工的个人信息进行改动,同样包括增加、修改和删除等
(5)管理员用户能够一键发放工资。。
(6)管理员用户能够导出工资详情表到电脑或者打印工资详情表。
(7)员工用户应当能够查询自己的工资详情,但是无法修改,不具有修改工资的权限,通过工资详情了解到自己的工资组成,若有疑问,应当寻找企业财务部门进行解决。
(8)员工用户应当能够修改个人基本信息,例如姓名、部门、岗位等等

3.2.1.1特性描述

以下是对上述系统特性的具体描述:
(1)根据不同用户登录不同的用户界面,可进行对应的用户操作,例如,管理员用户可以对工资项进行修改,但员工用户无法对工资项进行修改,只能查询。
(2)无论是管理员还是员工用户,注册登录时都应当输入正确的账号和密码,填写正确的个人基本信息。
(3)管理员用户应当能够对工资项进行编辑,包括修改和增加、删除等,实时根据企业自身内部具体详情进行对工资项的改动,系统实时更新数据,并保存数据。在数据库中进行及时更新,同时在员工界面应当也有及时相应的更新。
(4)管理员用户应当能够对员工的个人信息进行改动,同样包括增加、修改和删除等,在新员工注册登录后,在系统中增加新员工的信息,或修改新员工的信息,这是为了避免员工填错个人信息,管理员能够进行一定的修改,以保证员工信息的正确性。同时,若有员工离职,管理员能够在系统中进行删除操作,数据库后台信息也能及时更新,防止在工资代发部门代发工资时产生错误。
(5)管理员用户能够一键发放工资。管理员通过系统界面的按钮向系统发送发放工资的请求,系统及时响应,向工资代发部门发送相应的请求,工资代发部门接收到请求后再进行相关的工资代发操作。
(6)管理员用户能够导出工资详情表到电脑或者打印工资详情表。这是由系统的某些组件完成的,例如导出文件插件、打印插件等等。通过导出或打印,管理员用户能够及时保存相关数据,防止由于系统错误而导致数据的错误。
(7)员工用户应当能够查询自己的工资详情,但是无法修改,不具有修改工资的权限,通过工资详情了解到自己的工资组成,若有疑问,应当寻找企业财务部门进行解决。
(8)员工用户应当能够修改个人基本信息,例如姓名、部门、岗位等等,根据自身实际情况进行修改,以上基本信息应当在员工注册登录工资管理系统时填写完毕,为防止信息错误,员工用户能够随时进行更改操作,系统进行实时更新,并在管理员用户界面也有相应的更新。

3.2.1.2刺激/响应序列

刺激:用户请求注册/登录
响应:系统显示注册/登录界面
刺激:管理员用户请求按部门/按时间/按姓名查询工资详情
响应:系统显示部门/年度/月度/某员工具体的工资详情表
刺激:管理员用户请求修改工资项
响应:系统显示工资项详情表,并显示可修改/编辑工资项
刺激:管理员用户请求导出工资详情表
响应:系统显示导出何种文件格式的工资详情表,例如word或pdf文档,并导出到电脑。
刺激:管理员用户请求打印工资详情表
响应:系统连接到打印机,打印工资详情表
刺激:员工用户请求查询工资详情
响应:系统显示该员工的工资详情表
刺激:员工用户请求修改个人信息
响应:系统显示个人信息界面,并提示可修改操作

3.3性能需求

(1)用户发出请求,系统响应时间应不超过10秒
(2)系统首页打开速度不应超过5秒,系统登录速度不应超过15秒
(3)系统能在高于实际系统运行压力1倍的情况下,稳定运行12小时及以上
(4)系统能支撑的每天登录系统的人次为200万及以上
(5)在100个及以上的并发用户的高峰期,系统的基本功能,例如增加、删除、修改信息等,处理能力至少达到10TPS
(6)查询、增加、删除、修改等基本服务支持200万及以上个在线用户

3.4质量属性

(1)可用性。可用性是指系统正常工作的时间所占的比例。可用性会遇到系统错误,恶意攻击,高负载等问题的影响。当年在一家存储公司开发管理软件,“HA”(High Availability)是一个经常被提及的性能属性。“DU”(Data Unavailable)和"DL"(Data Lost)都是非常严重的可用性问题。可用性面临的主要问题有:物理层失效:比如数据库服务器宕机,停电, 网络欠费被中国电信断网。恶意攻击:例如DOS(Deny of Service)攻击。软件的设计问题或BUG:比如错误的资源控制锁导致某个资源长期被占用,各种core dump,out of memery, out of stack。升级或日常维护。如何设计故障转移(failover),一般可以使用冗余来消除系统中的单点故障。可以是各种冷热备份,分布式系统。如何设计在线升级。等等
(2)灵活性。灵活性是指系统是否能够很容易的适应环境和需求的变化。例如系统能否在100个并发用户的高峰期依旧可以正常运行。
(3)概念一致性。概念一致性的问题主要表现在以下的方面:在一个模块的设计中混杂不同的问题域,不同的组织或者团队负责系统中的同一个功能。没有统一的代码规范。为了满足后向兼容,系统中存在新旧两套不同的代码栈。

3.5需求跟踪

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:需求跟踪是指跟踪一个需求使用期限的全过程,需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他类型的需求,体系结构,其他设计部件,源代码模块,测试,帮助文件等。需求跟踪为我们提供了由需求到产品实现整个过程范围的明确查阅的能力。需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。需求跟踪有两种方式:
(1)正向跟踪。检查《产品需求规格说明书》中的每个需求是否都能在后继工作成果中找到对应点。
(2)逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处。
正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后继工作成果的对应关系。跟踪能力(联系)链(traceability link)使你能跟踪一个需求使用期限的全过程,即从需求源到实现的前后生存期。跟踪能力是优秀需求规格说明书的一个特征。为了实现可跟踪能力,必须统一地标识出每一个需求,以便能明确地进行查阅。在上述的需求跟踪图中,我们描述的是工资管理系统的需求跟踪图,企业作为利益相关方,提出了工资管理系统的相关需求。
绘制步骤:首先我们需要新建一个需求跟踪图:
在这里插入图片描述
在这里插入图片描述
其次,我们理出利益相关方stakeholder,根据利益相关方的需求绘制图档:
在这里插入图片描述
图例说明:在这里插入图片描述
Requirement需求,表示某个具体的需求,在上述的需求跟踪图中,我们有五个需求,分别是:方便快捷的工资管理方式、基于互联网的工资管理系统、快速计算并发放工资、直观查询工资详情、可增加或删除员工。在这里插入图片描述
TestCase测试实例,表示某个具体的实例方法,在上述的需求跟踪图中,我们有一个测试实例,即员工管理实例。在这里插入图片描述
stakeholder,利益相关方,在上述的需求跟踪图中,工资管理系统的利益相关方即为企业。在这里插入图片描述
UseCase,用例,在上述的需求跟踪图中,工资管理系统的用例为工资管理。在这里插入图片描述
Derive派生,表示由需求而派生出的其他需求或方法,表示一种派生关系。在上述的需求跟踪图中,由利益相关方,即企业对于方便快捷的工资管理方式所派生出的基于互联网的工资管理系统需求,就是一个派生出来的需求。在这里插入图片描述
Satisfy,表示一种适应关系,即适应需求的方法。在上述的需求跟踪图中,为了适应派生出的直观查询工资详情需求,工资管理用例随之产生,可满足查询功能。

3.6需求实现观点

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:目的是允许系统工程师创建图表模型元素之间的关系和相关的需求可以可视化包括其他RequirementsIt通常用作模型和元素如块,用例和测试用例的定义和相关要求他们满足。然而,可以在模型发展的任何阶段使用图表的形式。
绘制步骤:搜索Requirements Realization Viewpoint,新建一个新的图
在这里插入图片描述
根据工资管理项目画出下图:
在这里插入图片描述
图例说明:我们的目标是该系统能在市场中保持下去,能获取新的需求,开发新的业务。

3.7复合需求层次

在这里插入图片描述
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:提供一种可视化需求集合的结构的方法,通过在元素右下角的标记指出一个或多个需求具有子元素。复合模式可以应用到任何级别。当系统工程师需要显示需求层次结构的单个级别,但又想表明这些需求是由其他需求组成的,允许向下钻到其他级别时。
绘制步骤:在EA搜索栏中搜索Composite Requirement Hierarchy,新建一个新的图
在这里插入图片描述
根据我们项目的情况画出如下的图。
在这里插入图片描述
图例说明:我们组的Composite Requirement Hierarchy,功能需求为3个,其中有工资管理、用户管理、考勤管理。

4项目数据

4.1部署

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中,一个系统模型只有一个部署图,部署图通常用来帮助理解分布式系统。软件实现完成后,用部署图画出软,硬件之间的物理拓扑结构,清晰的说明系统的使用部署,环境等情况。通过部署图,系统的相关人员可以知道软件应该安装在具体的那个硬件之上。在此部署图中,描述的则是可执行程序如何部署到网络结构中,并连接到主机上的过程。
绘制步骤:首先,我们创建一个新的部署图:
在这里插入图片描述
其次,我们给每个构件定义新的内容,节点定义为主机,Artifact定义为可执行程序,deployment spec则定义为源代码。这里展示了源代码连接到可执行程序的过程,可执行程序通过网络交互通信协议连接到主机,从而在主机中可以看到可执行程序并使用:
在这里插入图片描述
图例说明:在这里插入图片描述
表示一个节点实例,节点是存在与运行时的代表计算机资源的物理元素,可以是硬件,也可以是运行于计算机上的软件系统,例如Linux、Windows Server等操作系统、防火墙等,节点用三维盒装表示。在这里插入图片描述
表示一个连接,节点之间的连线表示系统之间进行交互的通信路径,这个通信路径称为连接,在连接中有网络协议。在上述部署图中,可执行程序与主机之间的连接表示可执行程序通过网络协议、交互通信协议等与主机之间进行交互的通信路径。在这里插入图片描述
物件Artifact是软件开发过程中的产物,包括过程模型(比如用例图、设计图等)、源代码、可执行程序、设计文档、测试报告、需求原型、用户手册等等。物件表示如下,带有关键字«artifact»和文档图标。在上述部署图中,Artifact表示系统的可执行程序,是软件开发过程中的产物。
在这里插入图片描述
Deployment Specification,部署规范、部署说明、部署描述,部署规范是存放部署产品所依据的参量信息的一种特殊制品。部署规范作为一种特殊制品,一般作为文件的形式存在,部署规范中存放的所规范的制品的部署参量,这些部署参量被称为部署特征符。部署规范表示为带构造型«deployment spec»的一个矩形框。部署规范的名字用标识符表示,如果需要,可以把部署特征符写到矩形框里面。在上述部署图中,部署规范表示可执行程序的源代码,与可执行程序之间是依赖关系,部署规范依赖所部署的制品,即可执行程序,同时又是所部署制品,即可执行程序的描述。在这里插入图片描述
dependency虚线表示依赖关系,可用于两个组件之间,表示组件之间具有依赖关系,箭头指向的一方是被依赖的一方,另一方则是需要依赖的一方。在上述的部署图中,dependency表示源代码依赖于可执行程序。

4.2模型

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的: 领域模型也叫概念模型,是对现实世界概念类的描述,并非软件对象描述,领域模型不是数据模型。在uml中领域模型被描述为一组没有操作的类图,具体说不是Java里面的软件对象或者具有职责行为的对象。他可以展现领域对象或概念类,概念类之间关联,概念类的属性。三个要素,类名,属性 ,关联。任何属性都不表示外键,应该直接使用关联关联到外键所在类。产生于分析阶段,由系统分析师绘制,主要作用是描述业务实体的静态结构,包括业务实体、各个业务实体所具有的业务属性及业务操作、业务实体之间具有的关系。虽然这个类图也叫“类图”,但是说实话,它和编程中的“类”实在是没啥关系,因为最后的系统中可能根本没有类和它们对应,而且很多最后系统中的类如控制类和界面类这套类图中也没有。也就是说这套图和具体技术无关,也不是画给程序员看的,它只是表达业务领域中的一个静态结构。在上述的领域图中,我们表达了工资管理系统中的一个静态结构,它包括公司、管理员和员工三个部分。
绘制步骤:首先我们应该新建一个领域图:
在这里插入图片描述
在这里插入图片描述
其次,根据我们具体的项目,即工资管理系统进行图档的绘制:
在这里插入图片描述
图例说明:在这里插入图片描述
class,表示一个类,在上述的领域图中,我们有三个类,分别是:公司、员工和管理员。在类中,不仅仅要给出类的名称,我们还应该在图中说明类的概念、用处等等。在这里插入图片描述
Associate,联系,表示两个类之间存在的联系,如在上述的领域图中,管理员和员工两个类之间就存在管理工资的联系。在这里插入图片描述
Compose,构成,表示箭头指向的一方构成箭头没有指向的一方的某个部分。如在上述的领域图中,表示公司的工资管理系统由管理员进行管理。

4.3数据库表格

在这里插入图片描述
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:在EA中需要数据库表结构建模,但由于重写数据库十分繁琐,因此使用EA工具下的ODBC导入Schema功能进行导入已写的数据库表,建模的过程就会简单很多。
绘制步骤:我们按照以下步骤进行MySQL Install:
在这里插入图片描述
在这里插入图片描述
首先我们点击DatabaseBuilder创建一个空的database repository:
在这里插入图片描述
随后我们可以看到如下界面:
在这里插入图片描述
然后我们向ExecuteDDL写入新建数据表的语句并进行execute:
在这里插入图片描述
创建新数据源:
在这里插入图片描述
最后我们新建一个model:
在这里插入图片描述
最后根据我们的项目,即工资管理系统进行绘制即可。
图例说明:在这里插入图片描述
Table,表,即数据库中的组成结构之一,也是我们对数据库表进行建模的主要角色。在这里插入图片描述
数据库连接,表示系统中众多数据库之间的联系方式。在这里插入图片描述
表示两个组件之间的联系,这里我们用来表示表与表之间的联系。

4.4数据流

在这里插入图片描述
图档适用环境:Micorsoft Windows10
图档使用目的及绘制步骤:
使用目的:数据流图 (DFD) 用于表示业务信息系统中的数据流,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。它表达了系统中的据传从输入到存储间所涉及的程序。数据流图可以分为逻辑形和物理形。逻辑数据流图描述了用以完成某业务功能所涉及的、业务层面的数据流动, 物理数据流图则描述系统层面的数据流动。数据流图以将用以寻找、编辑、存储和分发数据的功能或过程图像化,方便用户和系统设计人员沟通。数据流图的结构也容让开发人员从高点分析系统,继而生成一系列用以深入分析的图表。数据流图可用于:表达系统的逻辑信息流、用于寻找系统需求、简单、以理解的图形符号、建立手动和自动系统需求。数据流图的基本要点时描绘”做什么“,而不关心“怎么做”。数据流图通常忽略出错处理,也不包括诸如打开和关闭文件等内部处理。数据流图的一大原则是数据不能自行转换成另一形态,数据必须经由某程序的处理才可被分发至系统的某个部份。物理数据流程图显示系统将如何被建设起来,包括系统中的硬件、软件、文件和人员。它使逻辑数据流图中描述的程序正确地实现以达到业务目标。在上述数据流图中,我们主要描述了在工资管理系统中,员工实体和工资实体之间的数据流分析。
绘制步骤:首先,我们新建一个数据流图:
在这里插入图片描述
使用相关图例进行绘制:
在这里插入图片描述
在这里插入图片描述
在这里,我们绘制数据流图来表示在工资管理系统中员工实体和工资实体之间的数据流分析,员工实体的数据输入到系统中,在系统中经过一定的数据处理后产生输出,并返回到员工实体中。同理,工资实体中的数据输入到系统中,经过一定的数据处理后产生输出,并返回到工资实体中。这就是数据流图的工作过程。
图例说明:在这里插入图片描述
加工或处理,加工是对数据进行数据处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。在这里插入图片描述
External软件系统外部环境中的实体,也就是外部实体。外部实体是向系统提供数据或从系统接收输出的人、部门、外部组织或其他信息系统。外部实体是信息系统边界之外的组件,它们代表了信息系统如何与外界交互,只提供或接收数据,不处理数据,外部实体也被称为终止符,因为它们是数据的源头或目的地。必须通过数据流将外部实体连接到程序。一般外部实体只出现在数据流图的顶层图中。在上述的数据流图中,我们一共有两个外部实体:员工实体,以及工资实体。在这里插入图片描述
数据流,表示特定数据的流动方向,是数据在系统内传播的路径。在上述的数据流图中,数据流就表示了外部实体,即员工实体和工资实体与系统之间的数据流动方向,也就是数据在系统内传播的路径。

4.5数据库表格建立

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:在EA中建立数据库,使用数据库建模是软件开发过程中极为重要的一步,建模后再具体使用相关软件进行开发,为我们节省了许多时间成本和精力。
绘制步骤:我们按照以下步骤进行绘制:
在这里插入图片描述
在这里插入图片描述
首先添加Data Model:
在这里插入图片描述
依据我们项目的具体情况进行绘制即可:
在这里插入图片描述
图例说明:在这里插入图片描述
Table,表,即数据库中的组成结构之一,也是我们对数据库表进行建模的主要角色。在这里插入图片描述
数据库连接,表示系统中众多数据库之间的联系方式。在这里插入图片描述
表示两个组件之间的联系,这里我们用来表示表与表之间的联系。

四.需求测试与改善计划书

1引言

在项目启动之后,我们应当开始着手与软件项目有关的计划,包括软件需求测试与改善计划。软件需求测试与改善计划是整个开发计划的重要组成部分,但同时,它又依赖于软件组织过程、软件项目的总体计划以及软件项目的总体质量等。在软件需求测试与分析计划中,我们首先应当确认好测试的目标和准则、测试的风险与应对策略,以及测试项目的估算与进度安排。其中,“测试需求分析”是软件需求测试计划中的重要任务之一,正确分析之后才能够在测试需求的基础上制定相应的测试策略,并且对测试的风险、时间、资源、成本以及任务等等进行估算。
在软件需求测试中,我们的主要目标是解决“测试什么需求”、“需求测试分析”的问题,“测试什么需求”一般来自于需求规格分析说明书中的功能需求部分,这些已经确定了的需求必定是来自于客户提出的要求,需求分析人员将这些客户需求整理成册,以供我们测试人员查询。在需求测试过程中,我们所测试的需求应当全部覆盖已定义的业务流程,以及功能和非功能性各方面的需求,例如,在工资管理系统中,我们需要测试注册、登录、管理员查询工资表等等功能需求。
软件需求分析测试是我们设计测试用例的依据,有助于保证我们的测试质量和进度,同时,软件需求测试也是衡量测试覆盖率的重要指标。

2测试目标和准则

2.1测试目标

我们这次软件需求测试的目标如下:
(1)质量属性测试。包括可用性、可扩展性、可维护性、安全性等等
(2)性能测试。包括系统的响应时间、数据吞吐量、系统运行时的各性能指标数据、CPU使用率等等
(3)负载测试。包括系统在长时间或超长负荷下的运行稳定性、系统运行的极限条件以及正常运行条件等等。
(4)容错测试。包括输入异常数据或进行异常操作时系统是否出错甚至崩溃,系统出错甚至崩溃时,用户数据是否仍能完整保留或恢复等等。

2.2测试准则

(1)所有的测试都应当追溯到用户需求,寻求与用户需求不相符的程序或功能,从而加以改善。
(2)应当在测试工作真正开始前的较长时间内就进行测试计划。测试计划可在需求模型完成建立时开始,详细的测试用例定义可在设计需求模型被确定后立即开始。
(3)将Pareto原则应用于软件需求测试。Pareto定律是指绝大多数的问题或缺陷产生于相对有限的起因。就是常说的二八定律,即20%的原因造成80%的问题。只有找到影响项目质量的主要因素,才能有的放矢,取得良好的经济效益。pareto图中根据柱图顶端生成的曲线为Pareto曲线,说明了项目实施失败的各种原因。其中,各影响因素的排列顺序用于指导纠正措施,即项目组应该首先解决引起更多缺陷的问题。
(4)测试应当从“小规模”开始,逐渐转向“大规模”。最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后转向在整个系统中寻找错误。
(5)要明白,穷举测试是不可能的,即使是一个小程序,其路径排列的数量也是十分庞大的,因此,在测试中不可能运行路径的每一种组合,即穷举测试是不可能的。
(6)为了达到最佳效果,应当由独立的第三方来构造测试。因此,开发软件系统的工程师应当避免检查自己的程序。
(7)应当妥善保存一切测试过程文档,以便于后期的测试重现。
(8)设计测试用例时应当考虑到合法的输入或不合法的输入以及各种边界条件、特殊情况,例如网络异常中断、电源断电等等。

3测试需求分析

1.明确需求范围

(1)按管理员模块划分功能:
(a)注册管理员身份、登录管理员系统
(b)增加或删除、修改、查询工资项
(c)增加、修改、查询或删除员工信息
(d)一键申请代发工资到员工账号,并发放电子工资条
(e)导出或打印工资详情表
(f)发布公告
(g)退出系统
(2)按员工模块划分功能:
(a)注册员工账号、登录员工系统
(b)修改员工个人基本信息
(c)查询员工个人工资详情
(d)接收电子工资条
(e)查看公告
(f)退出系统

2.每一个功能的业务处理过程

每一个功能的业务流程图我们使用Enterprise Architect绘制业务流程图表示如下:
管理员模块:
(1)注册/登录业务流程图:
在这里插入图片描述
(2)增加/修改/删除工资项业务流程图:
在这里插入图片描述
(3)增加/修改/删除员工信息业务流程图:
在这里插入图片描述
(4)查询员工工资表业务流程图:
在这里插入图片描述
(5)一键申请代发工资到员工账号,并发放电子工资条业务流程图:在这里插入图片描述
(6)导出/打印工资详情表业务流程图:
在这里插入图片描述
(7)发布公告业务流程图:
在这里插入图片描述
员工模块:
(1)注册/登录员工账号业务流程图:
在这里插入图片描述
(2)修改员工个人基本信息业务流程图:
在这里插入图片描述
(3)查询员工个人工资详情表:
在这里插入图片描述
(4)查看公告业务流程图:
在这里插入图片描述

3.不同的功能点作业务的组合

在工资管理系统中,不同的功能点可作为八个业务的组合,它们分别是:注册业务、登录业务、查询业务、修改业务、删除业务、发布和查看业务、导出和打印业务、发放工资业务。
其中,注册业务包括管理员注册以及员工注册,这两者都需要先注册相应的账号,方可登录系统。登录业务包括管理员登录,以及员工登录,登录信息需与注册信息一致。查询业务包括管理员查询工资项、管理员按部门/时间/员工等关键词查询特定的工资详情表、员工查询个人的工资详情表。修改业务包括管理员修改工资项、管理员修改员工信息、员工修改个人信息三项。管理员修改工资项需按照企业内部实际详情进行修改,若员工填写信息有误,管理员也可进行修改,员工也可自行进行修改。管理员修改员工信息也包括增加员工信息。删除业务包括管理员删除工资项、管理员删除员工信息。当企业内部的薪酬结构有变化时,管理员可视情况进行对某些工资项的删除或修改等,当员工离职后,管理员可在系统中进行删除该员工的信息。发布和查看业务包括管理员发布公告以及查看公告、员工查看管理员已发布的公告,员工不具有编辑和发布公告的权限。导出和打印业务同样只有管理员方可执行,负责对工资详情表的打印或导出。发放工资业务同样由管理员执行,管理员通过系统发送申请发放工资,系统将申请发送到代发部门,代发部门接收申请,再进行工资的发放,发放工资成功后向员工发放电子工资条,员工界面接收电子工资条。
以下是不同功能点作业务的组合图:
在这里插入图片描述

4.挖掘显式需求背后的隐式需求

显式需求:管理员和员工的注册登录需求
隐式需求:注册或登录时系统需要分角色进行相应的注册与登录
显式需求:管理员或员工查询工资详情表需求
隐式需求:管理员能够查询所有员工的工资详情表,员工只能查询到自己的工资详情表。并且,可按不同的关键词进行查询,例如按部门或按时间进行查询。
显式需求:管理员修改工资表或员工信息
隐式需求:管理员可修改所有员工的信息,员工只能修改个人信息,且员工不具备修改工资表的权限。
显式需求:管理员删除工资项或员工信息
隐式需求:两者都是只有管理员才能进行的业务
显式需求:管理员可导出文件到电脑或打印文件
隐式需求:导出文件时可选择格式,例如word、pdf等,打印文件时可选择纸张尺寸,例如16开、32开等。
显式需求:管理员一键代发工资
隐式需求:管理员并不是直接发放工资到员工账号,而是需要发送申请到代发部门,代发部门再进行发放工资的操作。
4测试项目的估算与进度安排
测试工作量的估算包括测试范围与测试任务以及测试进度安排。
以下是工资管理系统中测试工作量的估算与进度安排:
测试工作量估算:

测试范围测试任务进度安排
包括管理员和员工两个不同角色的注册与登录,后台数据库能够及时更新用户注册信息,前端页面能够准确分角色进入不同的界面,显示正常注册/登录业务测试:1-3天运行有误代码修改:1-3天再次测试:1-2天
包括管理员对工资项、员工信息、工资详情表的查询、员工对工资详情以及个人信息的查询,权限分明,系统不会产生错乱,并且前端应当能正确展示用户所查询的信息查询业务测试:1-3天运行有误代码修改:1-5天再次测试:1-3天
包括管理员对工资项、员工信息、公告的修改,以及员工对个人信息的修改,前端页面进行修改后,后台数据库应当能够及时更新,并且前端页面能够正确展示出修改后的界面修改业务测试:1-2天 运行有误代码修改:1-5天再次测试:1-2天
包括管理员对工资项的删除、对员工信息的删除、对公告的删除,员工对个人信息的某些信息项的删除,前端页面被修改后,后台数据库应当有及时更新数据删除业务测试:1-3天运行有误代码修改:1-4天再次测试:1-2天
包括管理员发布公告、查看公告,以及员工查看公告。管理员在前端页面编辑公告,后台数据库进行实时更新,员工能够及时查看公告内容发布和查看业务测试:1-2天运行有误代码修改:1-4天再次测试:1-2天
通过安装插件来实现导出文件和打印文件,系统能够发送正确且及时的指令到打印机,打印机正常工作,导出文件时应当有文件格式的选择,并且导出正确的文件格式到电脑进行保存导出和打印业务测试:1-2天运行有误代码修改:1-2天再次测试:1-2天
只有管理员才有申请发放工资的权限,管理员在前端页面发出发放工资的请求后系统发送申请到代发部门,代发部门再发放工资到员工账户,同时发放电子工资条到员工界面上,员工界面应当能及时接收电子工资条发放工资业务测试:1-3天运行有误代码修改:1-5天再次测试:1-3天
在100个并发用户的高峰期,系统应当能够维持稳定运行,在逐渐加大系统压力过程中测试系统稳定性系统稳定性测试:1-3天运行有误代码修改:无法估计

5测试风险和测试策略

测试风险:
(1)测试人员对业务了解不全面
(2)测试人员经验不足
(3)用户需求发生变化
(4)不可抗力因素造成的危害,例如网络异常中断等
(5)程序设计错误,导致程序实现困难
(6)开发环境不稳定

测试策略:
(1)测试与开发人员、需求分析人员保持时刻、足够的沟通,明确业务需求、了解代码结构。
(2)测试时以周为时间单位,定期记录测试情况,形成电子文档报告。
(3)定期备份程序设计相关材料以及测试文档,防止由于不可抗力因素导致重要数据丢失。
(4)选用较为稳定的开发环境和测试环境,尽量减少不可抗力因素造成的危害。
(5)需求分析人员时刻根据用户需求的变化进行修改需求规格说明文档,测试人员相应修改测试计划。

6测试计划的内容与编制

我们按照不同业务进行工资管理系统的测试,以下是测试计划的具体内容:

测试目标测试概要测试范围测试重点质量目标
注册/登录业务包括管理员和员工两个不同角色的注册登录重点测试业务主要测试分角色是否能够成功注册并登录进系统,并且数据库应当有相应的数据显示系统应当能分角色进行注册和登录,并进入对应的用户界面,同时后台数据库能够保存用户已注册的信息,再次登录时可直接使用手机号和密码进行登录
查询业务包括管理员查询工资项、管理员按部门/时间/员工等关键词查询特定的工资详情表、员工查询个人的工资详情表重点测试业务主要测试保存在数据库中的工资表、工资项等能否正确显示在查询界面上,管理员的查询是否会跟员工的查询互相混乱系统应当能正确查询并显示相应的内容,并且管理员用户应当能查询所有信息,而员工用户只能查询个人的工资详情表和个人信息
修改业务包括管理员修改工资项、管理员修改员工信息、员工修改个人信息三项。管理员修改工资项需按照企业内部实际详情进行修改,若员工填写信息有误,管理员也可进行修改,员工也可自行进行修改。管理员修改员工信息也包括增加员工信息。重点测试业务主要测试管理员是否能够成功修改工资项及员工信息,同时,数据库里的数据是否同步更新,员工界面是否同时更新数据,是否只有管理员才能进行工资项的修改、增加员工等系统应当能够成功保存修改后的数据,后台数据库进行同步更新和保存,管理员用户和员工用户的权限分明,不会导致混乱
删除业务包括管理员删除工资项、管理员删除员工信息。当企业内部的薪酬结构有变化时,管理员可视情况进行对某些工资项的删除或修改等,当员工离职后,管理员可在系统中进行删除该员工的信息。重点测试业务主要测试删除功能是否正常,数据库是否同步更新,是否只有管理员才能删除工资项和员工信息系统应当能够进行正确的删除操作,后台数据库实时更新数据,员工用户无法进行删除,只有管理员用户才能够进行删除操作
发布和查看业务包括管理员发布公告以及查看公告、员工查看管理员已发布的公告,员工不具有编辑和发布公告的权限。重点测试业务在公司中,公告的发布也是十分重要的一个任务。在工资管理系统中,主要测试管理员是否能够编辑并发布公告,员工界面是否能及时接收公告并进行查看系统应当能够提供给管理员用户发布和查看公告的入口,后台数据库实时更新数据,并且员工用户界面能够及时接收公告内容并可进行查看
导出和打印业务包括对工资详情表的打印或导出重点测试业务主要测试管理员是否能够成功导出工资详情表到电脑进行保存,系统能否成功发送打印指令到打印机并打印文件系统应当能够正确并成功导出文件到用户的电脑并进行保存,成功发送指令到打印机进行文件的打印,这需要一些插件的支持
发放工资业务管理员通过系统发送申请发放工资,系统将申请发送到代发部门,代发部门接收申请,再进行工资的发放,发放工资成功后向员工发放电子工资条,员工界面接收电子工资条。重点测试业务主要测试管理员是否能够发送发放工资指令,代发部门是否能成功接收指令并发放工资到员工的银行账号,同时系统是否能够向员工发放电子工资条,员工界面是否能够成功接收电子工资条并正确显示系统应当能够正确发送指令到代发部门,工资成功发放后自动向员工界面发送电子工资条,员工用户能够进行接收和查看
系统稳定性主要测试当超过100个并发用户以上的高峰期时系统能否保持正常运行重点测试业务主要测试当遇到用户高峰期时,系统能否维持正常的运行,用户是否仍能进行正常的操作系统在100个并发用户的高峰期应当能够保持稳定运行

五.项目Glossary

专有名词解释
abstract classA class that cannot be directly instantiated. Contrast: concrete class
abstractionthe quality of dealing with ideas rather than events
actionthe control machine
action sequenceAn expression that resolves to a sequence of actions, based in mysql
activationThe execution of an action
actual parameterthe parameters are situated in caller method
action sequenceAn expression that resolves to a sequence of actions
aggregationA special form of association that specifies a whole-part relationship between the aggregate (whole) and a component part
Salary Management System工资管理系统
Object-Oriented Analysis面向对象分析方法
Object-Oriented Design面向对象设计方法
Object-Oriented Programming面向对象的编程
Graphical User Interface图形用户界面
Serial Peripheral Interface外围设备接口
World Wide Web全球广域网
Hyper Text Markup Language超文本标记语言
Cascading Style Sheets层叠样式表
Transmission Control Protocol/Internet Protocol传输控制协议/网际协议
Denial of Service分布式拒绝服务攻击软件
High Availability高可用性
Data Unavailable数据不可用
Data Lost数据丢失

六.EA图档

EA Requirements traceability Diagram

在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:需求跟踪是指跟踪一个需求使用期限的全过程,需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他类型的需求,体系结构,其他设计部件,源代码模块,测试,帮助文件等。需求跟踪为我们提供了由需求到产品实现整个过程范围的明确查阅的能力。需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。需求跟踪有两种方式:
(1)正向跟踪。检查《产品需求规格说明书》中的每个需求是否都能在后继工作成果中找到对应点。
(2)逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处。
正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后继工作成果的对应关系。跟踪能力(联系)链(traceability link)使你能跟踪一个需求使用期限的全过程,即从需求源到实现的前后生存期。跟踪能力是优秀需求规格说明书的一个特征。为了实现可跟踪能力,必须统一地标识出每一个需求,以便能明确地进行查阅。在上述的需求跟踪图中,我们描述的是工资管理系统的需求跟踪图,企业作为利益相关方,提出了工资管理系统的相关需求。
绘制步骤:首先我们需要新建一个需求跟踪图:
在这里插入图片描述
在这里插入图片描述
其次,我们理出利益相关方stakeholder,根据利益相关方的需求绘制图档:在这里插入图片描述
图例说明:在这里插入图片描述
Requirement需求,表示某个具体的需求,在上述的需求跟踪图中,我们有五个需求,分别是:方便快捷的工资管理方式、基于互联网的工资管理系统、快速计算并发放工资、直观查询工资详情、可增加或删除员工。在这里插入图片描述
TestCase测试实例,表示某个具体的实例方法,在上述的需求跟踪图中,我们有一个测试实例,即员工管理实例。在这里插入图片描述
stakeholder,利益相关方,在上述的需求跟踪图中,工资管理系统的利益相关方即为企业。在这里插入图片描述
UseCase,用例,在上述的需求跟踪图中,工资管理系统的用例为工资管理。在这里插入图片描述
Derive派生,表示由需求而派生出的其他需求或方法,表示一种派生关系。在上述的需求跟踪图中,由利益相关方,即企业对于方便快捷的工资管理方式所派生出的基于互联网的工资管理系统需求,就是一个派生出来的需求。在这里插入图片描述
Satisfy,表示一种适应关系,即适应需求的方法。在上述的需求跟踪图中,为了适应派生出的直观查询工资详情需求,工资管理用例随之产生,可满足查询功能。

EA Non Functional Requirements Diagram

在这里插入图片描述
在这里插入图片描述
图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:功能需求图是对软件系统功能应满足的需求的描述,如软件系统的功能应满足可靠性,即在规定的时间内,如设备的平均故障时间,部件能够在规定的条件下完成其所需功能的能力等。可扩展性则是指解决方案合并新功能的能力,合规性是指根据环境或司法管辖区的不同,可能会有不同的监管、财务或法律限制,软件系统应当合乎这些监管或法律限制。性能效率是指解决方案或组件以最小资源消耗其指定功能的程度,是否可以根据上下文或时期来定义,例如高峰、中峰或非高峰时期的使用率等。可用性有两方面:一是指解决方案在需要使用时可操作和可访问的程度,通常以解决方案可用时间的百分比表示;二是指用户学习使用解决方案的容易程度。等等。
绘制步骤:首先我们应当新建一个新的功能需求图:
在这里插入图片描述

在这里插入图片描述

其次我们在新的功能需求图中完成图档的绘制及说明。
在这里插入图片描述

图例说明:在这里插入图片描述
Non Functional非功能性,表示非功能的组件,在这里插入图片描述
Functional,在上述的功能需求图中,就全部都是Functional

EA Domain Model Diagram

在这里插入图片描述

图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的: 领域模型也叫概念模型,是对现实世界概念类的描述,并非软件对象描述,领域模型不是数据模型。在uml中领域模型被描述为一组没有操作的类图,具体说不是Java里面的软件对象或者具有职责行为的对象。他可以展现领域对象或概念类,概念类之间关联,概念类的属性。三个要素,类名,属性 ,关联。任何属性都不表示外键,应该直接使用关联关联到外键所在类。产生于分析阶段,由系统分析师绘制,主要作用是描述业务实体的静态结构,包括业务实体、各个业务实体所具有的业务属性及业务操作、业务实体之间具有的关系。虽然这个类图也叫“类图”,但是说实话,它和编程中的“类”实在是没啥关系,因为最后的系统中可能根本没有类和它们对应,而且很多最后系统中的类如控制类和界面类这套类图中也没有。也就是说这套图和具体技术无关,也不是画给程序员看的,它只是表达业务领域中的一个静态结构。在上述的领域图中,我们表达了工资管理系统中的一个静态结构,它包括公司、管理员和员工三个部分。
绘制步骤:首先我们应该新建一个领域图:

在这里插入图片描述
在这里插入图片描述

其次,根据我们具体的项目,即工资管理系统进行图档的绘制:
在这里插入图片描述

图例说明:在这里插入图片描述
class,表示一个类,在上述的领域图中,我们有三个类,分别是:公司、员工和管理员。在类中,不仅仅要给出类的名称,我们还应该在图中说明类的概念、用处等等。在这里插入图片描述
Associate,联系,表示两个类之间存在的联系,如在上述的领域图中,管理员和员工两个类之间就存在管理工资的联系。在这里插入图片描述
Compose,构成,表示箭头指向的一方构成箭头没有指向的一方的某个部分。如在上述的领域图中,表示公司的工资管理系统由管理员进行管理。

EA Use Case Model、Sequence Diagram Use Case Model:

在这里插入图片描述

图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:用例模型捕获系统的要求。用例是一种与用户和其他利益干系人沟通系统打算做什么的方式。用例图显示系统与系统外部实体之间的交互。这些外部实体称为参与者。参与者代表的角色可能包括人工用户、外部硬件或其他系统。参与者通常绘制为命名棒图,或者绘制为具有 [执行者] 关键字的类矩形。用例是有意义的工作的单一单元。它提供了对某人或系统外某可观察到的行为的高级别视图。用例的表示法是椭圆。使用用例的符号是一条连接线,其可选箭头显示控制方向。用例可能包含另一个用例的功能,作为其正常处理的一部分。通常假定每次运行基本路径时都会调用任何包含的用例。例如,将用例 <卡标识> 的执行作为用例 < 撤回> 的一部分运行。上述的用例模型中,我们描述了企业的工资管理系统中,管理员和员工两个角色的不同行为。
绘制步骤:首先我们应该新建一个用例模型:
在这里插入图片描述
在这里插入图片描述

其次,根据具体的项目,即工资管理系统来完成图档的绘制。

图例说明:在这里插入图片描述
参与者,代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等),通过它,可以对软件系统与外界发生的交互进行分析和描述,通过它,可以了解客户希望软件系统提供哪些功能。在上述的用例模型中,我们有两个参与者,分别是:员工,以及管理员。在这里插入图片描述
用例,系统为响应参与者引发的一个事件而执行的一系列的处理/动作,而这些处理应该为参与者产生一种有价值的结果,这些动作不但应包含正常情况的各种动作序列,而且应包含对非正常情况时软件系统的动作序列的描述。在上述的用例模型中,我们有两个参与者,即员工和管理员,以及两个参与者对应的用例。在这里插入图片描述
系统边界,表示一个系统的边界,在系统中,我们应该有一个系统边界,根据边界来完成软件系统的开发。在这里插入图片描述
连接,表示参与者和用例之间的连接,有一一对应的关系。在上述的用例模型中,员工有对应的用例,管理员也有与其对应的用例。

Sequence Diagram:

在这里插入图片描述

图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:序列图是一种交互图,它显示对象作为沿着页面运行的生命线,其交互随着时间的推移表示为从源生命线到目标生命线的箭头绘制的消息。序列图善于显示哪些对象与哪些对象通信;以及哪些消息触发了这些通信。序列图不用于显示复杂的过程逻辑。序列图强调消息的时间顺序。顺序图以二维图表来显示交互。纵向是时间轴,时间显示为自上而下。横向显示了交互中各个对象的角色。每个对象用方框表示,对象可以表示出对象出自的类,中间用冒号区别,冒号前面是对象名称,后面是类的名字。同时一个方框内对象加上下划线。在上述的序列图中,我们描述了管理员与工资管理进行通信的过程。
绘制步骤:首先我们应该新建一个序列图:

在这里插入图片描述
在这里插入图片描述

其次,根据我们具体的项目来绘制序列图;

图例说明:在这里插入图片描述
参与者,系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。在上述的序列图中,我们有一个参与者,即管理员。在这里插入图片描述
生命线,表示序列图中的单个参与者。生命线通常具有包含其对象名称的矩形。如果其名称为"自我",则表示生命线表示拥有序列图的分类器。
有时,序列图将有一个生命线,其头部有一个参与者元素符号。如果序列图由用例拥有,通常也会如此。来自健壮度图的边界、控件和实体元素也可以拥有生命线。在上述的序列图中,管理员、工资管理对象等都有相应的生命线。在这里插入图片描述
消息,消息显示为箭头。邮件可以是完整的、丢失的或找到的;同步或异步;呼叫或信号。在下图中,第一条消息是同步消息(由实心箭头表示),包含隐式返回消息;第二个消息是异步的(用线箭头表示),第三个消息是异步返回消息(用虚线表示)。

EA Activity Diagram、Deploy Diagram Activity Diagram:

在这里插入图片描述

图档适用环境:Microsoft Windows10版本
图档使用目的及绘制步骤:
使用目的:活动图用于显示显示系统中不同工作流的构造方式、启动方式以及从开始到结束可能采取的许多决策路径,它们还可以说明某些活动执行中可能发生并行处理的位置。在此活动图中,描述了用户注册登录查询的工作过程,首先,用户注册后登录或直接登录系统,可查询工资相关信息,也可修改个人信息,之后可退出系统。
绘制步骤:首先绘制开始节点,表示动作的开始,这里表示注册/登录动作的开始。动作结束用结束节点表示,这里表示退出系统:
在这里插入图片描述

其次我们从Toolbox中选取两个Action框,表示其中的一个动作,这里表示查询动作:

在这里插入图片描述

图例说明:
在这里插入图片描述
表示开始节点,在这里插入图片描述
表示结束节点,在这里插入图片描述
表示各个动作,在这里插入图片描述
直线箭头表示动作的控制

Deploy Diagram:

在这里插入图片描述

图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中,一个系统模型只有一个部署图,部署图通常用来帮助理解分布式系统。软件实现完成后,用部署图画出软,硬件之间的物理拓扑结构,清晰的说明系统的使用部署,环境等情况。通过部署图,系统的相关人员可以知道软件应该安装在具体的那个硬件之上。在此部署图中,描述的则是可执行程序如何部署到网络结构中,并连接到主机上的过程。
绘制步骤:首先,我们创建一个新的部署图:
在这里插入图片描述

其次,我们给每个构件定义新的内容,节点定义为主机,Artifact定义为可执行程序,deployment spec则定义为源代码。这里展示了源代码连接到可执行程序的过程,可执行程序通过网络交互通信协议连接到主机,从而在主机中可以看到可执行程序并使用:
在这里插入图片描述

图例说明:在这里插入图片描述
表示一个节点实例,节点是存在与运行时的代表计算机资源的物理元素,可以是硬件,也可以是运行于计算机上的软件系统,例如Linux、Windows Server等操作系统、防火墙等,节点用三维盒装表示。在这里插入图片描述
表示一个连接,节点之间的连线表示系统之间进行交互的通信路径,这个通信路径称为连接,在连接中有网络协议。在上述部署图中,可执行程序与主机之间的连接表示可执行程序通过网络协议、交互通信协议等与主机之间进行交互的通信路径。
在这里插入图片描述
物件Artifact是软件开发过程中的产物,包括过程模型(比如用例图、设计图等)、源代码、可执行程序、设计文档、测试报告、需求原型、用户手册等等。物件表示如下,带有关键字«artifact»和文档图标。在上述部署图中,Artifact表示系统的可执行程序,是软件开发过程中的产物。
在这里插入图片描述
Deployment Specification,部署规范、部署说明、部署描述,部署规范是存放部署产品所依据的参量信息的一种特殊制品。部署规范作为一种特殊制品,一般作为文件的形式存在,部署规范中存放的所规范的制品的部署参量,这些部署参量被称为部署特征符。部署规范表示为带构造型«deployment spec»的一个矩形框。部署规范的名字用标识符表示,如果需要,可以把部署特征符写到矩形框里面。在上述部署图中,部署规范表示可执行程序的源代码,与可执行程序之间是依赖关系,部署规范依赖所部署的制品,即可执行程序,同时又是所部署制品,即可执行程序的描述。
在这里插入图片描述
dependency虚线表示依赖关系,可用于两个组件之间,表示组件之间具有依赖关系,箭头指向的一方是被依赖的一方,另一方则是需要依赖的一方。在上述的部署图中,dependency表示源代码依赖于可执行程序。

EA MySQL Install OR Simple Cloud install

在这里插入图片描述
在这里插入图片描述

图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:在EA中需要数据库表结构建模,但由于重写数据库十分繁琐,因此使用EA工具下的ODBC导入Schema功能进行导入已写的数据库表,建模的过程就会简单很多。
绘制步骤:我们按照以下步骤进行MySQL Install:

在这里插入图片描述
在这里插入图片描述

首先我们点击DatabaseBuilder创建一个空的database repository:
在这里插入图片描述

随后我们可以看到如下界面:
在这里插入图片描述

然后我们向ExecuteDDL写入新建数据表的语句并进行execute:
在这里插入图片描述

创建新数据源:
在这里插入图片描述

最后我们新建一个model:
在这里插入图片描述

最后根据我们的项目,即工资管理系统进行绘制即可。
图例说明:在这里插入图片描述
Table,表,即数据库中的组成结构之一,也是我们对数据库表进行建模的主要角色。在这里插入图片描述
数据库连接,表示系统中众多数据库之间的联系方式。在这里插入图片描述
表示两个组件之间的联系,这里我们用来表示表与表之间的联系。

EA Create a new Database

在这里插入图片描述

图档适用环境:Microsoft Windows10
图档使用目的及绘制步骤:
使用目的:在EA中建立数据库,使用数据库建模是软件开发过程中极为重要的一步,建模后再具体使用相关软件进行开发,为我们节省了许多时间成本和精力。
绘制步骤:我们按照以下步骤进行绘制:

在这里插入图片描述
在这里插入图片描述

首先添加Data Model:
在这里插入图片描述

依据我们项目的具体情况进行绘制即可:
在这里插入图片描述

图例说明:在这里插入图片描述
Table,表,即数据库中的组成结构之一,也是我们对数据库表进行建模的主要角色。在这里插入图片描述
数据库连接,表示系统中众多数据库之间的联系方式。在这里插入图片描述
表示两个组件之间的联系,这里我们用来表示表与表之间的联系。

EA Data Flow Model pattern

在这里插入图片描述

图档适用环境:Micorsoft Windows10
图档使用目的及绘制步骤:
使用目的:数据流图 (DFD) 用于表示业务信息系统中的数据流,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。它表达了系统中的据传从输入到存储间所涉及的程序。数据流图可以分为逻辑形和物理形。逻辑数据流图描述了用以完成某业务功能所涉及的、业务层面的数据流动, 物理数据流图则描述系统层面的数据流动。数据流图以将用以寻找、编辑、存储和分发数据的功能或过程图像化,方便用户和系统设计人员沟通。数据流图的结构也容让开发人员从高点分析系统,继而生成一系列用以深入分析的图表。数据流图可用于:表达系统的逻辑信息流、用于寻找系统需求、简单、以理解的图形符号、建立手动和自动系统需求。数据流图的基本要点时描绘”做什么“,而不关心“怎么做”。数据流图通常忽略出错处理,也不包括诸如打开和关闭文件等内部处理。数据流图的一大原则是数据不能自行转换成另一形态,数据必须经由某程序的处理才可被分发至系统的某个部份。物理数据流程图显示系统将如何被建设起来,包括系统中的硬件、软件、文件和人员。它使逻辑数据流图中描述的程序正确地实现以达到业务目标。在上述数据流图中,我们主要描述了在工资管理系统中,员工实体和工资实体之间的数据流分析。
绘制步骤:首先,我们新建一个数据流图:
在这里插入图片描述

使用相关图例进行绘制:
在这里插入图片描述

在这里插入图片描述

在这里,我们绘制数据流图来表示在工资管理系统中员工实体和工资实体之间的数据流分析,员工实体的数据输入到系统中,在系统中经过一定的数据处理后产生输出,并返回到员工实体中。同理,工资实体中的数据输入到系统中,经过一定的数据处理后产生输出,并返回到工资实体中。这就是数据流图的工作过程。
图例说明:在这里插入图片描述
加工或处理,加工是对数据进行数据处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
在这里插入图片描述
External软件系统外部环境中的实体,也就是外部实体。外部实体是向系统提供数据或从系统接收输出的人、部门、外部组织或其他信息系统。外部实体是信息系统边界之外的组件,它们代表了信息系统如何与外界交互,只提供或接收数据,不处理数据,外部实体也被称为终止符,因为它们是数据的源头或目的地。必须通过数据流将外部实体连接到程序。一般外部实体只出现在数据流图的顶层图中。在上述的数据流图中,我们一共有两个外部实体:员工实体,以及工资实体。
在这里插入图片描述
数据流,表示特定数据的流动方向,是数据在系统内传播的路径。在上述的数据流图中,数据流就表示了外部实体,即员工实体和工资实体与系统之间的数据流动方向,也就是数据在系统内传播的路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值