团队作业——总结
一、
这个作业属于哪个课程 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ |
这个作业要求在哪里 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3379 |
团队名称 |
西柚皇家编程团队 |
这个作业的目标 |
将这学期的学习做一次总结 |
二、团队成员列表
队员 | 学号 |
徐异潇(组长) | 201731062102 |
王力 | 201731062318 |
何星桦 |
201731062103
|
谭春艳 |
201731062105
|
王伟 | 201731011330 |
唐若宸 | 201731054416 |
黄欣 | 201731062104 |
张文豪 | 201731062119 |
三、小组成员的总结
1、徐异潇 201731062102
(1)博客链接:
https://www.cnblogs.com/TakeRabbit/
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
问题一:我反对作者的观点,(关于第二章单元测试)
单元测试必须由最熟悉代码的人(程序的作者)来写。
我的观点:
会不会由另一个人写出的单元测试更好呢?
理由:
我认为在编写单元测试时,由于自己写程序的惯性思维,作者往往只能考虑到自己在写程序时考虑到的和遇到的问题,而往往会忽略掉某些问题。如果由另一个人来写单元测试,会不会发现作者忽略掉的问题呢?我认为有可能效果反而会更好。
问题二:我看了这一段文字,(关于第三章软件工程师的成长)
在中国,软件工程师的考试有:计算机等级考试和全国计算机技术与软件专业技术资格考试
有这个问题:
对于一个软件工程师,他的能力应该如何量化地评定?这些考级能够真正的评定软件工程师的能力吗?
我的思考:
这样的“软件工程师职业资格考试”也许能相对公平的评定出一个软件工程师的专业知识,但是我认为这无法全面的评定软件工程师的专业技能,以及在实际的软件开发中他是否能很好地完成工作。像书中所说,此类考级确实有一定的权威性和通用性,并且任何人都能参与,但是,对于团队合作能力、沟通能力等等,不能进行很好的考察。
问题三:我看了这一段文字,(关于第四章结对编程)
1.驾驶员:写设计文档,进行编码和单元测试等XP开发流程。
2.领航员:审阅驾驶员的文档;监督驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。领航员也可以设计TDD中的测试用例。
有这个问题:
结对编程究竟是如何运作的,如果是如举例的驾驶员与领航员之间的搭档关系,那么在编程中一个做设计与开发工作,而另一个则负责监督与部分测试,这样本来一个人就可以完成的工作,是否是一种人力资源的浪费呢?
我查了资料,有这些说法:
(1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力。
(2)对开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高的满足感。
(3)在心理上, 当有另一个人在你身边和你紧密配合, 做同样一件事情的时候, 你不好意思开小差, 也不好意思糊弄。
(4)在企业管理层次上,结对能更有效地交流,相互学习和传递经验,能更好地处理人员流动。因为一个人的知识已经被其他人共享。
根据我的实践,我得到这些经验:
结对编程确实能够更有效地解决问题,工作的效率也会得到提高,并且易于交流。
但是我还是不太懂,我的困惑是:
在实际的开发中,结对编程真的是有效率的方法吗?它比普通的两人团队效率会更好吗?如果两人同时撰写再审查,是否会比结对编程效率高?
问题四:我看了这一段文字,(关于第十六章IT行业的创新)
原始布局设计的优点反而成了缺点。但是,长期以来,人们已经习惯了QWERTY键盘,所谓先入为主。
有这个问题:
真正好的想法不会赢吗?
我的思考:
我认为优化布局之所以没能撼动原始布局,是因为没有做到“足够好”。倘若优化布局较原始布局会给用户带来非常大的便利,那么我相信在经过坚持的推广之后,人们会渐渐尝到打字效率提高的甜头,会很乐意摒弃之前的习惯,很快原始布局键盘会被淘汰。所以我认为好的想法只要足够优秀成熟就会赢。
问题五:我看了这一段文字,(关于第十六章IT行业的创新)
70%的创新者说,他们最成功的的创新,是在他们的那首领域之外发现的。
有这个问题:
为什么领域的专家有时候没有领域外的创新者那么有新意?
-
链接到以前提问题的博客
https://www.cnblogs.com/TakeRabbit/p/10552566.html
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
1、通过切身的实践,我体会到了代码的作者最了解代码的目的、特点和实现的局限性。所以,写单元测试没有比作者更适合的人选了。
2、虽然这些考试这无法全面的评定软件工程师的专业技能,但却是能够相对公平的评定软件工程师的专业技能掌握情况以及学习能力的一种方式了。
3、经过实践表明,结对编程不但是一种敏捷方法,也是提高软件研发效率和保障软件质量的方法,不但没有浪费宝贵的研发人员的时间和人力,而且综合来讲确是,是合理利用研发人员技能的方法。
4、和之前的看法一样。
5、我认为其中的原因可能是当一个人成为了某领域的专家,那么他应该会沿着这个领域继续去更深层次地钻研,很多思维已经被这个领域所固化了,无法突破这个局限,很难再创造出这个领域里“创新”的东西了。
-
是否产生了新的问题?请提出。
没有
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
学会了使用Visio等技能,还学会了一些测试方法,以及做出一个软件项目完整的过程,这些主要是在实践中学习到的。
-
有什么深刻的体会,对自己一学期学习过程的总结。
在这次软件工程课程中,我学到了很多东西,第一次深刻的体会到了什么叫做用工程化的思想来编写软件。从这里,我才真正的意识到实施一一个软件工程并不是说简单的会编码就能够解决问题的,还有许多前期的需求分析、详细设计等等。
2、王力 201731062318
(1)博客链接:
https://www.cnblogs.com/wang20173/p/10555176.html
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
问题一:6.1敏捷流程的原则
什么时候合适选择敏捷流程,对于开发项目有什么界定来选择敏捷流程?
问题二:4.3.2goto
函数最好有单一的出口,为了达到这一目的,可以使用goto。只要有助于程序逻辑的清晰体现,什么方法都可以使用,包括goto。
疑惑:大一的时候,老师告诉过我们写程序尽可能不要使用goto语句,这里我更加困惑,goto什么时候才可以使用,有什么优缺点?
问题三:1.5.4如何结对编程
疑惑:作者提到了如何结对编程和两人合作的技巧,在真正开发软件的过程中,这种结对编程的意义是什么,有多大,从经济角度来看是否合算,在现在的企业中这种开发方式占比多少。
问题四:11.25.2每日构建
在我们的全球调研中,我们发现成功公司中有94%每天或者至少每周完成构建,而不成功公司绝大多数每月甚至更少去做构建......当有一个能运行的系统时,即使是一个简单的系统,(团队的)积极性也会上升。
疑惑:这种情况和软件过程模型的原型模型有什么区别,会不会与瀑布模型相矛盾,尤其是开发大型软件,这种情况还可以适用?
问题五:13.2.5软件测试的回归测试
疑惑:对于回归测试,感到非常抽象,其中什么是基准线?
-
链接到以前提问题的博客
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
1:小团队,快速反映,以个人能力为中心,用敏捷。 自上而下,建立组织级管理及运行制度,如身之使臂,臂之使指。
2:goto优点,能从多层循环直接跳出来。缺点,跳来跳去容易出问题。可读性差。
3:互相鼓励,不容易沮丧督,不容易偷懒互相学习编程技巧。可以培养和训练新人。多双眼睛,少点 bug。缺点是与合不来的人一起编程容易发生争执,不利于团队和谐。经验丰富的老手可能会对新手产生不满的情绪。一山不容二虎,开发者之间可能就某一问题发生分歧,产生矛盾,造成不必要的内耗。开发人员可能会在工作时交谈一些与工作无关的事,分散注意力,造成效率低下。
4:软件过程模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范形。原型模型又叫快速原型模型,它指的是在执行实际软件的开发之前,应当建立系统的一个工作原型
5:测试用例的维护是一个不间断的过程,通常可以将软件开发的基线作为基准
-
是否产生了新的问题?请提出。
无
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
我在本学期的项目中,学会了软件需求分析,软件定义,软件模型建立,并且代码实现,测试,修改,部署,每一步都受益匪浅,从小白渐渐人,为以后的职业生涯打下了基础。
-
有什么深刻的体会,对自己一学期学习过程的总结。
总结:经过一学期的学习,我明白了什么是软件工程,软件开发不仅仅是写代码,而是一个工程项目,一个集体的协作结果。
3、 何星桦 201731062103
(1)博客链接:
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
【1】见书p341-344,作者提出了创新在诸多方面不被认可,他举得例子电报与电话让我十分认同他的观点。于是我在想,对于我们来说,是不是创新没那么重要?是不是可以不用创新了?因为创新很难,自己的创新也不一定是对的,自己的创新还在研发阶段就已经有了类似的产品……这些问题太多了,所以对于我们学生,是不是可以不考虑创新方面的问题?在学习中是不是可以不用锻炼自己的创新思维呢?
创新是推动时代发展的必要产物,任何时候都需要创新。比如电报与电话,现如今的电话已经非常先进,但是还是有很大的创新空间,比如以后会有的全息投影技术,到时候手机很可能不是拿在手上的,而是另一种形式了,更简单,更方便携带,说不定还不惧怕丢失。在学习中锻炼自己的创新思维同样也有助于我们自己的思维发展的,这些思维在我们以后的工作中,会起到或多或少的作用。
【2-计算机专业与软件工程专业】见书p12-13,书中作者说计算机专业与软件工程专业是不同的两个专业,但是根据实际情况(比如我们学校就业的学长学姐们),发现在国内,计算机专业的学生毕业后依旧是从事软件类似的工作。那是不是意味着中国这方面还没有一个确切的界限,那么在以后发展起来、界限分明的市场中还会需要计算机专业的人才吗? 当前的国内市场的确没有很清晰的确定计算机科学与技术专业与软件工程专业的界限,但计算机专业的人才依旧重要,市场上肯定是需要这方面人才的。
【3-内测/外测问题】见书p285,原书中,作者说,“在开发软件的过程中,开发团队希望让用户直接接触到最新版本,以便收集反馈”。存在一个问题,万一有其它团队的人混入了参与测试的用户中,窃取或者说借鉴了软件内容,造成机密外泄怎么办呢?会有应对措施吗? 就算是敌方窃取创意,但完成一个软件是一个长期的过程,后做的肯定没有先做的完成得快,另外,还有法律这种东西,可以通过正当的途径起诉他们。
-
链接到以前提问题的博客
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
1、创新是推动时代发展的必要产物,任何时候都需要创新。比如电报与电话,现如今的电话已经非常先进,但是还是有很大的创新空间,比如以后会有的全息投影技术,到时候手机很可能不是拿在手上的,而是另一种形式了,更简单,更方便携带,说不定还不惧怕丢失。在学习中锻炼自己的创新思维同样也有助于我们自己的思维发展的,这些思维在我们以后的工作中,会起到或多或少的作用。
2、当前的国内市场的确没有很清晰的确定计算机科学与技术专业与软件工程专业的界限,但计算机专业的人才依旧重要,市场上肯定是需要这方面人才的。
3、就算是敌方窃取创意,但完成一个软件是一个长期的过程,后做的肯定没有先做的完成得快,另外,还有法律这种东西,可以通过正当的途径起诉他们。
-
是否产生了新的问题?请提出。
没有
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
有,大多是自学,百度,哔哩哔哩,知乎。
-
有什么深刻的体会,对自己一学期学习过程的总结。
软件工程是一个博大精深的专业,做一个项目也不是一个人就能完成的,学习这门课程让我深刻意识到一个团队的重要性。
4、谭春艳 201731062105
(1)博客链接:
https://www.cnblogs.com/Tancy20/p/10574541.html
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
问题一:结对编程中,两人实力差距大和实力相当哪个编程效率高一点?
问题二:单元测试由结对编程的同伴来写会不会是比作者自己写更好的选择呢?
问题三:可不可以将敏捷流程理解为软件开发进程的透明化?如果是,能否通过它搭建可视化模型向客户反映当前软件开发的进程?
问题四:怎么才能把自己的创新脱颖而出?
问题五:在软件项目开发进程中,会不会因为某种原因来不断改变模型或者模型同时使用?
-
链接到以前提问题的博客
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
问题一:结对编程中,两人实力差距大和实力相当哪个编程效率高一点?
答:在网上看了前辈们的经验,结对编程中,程序各方面的质量取决于一对程序员中各方面水平较高的那一位。主要体现在,程序错误会相对较少,程序的初始质量也会高很多,就可以为之后的修改、测试省下很多时间。
问题二:单元测试由结对编程的同伴来写会不会是比作者自己写更好的选择呢?
答:查阅书籍,作者的观点是,代码的作者是最了解代码的目的、特点和实现的局限性。尽管代码作者有只验证正确测试的思维局限,相比之下,单元测试不能花费太多的时间,在国内,结对编程并不是非常普及。所以代码作者本人做单元测试会比较好,保证效率。
问题三:可不可以将敏捷流程理解为软件开发进程的透明化?如果是,能否通过它搭建可视化模型向客户反映当前软件开发的进程?
答:敏捷流程有一条原则是:尽早并持续地交付有价值的软件以满足顾客的需求。所以从某种意义上说,它并不能完全反映软件开发进程。它更多是,象征着一个开发团队必须学习的精神。对于客户来说,呈现的是软件实现了哪些功能,有一点反映进程的吧。
问题四:怎么才能把自己的创新脱颖而出?
答:多多思考现实问题。
问题五:在软件项目开发进程中,会不会因为某种原因来不断改变模型或者模型同时使用?
答:在学完软件工程这门课后,尤其是伴随着软件项目的开发,根据自我体会,不论使用哪种软件模型,最终目的都是尽量以最高效率去完成软件项目开发,所以不会局限模型的选择。模型同时使用的情况应该少之又少吧。
-
是否产生了新的问题?请提出。
没有
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
打开了一些思维。在项目答辩的时候,陈老师曾问道“为什么这个餐饮系统只针对中小型餐馆?有没有调查小餐馆和大餐馆的区别?”这个问题当时把我们难住了,确实没有考虑到这些问题。但是仔细思考了之后,我们项目的需求是,哪些就餐高峰期,人手不够的餐厅,为了降低餐饮老板的成本。用于大餐馆就不合适了,大餐馆尽管也会考虑餐饮是否好吃的问题,但是它优于小餐馆的地方是服务以及环境。所以这个餐饮系统就没太多的使用的必要。合作能力以及与人沟通能力有所提升。意识到责任的重要性。
-
有什么深刻的体会,对自己一学期学习过程的总结。
这一学期,在软件工程原理及方法这门课上花费的时间与精力是最多的。每一次课程作业、答辩都让我学习到不少。软件工程这门课概念性的东西很多,只是上课的话,就很无聊、空洞。但是伴随着课程作业,经历一个软件项目开发的过程后,实际操作了,感触更深。这门课程是我对软件工程这个专业有了更多的认知,以前觉得编写代码是专业的核心,但是参与了一个软件开发,要核心就太多了。就像建筑一座大楼,要考虑用途、选址、地基、建筑材料等方面。软件开发也是,可行性研究,需求分析,设计,编码,测试,都是不可或缺的步骤。可以说,这个学期学到的东西更有深度,个人能力也提升得更多。
5、王伟 201731011330
(1)博客链接:
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
自己在之前对于软件工程课程的认为,以为更多的是学习使用的技术,在学习完课程后可以做出自己满意的东西。
-
链接到以前提问题的博客
https://www.cnblogs.com/swpu-ww/p/10568788.html
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
原问题:第六章提到了敏捷流程的问题,提到了“各个需求和任务之间是有种种复杂的依赖关系的, 除了优先级之外,我们还要考虑相互的依赖关系”,但是如何才能在计划中体现出依赖关系呢?
解答:首先定义好任务究竟是什么? 任务的完成到底意味着什么? 每个人的任务必须是明确定义的。 要在每一个任务中记载我们完成这个任务还需要多少时间。已经花了多少时间虽然重要, 但是不 是关键 (那是沉没成本),关键是要看我们离最后目标有多远。
有的问题在上课时经过老师的讲解基本上就懂了,但是有的没有提到,自己在网上查了一些资料,再结合自己的想法以及平时作业 ,基本上都理解了。
-
是否产生了新的问题?请提出。
没有
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
经过这学期的学习,学会了一些在软件开发过程中使用的方法,对软件开发的过程有了一个大致的了解,跟自己之前的想法做法是差异很大的。同时也学会了很多使用的技能,比如用Visio绘制活动图、用例图、程序流程图、状态图等,还学会了一些测试方法,了解到了一些测试工具的使用,这些主要是在平时的作业中积累学习到的
-
有什么深刻的体会,对自己一学期学习过程的总结。
这一学期,在软件工程原理及方法这门课上花费的时间与精力是最多的。每一次课程作业、答辩都让我学习到不少。软件工程这门课概念性的东西很多,只是上课的话,就很无聊、空洞。但是伴随着课程作业,经历一个软件项目开发的过程后,实际操作了,感触更深。这门课程是我对软件工程这个专业有了更多的认知,以前觉得编写代码是专业的核心,但是参与了一个软件开发,要核心就太多了。就像建筑一座大楼,要考虑用途、选址、地基、建筑材料等方面。软件开发也是,可行性研究,需求分析,设计,编码,测试,都是不可或缺的步骤。可以说,这个学期学到的东西更有深度,个人能力也提升得更多。
6、唐若宸 201731054416
(1)博客链接:
https://www.cnblogs.com/trcdbk/
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
问题一:《构建之法》第一章概论 p12,其中作者举例到计算机领域人工智能的一个重大挑战,计算机能否在国际象棋这个游戏中打败人类,许多研究人员从理论和“智能”的角度去着手却不能打败,但许峰雄通过“蛮力”提高计算速度的方法打败了人类。我认为“智能”应该是有自己的思维方法,我的疑问是如果单纯通过提高计算速度,就能做到打败人类,那么人工智能领域提高计算机的计算速度的方法是不是比优化算法的效率更有效率,如果只是单纯的提高计算速度,那么它还算不算“智能”。
问题二:《构建之法》第四章p78,其中提到结对编程,两个程序员使用同一个键盘,同一个屏幕一起工作。我的疑问是两人一起编程会不会浪费了资源,如果两人都可以独立完成编程,那么他们可以各自完成自己的任务,会不会效率更高,而且每个人的思维方式也不同,难免会在编程中有不同的见解。
问题三:《构建之法》第三章p49,其中提到“过早的优化是一切罪恶的根源”,但也有句老话是“防患于未然”,凡事都要提前考虑,有充分准备的人才不会被突发事件影响。那么作者所说的“过早优化”中的“过早“是什么意思,是怎样定义”过早“这个词,作为开发人员的我们应该什么时候开始优化呢?
问题四:《构建之法》第五章团队和流程p91,这一张讲到团队的重要性,并提出“非团队是乌合之众”。但是其实也有很多优秀软件是独立完成的,比如wps,据说是金山老总把自己关在酒店里两个月写了几十万行代码独立开发的,文章会不会过于贬低了非团队?那么当一个团队进行开发工作时,应该怎样团队的模式呢,怎样知道那个模式是最适合自己的呢?在选择好团队模式后,又应该怎样分配队员的工作呢?
问题五:《构建之法》第八章需求分析p153,其中提到软件产品的利益相关者有:用户,顾客,市场分析者,监管机构,系统/应用集成商,软件团队,软件工程师。那么在开发软件时,如果利益相关者们的需求发生冲突,且无法调节的话,我们应该以谁的利益为优先考虑呢?其次又是哪些呢?
-
链接到以前提问题的博客
https://www.cnblogs.com/trcdbk/p/10571078.html
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
问题一:《构建之法》第一章概论 p12,其中作者举例到计算机领域人工智能的一个重大挑战,计算机能否在国际象棋这个游戏中打败人类,许多研究人员从理论和“智能”的角度去着手却不能打败,但许峰雄通过“蛮力”提高计算速度的方法打败了人类。我认为“智能”应该是有自己的思维方法,我的疑问是如果单纯通过提高计算速度,就能做到打败人类,那么人工智能领域提高计算机的计算速度的方法是不是比优化算法的效率更有效率,如果只是单纯的提高计算速度,那么它还算不算“智能”。
答:我认为不算,我认为智能应该是有自己思想的东西,而不是单纯的通过计算获取所有答案。这是我自己所认为的。
问题二:《构建之法》第四章p78,其中提到结对编程,两个程序员使用同一个键盘,同一个屏幕一起工作。我的疑问是两人一起编程会不会浪费了资源,如果两人都可以独立完成编程,那么他们可以各自完成自己的任务,会不会效率更高,而且每个人的思维方式也不同,难免会在编程中有不同的见解。
答:要看情况,如果两人配合得好,并不会浪费,但若没找对方法,还是会浪费。这是在之前的结对变成时间中所得出的答案。
问题三:《构建之法》第三章p49,其中提到“过早的优化是一切罪恶的根源”,但也有句老话是“防患于未然”,凡事都要提前考虑,有充分准备的人才不会被突发事件影响。那么作者所说的“过早优化”中的“过早“是什么意思,是怎样定义”过早“这个词,作为开发人员的我们应该什么时候开始优化呢?
答:过早应该是指功能还为全部实现就开始优化。我们应该在基本功能完成后再开始优化。
问题四:《构建之法》第五章团队和流程p91,这一张讲到团队的重要性,并提出“非团队是乌合之众”。但是其实也有很多优秀软件是独立完成的,比如wps,据说是金山老总把自己关在酒店里两个月写了几十万行代码独立开发的,文章会不会过于贬低了非团队?那么当一个团队进行开发工作时,应该怎样团队的模式呢,怎样知道那个模式是最适合自己的呢?在选择好团队模式后,又应该怎样分配队员的工作呢?
答:时代不同,当时崇拜的是个人能力,而现在大多数软件大多数非常复杂,单靠个人是无法完成的。应该根据自己的情况来选择合适自己团队的模式。应根据各个成员最擅长的来分配任务。这是团队项目中的出的体会。
问题五:《构建之法》第八章需求分析p153,其中提到软件产品的利益相关者有:用户,顾客,市场分析者,监管机构,系统/应用集成商,软件团队,软件工程师。那么在开发软件时,如果利益相关者们的需求发生冲突,且无法调节的话,我们应该以谁的利益为优先考虑呢?其次又是哪些呢?
答:我认为应该以顾客为最优先,毕竟是他们购买的软件。顾客就是上帝,这是各个行业的准则。其次应该以用户为优先,因为他们是软件的直接使用者。
-
是否产生了新的问题?请提出。
(1)在项目进行到一般时,突然更改需求,之前设计的数据库无法继续使用怎么办?
(2)团队的分工无法落到实处,应该怎样更好的组织?
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
(1)掌握了很多团队知识和工具,例如visio 、github 和Axure rp原型工具。
(2)了解并掌握了很多测试的方法,例如黑盒测试白盒测试。
-
有什么深刻的体会,对自己一学期学习过程的总结。
体会:体会到了团队的成立与成长过程,以及软件开发的不易,并不简单就是编程。
总结:通过这学期的学习,提高了自己的团队合作技术和编程能力。
7、黄欣 201731062104
(1)博客链接:
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
问题:在开发初期,我们应该如何确定使用哪种模型进行操作呢?瀑布流程若最后发现错误,如何落实到错误结点,能否从结点处更改,只能从新开发吗?原型模型中的原型要做到哪种程度才能让用户能判断该产品是否满足要求?
问题:各种测试方法,相比较而言,哪种是最常用,最快捷的呢
问题:我们应该如何预算,如何抓住时机呢?
问题:我们能否通过改进的方法延长产品的生命周期呢?能否效仿原型模型的形式对产品不断优化
-
链接到以前提问题的博客
https://www.cnblogs.com/CHIQING123/p/10537971.html
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
2。现在我认识到对于模型的选择应当是根据组织定义的标准软件过程,参考具体工程项目的特点和资源状况裁剪来进行的,每个模型都有他的优缺点,只能根据实际情况,做出需求分析,了解每个模型的特点,再确定模型的使用 瀑布模型的开发过程是不可逆转的,瀑布模型在后面发现问题时,不能直接从结点处解决,只能沿反馈路径返回修改
3,每一种测试方法都有他存在的意义,我们常用的白盒测试方法主要测试程序的内部逻辑,黑盒测试方法主要,测试程序的结果
4,我认为预算主要是根据个人经验,以及以往事例对一个项目做出预算,并没有什么特别的文字说明
5,我认为是可以的,一个软件不断的改进是可以延长他的寿命周期的,软件再改进中不断的适应着用户的新需求,以至于延长它的寿命周期,
我主要是通过视频,以及老师提供的PPT来弄清这些问题,还有就是在团队项目合作中,自身的经验来总结出的
-
是否产生了新的问题?请提出。
没有
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
经过这一学期的学习,我学会了流程图,以及简单方便的盒图,我觉得这些工具都是非常的简洁适应,对于我们未来开发软件做需求分析的帮助非常的大。
-
有什么深刻的体会,对自己一学期学习过程的总结。
这学期的学习让我深深的体会到了团队合作的重要性,以及知识结合的重要性,这一次我们团队一起完成了项目,这个项目所涉及到的内容包括很多我们以前学过的,以及没有学过的学科的内容,让我认识到积少成多的道理,高楼大厦绝非一天建成,要想做出好的软件 缺不了广泛的学习,同时让我认识到团队协作的魅力,我们应该在团队协作中更加积极的与伙伴进行信息交流!这样才能使软件快而好的完成
8、张文豪 201731062119
(1)博客链接:
https://www.cnblogs.com/zwh29/p/10547193.html
(2)总结内容:
-
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
-
链接到以前提问题的博客
-
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
第四章所说的注释(包括源代码)应该只用ASCII字符,不要用中文或其他特殊字符,否则会极大地影响程序的可移植性。
原回答:我认为这里所强调的可移植性没有必要,代码是给机器看的,注释是给编程人员看的,应该更多的简洁明了,而中英转化差异很大,会给人们困扰。不同的编译器、语言或多或少都有区别,代码不能照抄照搬,需要修改校正,注释给人们功能上的提示。
如今感受:通过这门课程,依照代码规范并没有感受到只用ASCII字符明显的好处,一方面是该问题更多的是技术方面的要求,另一方面也可能是团队项目规模过小,知识涉及过少,用中文注释更方便一些。
-
是否产生了新的问题?请提出。
-
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
掌握visio专业工具构造工程图的技能。
掌握结伴编程交流的技巧与任务的合理分工。
通过团队项目系统的体会了软件工程开发的流程,重点适应了程序员编写文档,画流程图的技能。
-
有什么深刻的体会,对自己一学期学习过程的总结。
总结:这一学期,浑浑噩噩的学习了软件工程这门课,学习了很多软件工程过程与方法,然而,在实践应用的时候依旧迷茫,不知所措。先后学习了可行性分析,结对编程,需求分析,单元测试,软件质量,以及结构化详细设计等。内容很多,但是直到最后复习的时候才系统的看了一遍,将知识整合内化,构成体系,掌握软件工程过程的思想。
四、团队项目GitHub地址
- 地址:https://github.com/trcccc/yingkelai