再谈对软件工程的认知与理解
一.再谈对软件工程的基础性认知和理解
经过十周的软件工程导论课程,三个项目的完成,我们团队认为软件工程就是指把系统的,规范的,可度量的途径应用于软件开发,运行和维护配置过程。
我们始终认为团队项目应遵循七大基础原理去完成,分别是
- 分阶段的生命周期计划严格管理
- 坚持进行阶段审核(以保证软件产品的质量)
- 实行严格的产品控制(需求的边改需要控制)
- 采用现代化程序设计技术(技术先进,提高产品质量,提高产品维护效率)
- 结果能清楚地审查
- 开发小组人员少而精
- 承认不断地改进软件工程实践的必要性
二.软件工程课程总结——目标
通过课上的学习与作业项目的完成过程,了解到软件开发由项目的确定到项目的需求分析,再到概要,详细设计,代码设计以及开发完成后软件的测试等等这一完整的软件开发流程。学习上面每一个步骤中的相关方法和工具。学完后应初步具备具备管理整个软件开发流程的能力。从而提高软件的质量与生产率,最终实现软件的社会化生产。在给定成本,进度的前提下,开发出具有可修改性的,可靠性的,可维护性的,可移植性的,可重用性的并且满足用户需求的软件产品。
三.软件工程项目总结——团队所完成的任务,学习到的知识,有哪些收获
经过一学期的软件工程课程,我们从个人项目(最大子数组和)到双人项目(二维最大子数组和)再到最后的团队项目(银行储蓄开发系统),我们学习到了团队之间的凝聚精神,互帮互助的精神,学习到了如何对项目组织结构的分配工作更加妥善,通过写项目报告,整个团队对于流程图,UML类图以及项目分析和软件设计以及测试和维护方面有了更加深入的理解,对于课本知识更加的巩固。通过了一学期的课程和项目的实践,对于个人不同的开发风格,团队之间互相改变,代码编程风格变的一致,分配工作更加和谐,团队更加凝聚,想法更多彩,更加融合,我们意识到团队的力量是强大的,让我们收获颇多,受益匪浅,团队之间互相帮助,完成了各自任务分配到的类以及相应的测试类,并加以改进,共同协作完成了银行储蓄系统的开发。
四.软件工程课程总结——学习
这一学期的软件工程课就要进入尾声了,在复习巩固理论知识的,同时更需要回顾和反思自己的学习态度。在这学期的软件工程学习中,未曾有过迟到,早退以及旷课的情况。虽然软件工程的课很枯燥,内容深奥难懂,但还是告诫自己,上课不开小差,认真听讲,加深对其的理解。
五.软件工程项目总结——团队项目实践中,遇到哪些问题,如何解决
在刚开始的团队项目实践的萌芽阶段,引导方面做的还可以,在队内任务分配上,做的不够好。之后我们进入到了团队的磨合阶段,经过积极沟通,互相帮助,及时互相发现并改进问题,我们进入到了团队的规范阶段,我认为有时候代码实现上不够完善,有一些没考虑到的地方,我认为这些很大程度上是经验问题,这是我们团队所需要积累的。
六.软件工程课程总结——自身总体感悟
时间飞逝,短短的一学期转眼过去,在不知不觉中软件工程的学习已经结束了。在这一学期中,我不能说自己将软件工程学的有多好,但是通过学习我还是受益良多的。
在以前,我一直对软件工程存在一些未知与误解。认为软件就是程序,软件开发就是编写程序的过程,只要完成程序的编写,那么软件也就宣布着成功开发。而且我还片面的认为只要我掌握了当下最流行的编程语言与其开发工具,就能很好的编写出一个程序。一个人只要会编程,就能写软件,就是程序员。一个公司,只要招聘一些程序员,就能开发很好的软件产品。只要有几个有经验的程序员,在找些兼职的大学生,就能组成一个软件公司。
但是,通过学习了软件工程后,让我恍然大悟。才知道以前队软件开发的认知是多么的错误,多么愚昧。渐渐的才明白,软件其实不仅仅是个程序,软件开发也不是简简单单编写程序的过程。软件是思想在硬件上的载体与体现,处理的是逻辑与信息。唯有对软件和软件开发过程有充分的认识,才能更好的开发出,过程受控,质量受控的软件产品。而且在以前,我一直以为软件开发是一件让人愉快的事情,只要坐在电脑前敲敲代码,那么一切就OK了,现在我发现,以前的想法是多么的可笑。编程其实是一种痛苦与快乐并存的一想创造性的活动。因为编程不仅仅能满足我们的创造欲,还能愉悦内在的情感。
在软件开发过程中或许有很多不解的地方,这时我们要从整体的概念上较好的理解和把握软件工程,学习时要注意多看多练多去结合实际,多思考,面对错误不要一范就问,多尝试自己解决。一口吃不成一个胖子,慢工出细活,集中精力主攻一块领域。学习软件工程首先要明白自己的目标是什么,根据自己的实际出发,有针对性的去学习,去实践,制定出详细的学习规划。
另外,通过软件工程,还让我学习到一个重要的知识——团队的合作,团队之间的分工,统一,对于我们这类在校生而言,这种学习能让我们在以后的工作中少走一些弯路。所以,通过软件工程,我是真的学到了很多的东西,不单单是书中的理论知识,更多是让我明白了很多的道理。软件工程强调概念和知识的理解与掌握,侧重软件的项目分析、设计、实现和维护的基本技能。比较注意‘点’和‘面’的结合。是一门理论性较强的学科。对于理论性较强的学科,把握起来真的是有些困难。
通过学习,让我对于流程图,UML类图以及代码规范和组建团队模型,需求的来处和去处,软件设计的风格和理解以及软件测试中的黑盒测试和效能测试以及调试和软件维护的知识有了更加深入的理解,对于课本知识更加的巩固。
七.团队其他成员自身理解和感受
王伟龙: 在软工导论这门课程上,我学会了很多。其中我感触最深的地方就是,团队合作,每个人有每个人的想法,每个人有每个人的特点。团队合作最大的魅力就是分享每个人的不同,求同存异。并且合理的安排,使用每个人提出的想法。我相信这些,在我们未来生活中,给我们很大的帮助和启示。
郭腾达: 通过本次项目,最令我印象深刻的是功能的设计与完成,尤其各种Java类实现的过程,让我非常享受,其中的验证类让我们很头疼,需要对用户的名字,身份证号,密码等信息进行验证,匹配各种信息,但是通过我们不断地研究与讨论,还是顺利的完成了这个类的实现。非常享受这个过程。
符策淳: 通过这门课程的学习,我首次了解到了软件的生命周期。明白了一个软件从诞生到使用中间必须经过的几个阶段:需求、分析、设计、编码、测试、部署、运行、维护。每一个软件的推出并不是能使用即可,从分析设计到测试可行再到正式发行,以及之后的维护。每一个阶段都至关重要,每一个环节都环环相扣。重视每一个步骤,这是一个程序员的基本要求。软件的生命意义是服务客户,我们的意义是让软件满足甚至超越客户的期待,用工匠的精神,精益求精,每一个阶段都做到最好,做出客户满意的软件。
宫铭: 通过这门课程的学习,我认识到了软件开发相关的流程以及各个成员相互合作相互配合的重要性。在银行系统开发过程中,发现当拥有缓冲区后系统不用一点一点地直接从硬盘中抽取数据,能够一次性读取一块缓冲区大小的数据,再从缓冲区中去读取数据,大大方便了模块的编写,对缓存区与数据之间的联系有了新的认识。
盖辰飞: 经过这次软件工程实践后,感觉对软件工程这门学科有了深一层的认识。软件工程是一门重视实际操作的科学。对于软件产品,无非是产品定义、设计代码、调试维护几个步骤,看似简单,可是实际操作却复杂困难,它不比其它行业产品可预见可触及,所以学好软件工程能为以后从事软件开发行业打好基础。