这个作业属于哪个课程 |
|
这个作业要求在哪里 |
|
团队名称 |
做个一亿的小项目 |
这个作业的目标 |
让小组每个成员对自己这一学的做一个总结 |
姓名 |
学号 |
李文毅(组长) |
201731062208 |
李毅 |
201731062133 |
江镇岐 |
201731062210 |
谢仁峻 |
201731062209 |
黄杰辉 |
201731062223 |
卿梦成 |
201731062215 |
李文毅 201731062208 博客链接
1.以前提问题的博客
2.以前提的问题
3.问题解决
①需要一直测试,代码不用删。单元测试和回归测试在设计代码的时候是需要一直进行的,这样可以及时发现各个模块的问题。
②根据自己团队的特点来选择对应的模式,中途能不能改不是很清楚。
③流程是自己先选择的,我们这学期使用的瀑布流程,选择各种流程都行,只是他们有各自的优缺点而已。
④这是什么问题哈哈,但我都是用github来管理的..
⑤目前还是不知道,但肯定需要根据自己所擅长的能力来选择方向,需要什么能力就去学习对应的知识不断充实自己。
4. 是否产生了新的问题?请提出。
怎样才算一个合格的团队管理者,需要我们增加自己的哪些能力呢?
5. 经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
第一次参与团队项目,自己也亲身参与了一个软件产品从无到有的过程,所以我自己大概清楚了要做出一个产品需要做哪些工作。同时作为团队的组长,我也掌握了一些管理团队的能力,虽然自我感觉管理的很糟糕,但我还是觉得自己的管理能力是有提升的。
6. 有什么深刻的体会,对自己一学期学习过程的总结。
这学期的任务真的还是比较重的,第一次以团队的形式来做项目,对于一无所知的我们困难其实还是有许多的。但老师让我们根据瀑布模型的过程来做产品,我也真的体会到敲代码其实在整个项目中真的不是最重要的,尽管它是很重要的。但一个好的软件并不是说代码写的好就能做出来的,软件工程并不仅仅是代码,它其实包含了很多很多。自我感觉这学期其实还是学到了许多东西的,也刷新了我对软件工程的认知。
卿梦成 201731062215 博客链接
问题1. 那既然大众和创新者自己都不喜欢创新,那为什么还是会鼓励创新,甚至每年还有如此多的创新思想与创新产品的出现?
回答:大众不喜欢创新是因为创新带来了新的做法与生活的方式,创新者不喜欢创新是因为去做创新这件事情很困难,有老前辈在前面阻挡,又有新团队在后面追赶,创新的生活很累,也很心惊胆战,但是有很多创新者的出现是因为创新带来的很大的利益与不想变成别人的劳动工具,富贵险中求,所以才会有这么多的创新者,和创新产品。
问题2. 那既然很多先行者都竞争不过后来居上的后行者,是不是说明营销手段高明的重要性大大高出创新的重要性?
回答:我觉得先行者竞争不过后行者的原因有一部分是因为营销手段,但是更重要的是创新的东西,后行者能看到先行者前车之鉴,所以才有后行者的后车之师。
问题3. 如何保证单元测试能够准确无误的测试模块?
回答:单元测试不能保证测试模块的准确无误,只能尽最大可能的排除错误,通过白盒测试,可以最大的排除最大的错误。
问题4. 构建之法》中第17章,379页,“在软件团队的语境中,领导力有几个要素:设定目标,知人善用,带领团队成长,绩效管理。”如何才能清楚自己是否有这些要素,如果没有,如何锻炼才能获得这些能力呢?
回答:从社交方面、人际关系的交往、情商等方面可以知道是否具备这些要素。
问题5. 《构建之法》中第9章,183页,“典型的软件团队里除了能写代码、测试代码、和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他项目经理———PM。” 如果一个项目经理不会写代码不会测试代码不会画图设计,只能推销出去产品,那么这些写代码的人会信服他吗?
回答:我觉得会,从学习这门课中我发现,有很多的同学,技术方面很好,但是却不愿出去推销自己的东西,这样有一个能够帮助推销自己东西的人,应该会很愿意有人帮着推销自己的东西。
· 经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
通过这学期的学习,我掌握到了软件的大致形成的过程,了解到了软件工程对软件开发的重要性,学会了如何上传自己的代码,知道了团队编程的重要性。
· 有什么深刻的体会,对自己一学期学习过程的总结。
软件并不是一开始就直接进入敲代码的阶段,在敲代码之前应该做好一系列的工作,比如可行性分析,需求分析,概要设计,详细设计,在经过一系列的准备工作之后才是敲代码实现功能,让我重新对软件的开发有了一个大致的思路,相信在之后的学习与工作中能够有很大的帮助。
李毅 201731062133博客链接
1.提出问题的博客链接<链接>
问题1(3.1) 个人能力的衡量与发展,我们目前应该注重专业技术上的进步,还是实践中的经验,还是两者都应该重视,那么需要怎么分配两者的比重使自己尽量更好?
——自我解答:应该根据自己的实际情况均衡两者关系。
问题2 (8.3) 获取用户需求,我们在分析用户对软件需求后,我们是依照代码量对软件进行定价还是依照实现难度进行定价亦或是综合考虑,那么价格与软件代码量和实现难度上有着怎样的可量化关系?
——自我解答:当然是综合分析以定下合理的价格。
问题3(10.1) 典型用户和典型场景,书中说,开发一个软件,都要为用户考虑。但在现实中,我们是完全按照用户的要求来做,还是在用户的想法基础上再添加上自己的想法?
——自我解答:应该尽量站在用户的角度去开发软件,通过老师上课讲的许多例子,使我我明白了用户是才是最大的,应该多为用户考虑。
· 经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
经过这一学期的学习,更加熟悉了C#语言的相关知识,温习了一下数据库的相关知识。因为项目过程中涉及到了软件原型模型设计,学习了Axure RP的一些操作,通过在Axure中文自学网上了解到一些基本操作。
· 有什么深刻的体会,对自己一学期学习过程的总结。
在本学期感触颇多,相较于编码能力较强的同学,我的编码能力便有些不足了,其原因感觉还是缺少平时的自学,仅仅依靠上课时老师传授的知识是远远不够的,需要自己在空闲时间多多学习相关知识来锻炼自己以提高自己的个人能力。
江镇岐 201731062210 博客首页
第一次个人作业:https://www.cnblogs.com/jzqRex/p/10567370.html
1.问题解答:
在本课程的几次团队合作过程中,我发现团队按能力分配任务,并定期交流、互审,相互提意见的团队合作模式对我来说才是合适的。
2、没有新的问题。
· 经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
在本学期的几门专业课任务中,学会了一些新的算法,并进一步锻炼了能力。也了解了在一个团队项目中每个人都是有属于自己的任务的,我也学会了做各种测试。
· 有什么深刻的体会,对自己一学期学习过程的总结。
本学期的学习中规中矩,按教学方案的进度对本专业有了更深度的学习。总的来说还是学到了很多有用的知识的。
谢仁峻 201731062209博客链接
(2)总结内容:
请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
之前本来以为可以在软件工程这门课程中会讲很多软件开发的技术和思想,然而这门课程的主要内容不是写代码而是写报告。
链接到以前提问题的博客
以前的博客已经删了。
尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
原问题:不同的用户提出的需求可能会有冲突,这时候应该如何权衡
解答:没有必要满足所有用户的需求,这个根据实际情况而定。
是否产生了新的问题?请提出。
写报告会极大的打消程序员的积极性,是否可以尽量少布置这种形式上的工作。
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
经过这学期的学习,对unity和unreal有了更深的理解,也掌握了一些编程框架,对服务器编程也有了一些了解,通过百度,各个官网的api文档,还有一些教程视频掌握的,最大的收获是知道了软件开发过程中文档和报告才是最重要的,以前一直以为程序员只要埋头写代码就可以了。
黄杰辉 201731062223 链接
· 请回望第一次个人作业,你对于软件工程课程的想象和提出的问题。
问题1:教材第一张概论P9中提到了软件的特殊性,其中软件的易变性我还是不是很懂,软件的易变性是站在开发者这个角度来看吗?还是只站在用户的角度来看呢?如果是站在用户的角度来看,用户很容易就能修改需求,我能理解这个易变性。但是如果是站在软件开发者的角度,我是在不能理解。
问题2:教材第六章讲的敏捷流程讲的能提高软件开发的效率,上课也听老师讲了,但成功的实例都是微软、苹果、雅虎、谷歌的创始人等等,这个敏捷流程适合普通的软件开发人员应用吗?
问题 3:教材P304 14.1.2 软件工程的质量特性:“好”、“快”、“便宜”,我觉得这个质量好的定义没说清楚,我觉得这应该相当于数学建模中的优化问题,一个折中吧。
- 链接到以前提问题的博客
https://www.cnblogs.com/huangjiehui/p/10569283.html
· 尝试对自己提出的问题进行解答,并阐明,是如何通过看书,实际,或者讨论弄明白的
问题一:通过对这门课程的学习、网上查阅以及平时项目与组员讨论,软件看上去很容易修改,实则修改软件比修改硬件难多了。用户希望软件能够做新的事情,让软件适应新的硬件。但是,与此同时,正确的修改软件是很困难的,这会耽误软件开发的进度,增加软件开发的成本,甚至将软件改成了另一个软件了,直接推到重建。
问题二:以前看书没有看仔细,上课也没有认真听,实践之后才知道,虽然刚开始的时候,两个人需要磨合适应,但是适应之后,效率会比一个人编程好很多(1+1>2)。程序的错误会少很多,大部分的错误都很早且及时的解决了,风险、成本都降低了很多。但是结对编程也有些弊端,如果验证测试需要很多时间,两个人一起等待就有些浪费时间。或者团队人员要在多个项目工作,就不能保证结对编程的质量。
· 是否产生了新的问题?请提出。
新的问题:现在有多的热门语言,我们要不要去学?课程里的都是用用的C#,虽然教的是我们如何开发软件,但是有时候遇到问题,就觉得是自己没有精通这门语言而造成的。我们到底是要精通一门语言,还是要多门语言共同学习多门语言?
· 经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的。
这学期掌握了如何使用Visio画类图、用例图、活动图、状态图等等。上实验课时,虽然老师没有教我们,但是通过自己百度以及询问同学,学到了如何制图,这样文档也显得比较专业。
· 有什么深刻的体会,对自己一学期学习过程的总结。
这学期,最深刻的体会就是,编码之前有很多前期工作要做,比如,需求分析、可行性分析、概要设计、详细设计。并不是一上来就是编程,一大堆错误不说,自己思路还会弄乱,风险增大,成本增加。还有就是,一个团队在一起做项目,大家最重要的就是交流沟通,而且要及时沟通,及时发现并解决问题,问题发现的越早,解决的时间也就越少。
最后这是我的GITHUB地址,可以在这里面取我们的项目资源哦:链接