作业五
| 这个作业属于哪个课程 | 班级链接 |
|---|---|
| 这个作业的要求在哪里 | 作业要求链接 |
| 这个作业的目标 | 依据上回作业进行代码开发、测试和发布。记录对应的开发文档。 |
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
1. 开发过程
1.1 开发进度
以下是上回对该系统的开发计划和测试计划。
| 任务名称 | 预计完成时间/天 | 预计开始时间 | 预计结束时间 |
|---|---|---|---|
| 建立数据库 | 2 | 2022/4/22 | 2022/4/24 |
| 登录模块实现 | 2 | 2022/4/25 | 2022/4/27 |
| 登录模块测试 | 2 | 2022/4/26 | 2022/4/28 |
| 管理模块实现 | 10 | 2022/4/27 | 2022/5/7 |
| 管理模块测试 | 10 | 2022/4/28 | 2022/5/8 |
| 审计日志模块实现 | 2 | 2022/5/8 | 2022/5/10 |
| 审计日志模块测试 | 2 | 2022/5/9 | 2022/5/11 |
| 系统测试 | 2 | 2022/5/11 | 2022/5/13 |
但现实与计划之间有较大的出入。直至昨天,我完成了对登录模块的完整开发和测试,以及完成了管理模块的部分功能。这与原计划有了十多天的差距。
| 任务名称 | 预计完成时间/天 | 预计开始时间 | 预计结束时间 | 完成时间 |
|---|---|---|---|---|
| 建立数据库 | 2 | 2022/4/22 | 2022/4/24 | 2022/5/7 |
| 登录模块实现 | 2 | 2022/4/25 | 2022/4/27 | 2022/5/13 |
| 登录模块测试 | 2 | 2022/4/26 | 2022/4/28 | 2022/5/14 |
| 管理模块实现 | 10 | 2022/4/27 | 2022/5/7 | # |
| 管理模块测试 | 10 | 2022/4/28 | 2022/5/8 | # |
| 审计日志模块实现 | 2 | 2022/5/8 | 2022/5/10 | # |
| 审计日志模块测试 | 2 | 2022/5/9 | 2022/5/11 | # |
| 系统测试 | 2 | 2022/5/11 | 2022/5/13 | # |
1.2 开发过程遇到的问题
1.2.1 设计问题
经过与其他伙伴的讨论,我发现我对系统的需求分析和设计与题目的本意有较大的出入,于是重新对系统进行了分析和设计。
1.2.2 DDD设计规范问题
虽然大致了解了DDD的设计理念以及目的,但要将其真正的应用到开发中时,我真的是一头雾水。
殷浩详解DDD:领域层设计规范
这篇文章中有较为详细的DDD设计规范以及简单的代码例子,但我依旧有些不太明白的地方。就比如将实体的动作方法划分出来成为领域服务或领域事件,这与常见的MVC架构的服务层挺相似的,或者说,两者间有什么区别?
1.2.3 技术问题
我主要是对后端的逻辑开发比较熟悉,几乎没有前端开发的相关经验,所以对系统的前端开发基本是边学边做的形式进行的。只能说,效率很低。
2. 项目燃尽图
燃尽图是一个坐标图。呈现的是随着时间推移而剩余的工作量。
燃尽图的元素:
横坐标:sprint的工期(以天计算)。
纵坐标:sprint 内剩余任务的总预计工时(以小时标记)。
计划曲线:理想情况下的任务进展曲线(上图中的蓝色线),作为参考之用。
实际曲线:任务的实际进展曲线(上图中的红色线)。
燃尽图就是每天将项目中所有任务剩余工时的总和计算一下,形成坐标(图中的红色点),然后逐次把点连接起来,形成剩余工作量的趋势线。

3. 代码签入记录
issues记录:
数据库建立
实现登录模块
登录模块测试
管理模块实现
4. 当前系统开发结果截图
登录界面


5. 测试
已出现的BUG及类型
| bug类型 | 数量 |
|---|---|
| 已修复bug | 18 |
| 不能重现的bug | 3 |
| 待修复bug | 7 |
其中已修复的bug中大部分是编码过程中的细节失误造成的,如写入数据库时数据表写错;前端表单提交的数据项与后端的数据项没能一一对应等
5.1 场景测试
以下是与客户相关的部分场景测试
| 预估场景 | 系统功能 | 已实现? |
|---|---|---|
| 新增客户 | 添加客户信息 | O |
| 客户修改个人信息 | 修改客户信息 | O |
| 通过客户姓名查询联系方式 | 通过姓名搜索客户信息 | X |
| 拉黑客户 | 将客户信息移动到黑名单中 | X |
| 通过客户的类别查询客户 | 通过客户的类别属性搜索客户信息 | X |
5.2 测试矩阵
以下是登录模块及初始化界面的测试矩阵
| 测试功能 | 测试项 | 监测点 | 预期结果 | 手机浏览器 | Edge浏览器 | QQ浏览器 |
|---|---|---|---|---|---|---|
| 登录 | 界面 | 背景 | 绿色背景 | O | O | O |
| 登录 | 界面 | 登录按钮颜色 | 白色 | O | O | X |
| 登录 | 界面 | 输入框 | 可输入字符 | O | O | O |
| 登录 | 登录动作 | 登录按钮 | 跳转到初始界面 | O | O | O |
| 初始界面 | 界面 | 背景 | 白色背景 | O | O | O |
| 初始界面 | 界面 | 导航栏 | 正常显示 | X | O | O |
| 初始界面 | 界面 | 当前子模块 | 高亮 | X | O | O |
待续······
6 出口条件
该系统的出口条件为:实现并完善与客户、项目、合同、时间表的相关功能,并为用户依据其类型进行权限配置区分。
7 Alpha发布
7.1 软件发布
https://github.com/personground/excelsystem
7.2 相关说明
7.2.1 功能说明
当前版本为未完善版本,实现的功能有系统登录功能,客户信息管理功能和项目信息管理功能。管理的功能主要为添加、修改和删除。


7.2.2 安装方法
github上下载文件安装。
7.2.3 运行环境
JDK1.8
数据库暂时实现了Mysql数据库,版本为8.0以上
使用Tomcat9运行。
7.2.4 已知问题及限制
目前系统实现功能较少,界面上许多按钮功能未实现,点击没有反应。
MarkDown截图

浙公网安备 33010602011771号