GP工作室—团队项目总结

GP工作室-团队项目总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/
这个作业要求在哪里 https://www.cnblogs.com/harry240/p/11524252.html
团队名称 GP工作室
团队项目 黄金点游戏
这次作业的目标 对本次团队项目做一个总结
团队博客链接 https://home.cnblogs.com/u/gy722/
Github地址 https://github.com/LuckyMickey/GPsoftware

团队成员信息

姓名 学号 性别
顾毓 (组长) 201731024212
王静宜 201731024204
罗涵 201731024111
李清兰 201731024109
黄本巍 201731024225
陈杰 201731024238
许佳文 201731024214
吴郑浩 201731024234

各成员总结

1. 顾毓 201731024212

1.1博客链接:

个人博客地址:https://www.cnblogs.com/gy722/
第一次作业博客地址:https://www.cnblogs.com/gy722/p/11515303.html

1.2总结

问题1:中国式的小作坊如何成为行业的领头羊?

我阅读了课本第16章IT行业的创新,首先我了解到小作坊的意思是:从事手工制造加工的工场。手工作坊主拥有私有的生产资料,分散经营,以本人的手工劳动为主要的生活来源,一般不雇佣工人,只有做辅助性工作的帮工和学徒。帮工、学徒没有工资,仅有维持生计的微薄报酬,因此,作坊主与帮工、学徒之间不存在资本主义性质的雇佣关系。
好的作坊应当提高核心特性才能占据市部分独立市场,并且通过创新的催化作用,甚至能够在这方面独领市场。比如:从小事做起,重质量,讲信用,对产品负责,对工作自豪。

问题2:创业--你认为应该坚持目前的方向,还是尝试更多新的想法?

行业的创新对创业发展的重要性。创业,需要天时地利人和,把握时机非常重要,我们在一条路子上走不通的时候,不妨换个想法,去尝试一下,当然应当注意规避风险性。胆量与坚持都是创业必不可少的因素,开始是成功的一半,尝试更多的想法,也更有利于找到最好的方向。

问题3:软件工程的技术如何帮助创新?

软件工程的方法(开发方法)、工具(支持方法的工具)、过程(管理过程)称为软件工程的三要素 。IBM 提出了软件开发思想的4项要点——迭代开发、以系统架构为中心、持续的质量保证以及管理变更和资产。 迭代开发,以时间换空间,消除市场风险。 敏捷开发或轻量级过程,以不变应万变。 永远的Beta,不断推陈出新,永无止境。 持续集成、持续构建、全程测试。 知识管理,将软件工程纳入知识管理的范畴。
软件的变更比较频繁,自然对其管理的高要求,进一步促进迭代开发的合理性。 客户和业务用户始终希望软件能够按时交付高质量的产品,又认可软件的灵活性,希望软件能够具有随需应变的能力,及时进行必要的修改来满足业务的新需求。同时,软件又是一种知识型产品,需要创造性,并依赖每个开发人员的创造力和积极性。所有这些引导人们新的思考,引导人们不断认识软件工程而建立独特的软件工程思想。软件工程可以向传统工业工程学习,吸收传统工业工程上百年实践积累下来的经验、沉淀下来的思想。 以顾客为中心的全面质量管理。 过程决定结果。 有效的持续改进过程。 预防为主,检验为辅。 验证和确认缺一不可,质量保证和测试融为一体。 以架构设计为中心,体现设计为重的思想。 生产标准化、产品标准化和技能标准化。 软件工厂思想造就了组件、构件技术,包括自动化测试。 围绕项目管理开展工作,包括风险预防、里程碑控制和关键路径法等。

学到的新技能
1.学会了怎么使用博客,这个平台有很多的技术操作指导的博文,这给我提供了一个很好的获取有用信息的平台。
2.学会了使用Github上传数据。
3.学习了软件开发的技能,增强了我对C#,数据库的运用的能力。
4.知道自己接触过一些软件工程相关的概念,起码看到相关的概念有点印象。
5.认真去学习自己如何才能在项目开发当中好好发挥自己的作用,如何才能在项目开发当中快速的成长。
6.熟悉项目开发的流程,以及每一个流程的详细操作。

新问题:
(1)、团队协作开发究竟是,如何进行的?
.团队分工,充分发挥每位成员的主观能动性、积极性和兴趣
.把团队项目进行细化,按照先后主次分批次,批量完成工作。比如这次黄金点游戏的开发的工作就是按分工步骤依次进行的(确定项目主题、市场调研、需求分析、概要设计、系统设计、详细设计、代码开发与测试、用户推广与反馈、完善软件功能和解决BUG等等)
.遇到苦难,团队一定要开会讨论,共同寻找解决方案,不能出现八个人的工作丢给一个人做的情况,否则团队凝聚力和工作效率就会下降

(2)、不同的成员写的项目代码是,如何提交到同一个项目中去的?
前期组内开发阶段,为了交流方便,我们是统一将各自的代码和文档进行打包上传到群文件;后期提交完整开发资料时,通过Github上传各自的文件,在该平台上进行信息整合。

(3)、一个完整的项目开发究竟经历怎样的过程?
项目开发过程

心得体会:学习软件工程能够加强人的整体思维能力,对人的综合素质有所提高,培养良好的分析规划和团队意识。学习了软件工程,我们可以在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
这门课的实践环节令我印象深刻,担任团队的组长,方方面面的事情都要认真负责的做好。同组员从确定小组名称——GP工作室,决定团队开发项目——黄金点游戏,到游戏软件成功运行,在答辩环节给大家呈现出来,我们这个项目的特色以及我们所做的努力,怎样一步一步的去实现功能,完善界面,解决BUG等等。在这个过程中,我的收获很多。在最后一次答辩环节,老师给我们的建议中提到:其实这个项目你们开发出来就比上一届进步了。你们把软件做出来,能够实现游戏的功能已经很不错了。但是在你们的软件中,如何运用更好的模式做得还不够好,其实,网上有很多黄金点游戏的代码设计,你们可以先去看别人怎么做,再把基本的东西转化自己的,在这之上,去增加自己的特色,这样你们会做的更好。我听了老师的话,顿时,有很多感悟,其实我们在这次项目中一直逼着自己去创造,增强自己的动手能力,但是在工作效率不高的时候,我们没有及时的转换思维,通过各种途径获取有用的参照和指导,导致工作随时陷入僵局。我们以后会增强这方面的能力,在互联网时代,我认为如何获取珍贵有用的信息的能力是必不可少的。

2. 王静宜 201731024204

2.1博客链接:

个人博客地址:https://www.cnblogs.com/shishan9527/
第一次作业博客地址:https://www.cnblogs.com/shishan9527/p/11509550.html

2.2总结

1.(第5章)讲了团队的重要性以及团队的流程,但是如何组建一个好的团队如何分工呢?
在通过半个学期的团队作业以后,我深刻的体会到了团队的重要性,一个好的团队就应该有好的分工,应该根据每个人擅长的不同的领域来分工,达到最大限度的利用每个人的特长。
2.(第8章)我们在为一个公司做需求分析的时候,是分析这个公司老板的需求,还是分析这个软件所面向的用户的需求
需求分析是一个软件开发的重要环节,需求分析决定了软件是否能够满足用户的需求。我们应当分析用户的需求,通过发布测试来不断的通过用户的反馈来完善我们的项目

3.(第8章)在做需求分析的问卷调查环节,如何让用户能够积极的参加,如何找到相应的用户群体?
通过制作问卷调查,测试邀请等等活动,来邀请用户参加项目的测试,最后把所有的意见都统计起来。
4.(第16章)如何把界面做的更加的美观
软件界面是软件的标志,界面的美观与否决定了这个项目被人接受的程度,一个美观的界面也可以增加软件在同行中的竞争力,想要界面更加的美观,就得设计相应的LOGO找准项目的定位,找准受众人群,再去统一整体的风格,不断的优化,从字体,颜色等方面使得界面更加美观。在本次项目中,第一次我们的项目被指出界面不美观,于是我们通过讨论,我们组决定让我们的界面整体呈蓝色风格,使字体更优美
5.如果我想组建一个软件工程团队,应该如何创业
工欲善其事必先利其器,当我们有一个足够好的项目以后就可以去创业了。一个好的项目需要不断的改进,更新,需要一个好的团队,才能创造出好的项目。我们GP工作室就是在不断的磨合,不断的改进中不断的成长的。

新的问题
1.如何使我们的项目可以成为微信上快速使用的小程序?
2.如何将游戏做成线上游戏?
掌握的技能
1.熟练的建立数据库
通过小组成员的教授,我学会并熟练的使用数据库
2.对c#的了解更加深刻
以前对c#只是略知一二,在这次团队项目的跟进中,我对c#的使用更加的熟悉了。
深刻的体会
做一个项目并不是一件简单的事,不是简单的1+1,而是不断的积累,深化,创新,改进才能完成,尽管到最后我们的项目与市场上在运营的项目还有很大的差距,但是这也是我们自己所完成的可以正常运行的软件,在完成项目后非常有成就感,在项目制作的过程中,我们也遇到了很多的问题,这些问题都通过我们不断的查询资料,学习之后被我们解决了。我们组的男生在技术方面出了很大的力,同时也教会我很多编程方面的知识,让我对做项目有了更详细的了解。

3.罗涵 201731024111

3.1博客链接:

个人博客地址: https://www.cnblogs.com/Tayvay/
第一次作业博客地址: https://www.cnblogs.com/Tayvay/p/11506959.html

3.2总结

1.【第二章,2.1.2好的单元测试的标准】其中提到了单元测试必须由最熟悉代码的人(程序的作者)来写,难道就不能有其他人的协助了吗?
单元测试是在最低的功能或是参数上验证程序的正确性,在一般情况下,单元测试必须由最熟悉程序代码的人来编写,每一个单元测试过后,都不受上一个的影响

2.【第十四章,14.1.2软件质量得开发】其中提到了软件的开发过程有三个主要的特性:“好”、“快”、“便宜”,我们应该怎么平衡这三者的关系?
软件的开发过程有三个重要的特性:“好”,“快”,“便宜”。通俗的理解是“软件在功能,成本,时间三个方面满足利益相关者的需求”
除去与具体程序相关的功能方面,软件工程质量就体现在以下方面:软件开发过程的可见性、
软件开发过程的风险控制、软件内部模块,项目中间阶段的交付质量,项目管理工具的因素、
软件开发成本的控制、内部质量指标的完成情况

3.【第十七章,17.6绩效管理】提到了关于团队任务结束之后进行绩效管理的问题,就像书中问的那样软件团队如何做人员的绩效管理?
有时候团队人员做的事情是相互依赖的,有些事情并不是一个人独立做完的,那么我们就不能够从功能的用户喜爱程度或功能的好坏来评价。而且如果是根据工作量来进行绩效管理的话,我们该怎么样来确定每人的工作量呢?如果是根据每人完成的任务数来确定,但是那样又会出现每人完成的任务困难度不一样,按任务数来确定又不太公平。那么我们应该怎么来给每人确定他们的绩效呢?

4.【第九章,9.4领导力--高效的的团队讨论】带领其他成员确保项目保持功能/时间/资源的合理平衡,跟踪项目进展,确保团队发布令客户满意的软件。我有了这个问题——PM需要带领其他成员确保项目保持功能/时间/资源的合理平衡,但是PM应该从什么角度上确保PM决定的是对的呢?
“根据产品开发项目的特点,通过人力资源价格计算产品开发项目成本,采用质量功能展开技术对项目质量进行量化计算。”来进行计算项目的平衡吗?还是根据PM自己的感觉走就好了?
5.【第十六章,16.1创新的迷思】讲了这么多创业的内容,我们大学生应该如何创业?
首先国家是鼓励支持高校毕业生生自主创业,所以创业国家是有补助的。如果有明确的目标,可参加各个高校的创业指导,可到当地人力资源社会保障部门咨询了解职业培训开展情况,选择适宜的培训项目参加。
总结: 个人的力量永远比不上团队整体团结协作的力量,一个团队的成功不可能是一蹴而就,期间过程都需要团队成员之间不断的磨合、讨论以及相互理解,就像我们的这个团队,虽然只有8个人,但力量却是无穷的,每个人的能力不同,擅长的领域不同,因此分配工作的重点也会因此而不同,本次的课程让我学到了一些我之前不了解的东西,知道软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护的过程,老师教会我们如何去分析和处理问题,教会我们编写项目软件的流程和注意事项,这次的软件工程团队项目,分工十分明确,有分工的职责也很细,我跟着整组人完整地经历了一遍软件开发的流程。之前的一些课程虽然也有涉及,但总的来说没有这么完整,时间跨度上也没有这么长。在这次课中,我还学到了其他一些书本上没有的东西。

4. 李清兰 201731024109

4.1博客链接

个人博客地址:https://www.cnblogs.com/mimidoytoy/
第一次作业博客地址:https://www.cnblogs.com/mimidoytoy/p/11508492.html

4.2总结

问1:课程中谈到两人合作要经历那些阶段和技巧,我还是不懂两个人持不同观点,应该怎么做到两个人都满意,怎样才能正确的给予伙伴回应和反馈,使得对方更理解和容易接受?
答:学会站在对方的角度看问题,不要固执己见,双方都要站在为团队好的角度积极讨论问题,耐心解决问题。

问2:怎么区分非团队和团队?非团队可以通过沟通交流变成团队吗?怎么正确定义团队?建立团队需要哪些条件?模式的不同会使得团队有什么区别?
答:团队还是需要团队成员分工合作、有一定的凝聚力,还需要提出不同的观点;可以;建立团队需要一些有共同理想的队员;好的团队的工作效率会比不好的团队好很多。

问3:通过什么渠道了解到“用户最需要的东西?用户最需要的是什么?”需要我们怎么表达出来并告诉用户?各种调研方法的优劣?
答:通过线上线下的问卷调查,研究用户的需求,将我们的东西交给用户使用之后,做用户反馈,再进行修改。

问4:怎么具有高效的团队讨论?需要带着感情去讨论问题吗?在分析问题的时候要提不同意见吗?直觉和详细分析的矛盾?主观重要还是客观更加重要?
答:有一个有领导能力的团队领导者,需要站在理性和感性两个角度看待问题;需要提出不同的意见,才能使团队进步;我觉得客观还是更加重要。

问5:怎样是团队的产品在众多竞争对手中脱颖而出?应该用什么样的战略原则来指导我们做决定?我们怎么能进一步放大产品差异性,让用户觉得我们领先与其他产品?
答:我们要比竞争对手更加了解用户的需求,拥有服务的理念,才能获得用户的喜欢。

新问题:编程到底要咋个学呀?
经过这一学期的学习,我掌握了怎么团队协作完成一个软件的设计。

总结:在学习软件工程过程中,或许有诸多不解,我们要从整体概念上较好地理解和把握、学好软件工程,学习时要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展,多思多想,把从各个科目学到的知识通汇贯通。
而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。在此我对曾老师的辛勤教育表示感谢,因为是您让我学习到了这些,使我获益良多。《软件工程》课程强调概念和知识的理解和掌握,侧重软件项目的分析、设计、实现和维护的基本技能。比较注意“点”和“面”的结合。是一门理论性较强的学科。对于理论性太强的学科,把握起来真的很困难。

5. 黄本巍 201731024225

5.1博客链接:

个人博客地址:https://www.cnblogs.com/bookway/
第一次作业博客地址:https://www.cnblogs.com/bookway/p/11505587.html

5.2总结

一、解决的问题:
问题一:3.1个人能力的衡量与发展中如果自己遇到了一个大的项目但面对自己的能力不足 ,我们是先果断的拒绝还是勇于挑战自己努力去完成?
答:我选择勇于挑战。通过这次课学习知道了很多事需要自己尝试才知道能不能做的出来。就像做黄金点程序一样,一开始觉得无从下手,但是通过团队的努力还是做出来了。

问题二:第四章讲到了两人合作,如果有的人想法固执,是不是我们可以进行尝试性的屈服让事实证明一下结果,不必进行解体?
答:是的,团队中有些人必须经过尝试得到结果后才会屈服。

问题三:在团队中有可能会有这样的情况:“为什么他的任务比我的少?”,那么团队中这样的分配如何找到一个平衡点?
答:根据每个人的能力分工是比较好的办法。毕竟每个人擅长的领域不同,有的人擅长编程、有的人擅长office、有的人擅长规划领导。每个人将自己的长处发挥出来就能最高效率的解决问题。

问题四:需求分析是一个项目的开端,对于我们现在接触的项目大部分需求都是老师给我们的任务,那么我们是不是同样需要进行需求的分析?
答:需要进行需求分析。我们做项目的时候也是一开始盲目开始编程写代码,最后发现编出来的软件和用户需求相差很大。特别是人性化上存在缺陷,所以项目开始前必须进行需求分析。

二、提出新问题:
1.在软件开发过程中,如果用户需求远大于我们的技术开发能力,我们应该怎么平衡?
2.如何避免团队中出现一些很“水”的人?

三、掌握的技能:
1学习了如何使用C#开发出了一个初步完整的软件。通过互联网,查阅书籍学到的。
2学习了开发一个软件所必需的经历的步骤,而不能盲目的编程
3学习了如何和团队中的成员相分工合作
4学习了如何制作gif

四、体会和总结
通过软件工程这门课程的学习,我深刻明白了没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的。其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码。总之 ,我学到的知识还皮毛,我的编程能力还很薄弱,今后还要好好努力学。

6. 陈杰 201731024238

6.1博客链接:

个人博客地址:https://www.cnblogs.com/Chenjor/
第一次作业博客地址:https://www.cnblogs.com/Chenjor/p/11505631.html

6.2总结

问题及解答:
一、第四章第六节两人合作的阶段和技巧,上面都是讲解的都是在两人合作中会发生的情况与情况,但是要怎样才能找到适合自己的队友呢?
---我认为找到这个适合的队友比较重要,在遇到问题能共同面对,不推脱,互帮互助更加重要。

二、第五章一开始就说团队,但是团队的组成却没有说,如何找到适合自己的团队?
---我认为要正确定位自己的擅长方面,找到需要自己的能力,针对自己的特长与兴趣选择团队与成员并选择自己的分工部分。

三、在第16章中,我们谈到了创新,谈到了创新的迷思,时机和招数等。列举了一些产品的创新,比如对于一个魔方的销售,针对不同的用户使用了一些不一样的商业模式。我还是不太了解在软件工程领域中创新是什么样子的呢? 新的设计模式属于软件工程领域的创新么? 他是否像其他自然学科那样存在某些规律等待着我们去发现呢?
--创新很重要,创新无处不在,在满足客户的需求过程就是创新,在改善软件过程就是创新。

四、在第9章中,提到了这样一句“没有风险,就是最大的风险。” 这句话该如何理解呢?而在本段之前刚刚对于风险管理水平进行了分层,那这句话是否是可以理解为:风险会从多方向来袭,企图缩短软件的生命周期,而所谓“没有风险”只是没有预见风险,并且没有对其未来的风险情况进行评估呢?
--风险无处不在,我们只能尽量减少。

五、在第五章中团队中的软件开发人员是否比团队的其他人员更需要统筹大体,担当起管理人员的身份?
--开发人员需要多方兼顾,但又责任重大,精力有限还是不宜担当管理。

六、第九章中说PM只能有一个人吗?如果多人会有什么影响。
--PM一人足够,多人容易产生分歧,造成意见不统一。

新问题:
团队分工需要各司其责,但是有时自己解决不了,不应该一起做吗?
数据库与接口的编码如何进行?

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

总结与体会

1.学习收获:软件工程与其说是一门课程,不如说是一门思想,是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。这学期通过对软件工程这门课的学习,使我获益良多,当然收益来源于学习的各个方面,通过这门课让我更深的了解到一个软件并不只是编写程序这么简单,编写程序只不过是开发软件的一个部分而已,以前一直误认为只要学会编写程序代码就行了,这门课算是给思想上一次进化,因为软件开发的前期工作是相当复杂而重要的,要了解客户的需求,了解开发的这个软件到底是干什么用的,否则开发出来的软件将不能满足客户的需求,也是徒劳;开发软件还要进行可行性研究,还要分析它的成本效益,最后还要进行一个总体上的设计,所以在编写程序代码前有大量的工作要做,并不是我们想象的那么简单。当然这学期一开始老师就让我们都开通了博客,学期间也相应的布置了一些作业,也着实锻炼了我们的编程和实际操作能力,在自己不断探索和思考下解决一个个问题所得的收获还是很多的。总之,这学期通过对软件工程这门课的学习让自己不管是思想上还是动手能力上都有了一个很大的提升,这门课的学习是很有意义的。

2.不足之处:在这门课学习之前我不知道这门课老师的授课方式和教学方法会是怎样,直至一段时间后才有了一个比较清晰的了解,上课时通过老师的讲解和课下通过博客完成作业的方式完成这门课,当然通过博客完成作业的形式我感觉很好,因为这样可以锻炼每一个人的动手能力和自我思考解决问题的能力,这种写作业的方式我是第一次经历,不过我也是很乐意这样去完成作业,通过老师和助教的点评和指点对作业进行改进,自己从每一次作业中学到的东西时很多的。通过一个学期对这门课的学习,如果要说有什么不足之处的话,我个人感觉上课时有点枯燥,经常老师在上面讲解的时候会走神,因为长时间的叙述讲解很难让学生提起精神,这大概是唯一的不足之处吧。

7. 许佳文 201731024214

7.1博客链接:

博客链接: https://www.cnblogs.com/yoshifumi/
提问博客地址 https://www.cnblogs.com/yoshifumi/p/11502653.html

7.2总结

在第一次作业中我对这个课程提出了一些问题,其中 “技术创新才是关键吗?”这个问题我印象很深刻,如今我们社会中的每一个环节的背后都有一个或多个技术作为支撑所以很多人认为是技术的创新才造就了我们的世界,但是大家忽略了一个问题,技术是建立在理论只是,而理论的原型则是想法。
最后一次答辩过程中, 在听过肖老师的建议过后,我明白了根据我们本身的水平在软件工程当中很多代码,模块都是参考了许多资料和其programer的代码,然后在此基础之上添加自己的元素,或者通过自己的想法进行重新组合,以完成自己的工程。关键时刻,一个好的想法远比一个难以实现的技术来的有效。通过自己的想法将已有的技术进行运用,从其他角度将该难以实现的技术实现难以实现的技术。想出一个好想法,这也是一种创新。
学习了这门课程之后,我发现无论是在上课,还是在学校里面做学生工作,技术性的工作就好比变魔术。其实原理是非常简单的,甚至可以说简单的可笑,但是当你就是做出这么一个简单的东西出来之后,一些外行们有时候会用崇拜的眼光看着你,觉得你很厉害,很高深莫测。但是制作的过程他们却不知道,也许知道之后他们只是会哑然失笑,原来这个东西的制作过程是如此的简单,这个可以说就是技术的魅力了。就比如说软件工程中所谓的需求获取,从字面上来看好像是一件很难的事,而其实就是一个谈判,辩论,交流的过程,只不过这个交流过程可能针对性比较强。
通过这次软件工程的学习,我所负责的是软件的开发及升级完善,我认识到了自己在团队中的作用与自己的长处,也学会了如何与其他团队成员沟通协调配合,充分利用团队资源来提高自己的学识技能和工作效率。虽然团队中经常会有不同的意见,但是通过协调,总能找到一个折中或者更好的方法来解决。

8. 吴郑浩 201731024234

8.1博客链接:

个人博客链接:https://home.cnblogs.com/u/wzh990130/
第一次作业链接:https://www.cnblogs.com/wzh990130/p/11506965.html

8.2总结

回顾第一次作业提出的各项问题我在第一次作业基本已经做出了解答,当时通过翻看书本,网络查询等方式得到的答案也基本准确。现在回顾以前提出的问题基本都是常识问题,通过这大半学期的学习,我已经对《软件工程》这门课所学所做的各项事务有了大致了解,大多常识问题都已基本了解。
(1)“作坊”即从事手工业生产的场所。工具一般比较简陋。以前是个体手工业者作坊由作坊主(一般是有较高技艺的师傅)带领帮工或学徒在生产中实行简单协作。历史上有奴隶主、封建主或官府办的大作坊,生产中实行以分工为基础的协作。作坊主和徒弟也可外请某些专业人士共同完成某些产品。
(2)BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。因为现在的网络知识流行太快,每个行业都有一个自己在网络中进行交流的一块区域。网络论坛是一个和网络技术有关的网上交流场所。一般就是大家口中常提的BBS。
(3)VCD在中国的创新与衰退
从1994年在中国批量生产开始至今的近十年时间里,形成一个年销售额达人民币一百多亿元的影碟机(VCD)产业,这种发展速度在中国绝无仅有,在世界工业史上也属罕见。在这个庞大的生产、消费市场的背后,我们目睹了一个产业兴衰史在中国的演绎,在中国,从来没有一个行业如此战事迭起,竞争如此激烈残酷,一轮又一轮的广告战、价格战频频爆发,幸存下来的已寥寥无几,淘汰出局的却在多数——最终沦为一个个失败的缩影。当VCD产业渐渐淡出影碟机历史舞台时,我们回头纵览VCD从兴起到陨落的过程之中发现,创业初期的盲动、没有核心技术、没有创新意识,开发过热而没有政策限制等都是导致VCD产业覆灭的“元凶”。
《软件工程》课程强调概念和知识的理解和掌握,侧重软件项目的分析、设计、实现和维护的基本技能。同时,我也学到了很多新的,以前未涉及的知识,以及学会或深入了了不少工具的使用,如强化了VS的使用、学会了链接文件到个人GitHub上。
通过第三次作业我清楚了什么是结对编程,如何进行结对编程,以及结对编程的优点:结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。
通过团队开发我也学到了很多:开发软件系统最为困难的部分就是要准确说明开发什么。最为困难的概念性工作便是要编写出详细的技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。如果做错,这将是会最终给系统带来极大损害的一部分,并且以后再对它进行修改也极为困难。所以把控好各类需求是开发一款软件的基础。通过测试不仅仅是找出了错误。通过分析错误产生的原因和错误的发生趋势也帮助我们发现当前软件开发过程中的缺陷,以便及时改进。
总的来说进行了这次软工实践课程,我收获颇丰,感谢老师的栽培。

posted @ 2019-12-03 21:55  顾小排  阅读(499)  评论(1编辑  收藏  举报