这个作业属于哪个课程 软件代码开发技术
这个作业要求在哪里 综合系统开发----需求分析
这个作业的目标 1. 学习运用UML、学习领域驱动设计方法和软件设计模式等知识
2. 学习使用git增量式管理代码、文档,实现文档的版本化和增量式管理
3.撰写需求规格说明书,完成项名开发计划

需求规格说明书

1.引言

1.1 项目背景

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


1.2 目的

为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。

对项目需求进行分析建模,完成客户管理系统的需求规格说明书。


2.需求分析

2.1 用户分析

本系统用户为服务出租公司的出租管理人员,负责接收出租项目、安排员工与服务商的工作。
出租管理人员需要使用本系统管理客户与时间表,维护系统信息并对相关信息快速检索。

人员 职责
系统管理员 管理与维护系统中自由职业者信息、项目信息、客户信息与时间表信息
审计员 查看系统信息与操作日志,维护审计日志,对审计日志进行增删查改

2.2 功能需求

  • 自由职业者信息增删查改,存储联系自由职业者不同渠道的联系方式
  • 项目信息增删查改
  • 客户信息增删查改
  • 维护合同中自由职业者的时间表,时间表信息增删查改
  • 维护审计日志

2.3 数据需求

输入数据 存储数据 输出信息
自由职业者信息 自由职业者信息 审计日志
项目信息 项目信息 审计日志
客户信息 客户信息 审计日志
时间表信息 时间表信息 审计日志

2.4 技术需求

  1. 自由职业者信息、项目信息、客户信息、时间表信息必须实时更新并记录操作日志与审计日志
  2. 通过权限区分系统管理员与审计员,其中系统管理员无法操作审计日志;审计员无法修改系统管理员维护的信息。

3.领域驱动设计

3.1 定义领域对象

  1. 自由职业者 : Freelance
  2. 项目 : Project
  3. 客户 : Client
  4. 时间表 : Schedule

3.2 定义领域对象的属性



3.3 定义领域模型



4.分析建模

4.1 数据流图

0层数据流图:


系统数据流图:



4.2 用例模型

系统用例图:



4.3 实体联系模型

1.实体及其属性

实体 属性
自由职业者 自由职业者编号、自由职业者姓名、自由职业者电话、自由职业者邮箱、自由职业者地址、自由职业者类型
项目 项目编号、项目名称、项目内容、项目类型
客户 客户编号、客户姓名、客户电话、客户邮箱、客户地址、客户类型
时间表 时间表编号、自由职业者编号、开始时间、结束时间

2.实体间联系

  • 自由职业者与时间表一对多
  • 自由职业者与项目多对多
  • 项目与客户多对多

3.系统 E-R 图:



4.4 对象模型

系统类图:



任务计划

1. 项目时间安排表

流程 任务 预计完成时间 预计开始时间 预计结束时间 矫正后完成时间 校正后结束时间
需求分析 需求获取、分析、建模 10个工作日 2021/4/23 2021/5/2 10个工作日 2021/5/2
总体设计 架构设计 3个工作日 2021/5/3 2021/5/5 3个工作日 2021/5/5
单元模块设计 5个工作日 2021/5/6 2021/5/10 5个工作日 2021/5/10
实现 接口设计实现 5个工作日 2021/5/11 2021/5/15 5个工作日 2021/5/15
自由职业者信息管理模块实现 5个工作日 2021/5/16 2021/5/20 5个工作日 2021/5/20
普通客户信息管理模块实现 5个工作日 2021/5/21 2021/5/25 3个工作日 2021/5/23
项目信息管理模块实现 5个工作日 2021/5/26 2021/5/30 3个工作日 2021/5/26
时间表管理模块实现 5个工作日 2021/5/31 2021/6/4 3个工作日 2021/5/29
审计日志模块实现 5个工作日 2021/6/5 2021/6/9 5个工作日 2021/6/3
测试 单元测试、集成测试、系统测试 6个工作日 2021/6/10 2021/6/15 6个工作日 2021/6/9
测试总结 1个工作日 2021/6/16 2021/6/16 1个工作日 2021/6/10
交付 验收测试 2个工作日 2021/6/17 2021/6/18 2个工作日 2021/6/12
产品交付 1个工作日 2021/6/19 2021/6/19 1个工作日 2021/6/13

2.矫正计算方法

  • 需求分析、接口和单元模块设计约定约等于预计时间;

  • 根据模块之间功能相似性,在完成自由职业者信息模块后可以缩减用户信息管理、项目信息管理和时间表管理模块40%时间,其余模块预计时间不变;

  • 测试时间约等于预计时间。


Github仓库链接

https://github.com/CLSgGhost/ClientManagementSystem


项目issues截图


博客园后台截图


 posted on 2021-05-04 14:43  沉沦SgGhost  阅读(80)  评论(0编辑  收藏  举报