实验十四 团队项目评审&课程学习总结

一:1.结合本学期课程学习内容,对比《实验一 软件工程准备》的任务5你所提的问题(给出提问博客连接),尝试对提出问题进行解答,并阐明是如何经过学习/实践/讨论弄清楚的;学习中是否产生了新的问题?若有,请提出。
一、提问博客连接地址:http://www.javashuo.com/article/p-tgqbsupd-ks.html
二、对问题的回答:
问题1:本书第四章讲的是“两人合做”,在该章节中讲述了代码规范,代码复审,两人合做的技巧等......但没有涉及到一个问题,让我很疑虑,在一个开发团队中,每一个人编写代码的水平各不相同,那么,如何在团队中合理分配每人的任务?使每一个人都能在团队中出色的表现,从中受益,提升水平。
回答:首先呢,在一个团队中,成员之间必然有着技术性的差别,在团队开发过程当中,能够根据团队对的规模,项目的大小来灵活的调整团队的成员分配,但根据描述,比较适合的是功能团队模式,该团队是把一个大的项目分红若干个功能,每个小团队共同去完成一个功能,这个小团队里面有技术大牛和菜鸟共同组成,菜鸟向大牛去学习,大牛带着菜鸟们共同完成该功能
问题2:在第11章231页,有下面这样一段话 “写好代码后,小飞对照设计文档和代码指南进行自我复审,重构代码。” 对于“代码重构”不是很清楚。
回答:我查了一些资料,重构就是经过调整程序代码,但并不改变程序的功能特征,达到改善软件的质量、性能,使程序的设计模式和架构更趋合理,更容易被理解,提升软件的扩展性和维护性。资料中都在强调重构的好处,而重构在“软件系统的过程, 它不会改变代码的外部行为, 同时改善其内部结构。 这是一种严格的清理代码的方法, 它能够最大限度地减小引入错误的可能性。 本质上, 当重构代码时, 是在编写代码以后改进它的设计”。
问题3:在通读到本书的最后时,老师留了一个问题:“软件工程师在企业中是劳动密集型的工人,仍是有首创性的专业人士?他们对软件企业的成败负有多大的责任?”
回答: 经过查阅资料,个人理解是这样的:软件工程师在企业中不该该是劳动密集型的工人,而应该是有首创性的专业人士。可是在中国的诸多企业中,包括外企,每每都是专业人士带领着一群劳动密集型的工人在工做,普通的程序员再聪明,也没有能力在大方向上改变公司的决策。软件工程师与软件企业的成败息息相关,但对软件企业成败负多大的责任,倒是要多方面考虑的问题。软件企业的失败是有多方面缘由的形成的,好比经营模式、领导层的缘由,员工的缘由。他们所要负责的只是其中一部分。所以软件企业的成败不该该由软件工程师来负主要责任,若是要把这个责任强加到软件工程师身上,那么至少也要给软件工程师同等的发声权利。html

2、总结本身在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。
需求阶段:为了更好的理解问题,人们经常采用创建模型的方法,除了建立分析模型以外,在需求分析阶段还应该写出软件需求规格说明书,通过严格评审并获得用户确认以后,做为这个阶段的最终成果。一般主要从一致性、完整性、现实性和有效性4个方面复审软件需求规格说明书。
设计阶段:自顶向下逐步求精是进行软件结构设计的经常使用途径,可是,若是已经有了详细的数据流图,也可使用面向数据流的设计方法,用形式化的方法由数据流图映射出软件结构,这样映射出来的只是软件的初步结构,还必须根据设计原理而且参考启发式规则,认真分析和改进软件的初步结构,以获得质量更高的模块和更合理的软件结构。
实现阶段:实现阶段包括编码和测试,所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的过程。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明书、设计和编码的最后复审。
测试阶段:白盒测试和黑盒测试是软件测试的两类基本方法,这两类方法各有所长,相互补充,一般,在测试过程当中早期阶段主要使用白盒测试,而在测试过程的后期阶段主要使用黑盒测试方法。
发布阶段:在这次团队项目中,咱们小组开发的是旅游管理系统,因此因为各类缘由,此项目并未发布。
维护阶段:预防性维护实质上就是软件再工程,典型的软件再工程过程模型定义了库存目录分析、文档重构、逆向过程、代码重构、数据重构、正向过程6类活动。java

3、结合我的项目/结对编程/团队项目的我的经历,谈谈心得。
经历过,也算是给本身博得一次发言权, 你才会知道那是什么 , 过程怎样,该怎么作,遇到问题如何解决, 历数心得,受益不浅。
从整个项目的过程来看, 团队合做中须要沟通、分工、协做和监督。只有作好这四项才算是一个好的合做团队。首先, 团队合做 最基本的技能就是沟通。沟通的目的就是让别人了解你的想法,由于每一个人考虑问题的时候总会有各类各样的看法 ,也会出现各式各样的误差,咱们只有经过沟通来综合全部人的好的想法, 以 减小走弯路, 从而让事情进行的更顺利。再其次,团队合做中协做是必不可少的。在项目组中各成员都明确 分工 了本身的任务, 明确 了本身的任务分工, 就须要你们单独工做的同时 又去配合其余人。
了解需求、分析、设计、编程、垒代码、别人看来,计算机的东西、 枯燥、乏味、无聊,还很容易让人浮躁,在我看来,也很容易让人绝望,由于不是简单的一触而就的东西,须要你花时间,花心思,你想,要让人与机器沟通,要让人以机器工做的角度来思考,还得考虑用户须要什么,各类问题杂合,确实是不太容易 。一路走,都是很枯燥乏味的,没有一点甘霖,也没有但愿,代码,代码,代码,头晕眼花……只有当运行键后再也不有那么多错误和警告,当功能一个一个都能按咱们的设计实现,当成果漂漂亮亮地展示在面前,那就是咱们的但愿,咱们的动力,是咱们最须要的光明。
这样的实践,主题面向的是创新,若是你有想法,有能力,有自信,就很值得去尝试一下, 不试一下,谁都不知道本身有多少,到底行不行,而能从中得到的东西寥寥数语岂能言说尽,只有当你身处其中,经历过,体验过,不管是枯燥,绝望, 仍是最后的光明幸福,你才知道其中的滋味。不要放弃尝试,任什么时候候都不。一路走 ,一路调解,一路坚持。程序员

4、总结这门课程的实践总结和给你带来的提高
(1)统计在软件工程实践中,你完成了多少行的代码;20000多行
(2)你在软件工程实践的各次做业分别花了多少时间?编程

时间(h) 做业
8 实验一 软件工程准备
8 实验二 软件工程我的项目
10 实验三 做业互评与改进
12 实验四 附加实验 项目互评
15 实验五 团队做业1:软件研发团队组建
12 实验六 团队做业2:团队项目选题
18 实验七 团队做业3:团队项目原型设计与开发
16 实验八 团队做业4:基于原型的团队项目需求调研与分析
16 实验九 团队做业5:团队项目需求改进与系统设计
20 实验十 团队做业6:团队项目系统设计改进与详细设计
30 实验十一 团队做业7:团队项目设计完善&编码
26 实验十二 团队做业8:软件测试与Alpha冲刺
25 实验十三 团队做业9:Beta冲刺与团队项目验收
(3)哪一次做业让你印象最深入?为何?设计模式

答:整个一学期下来,每次做业都在很认真的去完成,因此对于这门课程,我以为不管是在学习上仍是作做业的耐心上收获都不少。尤为是在团队项目设计完善过程当中,印象最深的应该是项目通过编码和修改,出现了不少bug,在自习室整整呆了一天,盯了一天的电脑,修改了一天的代码,眼睛真的是太累了,心情也很无奈崩溃,因此才体会到了软件工程师的不容易,好在最后大问题已经解决,顺利的完成了项目验收的任务。
(4)累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
答:累计共花了160个小时在软件工程实践上,平均每周大约花8个小时在软件工程实践上。
(5)你学习和掌握的新语言、新平台;
答:项目所用到的java语言以前就有学习、这学期学习到了博客园、GitHub、雨课堂、慕课网。
(6)填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;架构

软件开发工具、项目管理工具 软件开发方法 软件建模方法
墨刀、Visio、在线做图工具ProcessOn、www.leangoo.con、navicate等 原型开发方法,面向对象的软件开发方法等 面向对象建模(用例图、类图、包图、流程图、时序图等)
(7)其余方面的收获或提高。
答:一个好的团队,是成功的须要, 各成员的专业知识与技能储备 , 成员间的优点互补, “ 物之为用 ” ,只有当你 “ 有 ” ,须要的时候随时均可以拿出来 “ 用 ” 。 此外, 一我的的力量毕竟有限,不管是智力,能力仍是精力,都有所不能及的地方,集一个团队的力量,发挥整个团队的做用,这样就能解决更多的问题,打败更多的困难。工具

5、你认为目前的课程存在哪些问题,你有什么更好的建议。
我认为软件工程这门课应该侧重于实验课的学习,一个好的项目须要团队去花费时间去开发和设计,可是理论知识也当然重要,理论实践相结合才是学好一门课程的前提。性能

相关文章
相关标签/搜索