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

这个作业属于哪个课程 软件代码开发技术
这个作业要求在哪里 作业要求
这个作业的目标 学会运用UML、领域驱动设计方法、软件设计模式等知识,对系统需求进行建模;学会撰写需求规格说明书,并完成项目后续的开发计划。
github地址

一、 领域驱动设计

1.1 寻找领域对象

  • 客户:Customer
  • 自由职业者:FreeWorker
  • 项目:Project
  • 时间表:Schedule

1.2 最终领域对象模型

二、需求规格说明

1.1 项目背景

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

1.2 问题描述

  • 拓展客户和职业者信息、时间表等内容;
  • 应对多用户使用场景;
  • 提供安全日志、审计日志;

1.3 功能性需求

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

1.4 非功能性需求分析

  • 安全性:保证数据库中的数据不会被泄露,仅管理员可见
  • 健壮性:系统稳定不会崩溃。

1.5 需求分析建模

1.5.1 用例图

1.5.2 实体联系图

1.5.2.1 实体及其属性
实体 属性
自由职业者 id、姓名、电话、邮箱、QQ、微信、分类
项目 id、名字、内容、分类
时间表 id、时间
客户 id、姓名、电话、分类
1.5.2.2 实体之间的联系
  • 一个自由职业者对应多个时间表,一个时间表对应一个自由职业者,因此自由职业者和时间表之间存在一对多关系。
  • 一个自由职业者对应多个项目,一个项目对应多个自由职业者,因此自由职业者和项目之间存在多对多关系。
  • 一个普通客户对应多个项目,一个项目对应多个普通客户,因此普通客户和项目之间存在多对多关系。
1.5.2.3 实体联系图

1.5.3 数据流图

1.5.4 类图

三、任务计划

活动 任务 预期工作时间 预期开始时间 预期结束时间 校正后工作时间 校正后开始时间 校正后结束时间
需求分析 需求获取、分析、建模 8个工作日 2021.4.26 2021.5.4 6个工作日 2021.4.26 2021.5.2
系统设计 系统总体设计、流程设计 6个工作日 2021.5.4 2021.5.10 6个工作日 2021.5.2 2021.5.8
详细设计 模块设计、界面设计、代码设计 12个工作日 2021.5.10 2021.5.22 12个工作日 2021.5.8 2021.5.20
实现阶段 自由职业者、客户、项目、时间表模块实现 15个工作日 2021.5.22 2021.6.7 10个工作日 2021.5.20 2021.6.1
测试 单元测试、模块测试、系统测试 6个工作日 2021.6.7 2021.6.13 6个工作日 2021.6.1 2021.6.7
交付 系统交付 1个工作日 2021.6.17 2021.6.18 1个工作日 2021.6.9 2021.6.10

计算方法: 由于需求明确,故提前完成雪球分析阶段任务,由于设计文档完善,模块等编码可加快速度,以及模块功能相似,可节约1/3时间。

github issue 截图

posted @ 2021-05-04 22:36  孤独。星球  阅读(142)  评论(0)    收藏  举报