作业五:代码开发、测试及发布
| 这个作业属于哪个课程 | 2022软件代码开发技术 |
|---|---|
| 这个作业要求在哪里 | 代码开发、测试及发布 |
| 这个作业的目标 | 这次的作业目标是将之前的作业进行实际代码开发并进行测试发布 |
一、项目简介
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
二、项目开发
2.1 记录开发过程
| 日期 | 已完成工作 | 今日计划工作 |
|---|---|---|
| 2022/5/5 | - | 修复好之前出现故障的数据库;搭建Spring Web基本框架 |
| 2022/5/6 | 修复数据库;搭建框架 | 写好登录前端界面和登录业务逻辑 |
| 2022/5/7 | 完成登录和主界面前端 | 继续写完登录业务,同时继续写出租界面前端 |
| 2022/5/9 | 完成登录业务 | 写出租解决方案系统的前端和业务,进一步完善主界面 |
| 2022/5/10 | 主界面搭建完成 | 完善出租业务,改进前端代码 |
| 2022/5/12 | 主要功能前端写完 | 完善业务和后台代码 |
| 2022/5/13 | 主要系统搭建完成 | 细节需求增加 |
2.2 工作中遇到的困难
在工作中,一开始我的困难是在我的个人电脑换了硬盘后,可能注册表或一些系统配置的更改,使得原来的mysql数据库无法使用服务。在进行漫长的头脑风暴和搜索资料后才解决了这个问题。
之后我打算使用的是Web来搭建这个系统,但可能由于和自己原本的技术栈不同,遇到了许多困难和阻力。可以看到开发过程中前端占的比例是非常大的,比如layui的使用、一些JS的bug使我十分困扰。
2.3 项目燃尽图
燃尽图(burn down chart)是在项目完成之前,对需要完成的工作任务的一种可视化表示。理想情况下,该图表是一个向下的曲线,随着项目任务的逐渐完成“烧尽”至零。
横坐标代表时间,纵坐标表示工作量(总预计工时)。
可以用虚线代表理想情况下的任务进展曲线,用实线代表任务的实际进展曲线。
(1)如果实际曲线在计划曲线以下,说明进展顺利,有比较大的概率按期完工;
(2)如果实际曲线在计划曲线以上,说明有比较大的概率延期,这是就需要关注进度了。
在燃尽图中可能会注意到的一个问题是,实际工作线是否高于或低于理想工作线取决于原始时间估计的准确程度。这意味着如果团队不断高估时间要求,那么进度将始终提前出现。如果他们经常低估时间要求,他们总是会落后于时间表。通过将效率因子纳入刻录图表来纠正此问题。在项目的第一次迭代之后,可以重新计算效率因子,以允许在下一次迭代期间进行更准确的估计。一些模板会在项目进展时自动计算效率。这可用于识别始终存在不准确估计的区域/阶段。
2.4 代码签入记录
代码签入记录:
2.5 项目最新截图
以上截图,初步完成了项目的登录业务和主体框架搭建。
以上截图,由于自己之前的框架不甚熟悉,采用了曾经用过的相对比较容易上手的框架写前端。Application context域名在这儿改成了test_sys表示测试的系统。并且完成了主界面的设计和部分功能业务代码的实现。
至此,系统整体大致写完,主要功能业务均能实现。
三、测试
3.1 在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
总共发现了25个bug,每个类别bug数量如下表:
| 类型 | 数量 |
|---|---|
| 修复的bug | 13 |
| 不能重现的bug | 1 |
| 这个产品就是这样设计的,不是bug | 0 |
| 没有能力修复,将来也不打算修复 | 1 |
| 这个bug的确应该修复,但是没有时间在这个版本修复,延迟到下一个版本修复 | 10 |
3.2 场景测试
(1)你预期不同的用户会怎样使用你的软件
预期中,我的用户会通过所给的网址登录系统,进行一系列人机交互友好的操作,实现搜索分类、管理项目等功能。
(2)他们有什么需求和目标?
他们的主要需求如下:
SF1 搜索自由职业者分类的功能
SF2 用于存储联系自由职业者的不同渠道的解决方案
SF3 搜索项目分类的功能
SF4 搜索客户分类的功能
SF5 维护合同中自由职业者的时间表
SF6 管理员工客户信息
SF7 管理项目数据
SF8 维护系统日志
(3)你的软件提供的功能怎么组合起来满足他们的需要
我的软件首先通过登录界面进入主界面,在主界面通过不同的导航菜单指引他们进行自己所需要的功能。
3.3 你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试
| 平台 | 浏览器 | 处理器 | 显卡 | 内存 |
|---|---|---|---|---|
| Windows 10 | Chrome | Intel I5 9300H | GTX 1650 4G | 16G |
3.4 你的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本
- 软件主要功能实现
- 修复好当前存在的bug
- 人机交互界面完善
四、alpha版本发布
4.1 软件发布
项目发布Github网址:https://github.com/Dunant5/Dunant5
4.2 发布说明
(1)这一版本的功能
这一版本主要实现以下功能:
-
登录验证
-
搜索分类
-
发布项目
-
项目分类查询
-
时间表查询
(2)对运行环境的要求
浏览器为chrome,硬盘有100MB或以上的大小。
(3)安装方法
将项目克隆到本地,配置好本地Tomcat即可在浏览器输入本地域名,运行软件。 初始登录用户名和密码均为admin。
(4)系统已知的问题和限制
项目目前只能实现简单查询,并没有应对较特殊的多并发情形下查询的有效方法。
(5)软件发布方式和地址
软件发布在Github上,地址上已给出。
五、博客编辑截图

浙公网安备 33010602011771号