张民杰|2021软件代码开发技术作业四|需求改进&系统设计
这个作业属于哪个课程 | 2021软件代码开发技术 |
---|---|
这个作业要求在哪里 | 需求改进&系统设计 |
这个作业的目标 | 1.学习DDD战略设计。 |
2.学会运用甘特图编写代码开发任务计划。 | |
3.学会编写测试计划 | |
需求改进
暂时并没有需要改进的需求。
系统设计
1.管理业务简介
- 选择查询业务,可以对员工信息、自由职业者信息、客户信息、项目信息以及时间表信息进行查询。
- 需要添加库中没有的信息可以选择添加。
- 需要删除库中的信息可以选择删除。
- 需要修改库中的信息可以选择修改。
2.战略设计
领域划分
-
对于管理这种业务,查询是领域,即查询领域。无论你的查询对象是员工、客户或者项目,又无论你需要的操作是添加删除修改等等,查询都是这个领域的核心。
-
通过接下来的需要,分成删除子域、修改子域和添加子域。
最终领域划分如下图:
- 查询核心子域:完成查询操作。
- 添加子域:完成添加操作。
- 修改子域:完成修改操作。
- 删除子域:完成删除操作。
- 用户子域:完成用户查询、校验等通用子域。
架构分层
DDD分层架构也可以叫四层架构,主要有用户接口层、应用层、领域层、基础层;
-
用户接口层:负责向用户显示信息和解释用户指令,比如用户、程序、自动化脚本、批处理脚本等;
-
应用层:主要用于协调多个聚合的服务和领域对象完成服务编排和组合,可以调本地也可以调远程的服务、包括权限验证、事务控制、防重幂等,不要把核心的业务逻辑放到这里;
-
领域层:实现核心逻辑,包括聚合根、实体、值对象、领域服务,包括业务扩展点、校验规则、组合聚合服务等相关功能;
-
基础设施层:提供通用的技术和基础服务,包括一些第三方工具类、缓存、数据库、文件等,采用依赖倒置的设计,于其他层解耦。
这里使用继承分层架构,即把基础设施层移动到最高层。
其中继承分层架构依然是单向依赖,这也意味着领域层、应用层、表现层将不能依赖基础设施层,相反基础设施层可以依赖它们。
故基础设施层可以实现所有其它层定义的接口。
代码开发任务计划
任务名称 | 开发顺序 | 开发时间 |
---|---|---|
页面设计 | 第一位 | 5个工作日 |
接口设计实现以及数据库搭建 | 第二位 | 5个工作日 |
登录系统实现 | 第三位 | 3个工作日 |
自由职业者信息管理模块实现 | 第四位 | 5个工作日 |
普通客户信息管理模块实现 | 第四位 | 5个工作日 |
员工信息管理模块实现 | 第四位 | 5个工作日 |
项目信息管理模块实现 | 第四位 | 5个工作日 |
时间表管理模块实现 | 第四位 | 5个工作日 |
测试 | 第五位 | 9个工作日 |
开发进程(甘特图)
测试计划
测试范围
测试范围包括对页面测试、接口测试、数据库测试以及管理模块实现的测试。
测试目标
检查系统能否满足用户的功能性需求和非功能性需求。
测试人员需求、分工
理论上,测试人员为一位,需了解测试的相关知识。
测试方法
- 自动化测试和手动测试
- 白盒测试和黑盒测试
- 中断测试、临界测试和压力测试
测试阶段计划
工作内容 | 人员安排 | 开始时间 | 结束时间 |
---|---|---|---|
页面测试 | 1 | 6/5/21 | 6/7/21 |
接口测试以及数据库测试 | 1 | 6/7/21 | 6/9/21 |
自由职业者模块实现测试 | 1 | 6/9/21 | 6/10/21 |
普通客户模块实现测试 | 1 | 6/10/21 | 6/11/21 |
员工信息模块实现测试 | 1 | 6/11/21 | 6/12/21 |
项目信息管理模块实现测试 | 1 | 6/12/21 | 6/13/21 |
时间表管理模块实现测试 | 1 | 6/13/21 | 6/14/21 |
风险评估
人力方面:可以根据实际工作量调整。
时间方面:可以根据实际测试时间进行调整。
环境方面:可能会出现部分环境不兼容的情况。