代码改变世界

代码写不对队-团队项目总结

2019-12-06 13:04  曾正男  阅读(339)  评论(1编辑  收藏  举报

代码写不对-团队项目总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/
这个作业要求在哪里 https://www.cnblogs.com/harry240/p/11524252.html
团队名称 “代码写不对”
团队项目 英语APP制作
这次作业的目的 对该课程做一个总结
Github地址 https://github.com/985303642/English-app-APP/tree/master/985303642

一、团队成员信息

姓名 学号
曾正男(组长) 201731024131
魏恩博 201731024133
任星辰 201731024142
李志 201731024118
王旭 201731024124
宋树钱 201731024138
付昶宇 201731024228
何辉 201731024220

二、成员总结

NO.1

姓名 曾正男
学号 201731024131
第一篇博客地址 https://www.cnblogs.com/zhengdimofa/p/11506306.html
1.第一次作业问题与解决:

1.【第8章 8.3获取用户需求——用户调研】,该节介绍了用户调研的一系列方法,但是只限于方法,我们要做的是实践,如何有效率的进行用户调研是我们更应该思考的问题?

  • 用户调研需要我们根据自己软件的应用群体进行选取,就像我们团队研发的英语app,面对的就是在校学生,这样就能更高效的进行软件开发。

2.【第13章 13.2.3验收测试】该节所说,软件构建完成之后,测试人员将会进行bug的测试,那么怎么评定这个软件质量的高低?bug少质量就高还是以其他标准?

  • 根据我从网上查阅的资料来看,bug的个数不能用来评定一个软件的质量高低,它容易造成部门的混乱,导致公司办事效率降低,对于其它标准我想的就是根据人群使用,之后做个反馈来进行对软件的评定。

3.【第15章 15.2DevOps】我们是否应该思考对测试管理、数据管理主要做的具体工作是什么,通过怎样的方式来保证研发质量?

  • 是的,这样会更方便的进行软件开发,明白各个流程在这个过程当中起着很重要的工作。

4.【第16章 16.1.7成功的团队更能创新】为什么一定是成功的团队更能创新,如果一个初始团队因缺乏资金或者什么重要条件致使项目难以开展,这能说明他们的想法不够创新吗?

  • 在我看来,应该是“更能创新的团队才是成功的”这句话才是正确的,在社会竞争中,唯有不断创新才能搏的大众的好评,但是这也得有前提,资金启动,项目开展都会影响一个团队的发展,但是其创新程度是无法比较的,因此我们不能这么绝对的磨灭小团队的创新想法。

5.【第16章 创新和作坊】如何评定团队人数的好坏?

  • 一个好的团队需要成员之间相互帮助,相互促进,不存在人数多少一说,如果每个人都能发挥出自己的作用,那样就能实现团队的进步,在这项课程中体现的淋漓尽致。

2.体会:

  • 经过一学期软件工程的学习,自己学到了很多东西,比如说知识层面的(软件开发、代码编写、程序改进);再说团队的合作,一个好的团队应该怎么做、怎么相处都是令我们要好好思考的。
  • 一个程序的开发与发布也是比较有讲究的,在这方面感觉像是新闻发布会,这种感觉很不错,在今后的生活中要去进行锻炼,这也是自己的一种能力!

NO.2

姓名 魏恩博
学号 201731024133
第一篇博客地址 https://www.cnblogs.com/webster171158/p/11507674.html
1.第一次作业问题与解决:

【第四章 4.3.2 goto】

  • 这个我起初认为是一个函数,因为在之前的教材上没有了解或学习到,书上的解释是为了程序逻辑的清晰体现,所以我去查了百度,一下是百度百科的链接https://baike.baidu.com/item/goto%E8%AF%AD%E5%8F%A5/7603004?fr=aladdin,才了解到这是一个语句,无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号,
    放在某一语句行的前面,标号后加冒号。

【第十一章 11.4从Spec到实现】

  • 如何写好一个Spec在看书的过程中已经了解到了,比如要遵循KISS原则,但是如何真正的实现从Spec到软件功能的实现,通过搜索找到一些水友的回复,其中http://m.elecfans.com/article/569649.html
    中说到交叉验证,我认为比较实用,首先了解需求,之后对Sepc进行复审和设计,在进行详细设计、编写代码、自测、伙伴测试同伴复审,在这之中的每一步都要发现所存在的BUG,发现BUG后都要分析是否可以修复,在进行重设计,最后完成构建并进行功能的全面测试最后实现功能的完成。

【第十二章 12.1.6用户体验和质量】

  • 好的用户体验如果和产品质量有冲突怎么办。在书中了解到,其中要考虑用户体验设计的步骤和目标,并且在用户提出反馈后帮助用户识别、诊断并修复用户提出的错误,还有一个比较重要的就是要开发出贯穿多种设备的用户体验。

【第十六章 创新和作坊】

一个团队是不是人越多越好

  • 文章中提到几种模式,一个人的作坊,两个人的作坊,或者一群人。一家路边摊,一个人就可以搞定,一家面馆,两个人搞定,如果变成产业,那就需要各方面的人才,一个团队需要看是怎样的团队。如果说创建一个新媒体团队,但是现在团队的人只有一群会做面的,那行吗?一个团队的人数需要根据自己特定情况,需要技术型核心人才,也需要协作能力,执行能力强的人才。

【第十七章 领导力】

  • 在一个团队分三种人,一种是执行力强的适合做第三级人;一种是管理能力强的人,可以整合资源,协调安排工作的人,适合做第二级人;最后一种是思想层面,有大局观,什么都不会做但是什么都懂,有绝对的决策能力的人就是第一级人。而每一个新人都是从底层中成长的,而如何成为一个团队的新人就是需要知识,需要创新,领导看中的就是这些。还有一种就是能力不够,这个时候最重要的就是态度,态度决定一切是事实,一个好的态度可以在逆境中翻盘。

2.问题解答:

goto是什么

是一个语句,无条件转移语句。这个是通过百度查找弄清楚的

从Spec到实现

在学习了这门课之后,了解到一个软件从无到有要经过不少的过程,其中有用户需求,整个软件的功能都是从用户需求出发,慢慢来完成自己的软件,还有系统设计,这些都是要去准备的,学习完之后才明白一个软件的完成不是一蹴而就的

好的用户体验如果和产品质量有冲突怎么办

在书中了解到,其中要考虑用户体验设计的步骤和目标,并且在用户提出反馈后帮助用户识别、诊断并修复用户提出的错误,还有一个比较重要的就是要开发出贯穿多种设备的用户体验。

领导力

关于这个问题,从这次软工课程就可以明白了,我们团队中就有不同分工的人,比如说我可能就是我们这个团队中有领导力的一个人,可以把大家凝聚在一起去做同一件事,也有比较擅长攻坚代码的同学,一个团队就因为有了不同的分工,才能完成一个看起来不可能的项目。

是否产生了新的问题?请提出。

在实践过程中最大的难题就是团队协作的问题,在实践的过程中,团队协作一直是阻碍项目快速进行的一个大的问题,不过在长时间的磨合之后还是逐步解决,如何更好的高效的进行团队的协作成为了问题

经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的

学习软件工程可以明显感觉到对软件工程流程有一个清楚的认识,这是在实践和理论中得来的结果,这些都是在软件的设计流程中所学习的,而且学会了以前完全不敢去想的做出一个属于自己的软件,更应该说是,自己亲手做出来的一个软件,整个项目完成之后,团队中的每一个人都是有着满满的成就感的。

有什么深刻的体会,对自己一学期学习过程的总结。

整个软件工程实践下来就是我们以后就业的整体流程,受益匪浅,这门课基本就是带领我们先进入软件工程的学习,在以后的课程和工作中能更快的适应模式。其次,团队协作确实是一个比较难解决的问题我们也通过自己的一些方法解决了这些问题。总的来说我们的实践还是满成功的,从中也学到了不少东西。

NO.3

姓名 任星辰
学号 201731024142
第一篇博客地址 https://www.cnblogs.com/642606ildfq/p/11506863.html
1.第一次作业问题与解决:

问题一:第四章讲到了两人合作,如果有的人想法固执,是不是我们可以进行尝试性的屈服让事实证明一下结果,不必进行解体?

当遇到这种情况时,偶尔的“屈服”可以让整个团队避免解体,让醒目可以顺利进行下去,保持团队利益最大化。

问题二:团队中该怎样寻找让所有成员满意的利益分配平衡点

结合个人利益与团队利益,利用“按劳分配”,想项目的利益“公平”地分配给每个人,并避免有人“不服”。

问题三:创新是保持市场活力的最佳方法,但往往创新者没有足够的资本去实现这个新想法,所以是不是当有新想法时该投入市场,但做后来者?

个人提出的创新也只是对当时的个人而言,当想法与现实矛盾时,我觉得还是要尊重现实,毕竟生活的一切前提是活着。所以这个问题我认为还是要做后来者。

问题四:如果要创业,领导力必不可少,所以在大三,在怎么提高自己的领导力?

多参加一些团队项目,并且在项目完成中要多提出自己的想法并把团队运行主动权拿在自己手里。

问题五:在第16章中书中一直指导我们创新,但我本身是一个不擅长创新的人,那么如果我以后不创新,我是否可以生活的很好?

生活的方式多种多样,不一定非要和创新之类的挂钩,按照自己的需求活下去,也是一种态度。

经过这学期的学习,我懂得了利用Githup寻找资源库,可以在博客园、CSDN里找到自己需要的资料资源。也明白的分工合作在团队项目中的重要性,不仅对项目有好处,而且对团队成员的分配有参照点。

NO.4

姓名 宋树钱
学号 201731024138
第一篇博客 https://www.cnblogs.com/s1998/p/11507842.html
1.第一次作业问题与解决:
a.从用户的角度考虑问题,这需要有”同理心“,做调查问卷。
b.这个是没有固定模式或者规定的,只能具体问题具体分析,适当的取舍
c.专业知识  经历  能力  实践  社交与沟通
d.Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法
e.敏捷,其实是一种轻量型的,最开始确实是用在软件上的,软件开发原则。它是一种方法,一种思想,是一种迭代的研发模式,而且是增量的,是一种一定时间盒的,以价值为中心的。
敏捷是一种适应复杂情况、不靠谱客户的,一种持续学习,持续增量的迭代模型。

2.收获与体会
经过一学期的学习,收获还是很多,首先作为一个团队成员与其他同学一起完整的做了一个项目,这是之前学c语言和c#所没有的体验,因为做的这个东西相对l来说更高级,而且从头做到尾,从分析到设计到实施,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程。

NO.5

姓名 王旭
学号 20173124124
个人第一次搏客 https://www.cnblogs.com/wangxu3/p/11507670.html
1.第一次作业问题与解决:
1.【3章,过早优化】
过早的优化会使工程师陷入局部问题,花大量时间去优化。
过早的优化是没有必要的,应该在明确优化内容和目的之后,在整个优化过程中,坚持这些目标。选择正确的指标,是优化的一个重要组成部分,你需要按照这些指标来测量优化工作的进展情况。如果指标选择不恰当,或者完全错误,你所做的努力有可能白费了。
2.【16章,创新迷思】
技术的创新是关键,进步是技术的进步带来的。
创新不一定是技术的创新,可以是模式、用户体验上的横向创新。
3.【5章,软件团队的模式】
明星模式中如何平衡明星和团队的利益。
在同一个团队之中,应该有团队的归属感,以团队利益为重,可以适当牺牲个人的利益。
4.【【第12章,用户体验和质量】
好的用户体验当然是所有人都想要的,如果它和产品的质量有冲突,怎么呢班?牺牲质量去追求用户体验,用户能接受吗?
好的用户体验固然重要,但是产品质量也很重要,用户体验和产品质量是密不可分的,它们之间并不冲突。产品的高质量才是带给用户良好体验的基础,所以牺牲质量去追求用户体验并不是一条长远之计。
5.【16章,创新迷思】
要成为领域的专家,才能创新。
成为领域专家才能创新,这句话有一点狭义。就像我们不断的学习,在某个领域中不断的延深,掌握好已经认知到边界内的知识,然后不断创新,尝试去突破这个边界。但是如果没有掌握这个领域的全部知识,也许也可以创新,去发现未知的事物。

2.体会:
学习软件工程这门课程已经有一个学期了,整整一个学期下来,应该说还是有许多值得肯定的地方的。其实在我看来,软件工程与其说是一门课程,不如说是一门思想,是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的能够解决问题的思想集合。这么课程也告诉了我们团队合作的重要性,因为大作业开发需要组队,整个项目的开发都是由你选择的团队一起进行的。因此选择一个合适自己的团队至关重要。团队中每一个人都应该对项目有一个相同清晰的目标,大家一起朝一个方向努力。最后,要感谢肖课老师和助教整个过程的悉心指导,也很荣幸能和一些优秀的同学合作学习。完成了这样的项目,我收获的不仅仅是知识,还有经验,自信和友谊。自己也会不断的学习,提升自己的能力。

NO.6

姓名 李志
学号 201731024118
第一次博客地址 https://www.cnblogs.com/-lzzz/p/11504880.html

自己提问解答

1.对于创新者和先行者的问题,在课程完成的过程中,了解过很多不同的例子,一般的,是先行者的同时也是创新者,先行与创新并行,他们之间没有具体的明显区分。对于调查用户体验情况的调查,学习的过程中,对于我们学生,最实际也是最高效的方法是做问卷调查以及面对面的交流,我们组的英语app,受众就是周围的同学,当面调查用户体验是十分高效的,而且因为是直接的沟通,不会出现意思理解的错误。
2.对于项目经理(PM)而言,在我们组在项目的完成过程中,项目经理的压力其实是很大的,事实上,项目经理必须从管事和管人两方面入手,任务的分配,监督,几乎在整个项目的完成过程里都需要PM来花心思,不然项目的效率会降低。提高自己的领导力,现阶段而言,不断的通过负责项目来逐步来锻炼自己的能力。用户体验和质量的保证方面,在最后一次答辩中,老师说过,软件永远不可能做好,只能不断的完善。我想这句话就是用户体验和质量方面发生冲突时解决办法的答案了吧,而当时提出的有没有科学的评判的手段,这个目前还没有解决。

体会和总结

通过课程的学习,多多少少也学到了一些,至少对于软件开发的完整过程有了具体的了解,而其他的就是代码的编写过程中,确实是遇到了很多的不懂的,自己的基础知识十分薄弱,导致很多都需要重新去查找,去现学。

NO.7

姓名 付昶宇
学号 201731024228
第一篇博客地址 https://www.cnblogs.com/1111F/p/11507050.html

关于11章软件设计与开发的问题,在开发阶段有独立工作的时候,而开会等这些随机事情影响了开发效率,但是这些随机事件的初衷是为了解决问题,我们如何平衡?

例行会议的开展是项目高效稳定进行的关键,我们应该在会议上提出和总结有意义的问题,而不要在无关事务上耗费大量时间。

关于12章用户体验的问题,软件开发无法实现用户需求或者实现代价大,如何平衡?

首先要从自己身上想办法,不论是攻克技术难关还是创新思维,都可以解决大部分的矛盾。 需求有实现与否,好坏之分不容讨论, 完全由用户定义, 好坏则由用户与实现人员共同决定,在牺牲一点点体验的情况下,如果实现可以做得好,那么这也是一种很好的方案。

  1.    关于13章软件测试的问题,安全测试人员对软件结构可能不了解,对代码结构了解的对安全测试又不了解,如何进行软件测试?
    

当前软件设计及开发人员对安全问题普遍缺乏正确足够的认识,导致软件本身有很多潜在的缺陷,同时也对外暴露了大量安全漏洞。解决软件安全问题的根本方法是提高软件从业人员的素质,增强其安全意识,对其进行针对性培训。

关于16章创新的问题,个人创新能力弱,如何培养创新能力,没有创新能力对以后的工作有何影响?

在原有的基础上有所突破,关注细节,培养执行力,把目标变成现实,学会类比,听他人的意见,用过程去优化,对于工作或项目来说,可以把创新的思路流程化。

关于17章绩效的问题,当团队成员拥有相同或者相似的待遇,有人做事不积极,导致其他人也不想做或者只做属于自己的工作,团队效率极低成果不理想,该如何避免或者解决?

团队是非常重要的,一个好的团队就应该有好的分工,可以根据每个人擅长的不同的领域来分工,达到最大限度的利用每个人的特长,每个人将自己的长处发挥出来就能最高效率的解决问题。

总结:通过软件工程这门课程,我感受了软件从无到有的过程,在这个过程中,我了解了博客园、GitHub、CSDN等学习软件开发的工具,深化了C#代码还有数据库的熟练程度,学习了很多专业知识,改变了我对软件工程的看法与认识以前认为一个软件的代码是最重要的,现在感觉到各种文档的编写才是至关重要的一步,它不仅影响着后期软件功能的实现还体现着开发人员对软件的认识与开发思路,它既研究如何用最小的开销做出生存期较长的软件,也对各个阶段进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大工程的一个小小的过程。软件工程不仅是一门课程它也是一个思想,是一个如何去分析和处理问题的过程。软件工程加强了我的整体思维能力,对我的综合素质有所提高,培养了我良好的分析规划能力和团队意识。虽然我所学到的东西只是这个学科入门的了解,但我也受益匪浅,同时感谢老师和助教的悉心教导,今后我也会继续努力。

NO.8

姓名 何辉
学号 201731024220
第一篇博客地址 https://www.cnblogs.com/he4ui/p/11515633.html
1.第一次作业与问题解决:
4.6.1中两个人合作问题,第83页,两个人平等合作的情况下,不存在领导与被领导的关系,然后让两者之间相互影响。两种不相同的事物之间很难回去得到联系,有重合谈相互影响?
  • 领导关系是指领导者在进行领导活动的过程中,领导者与被领导者及领导者与领导者相互之间发生、发展和建立起来的一种工作和感情交往的关系,即领导主体在领导活动中与组织系统中的其他成员发生的工作关系和非工作关系的总和。

5.3.2中瀑布模型的实际应用问题,书上第97页,这个模型在1970年的一篇论文中提出来,放在当今是否还能真的的应用?

  • 瀑布模型是将软件生存周期的各项活动规定为固定顺序的若干阶段工作,最终得到软件产品。他的核心思想是按工序将问题化繁为简,便于分工协作,采用结构化的分析与设计方法将逻辑实现与物理实现分开。

5.3.6渐进交付的流程的使用作用,在书上第104页,因为这个就一直在一个循环之中,那么要如何去判定这个是否完成,或者说完成的进度?

  • 软件开发流程是一个逐步渐进的过程,将整个软件开发过程划分为顺序相接的四个阶段,每个阶段完成全部规定的任务后再进入下一个阶段,一个软件从开始到最后一共需要4个流程

10.1.4从典型用户到场景的实际问题,书中第210页 ,有这个过程看以看出比较的复杂,那个在实际的运用中如何让把他有繁化简?

  • 有了典型用户之后,我们还得决定每一个典型用户的目标——他/她使用系统想要达到什么目的(如:购物、卖产品、滥发广告……)。对于每一个目标,列出达到目标所必须经历的过程,这就是场景,也可以叫故事(Story)。注意,有些场景描述了成功的结果,有些场景描述了失败的结果。用户和系统有成百上千种可能的交互情况,写场景时要有针对性。下面是现实生活中一个银行从业者发的一条微博,他体会了“ATM无卡取现”功能的强大。

13.2.8 效能测试的过程,书中第282页 ,因为效能的水平都是由用户反映所得到的,那么如何统一这个标准?

  • 效能评估系统是为解决武器装备效能评估问题新研发的一款软件,效能评估系统用于武器装备论证、研制、试验、使用等不同阶段的效能评估,效能评估系统为作战体系、装备体系评价和优化提供定量依据。效能评估系统能够使用仿真、靶试、演习等多种来源的实验数据,将效能评估贯穿武器装备全生命周期。

2.体会

  • 通过这次做项目,使我对编程有了进一步的认识。做项目的时候,最重要的不是自己如何快速地将自己分配的任务做完,而是要注重团队合作。通过这次做项目,使我对编程有了进一步的认识。做项目的时候,最重要的不是自己如何快速地将自己分配的任务做完,而是要注重团队合作。通过这次做项目,使我对编程有了进一步的认识。做项目的时候,最重要的不是自己如何快速地将自己分配的任务做完,而是要注重团队合作。