103
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2501_CS_SE_FZU |
|---|---|
| 团队名称 | 晴空ClearSky |
| 这个作业要求在哪里 | 团队作业—事后诸葛亮 |
| 这个作业的目标 | α冲刺阶段问题总结 |
| 其他参考文献 | 《构建之法 现代软件工程》第三版 邹欣著 |
设计工作在需求分析、概要设计、数据库设计全阶段均有展开。但是前期主要是组长在参与设计,设计工作开展的时间是合适的。由于全体成员并没有全部参与各个流程设计,导致整体系统设计出现了一些不一致,因此在进行α冲刺阶段仍然需要对数据库设计进行优化更改,出现了工作与阶段不匹配的问题。
设计工作中遇到了AI对话转接逻辑是交由AI判断生成一个心理危险等级系数还是在本地根据用户发送的消息进行心理危险等级系数的生成出现了分歧。团队经过沟通交流,最终决定在本地生成心理危险等级系数的生成,再添加其它一些逻辑来判断用户心理状态并决定是否转接真人。
团队能够运用单元测试来帮助项目开发,例如后端主要采用Apifox工具对各个接口进行测试。此外在整体系统设计中借助starUML工具绘制了一些用况图、活动图等UML图幅。
AI会话模块产生的Bug最多,因为对于软件接入AI的流程不熟悉,同时想要训练构建一个完全符合要求的大模型存在一定困难。在存储AI聊天消息的过程中,数据库内存入了大量Json格式的消息,这是由于大模型对于消息的请求与回复过程生成了很多Json格式的消息,系统将其全部存入了数据库,后来添加了大量消息过滤机制,提取出用户发送和AI回复的纯文本存入数据库。在设计开发的时候忽略了大模型一般会有自己的回复格式,而不会只返回纯文本消息。
团队只有大概的测试分工,将各个模块的测试工作分配给不同成员。由于整体系统设计的失误,导致α冲刺阶段还在完善系统设计进而使相关开发工作出现了一定程度延期,未能及时制定详细的测试计划。此外,由于相关测试成员对于测试工具、流程不熟悉,在学习如何测试上花费了大量时间,使得项目测试出现了一些延迟。
进行了初步的验收测试,但是整个项目还存在许多不足,例如AI会话的实时性未能保证做到3s内回复率达到100%。
有。后端以Apifox为主要测试工具来测试各个接口,Web管理页在谷歌、火狐等不同浏览器进行了测试,移动端主要在移动设备模拟器上进行运行测试。从不同角度保证测试的可靠性。
每次出现功能变更或接口改动等,均有在项目群里通知全体成员,但是由于沟通协作机制缺陷,部分成员没有及时关注通知,有时候会出现变更没有通知到位的情况。
对于AI会话和预约功能是列入必须实现的功能清单,而其余功能均为辅助综合功能,可以推迟。
小组成员具有一定的处理突发情况的能力,可以在一定程度上根据情况变更,适时调整自己的工作安排。
可以,由于系统所有模块之间耦合度较低,对于一些功能出现变更时,一般不会影响其它功能,可以及时针对某个功能模块进行修改。
晴空ClearSky的开发目的是得到一个能够与大学生进行AI模拟真人心理咨询师的24小时心理陪伴,同时及时检测大学生的心理状态,做到严重心理问题能够及时干预,同时集成线下心理咨询预约、心理测评、心理资源浏览、心理社区互动等功能的综合心理服务平台。
原计划的登录注册、AI对话等模块已经通过测试,其余模块也都完成实现,但是其余模块的正确性还未得到验证,可能有潜在的bug,与原定计划相比的交付时间存在延迟。
软件工程的质量有一定程度的提升,文档与代码注释更加完整规范,系统架构清晰分为移动端、Web后台管理端与后端,团队的沟通协作能力得到一定提升,在各自任务出现问题时可以及时与组长进行沟通交流。
项目开发初期,时间较为充裕,但是随着开发的进行,由于缺乏完善的单元测试,bug逐渐堆积,在全部接口实现后对bug再进行定位修复出现了很大困难,在项目开发的后期需要花费大量时间对接口正确性进行验证,后期时间较为紧张。
原计划的工作只完成部分,除登录注册、AI会话接口得到验证,其余接口虽然已全部完成构建,但是缺乏完善测试,正确性不得而知。
对于关键的AI会话模块拥有完善的测试评价衡量指标,其余模块较为缺乏。由于其余功能模块较为常见,组长在项目初期对于成员技术水平存在误判,未及时制定每项任务的评价指标,只是简单交付任务给成员,让其自行开发完成。
项目的后端接口测试出现了延期,本来后端接口应该一边实现一边测试,实现一个接口就测试一个接口,但是由于后端只有组长在开发,缺少更多的技术人员支持,后端开发只能专注于尽快实现所有接口,导致接口在开发时就缺乏测试,加上其余测试人员对于后端Spring Boot框架技术的不熟悉,导致测试很难进行。主要是对于各个成员的技术水平出现了错误估计。
未来将重点完善AI对话的转接逻辑,将开发计划顺延。
对于一些功能模块的小功能点存在bug难以修改的情况下,考虑从系统中去除一部分功能。
将需要完成的文字材料提前安排,减少后期临时赶文档的情况。
加强团队沟通协作的评分机制,加强成员关注项目消息的积极性,避免出现消息通知不到位的情况。
在多端开发的技术栈选择上,需要更加考虑各个技术之间的兼容性,同时需要考虑当前项目成员的技术水平,以免出现后端几乎无人构建的情况。
接口设计应该更加规范,在项目开发前就要制定要完善的接口文档,而不是一边开发一边完善接口文档,以免导致各自变更问题。
测试流程应该更加完善,要提前制定好整体的测试计划。
同时要使用Git等版本控制工具,使得大家能够及时共享最新版本代码。
此外还需要加强团队沟通协作,组长应该及时关注开发进度,组员在出现问题时也要及时向组长说明。
利用大模型对接口添加详细注释说明,例如:
/**
* 用户注册
*
* 新用户通过提供必要信息注册账号。注册成功后会自动登录并返回JWT Token。
* 用户名和邮箱必须唯一,密码需要满足安全要求。
*
* @param request 注册请求参数,包含用户名、密码和邮箱必选信息,其它为可选
* @return 注册结果,包含用户ID和用户名等信息
*
* **请求参数示例**:
* ```json
* {
* "username": "newuser",
* "password": "SecurePass123!",
* "email": "newuser@example.com",
* "realName": "张三"
* }
* ```
*
* **响应示例**:
* ```json
* {
* "code": 200,
* "message": "注册成功",
* "data": {
* "userId": 12345,
* "username": "newuser",
* "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
* }
* }
* ```
*/
利用AI协助寻找接口的一些不合理实现,例如一些接口在早期测试编写的一些桩程序也并入了最终代码,导致每次返回一个固定值,利用AI查找出这些被错误并入项目最终代码的方法,并加以实现修改。
AI在bug修复时,起到了协助作用,例如修复会话消息错误存储大量Json格式的情况,AI分析并协助添加了一些消息过滤机制,保证会话消息能够以纯文本的形式被正确持久化存储。