高级软件工程课程感悟

1. 这门课让我们学到什么?

1)团队协作能力

从第一节课开始组队,我们的项目就和小组开始挂钩,选定组长、讨论分工、每次协作,根据老师的意见调整项目进程和内容,都需要大量的协作,而组长的作用是非常关键的,需要协调大家的时间、并且让每个人能够负责自己所擅长的,另外分工的工作量基本相当,让每个人都能为团队增添一份力量,这是看似简单实则非常难的,尤其是在大家研究生期间课余时间比较忙,需要克服时间、经历和惰性等问题,非常考验协作的能力。

2)软件的开发能力

高等软工的最终项目是由软件和说明文档来呈现,而软件可以有多种形式及多种语言形成,并且涉及到多个部分,当整个软件的设计思路正确之后才能更好地设计软件,还需要开发其对应的数据库、还可能涉及到算法设计、需要使用类图等设计其数据流的关系、需要前端界面的美观完善、需要实现各个部分的功能,这些都是非常庞杂的系统功能实现。

3)软件的设计能力

软件的设计是比开发更加重要的环节,我们首先需要搞清楚系统的目标是什么,例如我们疫情防控系统就需要重点突出“防”和“控”两个目标,然后再具体小目标;其次针对这些目标需要通过哪几类角色(社区管理员、门卫、常住住户、流动人员、租客等等)分别具有哪些责任(例如测温、上报)和义务(例如打卡)及其功能(例如广播等);最后针对这些类别,细化其具体的系统需求,结合开发的角度使得整个系统从注册、打卡、上报、广播等等各个功能的数据流完整、符合并发性和实时性等条件。

4)各类工具的使用能力

从各个环节的验收及老师的意见要求,我们在此锻炼了各类工具的使用,例如画图需要用到starUML工具(其中需要学习类图、顺序图、活动图、状态图等),还有ER图的设计、数据库系统的设计等。

2. 这门课对我的启发?

1)认真

老师上课的精神非常认真并让人收到鼓舞,坚持每节课上好、即使国庆节的课也补回来,课前课后和同学们交流答疑;同组的同学特别是博士生也非常认真,上课和课下都非常积极努力完成项目任务,是我的榜样和努力的方向;

2)合作

一个大的项目是由多个人完成的,这其中涉及到分工,如何调动合作者的积极性、如何合理有效地根据团队成员特长分配任务、以何种形式何时跟进项目都是非常难的事情,要和组长多学习。

3)设计

设计目标的规划是成功的一半,只有在前期对计划近乎苛刻,才能发现更多潜在的问题和漏洞,在之后的实现可以事半功倍。

4)展示

除了设计之外,成果的展示非常重要,这包括演示(演讲+ppt)和文档(项目书),如何展示是项目成功的第二个关键因素。

posted @ 2021-01-24 20:59  梦寐mayshine  阅读(149)  评论(0编辑  收藏  举报