201671030129 周婷 实验十四 团队项目评审&课程学习总结
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 软件工程 |
这个作业的要求在哪里 | 团队项目评审&课程学习总结 |
课程学习目标 | (1)完成项目验收(2)反思总结课程学习内容 |
1.对《实验一 软件工程准备》的任务5所提出的问题的解答###
-
Q1:第一章通过形象的例子告诉我们什么是软件工程,介绍了软件工程的各个阶段,对软件工程的概念及它的特性做了较为生动而详细的介绍,那么为什么需要学习软件工程,在学习的工程中,如何将理论与实践结合起来,对我们以后的学习工作能产生多大的影响?
A1:通过这学期对软件工程的认识和学习,我认为学习软件工程是为了更有效率更完善的完成一个项目,学习软件工程对提高我的软件开发能力与软件项目管理能力具有重要的意义,在团队合作时,意识到了团队合作合理分工对高效完成一个项目的重要性,当然了,学习软件学期工程的意义不仅仅局限在这门课程的学习上,就像老师上课时候举出的装修房子的例子,我相信它也会对我的生活产生影响。
-
Q2:第五章团队和流程中,介绍了团队合作的十种模式,就我个人认为,交响乐模式较其他几个模式优越一些,团队成员各司其职,自己做好自己的那一部分,我较为疑惑的是,每个人解决问题的方法都不同,则在各部分组合在一起时,出现的矛盾和冲突怎么解决,会不会大幅度降低软件开发的效率,交响乐模式还有别的缺点吗?
A2:在本学期的结对项目及团队项目中,我们大都采用了团队合作模式中的交响乐模式,成员合理分配任务,每个组员做好自己负责的部分,虽然每个成员的解决问题的方法不同,包括代码书写的方式,所以在编码之前进行了代码规范,遇到矛盾和冲突时,团队总体商议,得出最好的解决办法,虽然需要花费时间,但整体效率不会大幅度降低,如果团队较为团结,遇到问题认真商议,还会提高软件开发效率及质量,在实践过程中,还未发现其他较大的缺点。
-
Q3.:第八章需求分析中,在获取用户需求——用户调研一节中,提到了六种调研方法,在日常生活中我身边经常出现问卷调查,有时候会出现问卷调查的问题模棱两可,所以在软件设计需求分析用户调研中,采用用户调查问卷的方式时,若同样出现这种情况怎么办?
A3:在团队项目中,我们的团队采用的调研方法包括访谈及问卷调查,因为需要调研的一类用户的涉及范围较为广泛,在问卷调查中,我们尽量将每一个问题的提问方式明确化,让接受调研的群体能够比较明确的了解我们所要了解的客户群体的信息,使最终问卷的结果能够有较大的意义。
2.总结自己在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。###
- 可行性分析:
可行性分析的过程分为三个步骤:首先需要进一步澄清问题,然后导出系统的逻辑模型,最后得出系统实现方案。可行性主要分为操作可行性、经济可行性、技术可行性及法律可行性,采用NABCD方法对系统进行初步分析,为将逻辑模型转化为物理模型,我们还学习了数据流图。 - 需求分析:
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须最什么”这个问题。在需求分析阶段结束之前需要编写需求规格说明书,以书面形式准确的描述软件需求,在需求分析过程中,应用mockplus建立了软件原型。 - 实现:
通常把编码和测试成为实现,编码时选择适宜的程序设计语言会给编码过程减少压力。作为软件过程的一个阶段,编码是对设计的进一步具体化,程序的质量主要取决于软件设计的质量。在团队合作的项目中,应该先统一编码风格,提高合作效率。 - 测试
测试阶段的根本目标是尽可能多的发现并排除隐藏的错误,最终把高质量的软件交付给顾客使用。软件测试的方法有很多,学习了黑盒测试,将程序看做一个黑盒子,完全不考虑程序的内部结构和处理过程,是在程序的接口进行测试,只检查程序功能是否按照规格说明书的规定正常使用。 - 项目验收
项目验收时,项目开发方应该提供《需求分析说明书》、《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《测试计划》、《测试报告》、《程序维护手册》、《用户操作手册》、《项目总结报告》等一系列的文档说明。向验收方交付项目,为验收方演示系统的功能和使用。
3.结合个人项目/结对编程/团队项目的个人经历,谈谈心得。###
- 刚开始学习这门课程时,不太清楚具体的学习内容,在第一次实验翻阅《构建之法》后,也对这门课程的相关知识产生了一些问题,也对这门课程有了初步的了解,第一次写博文时,发现并不是自己想象中那么容易,需要注意很多的细节,对于个人项目博客的撰写,在互评环节,浏览别人的博文发现自己的博文的排版不如别人的整齐,收获颇多,在第一次个人项目的完成中,遇到问题请教同学,完成项目。
- 在结对编程中,两个人合作的效率远远高于一个人。结对项目在最开始进行的时候,需要结对双方对彼此的编码能力及编码习惯有一定的了解,需求分析时,双方会产生分歧,增加项目完成的难度,我们会探讨解决,经过磨合,统一意见。代码复审也提高编程效率,在双方的监督下,代码书写较为规范。达到了一加一大于二的效果。编程所占的时间比例最大,而实际编程所用的时间也比计划用时要多,所以也需要在编程方面下功夫。
- 在团队项目的完成中,感触颇深,在有大量的任务的情况下,只有合理分工,每个组员认真做好自己的工作,才能高效的完成总体任务,团队的相互配合和包容是十分重要的。亲身经历和感受了一个完整的项目的过程,进行项目需求分析和文档的编写、系统设计、详细设计、项目的编码及测试,也对文档的规范编写使我学习到不同类型的文档的编写规范,在团队合作中,大家会在一起解决困难,事半功倍。
4.实践总结和提升###
- 统计在软件工程实践中,你完成了多少行的代码?
三千行左右 - 你在软件工程实践的各次作业分别花了多少时间?(做一个列表)
实验 | 用时(min) |
---|---|
实验一 软件工程准备 | 120 |
实验二 软件工程个人项目 | 60 |
实验三 作业互评与改进 | 60 |
实验四 软件工程结对项目 | 120 |
实验五 软件研发团队组建 | 60 |
实验六 团队项目选题 | 60 |
实验七 团队项目原型设计与开发 | 200 |
实验八 基于原型的团队项目需求调研与分析 | 250 |
实验九 团队项目需求改进与系统设计 | 300 |
实验十 团队项目系统改进与详细设计 | 200 |
实验十一 团队项目设计完善与编码 | 100 |
实验十二 软件测试与Alpha冲刺 | 300 |
实验十三 Beta冲刺与团队项目验收 | 300 |
-
哪一次作业让你印象最深刻?为什么?
让我印象最深刻的一次作业是实验四结对项目,这是软件工程课程第一次和其他人一起完成一个项目,切身体会到和别人合作时遇到的问题和解决问题的过程,产生了新的体会,收获颇多。 -
累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
累计花费了35.5个小时,平均每周2.3个小时。 -
你学习和掌握的新语言、新平台;
语言:JAVAWeb、SQL语言、JAVA
平台:班级博客园、MOOC、GitHub -
填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法
软件开发工具、项目管理工具 | 软件开发方法 | 软件建模方法 |
---|---|---|
墨刀、石墨文档、mockplus、MySql | 原型方法、生命周期法、面向对象方法 | 面对对象建模、结构化建模 |
- 其他方面的收获或提升
在学期的软件工程的学习中,团队合作能力、各种文档撰写能力及规范、任务规划等能力都得到了提升。
5.课程建议###
- 在本学期的软件工程的学习中,收获颇多。接触到了一种新的教学方式,也采用了按时发表这种新的方式记录学习产生的结果。除了书本上的知识,在老师发布的博文安排中,为我们提供各种学习方法和工具,通过亲身经历软件工程的开发流程,使我对软件工程这门课程的了解不仅仅局限于书本上的知识,更多的是掌握了学习工具如mockplus等的使用和各种文档的撰写规范。虽然工作量比较大,但还是可以接受的。可能是自身编程能力的问题,留给编程的时间不是很充足。