作业三:综合系统开发——需求分析

作业三——综合系统开发:需求分析

所属课程<班级链接>
作业要求 <作业要求链接>
作业目标 1. 提升需求分析能力
  2. 熟悉与掌握对Github的使用
  3. 进一步学习和了解UML、领域驱动设计方法及软件设计模式等知识

引言

项目背景

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

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

需求规格说明书

1.需求梳理
1.1.过程梳理
a.项目名称:出租服务管理系统
b.系统需求:

  • 数据需求:
    序号输入数据输出数据数据存储
    1 自由职业者信息 审计日志 自由职业者信息
    2 普通客户信息 审计日志 普通股客户信息
    3 时间表 时间表 时间
    4 项目信息 —— 项目信息
  • 功能需求:
    1、能够接收、存储或更新用户(含普通客户和自由职业者)信息;
    2、能够产生审计信息;
    3、能够查询用户信息。
  • 技术需求:
    序号输入数据输出数据数据存储
    1 自由职业者信息 审计日志 自由职业者信息
    2 普通客户信息 审计日志 普通客户信息
    3 时间表 时间表 时间
    4 项目信息 —— 项目信息

 

c.层次结构图

 

 

 

1.2.关键行为
(1)查询自由职业者;
(2)管理时间表;
(3)审计日志;
(4)发布项目;
(5)查询项目。

2.领域结构设计

 

2.1.领域对象
(1)普通客户;
(2)自由职业者;
(3)系统管理员。

2.2.领域服务
(1)普通客户查询自由职业者;
(2)自由职业者管理时间表;
(3)系统管理员审计日志;
(4)普通客户发布项目;
(5)自由职业者查询项目;
(6)自由职业者编辑、修改个人信息;
(7)普通客户编辑、修改个人信息;
(8)自由职业者编辑时间表;
(9)普通客户与自由职业者签订合同。

2.3.用例图

 

 

  • 用例描述:
描述项1说明
用例名称 查看项目
用例描述 查看普通客户发布的项目详细信息
参与者 普通客户、自由职业者
前置条件 项目已发布
后置条件 了解、知悉项目详情
基本操作流程 1.自由职业者点击选择项目;2.系统给出项目详细信息。
拓展操作流程 1.自由职业者关闭项目;2.系统关闭项目详细信息。
描述项2说明
用例名称 发布项目
用例描述 发布项目详细信息
参与者 普通客户
前置条件 项目编辑完成
后置条件 项目成功发布
基本操作流程 1.普通客户编辑项目信息;2.系统保存项目信息;3.普通客户选择发布项目;4.系统将项目详细信息发布。
拓展操作流程 1.普通客户取消发布项目;2.系统撤回项目详细信息。
描述项3说明
用例名称 签署合同
用例描述 普通客户与自由职业者共同签署合同,确定合作关系
参与者 普通客户、自由职业者
前置条件 普通客户与自由职业者双方经联系在项目合作上能够恰谈
后置条件 合同签署完成,普通客户与自由职业者双方成功建立合作关系
基本操作流程 1.普通客户点击选择签署合同;2.自由职业者点击选择签署合同;3.系统在相应合同上输入双方信息。
描述项4说明
用例名称 管理时间表
用例描述 编辑修改时间表就对应事项信息
参与者 自由职业者
前置条件 自由职业者个人信息编辑完毕
后置条件 自由职业者相应时间表信息成功保存
基本操作流程 1.自由职业者点击管理时间表;2.系统显示自由职业者的时间表并提供编辑功能;3.自由职业者保存时间表信息;4.系统存储时间表信息。
描述项5说明
用例名称 查看时间表
用例描述 查看自由职业者对应的时间表信息
参与者 普通客户
前置条件 自由职业者时间表信息已经编辑且成功保存
后置条件 普通客户成功获取时间表信息
基本操作流程 1.普通客户点击查看自由职业者的时间表;2.系统显示自由职业者的时间表信息。
拓展操作流程 1.普通客户切换查看其他自由职业者的时间表;2.系统显示其他自由职业者的时间表信息。
描述项6说明
用例名称 编辑个人信息
用例描述 编辑个人详细信息
参与者 普通客户、自由职业者
前置条件 成功注册系统账号
后置条件 成功修改个人信息
基本操作流程 1.普通客户或自由职业者点击编辑个人信息;2.系统存储编辑修改后的个人信息。
描述项7说明
用例名称 查询个人信息
用例描述 查询个人详细信息
参与者 普通客户、自由职业者
前置条件 已编辑个人信息
后置条件 查询获取个人详细信息
基本操作流程 1.普通客户或自由职业者点击查询个人信息;2.系统获取个人详细信息。
拓展操作流程 1.普通客户或自由职业者切换查看其他用户的个人信息;2.系统显示其他用户的个人详细信息。
描述项8说明
用例名称 审计日志
用例描述 产生并显示审计日志
参与者 系统管理员
前置条件 系统已被使用
后置条件 审计日志成功显示
基本操作流程 1.系统管理员点击查看审计日志;2.系统产生并显示审计日志。

3.领域模型设计
3.1.实体关系与属性
(1)实体及属性

实体属性
合同 有效期、条款
项目 时间、名称、内容、发布者
时间表 日期、时分、安排
客户表 姓名、年龄、性别、联系方式、诚信认证
自由职业者表 姓名、工号、年龄、性别、服务类型、联系方式

(2)实体间联系

  • 自由职业者制作时间表,因此自由职业者与时间表应该是一一对应的关系,则自由职业者表与时间表对应数量关系为1:1;
  • 自由职业者可以同时实行多个项目,因此两者数量关系为1:n;
  • 自由职业者可以同时签署多个合同,因此两者数量关系为1:n;
  • 一个自由职业者可以与多个客户建立合作关系,而相反,一个客户也可以与多个自由职业者建立合作关系,因此二者数量关系为n:m;
  • 客户可以参考多个自由职业者的时间表,因此两者数量关系为1:n;
  • 客户可以发布多个项目,因此两者数量关系为1:n;
  • 客户可以同时签署多个合同,两者数量关系为1:n;
  • 一个合同对应一个项目,二者数量关系为1:1。

(3)实体联系图

 

 

 

项目时间安排表

计划名称预计时间开始时间结束时间矫正时间矫正开始时间矫正结束时间
需求获取 3 2022/5/1 2022/5/3 7 2022/5/1 2022/5/7
需求分析 3 2022/5/4 2022/5/6 2 2022/5/8 2022/5/9
概要设计 2 2022/5/7 2022/5/9 3 2022/5/10 2022/5/12
详细设计 4 2022/5/10 2022/5/13 6 2022/5/13 2022/5/18
编码 5 2022/5/14 2022/5/18 10 2022/5/19 2022/5/28
测试 2 2022/5/19 2022/5/20 10 2022/5/29 2022/6/7

  • 矫正思路:在需求分析及系统的设计阶段花费更长的时间,以确保后期项目开发、模块实现等工作能够更为高效。在需求分析阶段增加50%的工作时间,后期实现工作预计效率会增加25%,并且预计后期各个极端所需成本会有所降低。

相关链接及截图

github issue连接🔗https://github.com/qwertyuiopasydq/abr/issues

1.

2.随笔编辑

 

 

posted @ 2022-04-11 10:07  hshjj  阅读(56)  评论(0)    收藏  举报