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

本文总结了软件工程课程的学习经历,包括项目评审流程、需求分析、软件设计、实现、测试和项目验收等方面的知识点。作者分享了在项目中遇到的挑战,如前后端开发经验不足导致的设计文档错误,以及团队协作和个人技能提升的心得。

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

项目内容
这个作业属于哪个课程l任课教师博客主页链接
这个作业的要求在哪里实验十四 团队项目评审&课程学习总结
作业学习目标(1)掌握软件项目评审会流程;(2)反思总结课程学习内容。

1.结合本学期课程学习内容,对比《实验一 软件工程准备》的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的;学习中是否产生了新的问题?如有,请提出。
博客链接:读完构建之法的问题
(1).初级软件工程师如何成长?
答:(1)积累软件开发相关的知识(2)积累问题领域的知识和经验(3)对通用的软件设计思想和软件工程思想的理解(4)提升专业技能。
(2).在软件开发工程中如何解决“用户不断提出的需求”与“产品不断更改和增加功能”而影响产品进度的矛盾?
答: 在软件开发的过程中,用户需求不断的变更这种情况是随时可能发生的,这对于研发组人员是应该早有预见的。因此,需要经常和客户、项目经理以及项目伙伴交流。开发人员最怕的是什么,设计变化,还是需求变化?我觉得需求变化是最最致命的。当你的一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到甲方公司提出,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。这就意味着项目的某些部分得重新推倒重来,如果这个部分跟已完成的多个部分有牵连的话,那就后果更可怕了。所以当碰到这种情况发生,究竟是自己的需求分析做的不够好,还是客户在认同了需求分析后做出的修改,如果是后者的话,你完全可以要求客户对他的这个修改负责任!新增加的需求将归入另外一个版本。如果是改变前面某个需求的定义,那么说不定就要推倒重来了,不过这个时候到不用太在意,毕竟错的是客户(项目正式开始前没有没有说清楚其需求)。所以在需求分析做好后,在开工之前一定要叫客户认可签字,并且在合同上要注明,当由客户原因引起的需求改变而造成开发成本的增加,客户要为此买单地。如果在需求不变的情况之下,设计发生了变化,这个仅仅是我们内部之间的矛盾,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。
(3).将来从事软件开发,如何确定自己具体从事哪一方面,现在该如何做?
答:明确最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果你是软件方向,还的学数学、数据结构、算法设计、数值分析、汇编语言、操作系统、编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程。软件工程绝对不是一门简单的理论课程课,计算机理论可能是一个人就能研究出来,软件工程是成千万网软件工程师几十年来失败的教训凝结成的结晶。语言,如果说有必须学的两种语言,是c++与java,即使你学好了以上课程,仍然差得很远,只弄清学什么了,但是还不知道做什么。尽可能的多做设计,团队合作不仅会使你能力提升迅速,而且会培养良好的团队意识。

2.总结自己在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。

答:(1).可行性分析:技术的可行性:主要从事项目实施的技术角度,合理设计技术方案,并进行选择和评价;组织可行性:制定合理的项目实施进度计划、设计合理组织机构、选择经验丰富的管理人员、建立良好的协作关系、制定合适的培训计划等,保证项目顺利执行;经济可行性:主要是从资源配置的角度衡量项目的价值,评价项目在实现区域经济发展目标、有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益; 社会可行性:主要分析项目对社会的影响,包括政治体制、方针政策、经济结构、法律道德、宗教民族等。
(2).需求分析:对于需求分析这一阶段,《构建之法》提出了NABCD分析框架。原始需求、采取做法、给用户的好处、竞争对手和推广方式五个方面进行项目的需求分析。在团队项目立项后,每个小组都按照NABCD五个方向对于项目的需求进行了调研。这一需求分析方式较全面地衡量了项目的目标、潜力以及可能遇到的障碍,使得项目开发的重点更加明确。
(3).软件设计:在完成需求分析后,需要根据需求形成一个完善的可行的设计文档。团队在早期虽然对文档进行了完善,可是在进行α阶段的初期,由于团队成员缺乏一定的前后端开发经验,导致在设计接口文档时产生的一定的差错,形成的文档存在很多的缺陷。这导致后期开发的过程中需要频繁的重构接口文档,最后整个文档被废弃。这大大地影响了团队的开发进度。在设计阶段对于需求进行抽象,编写细化后的功能文档、前后端接口文档等等。这些文档相当于团队成员对于项目的契约,在后面的阶段中起到了领导作用。文档的撰写还需要比较简洁,以避免产生文字理解上的偏差。
(4).实现:在实现阶段,每个成员很难频繁地对各自任务的细微之处进行讨论,只能根据设计文档来保证各自任务。所以在实现阶段,按照文档进行开发相当重要。
(5).测试:在测试阶段,《构建之法》提及了一种测试驱动开发的方式,即在实现阶段编写代码之前就设计了单元测试。这种方式在代码编写完成的同时就保证了其正确性,完备的测试是产出高质量软件的基础。对于项目中的每个模块,往往需要使用更多的代码对其进行测试。
(6).项目验收:为使信息化项目建设按照标准要求进行, 确保项目竣工后达到有关要求和标准, 并能正常投入运行。
3.结合个人项目/结对编程/团队项目的个人经历,谈谈心得。
答:在这门课开始之前,我没有任何前端开发的经验,所以在整个项目 的开发过程中,自己的任务完成的一直都很吃力,基本都是要先学习大量相关内容再进行开发,因此团队成员帮我解决了任务中遇到的不少困难,也给给整个团队拖了后腿,在这里我表示很抱歉。虽然团队项目完成的比较吃力,但自己的也确实在这个过程中学到了不少的东西,比如java代码的规范,类的优点,以及如何与队友一起团队协作完成工程。在整个过程中,我们也遇到了一些问题,比如数据库链接不上,数据库内容查询不一致,界面功能不完善等。让我们识到软件工程项目进行中不仅需要严格的步骤规范,还需要编程能力,协调能力,团队合作的统一。这次的团队项目是一次特别的经历,自己遇到了不少困难,也收获了不少,也让自己认识到了自身的许多不足,在接下来的日子里努力提升自己,弥补自己的不足。

4.总结这门课程的实践总结和给你带来的提升,包括以下内容:
(1).统计在软件工程实践中,你完成了多少行的代码:
答:3000-4500
(2).你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

软件工程作业花费时间/h
实验一 软件工程准备5
实验二 软件工程个人项目8
实验三 作业互评与改进4
实验四 附加实验 项目互评3
实验五 团队作业1:软件研发团队组建2
实验六 团队作业2:团队项目选题5
实验七 团队作业3:团队项目原型设计与开发12
实验八 团队作业4:基于原型的团队项目需求调研与分析20
实验九 团队作业5:团队项目需求改进与系统设计12
实验十 团队作业6:团队项目系统设计改进与详细设计12
实验十一 团队作业7:团队项目设计完善&编码18
实验十二 团队作业8:软件测试与Alpha冲刺30
实验十三 团队作业9:Beta冲刺与团队项目验收15

(3).哪一次作业让你印象最深刻?为什么?
答:在进行α、β测试阶段,由于团队成员缺乏一定的前后端开发经验,导致在设计接口文档时产生的一定的差错,形成的文档存在很多的缺陷。导致后面进行了大量的修补,在测试时,由于代码不规范,修改问题话费了大量的时间,给我带来了深刻的教训。在一后的项目中,一定严格要求自己,不给别人添麻烦,不因自己的过错而拖团队的后腿。
(4).累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
答:累计花费150小时,平均每周花费8.5小时。
(5).你学习和掌握的新语言、新平台?
答:在项目的开发过程中,我加强了自己java的应用,而且还对上学期学习的数据库相关知识进行了相关的应用。 学习了博客园,墨刀的使用、visio、问卷星等的使用
(6).填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法。

软件开发工具、项目管理工具软件开发方法软件建模方法
GitHub,MyEclipse,MySQL面向对象方法,模型驱动开发方法 ,结构化方法面向对象的软件开发方法,面向数据结构的软件开发方法

(7).其他方面的收获或提升。
答:最主要的就是编程能力、团队协作的能力的提升。在编程遇到很多的问题,通过团队成员的帮助,自己学到了好多新的东西。在遇到问题时,需要良好的沟通,才能有效快速的解决问题。
5.你认为目前的课程存在哪些问题,你有什么更好的建议。
时间很快,一个学期快要过去了,但由于有软件工程这门课,时间似乎过的又很慢,因为这门课是我这学期投入精力最多的一门课,不是说这课有多么多么的耗费时间,而是通过这门课的学习让我从新找回了学习的动力吧,实验作业让自己每天都有事情干,所以真心觉的软工这门课对于大学的学习是非常有帮助的。下面是我的一些个人意见
1)软件工程不同于其他课程,软工是一门实践性相当强的一门学科,感觉上课老师讲到的东西,个人很难与平时任务的联系。
2)希望老师在讲课过程中引用更多的开发实例来教学,给学生们更多的灌输一些自身体会到的在实际软件开发过程中遇到的问题及解决办法等,让学生们对于自己以后的学习有一个大概的了解。我认为这是大多数处于迷茫状态中的同学乐意看到的。
3)个人觉的软工这门课开课时间不是很合理,因为大三下学期许多学生由于考研的压力很难将全部精力集中在编程及开发当中。
希望软件工程这门课越办越好,希望通过这门课的学习,让学习这门课程的同学,不单单在编程问题中得到帮助,在生活中解决问题也可得到启示。

转载于:https://www.cnblogs.com/wgyu/p/10641838.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值