作业4:需求改进&系统设计

这个作业属于哪个课程 2022软件代码开发技术
这个作业要求在哪里 作业4要求
这个作业的目标 1.运用面向领域建模的方法,修改完善上一次作业提交的需求规格说明书
2.学会运用领域驱动设计方法、软件设计模式等知识,进行系统设计
3.学会编写测试计划

一、需求改进

改进后的领域设计图,其他地方暂无变化

二、系统设计

1. 分层架构

* 基础设施层:

主要存放基础资源服务相关的代码,为其它各层提供的通用技术能力、三方软件包、数据库服务、配置和基础资源服务的代码都会放在这一层目录里。

* 用户接口层:

前端应用通过这层接口,向应用服务获取展现所需的数据。该层主要用来处理用户发送的Restful请求,解析用户输入的配置文件,并将数据传递给应用层。封装应用服务和对外暴露接口。

  • facade
    提供较粗粒度的调用接口,将用户请求委派给一个或多个应用服务进行处理。比如调用应用层创建用户的方法。
  • dto
    数据传输的载体,内部不存在任何业务逻辑,可以通过DTO把内部的领域对象与外界隔离。
    比如接收请求传入的数据CustomerDTO。
    不同的对象在不同的层转换。用户接口层DTO和DO转换,应用层主要是DO,调外部微服务的服务的时候应用层有dto和do的转换。领域层与基础层之间,在基础层有DO和PO的转换。
    在接口层定义DTO对象。数据可能来源于多个DO对象。
  • assembler
    实现DTO与DO间的相互转换和数据交换

* 应用层:

该层只负责业务编排,对象转换,主要包含应用服务,理论上不应有业务规则或逻辑,而主要是面向用例和流程相关的操作。

* 领域层:

主要包含聚合根、实体、值对象、领域服务等领域模型中的领域对象。实现核心业务逻辑,通过各种校验保证业务正确性。领域层主要体现领域模型的业务能力,它用来表达业务概念、业务状态和业务规则

2. 限界上下文图

  • 管理员子域:完成管理员对客户、自由职业者、合同等信息管理等操作
  • 客户子域:完成客户信息管理功能
  • 自由职业者子域:完成自由职业者时间表和信息管理功能
  • 合同子域:完成合同签订进度提醒等操作
  • 统计子域:完成统计合同数额记录功能

3. 实体和值对象

3.1. 实体

客户表(客户编号、姓名、性别、电话号码、邮箱、信誉等级、需要服务类型)
自由职业者表(自由职业者编号、姓名、性别、电话号码、邮箱、信誉等级、服务类型)
合同表(合同编号、项目描述、自由职业者id、客户id、项目类型、进度、金额)
空闲时间表(空闲时间编号、自由职业者id、可服务开始时间、可服务结束时间)

3.2. 值对象

客户编号(客户编号)
合同编号(合同编号)
自由职业者编号(自由职业者编号)
空闲时间编号(空闲时间编号)
空闲时间(可服务开始时间、可服务结束时间)

4. 领域服务、领域应用

客户、自由职业者登录注册功能
客户信息管理功能
自由职业者信息管理功能
合同签订功能功能
统计合同数额功能
管理员管理客户、自由职业者、合同、时间表信息功能

三、代码开发任务计划

1.各模块的开发时间和开发顺序表

模块名 预计活动工期
数据库设计 1个工作日
登录注册功能设计 2个工作日
客户信息管理 3个工作日
自由职业者信息管理 1.5个工作日
合同签订 1.5个工作日
统计合同数额 1个工作日
管理员信息管理 2个工作日
系统组装 4个工作日

2.任务分解

模块名 任务名 预计活动工期(1个工作日8小时)
数据库设计 数据库设计 1个工作日
登录注册功能设计 登录功能设计 1个工作日
注册功能设计 1个工作日
客户信息管理 查看客户信息 0.6个工作日
增加客户 0.6个工作日
删除客户 0.6个工作日
修改客户信息 0.6个工作日
查找客户信息 0.6个工作日
自由职业者信息管理 查看自由职业者信息 0.3个工作日
增加自由职业者 0.3个工作日
删除自由职业者 0.3个工作日
修改自由职业者信息 0.3个工作日
查找自由职业者信息 0.3个工作日
合同签订 查看合同信息 0.3个工作日
增加合同 0.3个工作日
删除合同 0.3个工作日
修改合同信息 0.3个工作日
查找合同信息 0.3个工作日
统计合同数额 统计合同数额 1个工作日
管理员信息管理 查看管理员信息 0.3个工作日
增加管理员 0.3个工作日
删除管理员 0.3个工作日
修改管理员信息 0.3个工作日
查找管理员信息 0.3个工作日
管理其他模块信息 0.5个工作日
系统组装 系统组装 4个工作日

3.甘特图

四、测试计划

1.测试范围

  • 客户、自由职业者登录注册功能
  • 客户信息管理功能
  • 自由职业者信息管理功能
  • 合同签订功能功能
  • 统计合同数额功能
  • 管理员管理客户、自由职业者、合同、时间表信息功能

2.测试目标

最终目标是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付之前发现并改正。其中分为:

  • 确保软件完成了它所承诺或公布的功能
  • 确保软件满足了性能的要求
  • 确保软件是健壮的和适应用户环境的
  • 为软件的质量评估提供依据
  • 为软件质量改进和管理提供帮助

3.测试方法

黑盒测试、白盒测试

4.测试人员:

李军达

5.测试任务安排表

测试模块 测试内容 测试类型 测试时间(天)
登录注册功能 1.登录功能检验
2.注册功能检验
黑盒测试,单元测试 1
客户信息管理 1.添加客户功能检验
2.删除客户功能检验
3.修改客户信息功能检验
4.查找客户功能检验
黑盒测试,单元测试 2
自由职业者信息管理 1.添加自由职业者功能检验
2.删除自由职业者功能检验
3.修改自由职业者信息功能检验
4.查找自由职业者功能检验
黑盒测试,单元测试 1
合同签订 1.合同生成功能检验
2.合同保存功能检验
3.修改合同信息功能检验
4.合同进度提醒功能检验
黑盒测试,单元测试 2
统计合同数额 1.合同数额统计功能检验
2.合同数额统计保存功能检验
3.合同数额导出功能检验
黑盒测试,单元测试 1
管理员信息管理 1.添加管理员功能检验
2.删除管理员功能检验
3.修改管理员信息功能检验
4.管理员修改客户、自由职业者、合同信息功能检验
黑盒测试,单元测试 1
系统组装 整个系统是否运行正常 黑盒测试,单元测试,集成测试,系统测试 5

5.后台截图

posted @ 2022-04-25 13:43  LJD1834  阅读(67)  评论(0)    收藏  举报