2022软件代码开发技术作业三 | 综合系统开发----需求分析

综合系统开发|需求分析

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/2022softwarecodedevelopmenttechnology
这个作业的要求在哪里 https://edu.cnblogs.com/campus/gdgy/2022softwarecodedevelopmenttechnology/homework/12494
目标 学会运用UML、领域驱动设计方法、软件设计模式等知识,对系统需求进行建模;
学会撰写需求规格说明书,并完成项目后续的开发计划;
掌握对 Git 的使用,对整个项目采用增量式更新.

需求规格说明书

1. 问题定义

一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:

搜索自由职业者分类的功能
用于存储联系自由职业者的不同渠道的解决方案
搜索项目分类的功能
搜索客户分类的功能
维护合同中自由职业者的时间表

2. 需求分析

2.1系统需求

2.1.1功能需求

公司需要一个平台来管理公司员工信息、自由职业者信息、客户信息、项目信息、合同信息。其中

  • 自由职业者、客户可以查看和修改个人的基本信息
  • 客户可以发布和撤销自己的项目,查看审计日志,签订、查看合同。
  • 管理员可以管理员工信息、管理自由职业者个人信息、管理客户信息,管理合同,管理项目信息,管理审计信息。
2.1.2 数据需求

1.输入数据

  • 员工信息:id、姓名、性别、电话号码、邮箱地址、住址,分类信息、角色信息
  • 自由职业者信息:id、姓名、性别、电话号码、邮箱地址、住址 、服务类型、联系方式
  • 客户信息:id、姓名、性别、服务类型、联系方式、客户类型
  • 项目表:id、项目描述、自由职业者信息、服务对象信息、项目类型、完服成情况
  • 时间表:id、自由职业者id、空闲时间段

2.存储数据:

  • 审计信息:操作者id、操作内容、操作结果、备注

3.输出数据

  • 操作结果:操作者id,操作内容,操作结果、备注
2.1.3非功能性需求
性能需求
  • 响应时间:尽可能地短,达到1到2秒
  • 查询信息过程时间不超过30秒
  • 支持500名以上用户并发使用,保证性能不受影响
安全性需求
  • 权限控制: 根据不同用户角色,设置相应权限的界面。管理员可管理客户、员工自由职业者和项目信息,客户只可发布项目和在被接单前删除项目,自由职业者只可管理自己的时间表和联系方式。
  • 重要数据加密: 对一些重要的数据进行加密,如用户密码,重要参数等。
  • 数据备份: 允许管理员进行数据的备份和恢复,以弥补数据的破坏和丢失。
2.1.4运行环境
  • 客户端: 操作系统:Windows10(64位) 浏览器:Microsoft Edge浏览器、IE浏览器10/11、Chrome浏览器、360浏览器等多种主流浏览器。
  • 应用服务器端: 操作系统:Ubuntu 18.04 64位 数据库访问:MyBatis
2.2领域驱动设计
2.2.1 设计过程

img

2.2.2定义概念类(领域对象)
寻找概念类,得到:

员工:employees
自由职业者:professional
客户:customer
项目;project
时间表:schedule

添加关联、属性,得到领域模型

img

2.3分析建模

功能模型
一层数据流图

img

二层数据流图

img

用例图

img

3.总体设计

HIPO图

img

4.总体设计

1.项目时间安排表

任务名称 活动名称 预期活动工期 预计开始时间 预计结束时间 矫正后活动工期 矫正后开始时间 矫正后结束时间
需求开发 6个工作日 2022/5/10 2022/5/15 6个工作日 2022/5/10 2022/5/15
需求获取 1个工作日 2022/5/10 2022/5/10 1个工作日 2022/5/10 2022/5/10
需求分析 2个工作日 2022/5/11 2022/5/12 2个工作日 2022/5/11 2022/5/12
撰写需求规格说明书 2个工作日 2022/5/13 2022/5/14 2个工作日 2022/5/13 2022/5/14
需求验证 1个工作日 2022/5/15 2022/5/15 1个工作日 2022/5/15 2022/5/15
总体设计 3个工作日 2022/5/16 2022/5/18 1个工作日 2022/5/16 2022/5/18
开发标准确定 1个工作日 2022/5/16 2022/5/16 1个工作日 2022/5/16 2022/5/16
架构设计 1个工作日 2022/5/17 2022/5/17 1个工作日 2022/5/17 2022/5/17
单元模块设计 1个工作日 2022/5/18 2022/5/18 1个工作日 2022/5/18 2022/5/18
详细设计 6个工作日 2022/5/19 2022/5/24 6个工作日 2022/5/19 2022/5/24
过程设计 3个工作日 2022/5/19 2022/5/21 3个工作日 2022/5/19 2022/5/21
人机交互界面设计 3个工作日 2022/5/22 2022/5/24 3个工作日 2022/5/22 2022/5/24
实现 13个工作日 2022/5/24 2022/6/5 13个工作日 2022/5/24 2022/6/5
数据库设计 1个工作日 2022/5/24 2022/5/ 24 1个工作日 2022/5/24 2022/5/ 24
架构搭建 1个工作日 2022/5/25 2022/5/25 1个工作日 2022/5/25 2022/5/25
员工管理 2个工作日 2022/5/26 2022/5/27 1个工作日 2022/5/26 2022/5/26
自由职业者管理 2个工作日 2022/5/28 2022/5/29 1个工作日 2022/5/27 2022/5/27
客户管理 2个工作日 2022/5/30 2022/5/31 1个工作日 2022/5/28 2022/28
项目管理 4个工作日 2022/6/1 2022/6/4 4个工作日 2022/5/29 2022/6/1
审计管理 2个工作日 2022/6/4 2022/6/5 2个工作日 2022/6/1 2022/6/2
测试 7个工作日 2022/6/3 2022/6/9 7个工作日 2022/6/3 2022/6/9
单元测试 2个工作日 2022/6/3 2022/6/4 2个工作日 2022/6/3 2022/6/4
集成测试 2个工作日 2022/6/5 2022/6/6 2个工作日 2022/6/5 2022/6/6
系统测试 2个工作日 2022/6/7 2022/6/8 2个工作日 2022/6/7 2022/6/8
测试总结 1个工作日 2022/6/9 2022/6/9 1个工作日 2022/6/9 2022/6/9
验收 3个工作日 2022/6/10 2022/6/12 3个工作日 2022/6/10 2022/6/12
验收测试 2个工作日 2022/6/10 2022/6/11 2个工作日 2022/6/10 2022/6/11
产品交付 1个工作日 2022/6/12 2022/6/12 1个工作日 2022/6/12 2022/6/12

2、矫正计算方法

(1)在实际开发中,需求开发、测试和验收过程所需时间与计划大致相同,所以时间花费和预期出入不大;
(3)因为实现中员工管理、自由职业者管理,客户管理模块的功能具有相似性,部分代码可以复用,所以实现过程可以按照1/2时间计算。

git链接:https://github.com/djlbet123/ServiceProvidePlatform

issues截图

后台编辑截图

posted @ 2022-04-10 09:48  summerriver123  阅读(59)  评论(0编辑  收藏  举报