前言
总是习惯于在博客作业写个前言,这或许是课程的最后一次博客作业,前言当然也不能少:那就是选择这门课程收获还是很丰富的!
项目简介
《社区疫情防控追踪系统》
基于对生活社区的疫情防控需要,建立一个轻量级易用的追踪系统,可以追踪社区每天进出的个人、每个人的状态,并能在社区间共享相关信息以实现风险评估和预警传播。该项目要求在手机上实现个人使用的程序(诸如微信小程序)。
设计历程
阶段辨析
对整体项目的开发各阶段有过深入思考,期间查阅邹欣老师的《构建之法现代软件工程》,引用其中一段话作为解读。
在“需求分析”阶段,我们要搞清楚在问题领域中的现实世界里,都有哪些实体,如何抽象出我们真正关心的属性,实体之间的关系是什么,在这个基础上,用户的需求是什么,软件如何解决用户的需求。在“设计与实现阶段”,我们要搞清楚软件是怎么解决这些需求的?在“测试”和“发布”阶段,我们要搞清楚软件真的解决了这些需求了么?软件团队的所有相关人员都需要处理、了解这些信息,如果在处理的过程中有误解和遗失,就会导致开发过程中的问题,以至最终产品不能满足用户的需求。
简要的各阶段概述,让我对开发各阶段有一个更明确深入的认知。
设计工作
在团队中,由于本人并非开发人员,因此在设计阶段主要负责部分设计文档的撰写和部分模型制作。主要工作是详述用例,包括具体用例的实现类图以及顺序图,并对其进行详细描述。所幸团队开发人员(大哥们)完成的非常及时且代码注释都清晰易懂,结合对具体用例代码的分析,比如QueryController、UserController、ReportControlle、SystemController中各个功能函数都代表一个具体用例,分析其中所涉及的属性和方法,最终设计完成该用例类图以及顺序图。
遇到问题
在完成具体用例分析过程需要分析代码,因此遇到了下述问题。
- 对代码结构不够熟悉。
- 错误理解组长布置的任务要求。
首先由于没有开发过小程序,因此对代码的结构和框架不够熟悉,在阅读的时候遇到一点小困难,幸运的是和我所熟悉的安卓开发结构框架相差不大,所以最终还算顺利进行。其次是组长布置任务时,让我完成几个Controller的具体用例设计,其实是希望对每个功能函数独立设计,但我错理解为是以Controller为单位进行设计,因此后期浪费了不少时间修改。
阶段感悟
可能是因为没有参与到项目的代码,因此在设计阶段的感悟并不是特别的深刻,所以更主要的还是作为组员的感受,应该及时与组长沟通,交流任务完成的具体预期。
题外话
由于开篇博客中老同学的访问,可能是助教?(俺也不知道是不是hhh)让我总结写写具体这门课程和本科期间课程有何不同。但是想想还有最后一节课程答辩课,所以还是等下节课结束再做个总结吧!
课程博客传送门
作业 | 链接 |
---|---|
1、期望与笃信 | 高等软工第一次作业《期望与笃信》 |
2、从需求分析看软件开发的挑战 | 高等软工第二次作业《需求分析阶段总结》 |
3、设计也可以按图索骥 | 高等软工第三次作业《设计阶段总结》 |