这个作业属于哪个课程 软件代码开发技术
这个作业要求在哪里 需求改进&系统设计
这个作业的目标 1. 深入理解DDD战略设计
2. 改进需求,完成系统设计
3.完善计划,制定开发任务计划与测试计划

1. 需求改进

新增将系统划分成几个子域如下:

  • 用户子域:校验用户身份,识别用户权限。
  • 信息操作子域:对自由职业者信息、项目信息、客户信息、时间表信息进行增删改,改变数据信息。
  • 信息搜索子域:对自由职业者信息、项目信息、客户信息、时间表信息进行查询,不改变数据信息。
  • 信息校验子域:判断信息操作是否有问题,过滤非法信息。
  • 审计子域:汇总安全日志信息,生成审计日志。

领域类图:



2. 系统设计

2.1 业务简介

  • 管理自由职业者信息、项目信息、客户信息、时间表信息,系统管理员可以对其增删查改
  • 操作信息时生成对应安全日志,汇总数据生成审计日志,审计员可以操作审计日志

2.2 战略设计

领域:本系统中的领域为信息管理领域。信息管理,即CRUD是本领域的核心。

子域:本系统分为以下子域:用户子域、信息操作子域、信息搜索子域、信息校验子域与审计子域。

限界上下文:本系统需求非常简单,本质就是一个管理系统,领域拆分如图:

image-20210515171321755
  • 用户子域:校验用户身份,识别用户权限。
  • 信息操作子域:对自由职业者信息、项目信息、客户信息、时间表信息进行增删改,改变数据信息。
  • 信息搜索子域:对自由职业者信息、项目信息、客户信息、时间表信息进行查询,不改变数据信息。
  • 信息校验子域:判断信息操作是否有问题,过滤非法信息。
  • 审计子域:汇总安全日志信息,生成审计日志。

架构分层:分层架构的一个重要原则是——每层只能与位于其下方的层发生聚合。

image-20210515172726893

2.3 战术设计

实体:实体类定义如下

实体名 类名
用户 User
自由职业者 Freelance
项目 Project
客户 Client
时间表 Schedule

值对象:值对象定义如下

值对象名 类名 作用
地址 Address 操作具体地址,划分省市区等等
邮箱 Email 校验邮箱
类型 Type 操作类型,区分不同实体不同类型

领域服务:领域服务表示一个无状态的操作,它用于实现特定于某个领域的任务。本系统中的领域服务为:用户认证、审计日志生成。

  • 用户认证:识别用户,提供认证细节。
  • 审计日志生成:汇总信息,生成审计日志。

领域事件:将领域中发生的活动建模成一系列的离散事件,每个事件都用领域对象来表示。本系统只是一个简单的信息管理系统,不需要领域事件。


3. 开发任务计划

3.1 代码开发任务计划

3.1.1 各模块开发时间和顺序

顺序编号 模块任务 开发时间
1 自由职业者信息管理模块实现 5个工作日
2 普通客户信息管理模块实现 3个工作日
3 项目信息管理模块实现 3个工作日
4 时间表管理模块实现 3个工作日
5 审计日志模块实现 3个工作日

3.1.2 模块分解

模块名 分解后的任务 开发时间
自由职业者信息管理模块 实现CRUD接口或映射 8个小时
实现前后端数据交互 12个小时
数据过滤,数据校验 8个小时
普通客户信息管理模块实现 实现CRUD接口或映射 4个小时
实现前后端数据交互 8个小时
数据过滤,数据校验 4个小时
项目信息管理模块实现 实现CRUD接口或映射 4个小时
实现前后端数据交互 8个小时
数据过滤,数据校验 4个小时
时间表管理模块实现 实现CRUD接口或映射 4个小时
实现前后端数据交互 8个小时
数据过滤,数据校验 4个小时
审计日志模块实现 汇总信息,生成审计日志 16小时

3.1.3 代码开发甘特图

image-20210515225156236

4. 测试计划

4.1 引言

4.1.1 项目背景

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

本系统为一个客户管理系统。


4.2 任务概述

4.2.1 测试范围

本系统所有源码以及系统网页.


4.2.2 测试目标

发现错误,修复错误,最终得到一个质量过关的、功能完善的、可交付的用户管理系统。


4.3 测试策略

4.3.1 测试人员

开发者个人


4.3.2 测试方法

单元测试、集成测试、系统测试与验收测试。


4.3.3 测试计划

测试名称 具体任务 持续时间
单元测试 自由职业者信息管理模块CRUD单元测试 0.5个工作日
普通客户信息管理模块CRUD单元测试 0.5个工作日
项目信息管理模块CRUD单元测试 0.5个工作日
时间表管理模块CRUD单元测试 0.5个工作日
集成测试 模块集成测试 1个工作日
审计模块测试 1个工作日
系统测试与测试总结 系统测试与测试总结 2个工作日
验收测试 验收测试 2个工作日

4.4 测试资源

4.4.1 硬件资源需求

一台可正常工作的win10操作系统笔记本电脑。


4.4.2 软件资源需求

需要对系统源码进行单元测试与集成测试,需要系统网页进行系统测试与验收测试。

需要不同的浏览器运行打开网页进行测试,浏览器包括:IE、Chrome、Firefox等等。


4.4.3 测试环境需求

需要对应web项目开发所在环境、测试所需的包。


4.4.4 测试人员需求

开发者个人


博客园后台截图

image-20210515225156236
 posted on 2021-05-16 22:11  沉沦SgGhost  阅读(58)  评论(0编辑  收藏  举报