结课总结

问题 答案
这个作业属这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/
这个作业要求在哪里 https://www.cnblogs.com/harry240/p/11524162.html
团队的名称 C#与GIS的完美邂逅
这个作业的目标 完成最后阶段的项目的问题
GItHub地址 https://github.com/1402120950/C-and-GIS-2

一、团队成员简介

序号 成员姓名 学号
1 张焱菁 201731024115
2 曾琅 201731024135
3 袁志杰 201731024217
4 王万成 201731024237
5 冯士坤 201731024113
6 陈林 201731024130

二、团队总结

姓名 张焱菁
学号 201731024115
博客链接 https://www.cnblogs.com/Amazing-zyj/p/11496374.html

1、回望过去

以前在刚学习软件工程这门课的时候提出了很多问题,现在看看,那些问题都是幼稚的且没有意义的一些问题,例如:

  • 如果典型用户的区分不明显怎么办?没有让所有该使用软件的人良好的使用这个软件,那这个软件是一个好的或者说是优秀的软件吗?
  • 但是团队合作也必然有它自己的相应的弊端,我想问,团队合作和个人独自完成,我们应该怎么取舍呢?在团队内部出现问题之后,我们如何来保证按时按质量完成任务,或者说是否应该进行壮士断腕式的调整呢?

这种问题都是因为自己对课程不了解才会有的,我们怎样取舍是团队中自然而然就会解决的问题,也不可能有一款软件能够满足所有人的需求。

2、掌握的技能

  • C#编码的能力得到了一定的提高
  • SuperMap iobjects的二次开发能力有了一定的基础
  • 自学iobjects的能力有了一定的提高,我们的开发过程基本靠自学,虽然比较难,但是也为以后的继续自学打下了一定的基础

3、收获与总结

这个课程和我们的整个项目过程中,出现了很多的事情,对我个人来讲,我学到了很多东西。最令我印象深刻的是换题风波的事情,我们队伍内部有核心成员的自信心不足,对于我们的项目没有信心,认为我们做不出东西或者是做不出让大家都满意的东西,所以提出了要更换项目选题,我们专门开了一次会来讨论这个问题,会议过程还是比较激烈的,最终,还是作为队长的我胜了,我至少在表面上统一了思想,没有换题,又在私下进行了很多思想工作,后来随着项目的一点点成型,大家就都对项目充满了信心。从结果上看,我们是对的,所以整个过程下来,我个人最大的体会就有两点。一是我们要对自己有充分的信心并且要适当的逼自己一把,不要妄自菲薄。二是我们做事情必要要有持之以恒的决心和毅力,不能随随便便放弃。

姓名 冯士坤
学号 201731024113
博客链接 https://www.cnblogs.com/q1281037172/p/11506153.html

1、回答最后一个个人问题:

这门课是我上过的最有意思的一门计算机类课程啦!之前对编程的死板印象就是一个人守着电脑敲敲敲,然后开发软件就需要很长很长很复杂很复杂的代码,但是这门课告诉我,软件开发他是一个大工程,他需要很多人齐心协力的努力,软件开发并不是那么枯燥无味,并不是只有代码的编写,他让我见识了软件开发的过程,我相信软件开发有更大的魅力等我们去发现。

2、收获的技能:

通过队员的帮助,和自行在网上搜索学习资源,以及对书上第十二章的学习,对UI的设计有了更深的了解,因为我在团队中也是负责作业的界面设计,优化美化,改善用户与软件的交互体验。

3、学习过程总结:

这门课程采用的是小组合作学习,然后在团队中的感受就是,一个人的短板会被拉长,优势也会被放大,这就是团队的力量。课程结束我感觉我收获到的远远大于书本上的知识,团队内合作,团队与团队之前的竞争、激励,都在促使着我们前进。一项感觉不可能完成的任务摆在眼前,在一个优秀的团队中每个人都在努力着,那便没有什么不可能。

姓名 王万成
学号 201731024237
第一次个人作业博客 https://www.cnblogs.com/shiki510/p/11491961.html

1、对第一次作业的回望

  • 第三章 3.2软件工程师的思维误区

    过早优化指的是在开发过程的早期还是在还没弄清楚需求的变化趋势的时候就开始优化?

    通过做小组作业时的讨论,我明白了过早优化是指在还没弄清楚需求的变化趋势的时候就开始优化,通过学习,我深刻了解到了需求分析的重要性。所谓磨刀不误砍柴工,只有做好需求分析才能做出用户需要的东西。

  • 第五章 5.2软件团队的模式

    团队模式跟团队的开发模式有什么关系?

    通过课堂的学习,我了解到软件团队模式分为很多种,如主治医师模式、社区模式、爵士乐模式,官僚模式等等,它们各有优缺,应用于不同环境,不同类型的团队成员,比如主治医师模型适用于首席程序员极其优秀的情况等等。
    我觉得对于我们学生现如今而言,比较好的还是交响乐团模式以及功能团队模式。交响乐团门类齐全,各司其职,演奏都靠谱,同时看指挥;而功能团队模式是指具备不同能力的同事们平等协作,共同完成一个功能,在这个功能完成以后,这些人又重新组织,和别的角色一起去完成下一个功能。

2、产生的新问题

  1. 如何把本地APP做成线上app?
  2. 发现自己的能力做不到用户的需求怎么办?
  3. 团队分工只应该各司其职吗?

3、掌握的新技能

  1. 学会了markdown语法
  2. 学会了git的使用
  3. 第一次建成数据库
  4. 学会了需求分析

以上技能都是在作业中不可缺少的,通过学习大佬的博客以及看视频学会了这些-。-

4、体会

总的来说,我学到了很多东西,包括理论知识、动手能力还有团队合作的精神。在一次次的软工项目中,不断的发现自己的不足,不断的学习相关内容尽量不给团队拖后腿。也很感谢大佬不嫌弃的帮助...我也会努力的。

姓名 陈林
学号 201731024130
第一次个人作业博客 https://www.cnblogs.com/chen100/p/11493182.html

1、回望

《软件工程》课程以及接近尾声或者说基本上已经结束了,这漫长的“煎熬”中收获很多、苦楚也很多。记得刚开课的时候,是一种充满疑惑和些许激动的复杂心情。为什么这样说啦?还记得在第一次阅读作业中说自己以后想怎么着怎么着,理想永远是丰满的,现实也永远是骨干的。充满骨干的现实必须用努力去“丰满”它,变成想要的理想。在看见的课程名字的第一印象觉得一定很有趣,对课程学习的内容充满憧憬。
回答:记得第一次个人作业提到对于人生职业规划的疑惑,在通过《软件工程》课程的学习以及一些资料的阅读后,坚定了自己以后的职业道路。其次,对于系统学习也有初步计划,先温习下C语言再自学汇编语言以及数据结构然后再去自学操作系统等计算机专业核心课程,难度肯定很大但困难越大越要迎头而上。

2、问题

在课程结束我发现自己又产生了新的问题,比如含有特殊控件的软件怎么打包?连接云服务器的为什么会失败?对JAVE也产生浓厚的兴趣,学会JAVE可以开发手机程序方便很多。

3、收获

学会怎样在团队开发中发挥自己的作用;对C#的掌握又进了一步;熟悉了组件Supermap的基本操作;对一些数据库各项操作有了基本了解。C#是通过CSDN论坛以及博客园等系列帖子,对于超图组件的学习是通过超图的论坛和问答中心以及PM的帮助,数据库是根据之前的知识加上论坛以及mooc。

4、体会

在课程中有很多次无奈和焦虑,想着放弃,但每次的咬牙坚持最后才顺利的完成了课程目标。在团队项目中,听到很多同学说这门课的繁琐,还要就是关于团队项目的立题,最后的还是PM的坚持,全队劲往一处使顺利完成项目预期目标。

袁志杰201731024217

姓名 袁志杰
学号 201731024217
博客链接 https://www.cnblogs.com/yuanzhijie/p/12003218.html

博客链接

1、原问题

1.【十二章】谁会是我们的目标用户?他们是什么样的人?用户对软件的第一次使用,很大程度上决定了用户对软件的评价。怎样让用户在第一次使用的时候,少花时间在对用户没有价值的部分而把大部分时间花在对用户没有实际价值的功能上?
学生和GIS应用者会是我们的主要目标客户,他们需要使用Supermap等软件。把系统简化,简单快速地可以找到自己所需要的功能。
2.【第十二章】这一文中提到如果用户体验和产品质量有冲突该怎么办?有没有一套科学详细的评定手段来评定我们应该如何进行取舍?
应该保证质量,并让客户有较好体验。则优选取
3.【第九章】中“PM”的概念,PM作为一个管理/领导者,PM具体应该包哪些那些素质和能力?
1、出色的协调、沟通能力 2、热情、执着的态度,兼容并包 3、对所责产品蓝图的良好规划 4、知识和认知的深度、广度
4.【第六章】在冲刺阶段只能由Scrum大师来做,Scrum是什么?
1,专业知识  2,经历  3,能力  4,实践  5,社交与沟通
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.

2、新问题:

团队分工需要各司其责,但是有时自己解决不了,不应该一起做吗?
数据库如何更好优化?

3、新的技能:

Github、博克园、CSDN的基本操作与使用。软件的界面设计与优化,团队分工与合作。
在编程上有较大提高,学会了数据库连接,windows界面的设计,PPT的制作,流程图,热力图,ER图,数据流图的基本建立。

4、总结

这学期学习了软件工程实践这门课,刚开始的时候,对这门课很不理解,感觉根本没有学那么多软件方面的专业知识,就开始做项目,感觉好像天方夜谭,根本完不成的任务,直到后来,小组团队的组建,选题,需求分析等一步步的开始实施,才慢慢发现这并不是一个不可能完成的任务。
从选题开始就遇到了特别多的争议,很多人认为我们完不成自己的项目,组内也曾经考虑过换个项目,但最后还是决定,坚持自己的项目,一步一步坚持下来,才有了今天的成果。自己的基础不好,并没有做特别重要的任务,但在一个优秀的小组内,感受到了良好的氛围,大家各种问题都在组内讨论,互相帮助,让我感受到团队合作的重要性,也学会了一步步地向前走,很多看着完不成的任务,一点一点慢慢做,慢慢实践,一个个看似完不成的任务,慢慢就完成了

姓名 曾琅
学号 201731024135
第一篇博客地址 https://www.cnblogs.com/zlang/p/11507468.html

1、解决自己提出的问题

Q1:在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,为什么代码覆盖率并不等同于100%的正确性?
:因为代码覆盖率工具仅能评估单元测试是否执行了代码;并没有对测试的有效性做出判断。专职的测试人员应检查单元测试,即使它们已具有高覆盖率,并且帮助改进测试,又或者应该在必要时通过额外的测试来补充既有的单元测试。百分之百的单位测试覆盖率并不意味着我们做过良好的测试,甚至说测试是完全的。因为单元测试可能缺少重要数据,也可能仅使用成功的数据进行测试,却没有测试导致失败的数据。百分之百的单位测试覆盖率并没有说明缺少代码、缺少错误处理或缺乏需求等问题。
Q2:软件团队模式有很多,怎么找到适合自己的团队模式?
:我觉得对于我们学生现如今而言,比较好的还是交响乐团模式以及功能团队模式。交响乐团门类齐全,各司其职,演奏都靠谱,同时看指挥;而功能团队模式是指具备不同能力的同事们平等协作,共同完成一个功能,在这个功能完成以后,这些人又重新组织,和别的角色一起去完成下一个功能。我希望我们的团队模式可以是二者的结合形式,通过磨合,能够协同作战。团队可以公开的讨论流程和工作的方式,协商制定计划;PM可以得到广泛尊重,有能力的成员也分担一定的领导职责;大家各司其职,平等协作,最后汇总各部分,完成任务。
Q3:团队模式和团队开发模式又什么联系?
:首先来解释一下这两个名词:我查资料了解了一下,团队模式,更偏向于多人合作的那种,而且我理解的“团队”会是一种多人合作的情况下,长期磨合后的一个组织,他们是相互了解的,是拥有巨大的默契存在的。对于团队的开发模式我并没有查到具体的解释,但对于开发模式,是有查到几种开发模式,比如瀑布开发模式、快速应用开发模式等等,我们在其他的课上有学过这些模式,所以我在这里认为开发模式是更偏向于后边的“模式”两个字的,更注重方法,用什么方法。通过以上说明,我个人认为他们之间的关系是:团队模式是一种组织的存在,而团队的开发模式更注重于方法,团队采用什么样的方法开开发项目。
Q4:对于我们现在接触的项目大部分需求都是老师给我们的任务,那么我们是不是同样需要进行需求的分析?
:需求分析是一个项目的开端,既然需求分析确定问题难,需求时常变化,交流难以达到共识,获取的需求难以达到完备与一致,需求难以进行深入的分析与完善,既然学习了这门课程,我们就需要了解团队协作共同做一个软件的经历步骤,所以根据在做项目看来,还是需要软件分析这一步。
Q5:每日构建的重要性,构建是指构建的什么?如何做好构建的工作?
:每日构建正如其名,每日,所以这样的构件虽是基本的但贵在不懈坚持也难在这点。很多程序员都觉得写程序编程更刺激有意思,很不愿意花费时间做那些在自己看来无用的构件,甚至是每日,也就是说再忙的要死的时候也还是要空出点时间来做。但软件工程里的每日构建就像是在工地上建楼房,要花心思花时间做好基本功——搭建脚手架,保证不轻易垮台才能继续后面的工作。而不会做构建的程序员,就像建脚手架的小工,运球不熟练的球员,这样的程序员,谁会要。每日构建虽然会花费一些额外的时间,但是比起最后除错的成本来说,日构建成本是微不足道的。而且更为关键的是能够引入日构建的制度,开发人员将会在日构建的制度下更加频繁的协作,开发进度一目了然,软件的质量也会更加的稳定。软件开发是一项强调沟通和协作的活动,但是在日常的活动中,常常出现阻碍沟通的情况。日构建每一次的构建将会涉及到团队中的所有成员,因此能促进成员的沟通。

2、是否产生了新问题

Q1:对未知风险的规避能力太弱,而且不明白如何将项目的任务进程时间精准到小时,对时间的安排没有一个明确的认知和经验。
Q2:在实际画数据流图的时候,考虑的版本很多,不知道如果选择出合适的数据流图的模型。

3、掌握到了哪些以技能,是如何掌握的?

1.单元测验方法。通过博客作业的引导和学习,明白怎样通过用VS和代码去测试自己完成的代码。
2.对软件工程的生命周期,以及需求分析,结构化设计都有了一定的了解,并且实际参与了一个项目的需求分析和详细分析的过程,在实战中学习。
3.学会使用GitHub。

4、总结

这个学期,通过学习这门课程让我对软件工程是想有了一定的了解,开发软件是一个工程化的过程,并不是拿着键盘一顿操作。在完整的软件项目开发过程中,我们需要做好对我们项目的定位,分析,每个环节,每个步骤都是需要我们尽力尽心的。另外,软件项目通常是由一个团队合作完成的,所以一个团队往往是能够方便问题解决的。在团队中,需要做好团队任务的分工,每个人都有每个人的角色和任务,一个人的问题,可以在团队中一起解决。这次通过这个课程让我受益良多。

posted @ 2019-12-08 12:06  Amazing-ZYJ  阅读(728)  评论(1编辑  收藏  举报