高等软工第一次作业

 

本人背景及选课理由


 

  本人本科就读于某大学软件学院软件工程专业,大学之初曾上过软件工程导论课,该课程从纯理论的角度对软件工程的各个阶段及相关技术进行了科普。接着便开始了软工核心课、编程课的学习。“马马虎虎”学习完一堆专业核心课后,又进行了软件系统分析与设计、软件项目管理、软件体系结构、软件质量保证与测试技术课程的熏陶。这些课程或从理论、或从实践加深了本人对软件工程的认识。虽然学了较多相关知识,但日久不用,或多或少已有遗忘。如今本人对软件工程已有初步了解,但达到企业中“项目经理”、“需求分析师”等还远远不够。虽然本人并无获得以上岗位offer的远大抱负,但作为软工出身的学子,到了研究生阶段,还是有上“软件工程课”的情节,故选了此门课程,还望老师和同学们多多包涵。

 

希望掌握的能力


 

(1)增强撰写各类软件过程文档、绘制图表的能力,尽力做到表述清晰、格式规范、高效准确。

(2)对软件工程的整体流程,各环节需要达成的目标,有较为清晰的了解。

(3)通过与团队进行合作,增强团队合作能力。

(4)合作过程中观察队友,学习队友身上的优点,包括对项目的理解、开发能力、表述能力等。

 

项目成功的关键因素


 

 项目范围的界定

  本人认为此题关键在于对“项目”的理解。在老师的作业要求中,只提到要求写出“列举5个能够促使项目取得成功的关键因素”,并未说明项目规模的大小、是否为本课程的团队作业项目、是否有甲乙方等信息。百度百科对于“项目”的定义也过于宽泛。本人认为,不同类别项目成功的关键因素差距较大。举个例子,规模越大的项目越需要管理,规模越小的项目越需要个人的专业技能与努力;有雇佣关系的开发项目需要合理的考核及薪金制度,而课程实践项目则不需要。综上所述,为了回答本题,本人将“项目”界定为本学期课程中需要实现的软件开发项目。该项目虽然是团队项目,但规模较小,团队成员均有一定的软件过程管理与开发技能,团队成员虽然不像普通软件开发团队一样赚取薪水,但需要高质量的产出换取老师的认可,从而得到优秀的成绩,也增强自己的技能。

  在此前提下,本人认为项目成功的关键因素主要有以下几点:

(1)适当的项目范围

  项目范围的界定不宜过大,也不宜过小。过大的项目范围会导致项目难以实现,过小的项目范围容易导致最终的项目满足不了客户的需求。所以在选题之出,界定适当的项目范围是十分重要的。

(2)项目分工的合理性

  团队成员都是研一学生,专业技能相似,每名成员既可以侧重项目需求分析等,也可侧重项目实现,且每名成员还有很多其他专业课,分给项目的时间是有限的。故成员在项目中侧重的工作,应在项目初期予以简单界定,这样成员也可以在闲暇之余提前重点学习相关的知识。

(3)项目需求的可行性

  项目的需求分析文档是项目实现的根本。若一个需求最终实现不了,亦或实现后没有价值,针对该需求做的努力就是无用功。在需求分析阶段做的努力应大于实现阶段,越早确定项目的内容,才能更快更准确的实现项目,避免返工。

(4)项目成员的团队协作

  作为一个团队项目,队员间的相互帮助及团队氛围的重要性不言而喻。团队成员十分努力,也会带动整个团队积极性。

(5)高质量的文档说明

  显而易见,作为软件工程课的项目,重点不是实现的技术细节,而是在用“工程化方法构建和维护有效的、实用的和高质量的软件”中掌握各种分析问题的方法与手段。而这些内容最后的产出物就是项目文档。所以文档的规范性、质量等都是很重要的。

 

学习计划


 

  本人所在小组选择的项目是社区疫情防控追踪系统,简而言之是监控各社区居民进出小区的时间、身体状态等信息。经过后台分析计算,评估社区的疫情风险等级,通过搭建微信小程序前端,将结果展示给用户。

个人:

  从项目管理角度讲,首先本人要做到认真听讲,知晓每节课老师讲授的内容并尽力掌握。

  从项目实现角度讲,本人希望对微信小程序的hello-world实现流程及简单组件功能有一定的了解,达到看别人的代码+简单的csdn查找,可以看懂的程度。无论团队是否分配本人进行实际开发,熟悉小程序都更有利于理解项目的进度及难点。

  从文档撰写角度讲,由于本人本科阶段已经学过常见项目文档及图示的相关理论,并简单进行过练习,故该环节的学习的策略是:用到的东西不会,再进行查找。

团队:

  项目初期与团队进行交流,明确本人重点在项目中承担的方面,针对该方面进行重点学习。

  项目中期做好团队中自己的工作,并配合团队做好与其他成员的工作对接。

  项目后期协助团队做好项目整合工作,整理相关文档及实现文件,准备好最终的项目答辩。

 

posted @ 2020-10-06 15:43  生命如水  阅读(79)  评论(0编辑  收藏  举报