| 2021软件代码开发技术作业三 | 综合系统开发----需求分析
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11968 |
| 这个作业的目标 | 1. 帮助我们更好地掌握软件规格说明的写法 |
| 2. 帮助我们更好地掌握领域驱动设计分析运用 | |
| 3. 帮助我们更好地掌握UML建模语言 | |
-------------------------------------------------------------------------------------------------------------------------------------------------
需求规格说明书
1. 问题定义
1.1 项目名称:出租服务管理系统
1.2 问题概述:
一家公司提供服务出租,公司自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案,通过出租服务管理系统实现公司出租服务相关信息的管理以及提供公司信息的安全性。
1.3 系统需求:
(1)数据需求:
| 序号 | 输入数据 | 数据存储 | 输出数据 |
|---|---|---|---|
| (1) | 自由职业者信息 | 自由职业者信息 | 审计日志 |
| (2) | 普通客户信息 | 普通客户信息 | |
| (3) | 时间表 | 时间表 | |
| (4) | 项目信息 | 项目信息 |
(2)功能性需求:能对自由职业者信息、普通客户信息、项目信息以及时间表进行接受处理并产生审计信息,随时更新自由职业者信息和普通用户信息以及时间表,能够搜索自由职业者分类、搜索项目分类、搜索客户分类以及维护合同中自由职业者的时间表。
(3)技术需求:
| 序号 | 需求 |
|---|---|
| (1) | 自由职业者信息、普通用户信息、项目信息、时间表必须随时更新。 |
| (2) | 主存要有至少30T存储空间的数据库存储自由职业者信息、普通用户信息、项目信息、时间表 |
| (3) | 通过限制用户权限,只有拥有权限的特定用户才能访问系统内的相关数据信息以保证存储信息的不外泄 |
| (4) | 信息量速率为2.1Mb/s~5.2Mb/s |
2.功能模型
根据业务场景进行领域建模,得到图2.1所示的领域模型:

2.1 数据流图
系统数据流图如图2.2所示:

2.2 用例模型

2.3 实体联系模型
(1)实体及属性
| 实体 | 属性 |
|---|---|
| 自由职业者 | 自由职业者编号、自由职业者姓名、自由职业者电话、自由职业者类型、自由职业者地址 |
| 时间表 | 时间表编号,自由职业者编号,时间表时间 |
| 普通客户 | 普通客户编号,普通客户姓名,普通客户电话,普通客户类型、普通客户地址 |
| 项目 | 项目编号,项目内容,项目时间,项目类型 |
(2)实体间联系
a)一个自由职业者对应一个时间表,一个时间表对应一个自由职业者,因此自由职业者和时间表之间存在一对一关系。
b)一个自由职业者对应多个项目,一个项目对应多个自由职业者,因此自由职业者和项目之间存在多对多关系。
c)一个普通客户对应多个项目,一个项目对应多个普通客户,因此普通客户和项目之间存在多对多关系。
d)一个项目对应多个时间表,一个时间表对应多个项目。因此项目和时间表之间存在多对多关系。
(3)实体联系图
2.4 数据字典
(1)数据项
| 数据项 | 名字 | 别名 | 简述 | 定义 | 位置 |
|---|---|---|---|---|---|
| (1) | 自由职业者编号 | 服务商编号 | 用于识别自由职业者特有的代码 | 自由职业者编号=1{数字}3 | 自由职业者信息、审计日志、时间表、项目信息 |
| (2) | 普通客户编号 | 用于识别普通客户特有的代码 | 普通客户编号=1{数字}3 | 普通用户信息、审计日志、项目信息 | |
| (3) | 时间表编号 | 用于识别时间表特有的代码 | 时间表编号=1{数字}3 | 时间表信息 | |
| (4) | 项目编号 | 用于识别项目特有的代码 | 项目编号=1{数字}3 | 项目信息、审计日志 | |
| (5) | 自由职业者姓名 | 服务商姓名 | 自由职业者特有的名称 | 自由职业者姓名=1{英文字母}6 | 自由职业者信息、时间表 |
| (6) | 普通客户姓名 | 普通客户特有的名称 | 普通客户姓名=1{英文字母}6 | 普通用户信息、项目信息 | |
| (7) | 项目时间 | 项目建立的时间 | 项目时间=4{数字}4+1{汉字字符年}1+1{数字}2+1{汉字字符月}1 | 项目信息 | |
| (8) | 项目内容 | 项目的详细描述 | 项目内容=2{汉字字符}30 | 项目信息、审计日志 | |
| (9) | 自由职业者类型 | 服务商类型 | 自由职业者特有的类别 | 自由职业者类型=[A级\B级] | 自由职业者信息 |
| (10) | 普通用户类型 | 普通用户特有的类别 | 普通用户类型=[会员\非会员] | 普通用户信息 | |
| (11) | 项目类型 | 项目特有的类别 | 项目类型=[紧急\一般] | 项目信息 | |
| (12) | 时间表时间 | 时间表对应自由职业者的时间 | 时间表时间=4{数字}4+1{汉字字符年}1+1{数字}2+1{汉字字符月}1 | 时间表信息 | |
| (13) | 自由职业者电话 | 服务商电话 | 自由职业者特有的联系号码 | 自由职业者电话=11{数字}11 | 自由职业者信息 |
| (14) | 自由职业者地址 | 服务商地址 | 自由职业者特有的居住位置 | 自由职业者地址=2{中文字符}30 | 自由职业者信息 |
| (15) | 普通用户电话 | 普通用户特有的联系号码 | 普通用户电话=11{数字}11 | 普通用户信息 | |
| (16) | 普通用户地址 | 普通用户特有的居住位置 | 普通用户地址=2{中文字符}30 | 普通用户信息 |
(2)数据流:
| 数据流 | 名字 | 别名 | 简述 | 定义 | 位置 |
|---|---|---|---|---|---|
| (1) | 自由职业者信息 | 服务商信息 | 自由职业者特有的个人资料 | 自由职业者信息=自由职业者编号+自由职业者姓名+自由职业者电话+自由职业者地址+自由职业者类别 | 数据库、从计算机输入 |
| (2) | 普通用户信息 | 普通用户特有的个人资料 | 普通用户信息=普通用户编号+普通用户姓名+普通用户电话+普通用户地址+普通用户类别 | 数据库、从计算机输入 | |
| (3) | 时间表 | 自由职业者对应的特有的个人时间安排表 | 时间表=自由职业者编号+时间表编号+时间表时间 | 数据库、从计算机输入 | |
| (4) | 项目信息 | 项目特有的资料信息 | 项目信息=项目编号+项目内容+项目时间+项目类别 | 数据库、从计算机输入 | |
| (5) | 审计日志 | 出租服务审计信息报表 | 审计日志=自由职业者编号+普通用户编号+项目编号+项目内容 | 从打印机输出 |
(3)数据存储:
| 数据存储 | 名字 | 别名 | 简述 | 定义 | 更新频率 |
|---|---|---|---|---|---|
| (1) | 自由职业者信息 | 服务商信息 | 自由职业者特有的个人资料 | 自由职业者信息=自由职业者编号+自由职业者姓名+自由职业者电话+自由职业者地址+自由职业者类别 | 随时 |
| (2) | 普通用户信息 | 普通用户特有的个人资料 | 普通用户信息=普通用户编号+普通用户姓名+普通用户电话+普通用户地址+普通用户类别 | 随时 | |
| (3) | 时间表 | 自由职业者对应的特有的个人时间安排表 | 时间表=自由职业者编号+时间表编号+时间表时间 | 随时 | |
| (4) | 项目信息 | 项目特有的资料信息 | 项目信息=项目编号+项目内容+项目时间+项目类别 | 随时 |
2.5 对象模型
(1)类图
3. 总体设计
3.1 系统设计
3.1.1 系统流程图
系统流程图如图4.1所示:

3.1.2 物理元素清单
1、硬件:
(1)服务器一台
(2)计算机一台
(3)显示器一台
(4)打印机一台
2、软件:
(1)五个程序
注册登录程序:获取账号信息验证登录、获取用户个人信息和账号信息验证注册
管理员功能程序:管理客户信息、管理项目信息、管理员工信息、修改个人信息
客户功能程序:查看项目信息、发布项目、修改个人信息
自由职业者功能程序:管理时间表、管理联系方式、修改个人信息
产生审计表程序:读取项目信息、生成审计表、打印审计表
(2)一个磁盘数据库:系统信息数据库(账号信息、个人信息、用户信息、项目信息、空闲时间、联系方式)
3.2 软件设计
3.2.1 HIPO图
系统HIPO图如图4.2所示:

3.3 数据库逻辑结构
1、用户表(用户名、密码、客户编号、员工编号)
2、客户表(客户编号、客户名称、联系电话、联系地址、客户类别)
3、项目表(项目编号、项目类别、项目描述、项目开始时间、项目结束时间、项目生成时间、项目状态、客户编号)
4、员工表(员工编号、身份证号码、员工姓名、性别、员工身份、员工类别)
5、空闲时间表(空闲时间编号、空闲起始时间、空闲结束时间、员工编号)
6、联系方式表(联系方式编号、联系方式、联系方式值、员工编号)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
项目时间安排
| 所属流程 | 步骤 | 预计完成时间 | 预计开始时间 | 预计结束时间 | 矫正后完成时间 | 校正后结束时间 |
|---|---|---|---|---|---|---|
| 需求分析 | 需求分析 | 10个工作日 | 2021/4/23 | 2021/5/3 | 6个工作日 | 2021/4/29 |
| 总体设计 | 框架设计完成 | 3个工作日 | 2021/5/4 | 2021/5/7 | 3个工作日 | 2021/5/2 |
| 总体设计 | 单元模块设计完成 | 5个工作日 | 2021/5/8 | 2021/5/13 | 5个工作日 | 2021/5/7 |
| 实现 | 接口设计实现 | 5个工作日 | 2021/5/14 | 2021/5/19 | 5个工作日 | 2021/5/12 |
| 实现 | 自由职业者信息管理模块完成 | 10个工作日 | 2021/5/20 | 2021/5/30 | 8个工作日 | 2021/5/20 |
| 实现 | 普通客户信息管理模块完成 | 10个工作日 | 2021/5/31 | 2021/6/9 | 6个工作日 | 2021/5/26 |
浙公网安备 33010602011771号