团队总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience
这个作业要求在哪里 https://www.cnblogs.com/harry240/p/11524252.html
团队名称 认真不马虎队
这个作业的目标 个人总结
Github地址 https://github.com/lilizhang94/--

一、团队成员

学号 姓名
201731024101 李楠(组长)
201731024105 汪小萍
201731024203 黄耀萱
201731024201 孙颖
201731131317 杨也
201731022104 张莹

二、正文

1、汪小萍 201731024105

博客链接:https://www.cnblogs.com/wangxiaoping/p/11979207.html
博客内容:
①个人总结与收获
时间过得很快,这门课已经结束了。对于这门课程,我真的感觉挺难的,代码是我的弱点,除了一些很简单的基础代码能看懂,但是稍微难一些的就搞不明白了,更不要说我自己写代码了。但是老师认真的超级好,很温柔,助教也很认真负责。这门课程最大的收获就是我们自己组队编写一个软件。由于我们组全是女生,所以编辑代码的能力很弱,我们就决定做一个很简单的贪吃蛇游戏,这个游戏对于我们最开始来说,还是无从下手的,但是跟着老师和助教布置作业的进程,我们慢慢也入门了,最后做出这个小游戏的时候真的可开心了,虽然很简单。在我们一起做这个项目和写博客过程中,我也学习到了团队合作的重要性。一个人的力量是有限的,但是当我们一起想办法的时候,我们最终必定会有很多解决方法。还有一个最重要的收获是当我们遇到问题的时候,一定要先自己思考,然后自己先查阅资料,就是百度,很多东西我们都能找到解决方法。
②第一次作业的问题
(1)我在第一次作业中提了这个问题:如果用户体验与产品质量发生冲突的时候,我们应该选择什么?
我当时还没有学习这门课程,所以对于这个还不是特别清楚,但是随着后面我们软件设计过程中需求分析的攥写,我才明白,软件是为用户服务的,如果用户体验都不好,那这个软件是否存在都是一个值得考虑的问题。一个软件的开发第一步就是需求分析,分析用户的需求,然后我们在根据用户需求设计软件。
( 2 ) 源代码测试能成功,但有些漏洞怎么办?
我当时也有点迷,认为漏洞是必须要改正过来的,但其实不是,只要不影响我们软件的正常运行,测试也能通过,那这个漏洞就不叫漏洞。
③课程的收获和总结
我认为这个课程是们前面学习C语言、SQL和C#的结合和总结,在我们学习了以前的课程上,在深入让我们了解代码和查询语句,最后让我们做出软件。这是一个循序渐进的过程,如果我们没有前面的知识储备,那就为学习这个课程增加了很大的难度;但是如果没有这门课程,我们也不会知道代码是怎样变成软件的,变成软件我们需要做一些什么事情。很感谢这门课让我做出了贪吃蛇这个小游戏,虽然很简单,但我还是很开心。

2、张莹 201731022104

博客链接:https://www.cnblogs.com/zhangyingzhangying/p/11493871.html
博客内容:
①问题解答
问题1:程序有数据结构与算法,是否需要扎实的数学功底呢,因为我到现在为止接触的代码都不是很需要大量的数学。
回答:在这次实验后觉得数学是代码编写的基础,因为代码时需要逻辑的。
问题2:瀑布模型是一种自上而下的一种模型,那么那种软件适合这种开发模式呢?因为就它的流程来说有一些风险的。
回答:通过在网上查找资料,与翻阅教材得出了答案。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃。
问题3:介绍的几种模式各有特点,但是在开发过程中每个人的意见总是有些不同的,有时候做出来的东西有同学觉得他的想法更好,又应该怎么处理呢?
回答:在这次的团队合作过程中,我们学会了团结合作,在意见不统一的过程中,要学会包容和倾听别人的意见。
②收获
经过这学期的学习,我学习了用博客发表作业,用csdn查找资料,用墨刀做原型设计,在这期间,有些不懂的,会询问同学,每个软件都是熟能生巧的过程,因为用的多了,在后期编写博客时,速度明显加快了。还有用github提交代码。
③体会
在这门课开始的几次作业对刚刚接触这门课的我们来说有一种无从下手的的感觉,但是渐渐的应用软件越来越熟练就好了很多。还有这门课新颖的开始方式也很好,在实际软件编写过程中,自己进行主动学习,可以将知识更好的掌握好。

3、杨也 201731131317

博客地址:https://www.cnblogs.com/ohmyfairy/p/11507457.htm
博客内容:
①我对软件工程的的想象与对自己所提问题的回答
(1)对软工的了解与想象:
答:软件工程是我们专业的一门专业选修课,在上这门课之前,听到软件工程这四个字第一反应是觉得这个课程十分高大上,感觉应该很难吧,软件工程,会不会就需要我们做软件出来啊,对我来说肯定是很艰难的事情,上完这门课后我发现,这门课就是挺难的,最后的团队任务还真的就是需要我们做出软件来,虽然对我们所需要做出来的软件并没有十分高的要求。上完这门课之后对软件工程确实有了进一步的了解,初步了解了软件,了解了软件开发的要求、环境等等。可能出于确实不太感兴趣吧,自己并没有对这门课程进行更深一步的学习,不过有了初步的了解,并且和同伴们一起做出了贪吃蛇这个小游戏,觉得还是收获十分丰富的!
( 2 )对《软件测试》中的探索式测试进行解答:
答:“探索性测试” - 顾名思义,是一种,测试设计和测试执行同步进行过程。 我们可以说,在测试中,测试计划,分析,设计和测试执行中,所有这些都是一起完成的。该测试是关于探索系统并鼓励测试人员进行实时和实际思考。通俗地说,探索性测试涉及并行地进行测试用例设计和待测的应用程序或系统的测试执行。 测试人员将创建或记下测试想法以指导方向,并在测试时探索系统,以进一步为成功测试应用程序创建关键,实用和有用的测试。这需要最少的计划。 测试人员不断对下一步行动作出决定。 它完全取决于测试人员的思维过程。
②我所产生的新问题
关于助教同学的,大家都是17级的同学,感觉关于软件的东西你们真的都学到了好多好多实在的知识,我们的专业知识却挺菜的,关于学习方面,想取取经,怎样提高学习效率,怎样做到有效的学以致用!
③所掌握的以前没有掌握的技能
别人问我软件是什么东西,我大概能回答的上了!脑袋里面对软件这个东西有一个比较具体的概念了!自己会写博客了,对博客有了一定得了解,以前以为博客是类似于微博一样的社交软件,现在才发现博客是一个学术交流平台!可以在里面学到很多很多的东西,有很多很厉害的人会在上面发表一些对我们的学习很有用的知识。
④体会与总结
关于体会其实自己在第一个问题中已经回答过一些了,不知道为什么,只要关于代码之类的,自己学得始终会有些吃力,还有就是软件工程这门课程多数课程学习是在于我们自己,自己动手,团队合作,最后的任务也是团队之间一起完成的,大家一起认真完成任务,一起解决问题,意见有分歧的时候一起商量,都算是一种进步,这也是我们所学到的一种技能,在以后的学习和生活中都能给我们很大的帮助!希望自己能好好利用自己在这门课中所学习到的东西,用在自己今后的学习生活中!

4、黄耀萱 201731024203

博客地址:

个人博客地址 https://www.cnblogs.com/yujiuer/
第一次作业博客地址 https://www.cnblogs.com/yujiuer/p/11507882.html
博客内容:
①解答问题
(1)在班级组队时到底应该强强联合还是应该以优带弱?
  • 答:经过多次组队任务后,现在我觉得队友的能力强弱反而不再是最重要的了,队员之间的磨合和默契程度也很重要,所以这个问题不能一概而论。我认为不管是强强联合还是以优待弱,只有队员配合得好的团队才能取得成功。
    (2)每个模型都有各自的局限性,有的并不能满足所有需求,那应该选择怎样的开发流程才是最合适的呢?
  • 答:emm现在感觉这个问题好像没有什么意义-_-||只能说从大局出发,考虑到每个模型的局限性,寻找最优的软件过程模型吧。
    (3)在开发过程中,如果有客户提出不太切合实际的想法或是无理的要求,应该怎样跟客户进行沟通,委婉让客户知道他的想法或要求是没有意义的?
  • 答:动之以情,晓之以理。或者也可以找找自己的问题,有可能是自己的知识盲点所以以为是不切实际的想法。
    (4)如果一个团队项目在规定时间内无法完成,或者是bug还是很多该怎么办?专业人士会如何避免、处理?
  • 答:这就说明前期规划没有做好。在团队项目开始之前,一定要做一份完整的计划,细分到前期中期后期,每过一个阶段就要验收成果,这样就不会出现规定时间内无法完成的现象。
    (5)为什么领域的专家有时候没有领域外的创新者那么有创意?
  • 答:我认为“有没有创意”存在两面性,有的创意点子可能并不可行。领域内的专家在专业知识上肯定是非常严谨的,因此有些与专业知识相悖的创意是会被否决的,而领域外的创新者可能并不能考虑的那么全面,所以他们的点子看似更多更新颖,实则可行的点子或许并不多。所以我觉得这个问题很难做定论。
    ②掌握的新技能
  • 通过这门课的学习,我首先学会了如何写一篇博客,我个人比较喜欢用CSDN来写博客,因为功能比博客园更简洁齐全一些;学会了在CSDN上查找帮助和技术贴;还学会了把自己的代码上传到GitHub上面,以及在GitHub上面借鉴别人的代码:学会了如何在团队中发挥作用。
    ③体会
  • 经过这门课程的学习,我最大的感受是将不可能变成可能。在这门课刚开始的时候我对自己是没有自信的,因为自己编程能力很薄弱,所以觉得完成不好这门课程。但经过个人作业到团队作业的循序渐进,通过最开始对软件的回顾和熟悉,到后面与队友之间的磨合分工合作,渐渐地,我们团队做出了成果,我感受到了满满的成就感。我从这门课明白了团队合作的重要性,也了解到一个软件系统从设计到面世要经过的千辛万苦。感谢这门课程让我有了这段难忘的经历。
5、孙颖 201731024201

个人博客地址:
https://www.cnblogs.com/SY980808/
个人第1次作业地址:
https://www.cnblogs.com/SY980808/p/11508006.html
博客内容:
①以前提出的问题及解答:
问题1:教材第3章《软件工程师的成长 》P47中有“软件工程的莫基人之一瓦茨 •汉弗雷总结说,软件领域可以分为两个方面:一方面是技艺创新的大爆发;而另一方面是坚持不懈的工程工作, 包括软件的改善、维护和测试等,这一方面占了90% ---95%的比例。”既然坚持不懈的工程工作占了90%---95%的比例,那么技艺创新又应该如何长久立于不败之地?企业管理人员应实施怎样的措施规避软件工程师“一劳永逸”的思想而不断创新?

我通过网络查询和阅读教材第3章《软件工程师的成长 》第42-47页对该问题有了一定的了解:大多数工程师都在团队的环境中工作,要想成为一名优秀合格的队员需要做到七个方面:交流、说到做到、接受团队赋予的角色并按角色要求工作、全力投入团队的活动、按照团队流程的要求工作、准备、理性的工作。 
PSP认为,衡量软件开发的工作量和质量有四个因素:
(1)项目任务有多大?
(2)花了多少时间?
(3)质量如何?
(4)是否按时交付?
软件项目的确需要创造性,需要一些意外,一些惊喜。一个成熟的软件工程师应该能够降低任务交付时间的标准方差,如果能长时间稳定而按时的交付工作的结果,内部和外部的客户就会对你的工作有信心,更喜欢与你合作。为了能够做到降低任务交付时间的标准方差,那么技艺创新就尤为重要。

企业管理人员应该实施鼓励措施来规避软件工程师"一劳永逸"的思想而不断创新:
(1)对具有创新意识的工程师进行奖金鼓励;
(2)为已经有创新成果的工程师升职加薪;
(3)设立相关的创新制度,对止步不前的工程师进行淘汰。

问题2:教材第9章《项目经理 》P198中有“PM 的分析能力和韧性:能把市场、我方的优势和劣势、创新的机会讲得头头是道,也是一种能力。”在第8章《需求分析》中讲过NABCD方法,乔布斯在NeXT也做过很有说服力的分析并能在失败中不气馁而投入另一个公司的运作,在日常学习过程中,我们应从哪些方面努力来提高自己的分析能力、增强韧性,为以后成为优秀的PM做准备?

通过阅读资料及自己的一些经验,得出在校学生可以通过下面的方式锻炼自己的PM能力:
(1)参加多种社团并组织一些活动,做好是草根的活动,而不是由上而下规定的活动;
(2)选修各种相关学科的课程;
(3)争取在实际的企业中实习;
(4)和小伙伴一起,搞点小生意、小创业;
(5)在日常学习中注重对问题的分析,来提高自己的思维能力;
(6)学习与心理学相关的知识来增强自己的心理承受能力,从而增强自己的韧性,在失败中不气馁。

问题3:教材第9章《项目经理 》P199中有“我们说过,大部分优秀的团队可以做到目标三元组(多,快,省)中的两个,类似的三元组还可以用来说明各种商品或活动的不同特性。”做事情就要做到最好,既然大部分优秀的团队可以做到目标三元组(多,快,省)中的两个,那么如何成为优中之优,做到三个并进?

只有对团队不断优化才能做出好的项目,要想做到目标三元组中三个并进,需要:
(1)明确的目标:团队的每个成员可以有不同的目的、不同的个性,但作为一个整体,必须有共同的奋斗目标。
(2)清晰的角色:有效团队的成员必须在清楚的组织架构中有清晰的角色定位和分工,团队成员应清楚了解自己的定位与责任。
(3)相互的技能:团队成员要具备为实现共同目标的基本技能,并能够有良好的合作。
(4)相互间信任:相互信任是一个成功团队最显著的特征。
(5)良好的沟通:团队成员间拥有畅通的信息交流,才会使成员的情感得到交流,才能协调成员的行为,使团队形成凝聚力和战斗力。
(6)合适的领导:团队的领导往往起到教练或后盾作用,他们对团队提供指导和支持,而不是企图控制下属。
(7)强烈的创新意识:一个团队只有具有强烈的创新意识和创新能力,才能够持久发展、优化项目,做到多、快、好、省。

问题4:教材第12章《用户体验 》P260中有““不让用户犯简单的错误”( Fool Proof)的原则当然是大多数人都同意的,高明的设计能让操作者不需要花费额外注意力,也不需要经验与专业知识即可凭直觉完成正确的操作。”这固然是好,但是如何在满足“软件的开发过程有三个主要的特性:“好”、“快”、“便宜” 。通俗的理解是“软件在功能、成本、时间三方面满足利益相关者的需求”的同时又遵循“不让用户犯简单的错误”( Fool Proof)的原则?

该问题与【问题三】相同,只是转变了问法而已。

问题5:教材第16章《IT行业的创新 》P372中有“只做某种行业,不太改行,商业技巧比较缺乏”,我想问这是否与“发展”、“创新”相悖呢?一味转型商业技巧就能得到提升吗?

其实这并不矛盾,也不一定都是劣势,有些“商业技巧”不要也罢。好的作坊不会让顾客先交钱成为VIP,办一张金卡,然后过了几个月作坊就突然消失了。一个项目、一家企业需要创新与发展,但坚持与持之以恒也必不可少。两者是对立统一的关系。要想把一个项目一件事情做好,既不可缺少坚持与奋斗,也不可缺少发展与创新。坚持与奋斗是创新与发展的前提,创新与发展是又是坚持与奋斗的结果。

②新的问题:
●问题一:在软件开发过程中,如果用户需求远大于我们的技术开发能力,我们应该怎么平衡?
●问题二:如何使项目成为微信上快速使用的小程序?
●问题三:在软件开发团队中,如何区别对待,面对一些懈怠的现象如何调整自己的心态?
③新的技能:
(1)对软件工程的原理和方法有了一些了解,知道了软件开发的重要步骤(需求分析、设计、编码、调试和维护);
(2)学会使用CSDN写博客,之前从来没有听说过这个东西,也没有听说过博客园;
(3)学会了代码测试,在这之前只是听说过,不知道有什么用。
④体会与总结:
九周的软件工程课程结束了,通过课上学习再、完成个人作业、完成团队项目开发,我学习了到不少软件工程相关的知识:

●对软件工程的原理和方法有了初步了解,在需求分析、概要设计、详细设计、编码和测试方面有了一点进步;
●学会了使用更多的编码平台;
●进一步熟悉了开发环境和软件开发的流程;
●深刻感受到了团队合作的重要性。

同时,我也深刻感受到了自身的不足,代码的编写使我感觉自己原来是这么的菜,必须不断的学习,才能避免这种情况的发生。总之,这学期的学习收获是令人欣喜的,不仅学习到了很多平台的使用和经历了软件开发的过程,同时也体会到了自身对于代码编写的不足,使我能够查漏补缺,可以通过后面的学习进一步提升。最后,感谢老师的悉心指导,谢谢助教同学对我们的监督、提醒和帮助,辛苦了呦~

6、李楠 201731024101

博客地址:https://www.cnblogs.com/lilizz/p/11509589.html
博客内容:
①问题解答
1、软件工程中的需求分析包括的主要内容?
答:需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段包括:
(1).业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。
(2).用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。
(3).功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。
(4).非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。
(5).需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。
2、什么是软件结构?简述软件结构设计优化准则。
答:软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。
软件结构设计优化准则:
(1).划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。
(2).一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近
(3).软件的深度、宽度、扇入、扇出应适当。
(4).模块的大小要适中。
(5).模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。
3、为什么软件需要维护?简述软件维护的过程。
答:在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。
软件维护的过程:
(1).确认维护要求。
(2).对于改正性维护申请,评价错误的严重性。对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。
(3).对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定
②、新的问题
大概就是我们有很多内容是需要学习的,尤其是在要开发一个软件的情况下,有很多知识盲区,只能自己去摸索,但是感觉这样的学习不是很系统,很容易走入误区。
③、掌握技能
通过软工的学习,首先学会了如何写一篇博客,学会了在CSDN上查找相关资料,还学会了把自己的代码上传到GitHub上面,以及在GitHub上面借鉴别人的代码。
④、体会
一个学期过去,感觉还是挺累的。当然,也学到了一些东西。
我觉得最大的一个改变就是写博客了。以前从没有想过写博客这种事。让我们时时想着软工的进度,让我们记得软工工程是一个持续的工程,而不是一两天的突击。
关于结对编程,虽然安排了结对编程的项目,但真正学会结对编程的估计并不多。结对编程是这个课上学到的很重要的东西,对以后会很有帮助。
关于软件开发技巧。重要的是学会了一个重要的开发工具VS2017
想要成为一个出色的工程师,一切还是得靠自己。我们不仅要磨砺自己的技术,还要学会怎样成为一个团队。

三、团队项目资料

GitHub地址:https://github.com/lilizhang94/--
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

posted @ 2019-12-08 17:12    阅读(221)  评论(1编辑  收藏  举报