• 谢浩杰|2021软件代码开发技术|综合系统开发 需求分析


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology
    这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11968
    这个作业的目标 1. 帮助我们更好地掌握软件规格说明的写法
    2. 帮助我们更好地掌握领域驱动设计分析运用,实践DDD
    3. 帮助我们更好地掌握UML建模语言
    4. 帮助我们更好地掌握Github使用

    案例描述

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

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

    领域驱动设计

    领域驱动设计(Domain-Driven Design, DDD),其研发过程大致如下:

    需求分析 -> 领域分析 -> 领域模型 -> 核心业务逻辑 -> 技术细节

    领域驱动设计关心业务中的领域划分和领域建模,开发过程以领域模型为中心,驱动项目开发

    本案例的建模分析过程

    定义概念类->添加关联->添加属性->建立领域模型

    定义概念类

    • 项目:Project
    • 用户:User
      • 客户Customer
        • 服务商
          • 自由职业:Freer
          • 员工:Worker
        • 需求商
          • 普通客户:Client
      • 管理员
    • 时间表:Schedule

    添加关联

    添加属性,建立领域模型

    需求规格说明书

    问题定义

    1. 项目名称:出租服务管理系统

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

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

      该系统存在多种权限用户,主要分为两大类:管理员,客户;根据不同用户的类型不同给予不同系统权限,从而限制其功能,内容的访问

    4. 系统需求

      • 功能性需求

        • 用户允许同时持有多种身份,不同的身份可以使用对应权限下的不同的功能
        • 能对用户信息,项目信息,时间表进行增删查改
        • 能对客户,项目,自由职业者进行分类,提供搜索功能
        • 自动维护合同的时间表
        • 引入日志和安全审计
      • 技术需求

        • 数据库需要至少6T空间储存功能性需求中的各类数据;
        • 需要实现登入、登出操作,根据账号权限进行相关功能操作;
        • 需要定期分析、维护安全与审计日志;
      • 数据需求

        序号 输入数据 数据存储 输出数据
        1 自由职业者信息 自由职业者信息 审计日志
        2 普通客户信息 普通客户信息 审计日志
        3 时间表 时间表 审计日志
        4 项目信息 项目信息 审计日志

    分析建模

    系统架构分析

    数据流图

    0层图

    实体联系模型

    1.实体及属性

    实体 属性
    员工及自由职业者 服务商编号、姓名、电话、类型、地址
    时间表 时间表编号,服务商编号,时间表时间
    普通客户/用户 普通客户编号,姓名,电话,类型、地址
    项目 项目编号,项目内容,项目时间,项目类型

    2.实体间联系

    • 一个自由职业者/员工对应一个时间表,一个时间表对应一个自由职业者/员工,因此自由职业者/员工和时间表之间存在一对一关系。
    • 一个自由职业者/员工对应多个项目,一个项目对应多个自由职业者/员工,因此自由职业者/员工和项目之间存在多对多关系。
    • 一个普通客户/用户对应多个项目,一个项目对应多个普通客户/用户,因此普通客户/用户和项目之间存在多对多关系。
    • 一个项目对应多个时间表,一个时间表对应多个项目。因此项目和时间表之间存在多对多关系。

    3.ER图

    项目时间安排

    (1)项目时间安排表

    所属流程 步骤 预计完成时间 预计开始时间 预计结束时间 矫正后完成时间 校正后结束时间
    需求分析 需求分析 10个工作日 2021/4/23 2021/5/3 6个工作日 2021/4/29
    总体设计 框架设计完成 4个工作日 2021/5/4 2021/5/8 3个工作日 2021/5/2
    总体设计 单元模块设计完成 5个工作日 2021/5/9 2021/5/14 5个工作日 2021/5/7
    实现 接口设计实现 5个工作日 2021/5/15 2021/5/20 5个工作日 2021/5/12
    实现 自由职业者/员工信息管理模块完成 12个工作日 2021/5/21 2021/6/1 8个工作日 2021/5/20
    实现 普通客户信息管理模块完成 10个工作日 2021/6/2 2021/6/12 5个工作日 2021/5/25
    实现 项目信息管理模块完成 10个工作日 2021/6/13 2021/6/23 6个工作日 2021/5/31
    实现 时间表管理模块完成 10个工作日 2021/6/24 2021/7/4 6个工作日 2021/6/6
    实现 维护审计日志模块完成 5个工作日 2021/7/5 2021/7/9 4个工作日 2021/6/10
    实现 管理员功能模块完成 4个工作日 2021/7/10 2021/7/13 3个工作日 2021/6/13
    测试 集成测试完成 3个工作日 2021/7/14 2021/7/16 3个工作日 2021/6/16
    测试 系统测试完成 3个工作日 2021/7/17 2021/7/19 3个工作日 2021/6/19
    测试 测试总结完成 1个工作日 2021/7/20 2021/7/20 1个工作日 2021/6/20
    交付 验收测试完成 3个工作日 2021/7/21 2021/7/24 3个工作日 2021/6/22

    (2)矫正计算方法

    • 单元模块设计,接口设计实现,测试阶段的预计时间基本符合
    • 普通客户信息管理模块与自由职业者/员工信息管理模块相似,在后者完成后可缩短实现时间为原预计50%
    • 预计时间时一般会留出突发情况时间,所以大部分流程矫正后时间是预计时间的60%~80%,

    截图

    Github ISSUE

    项目链接:https://github.com/AMzzcc/-ServiceRentalSystem/issues/1

    博客园后台截图

  • 相关阅读:
    Elasticsearch Windows下安装及配置集群
    .Net文件压缩
    DateHelper
    lambda Helper
    Log4net的使用
    python3之rabbitMQ
    python3之协程
    python3之paramiko模块
    python3之redis
    redis
  • 原文地址:https://www.cnblogs.com/AMzz/p/14730165.html
Copyright © 2020-2023  润新知