18 -SE-安徽凤阳小岗村队再谈软件工程的认知与理解

再谈软件工程的认知与理解

一,团队队员的理解

管以磊:学习了10周的软件工程课程,软件工程的基本知识大致掌握。程中影响最深当属这最后的团队项目作业,相对于单人项目和双人项目,团队项目的难度和时间跨度提升了不止一个档次。项目完成期间遇到了许多问题,项目确定下来以后,团队的每个成员都分配了不同的任务,首先面对的问题就是用什么知识去实现项目的功能,我的知识基础是相当浅薄的,经过再三思考决定运用本学期学习的web框架技术实现项目的开发。可以这么说,在完成项目作业的过程中,无形之间巩固了我的web框架相关知识。如果谈及课程中印象最深的知识点的话,应该是UML图和层次图的绘制,还有需求分析、项目设计这几部分的内容,因为项目实现过程中和编写实验报告的过程中,这部分知识接触到的最多。至于个人感触,我深刻认识到团队的概念很重要,因为一个人的精力和能力是有限的,只有团队成员之间相互协作,互相帮助,共同勉励,项目才能很好的完成,每一个人的懒惰或者不配合都会拖慢整个项目的进行。可以说这次团队项目让我意识到团队合作的重要性,同时做任何事都要未雨绸缪,不然等到真正去做的时候必然会手忙脚乱。除此之外,团队项目还促进了同学之间的交流协作,再次回想项目完成的经过,不禁让我想起我的专业的名字,同样是课程的名字--“软件工程”。是的,此次项目实现的系统算是一种‘软件’,而实现本次项目对于能力不足的我来说就像是进行一次工程,可能这次团队项目就是一项小型的“软件工程”吧。总的来说,团队项目使我受益匪浅,这是我印象最深的一次,身处团队中去完成一项作业,尽管完成项目花费了我大量的时间和精力,期间遇到过许多次问题,但是我都逐一克服,结果也是比较满意的,挫折和成功,二者都使我受益良多。

王芳:回想一下之前老师最开始布置的《谈谈你对软件工程的认识》,现在的我看法也不一样了。从之前单人项目,再到后来的双人项目,最后到现在的团队项目,这一路来我收获了很多。单人项目时,自己构思代码、调试代码,平常我都在别人的带领下完成事情,那段时间真的是我这么长时间以来自己完成的最好的一件事,遇到不会的就问问身边同学,百度百度知识和解决办法,当然也经历过很多崩溃的瞬间,那段时间压力也很大,就怕自己做不出来项目,于是每天晚上都凌晨两三点睡,就害怕完成不了项目。但是每天都有一点进步,慢慢进步下来,程序也达到老师的要求,然后继续进行单元测试,虽然单人项目中我和很多同学一样,都没能学会正确进行单元测试,不过在后来老师的讲解中,我渐渐懂得了。双人项目的时候,题目难度变得大了一点,而且开始发现问题,就是合作问题。第一个问题是我与我的伙伴单人项目选的不同题目,那么接下来是继续他的项目还是我的项目,这是第一个分歧。之后我的搭档迁就了做了我的题目,但是也意味着他要从头开始理解和构思,然后还要和我一起完成新加的要求。双人项目让我感触最大的就是分工与合作,还有互相理解与包容。因为我的搭档平时是一个非常喜欢编写代码的人,当我们确定好代码分工时,可能一天都联系不上他,然后不能及时解决我的疑问也不能及时进行沟通,但是事实上他是在写代码从而没有及时的回复我,我觉得包容与理解也是非常重要的。分工与合作是更不用说了,肯定也是非常重要的。

接下来就是团队项目,其实我个人认为我们的团队项目做得挺不错的,因为我们项目是用的web框架技术这门课学过的知识,通过对web框架技术这门课程的学习中,我认为netbeans必须得"小心翼翼"对待,为什么这么说呢,因为它可能受很多配置环境或者其他方面的影响,可能你硬件环境是好了,但是也会出现各种各样的问题,尤其是配置文件,许多配置文件多一个空格或者少一个就不行,最后我们团队居然克服了种种困难,完成了基本代码的编写。在这次的团队项目中,我觉得难度是肯定变得很大了,但是最大的难度不是在代码,而是每个人的合作,有好几次我都觉得我们的项目一团乱,不知道该如何下手。最开始构思的时候,很多人有不同的看法,然后统一先弄最基础的功能,然后过程中也出现对功能理解的分歧,还有不同的编程软件,导致最后整合时出现了问题。团队人员多了之后想法也就很多,所以统一想法也是非常重要的。软件工程,让我们用工程方法解决软件问题,那么我觉得团队合作真的是非常重要。这门课更多让我们感受了做项目的感觉,如何配合好队友完成项目,如何团队合作。通过这门课,我自身的知识和能力也提升了非常多。

余若龙:这学期学习了软件工程实验这门课,我觉得这是自入学以来对软件工程学习的检验,上学期学习软件工程只是我们浅显的认识,相比之下,这学期就更加全面的说明了开发一个项目所需要的步骤以及开发项目过程中所需要注意的诸多细节。如果说上学期的课程注重理论基础的话,那么这学期的软工实践,顾名思义,就是侧重我们动手操作的能力。原来我认为开发一一个项目最重要的就是写代码,似乎整个软件都是编代码,因为自己动手能力不强所以就很排斥做项目。可是经过我们学习软工课程到团队做项目再到学习软件工程实践课程之后,我才真正意识到实施一个软件工程项目并不是说简单的会编码就能够解决问题的,当我们开发一一个项目时,更多的精力不是放在编码上,编码只是在项目的整体结构上的一个很小的模块。从我们在需求分析中出现的问题,使我们明白了软件定义阶段对于一个项目的开发是至关重要的,当软件定义阶段完成时必须要用正式的文档准确的地记录目标系统的需求。只有前期的准备工作做得好,后面的工作才能顺利进行。在此次实训中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务。“学以致用”,就是要把学来的知识能运用到实际操作中,用实践来检验知识的正确性。

卢瑞冬:在学习过软件工程导论这一门课,并且完成了单人项目,双人项目和多人项目以后,我对于软件工程这一门学科又有了新的认识

软件工程,关键点不应该只在软件上,也在“工程”上面,软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。我们类比一下建筑工程过程:构想,分析设计,建设,交付,运行。将软件过程也划分为三个时期和八个阶段,其中

三个时期:软件定义,软件开发,运行维护。

八个阶段:问题定义,可行性研究,需求分析,概要设计,详细设计,编码和单元测试,综合测试,软件维护。

其中包含的核心技术:需求,分析,设计,构造,测试,交付。

在软件开发的过程中,团队是必不可少的,团队能否协调合作,是一个项目成功与否的关键,这就决定了,一个团队需要一个团队模式。以我的团队做例子,我们团队在选择团队模式的时候,最开始选择的是业余剧团模式。但是由于业余剧团模式太过不固定,每个人的角色都在变化,导致了代码这一方面的成果并不尽人意,接着,我们的团队改变了团队模式,改变成为功能团队模式才使得团队能够正常运行,所以说团队模式一定是要适合团队的。还有在设计的时候,我们团队原本是要合作做出一个大的系统,后来发现,如果这么做的话,可能会造成软件的高度耦合,而且功能很难较好的实现,然后我们也改变了做法,将项目分成了三个部分,都用数据库进行连接,这样,只需要提前确定好数据库的数据名和类型就足够了。

到目前为止,我对软件工程的理解还都是浅层次的,希望能通过更深层次的学习,丰富自己的知识储备,提高自己对于这门学科的理解力

孟繁见

通过一学期的对软件工程的学习,相信大家会对软件工程以及相关概念的认识有所改变,我也不例外。

老师采用的课上讲知识,课下写项目的原则贯穿整学期,我收获了很多,也觉得这学期过得很快。

课上讲,课下用。第一个是单人项目,我选择的是最大子数组和问题,首先是设计环节,理清思路,画程序流程图,预计5小时,实际2小时。之后是编码阶段,预计5小时结果9小时,由于是第一次设计项目,思路仍不清晰,很多的时候没有头绪走了很多弯路,最后是进行单元测试,预计5小时实际4小时,在《单元测试之道》中了解了很多知识,加上有点Java编程的基础。

单人项目注重的是个人能力,因为之前我们就是自己打自己代码,这个项目上手还是不难的。

第二个是双人项目,我和刘标同学选择的是继续研究最大子数组和问题,在这里我们课程已经进行了有一段时间,学习了需求分析的UML类图以及UML活动图,本次还加上了代码复审还有我们对对代码本身的严格规范。有了单人项目的基础,本次的预计时间和实际完成时间没有差太多。

双人项目和之前的单人项目最大的区别就是分工与交流,打开自己心扉,说出自己的想法,聆听对方的想法。说实话这些东西其实我们一个人也能干过来,至于为什么要有双人项目呢,我想应该是从单人项目到团队项目的过渡。

第三个是团队项目,之前的也只能说是冰山一角,这个团队项目就是百分百模拟软件工程真正的开发。

作为团队项目的准备工作,首先是选人。之后是选题,选题我们采用匿名投票选了银行系统,最后是分工,我们采用的是以自己擅长为主,这三步是本次项目成功开端。

正式开工的时候我们团队打代码打过凌晨2点,打破了我之前的记录,也真正的感觉到了,程序员的标配秃头离我已经不远,想想以后的996,先是为自己叹了口气,又接着想还是好好学习,突破自己,奥利给。我们平时在群里交流全是和项目有关,眼里只有代码,真是通过这门课提前体验了以后的日子。。

在我们组长王茜同学的带领下,我们组员齐心协力,完成各项任务:需求调查报告、需求分析报告、技术说明书、编码+代码报告、测试报告,最后到了完工的这一天,看到我们的项目,很是欣慰。

团队项目我认为最重要的合作,回想在这一个多月,我们小组就是一个密不可分的团体,没有谁的努力,都不会有最后的胜利。

这就是我对通过老师布置的三次项目对软甲工程的认识,总结出就是个人能力,准确的沟通交流以及团队的默契合作这三者缺一不可。

王家岩

光阴荏苒,岁月如梭

为时10周的软件工程导论课程已经学习结束了,团队项目也慢慢走到了尾声;仔细回想一下,这10周的时间学习了很多的新知识,也对软件工程有了更深层的理解。

在辛勤努力下,我们团队完成了团队项目选择的课题:村镇银行储蓄系统。并从这一项目中学会了如何从零开始设计组建以及开发一个项目,对软件的开发流程有了一个全新的认知。

从需求分析到代码实现再到功能的测试,每一步团队成员都全力以赴。在软件的设计方面我们参考了Web框架的相应开发。因为存在了些许基础,所以我们在细节处增加了些许的处理;例如:注册用户时的账号的随机发放(即用户账号的后几位是随机生成的)

但也出现了一些问题,第一次演示的时候,许多团队都暴露了一个问题:开发的相应项目基本都是用户自己在自己家使用,自行操作。毫无疑问,我们团队也产生了这样的问题;在结束演示后,团队成员紧急开会,将任务重新分配,决定做三个系统:管理员系统,ATM系统,网上银行系统。

各位团队成员不分昼夜的根据需求分析来实现自己的系统相应服务,不会的问题就去询问,百度。在项目完成的那一刹那,每个人都有了不同的收获。原来,美国的个人英雄主义在软件工程上毫无用处,项目从来就不是一个人的。每一个部分都需要各位密切配合,每一个人都是无法替代的,都有着独特的作用

虽然没有回到学校,但在群中的激烈讨论也实现了相应的效果,希望未来的我们能越来越优秀

二,团队队长通过三个项目对于软件工程的理解

王茜:

  经过一学期的软件工程课程的学习,我们完成了单人项目,双人项目,以及团队项目。从最基础 的单人项目开始,我们就开始使用代码复审,单元测试,刚开始,我们都不了解测试的意义,后来发现他的重要性,单元测试可以帮助我们审核代码,方便代码的维护,再通过双人项目进行代码复审,这样尽量是我们的代码的效率高,以及规范使用代码,最有意义的是团队项目,在团队项目中,我们使用了jsp,html,java,web,数据库等语言,通过一遍又一遍的修改,呈现了安徽凤阳小岗村的银行系统,在团队项目中,我们遇到了很多难题,一遍又一遍,刚开始我们用java完成的项目,后来我们在其他课程上学习过类似的模式,于是我们选择java web,但是很多问题,如数据库的来连接出现问题,以及数据库表中主键的选择遇到问题,到后来,对于我们银行系统的扩充,从存取款,转账,贷款都在一个系统贷后来我们分成三个主要的系统,银行端系统,实现存取款,网上银行系统,实现,转账贷款,管理员系统实现开户,销户等,到后来,三个系统的连接,又出现问题,每天晚上,我们团队修改,到凌晨两点,每一个字符,每一个代码,都是我们一遍又一遍整理得到的。

软件工程是什么:是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具系统平台标准设计模式等方面。在我看来,软件工程就是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它正因为软件工程学对我们以后从事软件行业工作有着举足轻重的指导作用,作为新时代的学生,为了振兴我国的计算机和软件产业,具备软件工程思想和技术,我们更应努力学好软件工程该门课程,我们要从理论的高度了解软件的开发过程,吸收借鉴学习前人总结的方法与教训,站在一定的高度避免自己在以后的软件开发过程中重蹈覆辙,减少开发的损失与风险。由此可见,软件工程课程的学习,对以后我们的从事软件开发实践活动意义重大,不可不学!对软件工程该学科的学习,我们要端正要自己的态度,培养自己对这们学科的兴趣,自主学习,领悟前人总结的开发经验。同时也要注重实践的验证,只有理论与实践相结合,才能起到事半功倍的作用。相信通过自身的努力,一定会收获更多的!

三:总结:

通过这些些项目,我们组内每个人都有收获,特别是团队项目,我们从4月1号开始建群,之后一直讨论团队项目,在这期间,我满足了、内的每一个人都在努力,也都在尽自己所能,我很庆新,我们在同一组内,每个人都在为团队做贡献,有时候,大家凌晨两点还在讨论项目,其实java对于我们组来说,有点难度,因为我们组内有两个成员他们是转专业过来的,java他们根本没学,可是为了这个项目。他们真的一遍查询资料,一边写代码,遇到好多bug,大家一起研究,一起讨论,在团队项目中,我们收获了很多,也理解了软将工程这门课

 

猜你喜欢

转载自www.cnblogs.com/baidu1213/p/12944006.html
18