我行我秀队-再谈对软件工程的认知与理解
Posted zh12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我行我秀队-再谈对软件工程的认知与理解相关的知识,希望对你有一定的参考价值。
一、团队队长对团队项目实践过程进行全面总结和分析
作为我行我秀队的队长经过这次团队项目,对于团队项目有了一些自己的理解。
团队项目实践中,我们首先进行了队长的选举,我非常感谢我的队友对于我的信任。然后我进行了学习项目经理的自学内容,这部分让我了解到了一个项目经理对于一个团队的重要性,我要领导团队达成目标并进行高效的团队讨论。然后我们对于自己的能力进行了评估,了解了我们团队的特点,根据我们团队的特点进行了选题和团队模式的选择。一个团队的项目,要进行软件开发流程的选择,目的是为了提高软件开发、运营和维护的效率等。最重要的是对于软件需求的分析,通过老师的讲解我们知道了软件的需求不仅有功能方面,也包括性能方面。获取需求是一个复杂的过程,所以我们先要知道软件的利益相关者,了解和挖掘他们对于软件的需求。然后我们要进行对利益相关者的需求调查,找到合适的调查方法。调查得到的结果,我们需要进行需求分析,步骤为获取和引导需求、分析和定义需求、验证需求、管理需求。我们需要对于我们的软件产品进行定位、制定我们的项目目标和竞争性需求分析框架。然后我们要进行软件的设计,首先是确定技术方案,根据需求分析的结果进行架构风格和数据结构的选择,确定代码的结构,确定开发技术和开发工具;其次根据设计原则、设计原理和设计概念进行合适的图形工具描述软件结构。最后进行软件的测试,进行功能测试和非功能测试。
我们团队在进行过程中遇到了水平不平衡的问题,然后经过商量我们采取了一带一的方法进行了代码的编写。第一次演示之前我们都是通过QQ进行代码的传递,没有进行代码版本的控制,导致有很多同名的项目,很难进行管理。第二次我们听取了老师的意见通过git、GitHub对代码进行版本的控制,我们只要创建一个自己的本地库和团队的远地库,就解决了这个问题。第一个我们没有了解好我们的用户到底是谁,所以我们进行了进一步的需求分析,通过队员上网上找相似的软件进行分析,我们了解清楚了我们的用户到底是谁,进行了对第一次需求分析和代码的改进。
通过这次的团队项目的合作,我们明白了一个软件开发的流程,一个团队想要开发好一个软件每个人的能力很重要,同时对于项目经理来说,他需要对于整个项目的了解,有领导能力。
二、团队成员的理解与感受
zn
对于一个项目开发,并不是人越多越好,人月神话是不存在的。我们或许对于个人,我们要有进行编码和对于自己代码进行测试的能力,但是进入到双人项目时,我们就不是一个个人了,我们需要有代码的规范,通过代码的规范,可以让我们的同伴很好的读懂我们的代码,同时双人项目我们可以进行对同伴的代码进行审核。
对于前两个都是对于最后的团队项目进行服务的。团队的成员是一个整体,是相互依赖的关系。进行团队项目,我们要有一个人进行对于整个团队领导。进行过程我们要了解自己的实力和开发项目的需求。团队要有一定的流程,这样可以进行有条不稳的项目开发。
syr
为时10周的软件工程课结束了,本以为软件工程只是要求学会代码的编写,但经过课程的学习,发现软件工程涵盖的内容非常宽泛而且复杂。我们首先学习了画流程图,活动图,类图以及层次图,又学习了单元测试。正当我以为软件工程不过如此的时候,单人项目来了。 单人项目是我接触的第一项目,虽然很简单,但是对于初学者的我来说是一个十分复杂的项目,要自己编写代码,画出各种图,还要进行单元测试,不管怎么说我自己独立完成了一个小项目,还是可喜可贺的。单人项目代码的书写,完全是随心所欲,没有明确的格式,也不懂什么是代码风格,直到我们学习了代码风格规范,顿时觉得规范好的代码这样整齐,而且好理解,我们有着手于双人项目。
双人项目并不想我所想的那样简单,涉及到了两个人的配合,在题目进行分析的时候,我们也有各自想法,不同的想法反倒使我们有了更明确的方向,使我们在解决问题和编码时更加迅速,在最后的伙伴复审时,我们也找到了彼此代码的不足,并进行了改正,最终高效的完成了双人项目。通过学习,渐渐知道,靠一己之力完成一个项目,在实际生活中是不太可能的,需要团队的合作。
我们开始了团队项目,这不仅是对我们编程能力的考察,也是对我们处理人际关系的一次培养。在愉快的组队后,我们团队选择了村镇银行这个题目,我是毫无头绪,毕竟没有真正的去银行办理过业务,首先就用户这方面来说我就一无所知,业务员和管理员就更无从下手。经过团队成员的查阅资料和讨论,大体有了一个方向,但这个方向并不能使我们开始编程。我们进行了需求分析,队员们通过一次次的视频会议,制定了模型,为每名成员分配了任务,并且拟定了一个初步的方案。因为我们采用的是敏捷开发,这样的流程方便日后的改进。在队友们的认真努力下,我们做出了自认为比较合格的银行系统,于是在第一次的演示过程中,老师说我们的系统与实际的系统功能不符,顿时感觉都白做了。在课下我们团队又开了一次又一次的会议,与资料的查找,渐渐地我们捋清了储户,业务员和管理员之间的关系,以及他们三者所要办理的业务。理清了思路后,我们在原来的分工的基础上进行编写代码与单元测试,值得庆幸的是,之前写过的代码可以保留,只需在此基础上进行修改和增加。之前一直都是通过QQ来上传代码,为了使整个团队能更加方便的进行代码的克隆和修改,我们通过Git和github进行代码的上传。因为成员们没有提前明确每个人与每个人所写代码之间的联系,随着功能的增加和代码量的加大,整合也变得越来越难。我们进行了每部分代码的单元测试,在保证代码没有问题的情况下进行整合,然而在进行整合时还是出现了很多问题。整合完毕后,在没有报错并可以运行的前提下,我作为用户来使用我们所写的系统,发现了很多细节问题,我列了一个清单,按照清单中的内容。我又回到源代码进行了修改,一点点比对,一次次尝试,改进了绝大部分错误。整体的系统在逻辑结构和代码编写方面无误后,我们团队对我们的系统进行了美化,使之更加美观,符合用户的审美需求。在课后的演示中,我们的系统也获得了同学们的认同,然而团队项目不只是代码的编写,为了方便用户的理解和满足用户的要求,我们还要进行报告和操作说明的撰写,为了使用户更加方便快捷的使用该系统,只有这样,才能使系统更加高效的发挥价值,再好的代码,如果用户不会使用,也是毫无意识的。
以上就是我通过自身经历,对目前所掌握的软降工程知识进行的总结。这门课的价值,就是让我们在未来的实际工作中能发挥自身的价值。
lb
在通过学习本学期的这门课程,我学会很很多知识点,也学会了如何与他人一同协作地去完成一项复杂的任务。其中对我感触最大、感触最深的就是在老师所讲的合作的相关知识点以及在对问题分析这方面颇为印象深刻,同时我也结合在这次团队项目开发过程中与小队成员遇到的问题即老师上课所讲的内容进行我的总结。我们团队所选的题是乡镇银行系统开发,在整个过程中也遇到了许多问题,幸运的是团队成员都静下心来一同分析问题并使大部分的问题都得以解决。
1、团队缺乏对项目管理的知识,在团队成员中,以前几乎没有某个人曾经参与或开发此类项目的先例,而我也更没有这方面的知识,幸好我们的项目经理也就是队长与我的组长,主要是因为她们能够在技术上独当一面,管理方面特别是项目管理方面的知识比较缺乏。我们的解决方案是:队长与同组成员一同去学习了解项目与管理方面相关知识, 有了这方面的知识再加上实践,再加上老师所提醒的需要注意的地方有机结合在一起,就可以大大提高我们团队的项目管理以及对任务、人员的管理。
2、我们在开发过程中对项目计划意识不太好,对总体计划、阶段计划的作用认识不足,因此大家在制定总体计划时比较随意,不少事情没有仔细考虑,阶段计划因其他课程任务重等理由经常拖延,造成计划与控制管理脱节,我们无法进行有效的进度控制管理。我们的解决方案是:计划的制定在一定条件的限制之下采用渐近明细的方式进行不断完善。同时开会讲一些振奋大家的事以提高成员的计划意识,加强对开发计划、阶段计划的有效性进行事前事后的评估。
3、我们在沟通等方面也出现了一些问题,在项目中一些重要信息,如怎样去设计界面的布局,没有进行充分和有效的沟通。 在制定计划、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动导致进度拖慢。有些人可能不能及时了解团队的通报进度,以至于无法及时接收最新的信息。解决方案:我们制定一个有效的沟通制度,有奖励也有处罚,以提高沟通意识,采取多种沟通方式,如微信、QQ、电话等,提高沟通的有效性。 通过制度规定对由于未及时完成的责任归属,对于特别重要的内容还采用多种方式进行有效沟通以确保信息传达到位,例如:通过举行各种会议进行传达。
4、我们在项目需求方面也遇到了问题,我们对使用的客户以及银行相关业务的知识了解不够充分,导致团队项目不知从何下手,相关功能没有足够了解以至于无法得到完整需求,但同时任务紧迫又要求项目尽早完成,在做到项目后期时,对某些需求变化后,造成项目范围的蔓延,进度拖延,时间成本扩大。 解决方案:我们做项目的目的就是实现该系统的用户的需求。队长指派一人去深入了解银行相关业务,并以开会的形式及时告知组内成员,调查并明确用户的需求,也可以用调查问卷的方式去了解客户的需求,减小其对项目的阻力,以确保项目按时完成。
5、我们团队分工协作时出现问题,有时由于各阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象,各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都造成团队内部资源的损耗,严重影响项目进展。解决方案:队长对项目成员的责任进行合理的分配并清楚地说明,同时强调不同分工、不同环节的成员应当相互协作,共同完善。
对完成这次的项目过程中,我真真切切体会到了一个团队是多么的重要,团队不仅需要技术高超的成员,也需要好的管理,才能拧成一股绳。对我而言,收获的太多了,在相关知识点上学到了很多,在开发过程中遇到一些不会的内容上网查并且又问他人,反反复复,也深深的记在了脑子里。同时也收获了团队队员之间合作的感情,知道了如何去与其他人一同合作完成某项任务。我的感悟是我们团队不比其他团队差,我们是一个有爱的队伍,团队的成员们都做的非常好,无论是在合作方面还是在学习方面。
我对本次课程的观点是本次课程着重于理论与实践相结合的方式去教学,让我们学生能一边学一边用上所学的知识点,不断学习新知识与巩固已有知识。我的建议是上课少一些加分等次要的活动,希望老师能够把课堂时间多为我们讲解过多的知识。在学完这门课程后,我对软件工程的相关概念、理论、方法、技术与工具等又有了不同于刚学的时候的认识与体会了,刚开始学的时候只是懵懵懂懂的去记住概念,而很难去理解,通过几周的学习后,在我的脑子里也是有了比以往更加深的认知与体会了,那种感觉说不出来,感觉非常好,甚妙!
zcb
首先感谢郑老师带我们一学期的软件工程导论学习,让我对自己的这个专业以及以后真正的工作流程有了新的认识与了解,从一开始的需求调查到最后的演示过程,整个小组所有人通过自己的努力最终完成了整个项目,当然这个过程可能不是那么顺畅,但是大家都在努力的去尝试去修改,依靠着上课我们所学习的方法与知识,努力在团队项目中可以展示出更好的效果,我感受到我们还有很多很多的知识是需要补充的,去学习的,每一个项目都是对我们整个脑海里的知识的考验,所以我们要不断地学习,不断地丰富自己的知识,才能够在以后的学习乃至工作中游刃有余。
我通过本门课程的学习,我印象最深刻的知识点就是需求调查,在一个项目中,无论是单人项目,双人项目,还是团队项目用户需求都是十分重要的,只有正确全面的获取到用户的需求我们才可以生产出符合用户真正需求的产品,一旦我们连用户的真正需求都没有搞明白那么所有的劳动都是徒劳的,就像最开始的团队项目,并没有深刻的弄清楚用户到底需要什么,我们所做的项目面向谁的,需要完成什么样的功能,导致开始的效果不是很好,最后仔细研究思考,调查之后完成的项目,才可以说是符合了用户的需求。
wxr
在本门课程的学习过程中,我对于软件的构建过程更加明确,逐渐了解了我们日常使用的软件的形成过程。给我感触最深的是讲解需求分析的时候那个理发师与顾客的几张漫画。未来我不一定会从事本专业,但是通过这个学习我知道和他人沟通需求时候要尽量用更加清楚的语言去描述,和对方多沟通;如果我受他人委托我也会用自己的专业技能去引导对方,找到对方满意双方认同的方案。
在课程的本次项目中,我明白团队的重要性,团队中每个人力量不足以支撑整个项目,但是团队中给每个人各取所长,去分担一定的工作量使得本来复杂的项目变得清晰化。 希望自己未来不管从事什么工作,都能够强化自己的业务能力,在团队中贡献自己更多的力量。
dyt
通过团队项目的实践让我知道了在开发一个新的软件应用的时候,要对市场上有类似的软件进行分析,了解它的功能应该有什么改进的地方,对于它的前端设计也要简洁美观;通过本课程的学习,对我感触最大的是,软件的开发不能盲目的根据自己的想法添加一下无用的功能,而是要根据用户的需求一步步改进,反复完善扩充开发出来的。
我们队原来的开发,就是忽视了对各个银行官网进行分析导致有不应该出现的功能却很认真的做了设计,结果与现实情况不符合要重新调整,可见客户需求的重要性,对于软件的开发,前端的设计也是吸引人注意的地方,一出来就可以吸引人想要继续使用也是软件开发的重要一步。通过这次的软件开发,让我认识到了软件工程的目标是关注软件的质量,质量才是重要的,开发前的需求分析是很重要的一步。
pzt
在本次村镇银行储蓄业务管理系统的研究中分别使用了Java语言技术、strust2架构技术以及mysql Server技术对系统进行研究。在本次项目中我对DAO组件也更加了解,同时也更加了解了数据库的重要性,在hibernate框架中setSessionFactory负责依赖性的注入,这样就可以给hibernate框架相关的实例来进行注入其它类中的相关实例,利用得到的相关的session实例就可以得到hibernate实例实现的相应的数据库。
以上是关于我行我秀队-再谈对软件工程的认知与理解的主要内容,如果未能解决你的问题,请参考以下文章