团队项目——总结
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业要求 |
团队名称 | 李李罗何雷孟胡团队 |
这个作业的目标 | 1.每个成员完成个人总结,2.整理完善项目的相关资料 |
Github地址 | Git地址 |
何全江(队长) | 201731024218 |
---|---|
胡志伟 | 201731024240 |
李元港 | 201731024232 |
孟诚成 | 201731024242 |
罗俊杰 | 201731024226 |
雷安勇 | 201731024215 |
李宣晓 | 201731024108 |
总结
1.李宣晓 201731024108
想象
我对软件工程的想象就是,软件工程是一门很高大上的课程,可以教我们如何开发软件
问题
Q课本第五章第二节,这个部分介绍了9种软件团队的模式,哪种模式是最适合刚刚成立彼此不太熟悉的团队?
Q2: IT似乎是一个竞争很强烈的行业,具体表现在哪里?有哪些潜在因素?
Q3:第十六章第一节,为什么本领域的专家创新的比其他领域的少?
Q4:除了具有专业知识与素养外,还有什么是比较重要的特质我们需要具备?
第一次作业
解答
我觉得交响乐团模式各司其职,重在执行,比较适合彼此不太熟悉的团队。IT行业竞争表现在不断的创新,节奏非常快,IT是需要不断学习的行业,知识体系更新很快,不学习就要淘汰。除了专业知识与素养外,我们要有不断学习探索的的决心与毅力,才能让自己不被这个行业淘汰,才能让自己取得一定成绩。
新的问题
学IT30多岁还会有前途吗
新技能
通过这门学科的学习,我学会了使用博客,学会了基本的软件工程,通过团队合作,也让自己更熟悉软件开发的流程以及会遇到的问题,也更加熟悉代码的运用。
总结
软件工程是一门很有趣同时也需要花费很多心思和功夫的学科,在学习的过程有遇到问题产生不解的痛苦,却也有收获的喜悦。总之,收获很大。
2.何全江 201731024218
1.想象
软件工程可以帮助我们了解软件开发流程,对就业大有裨益。
问题
- 1.书中16.1.4迷思之四:创新者都是一马当先,但IT行业的的市场领导者往往是后起者,先行者却名声不显。如个人电脑行业先行者为Altair,领导者却是Dell,HP,Lenovo;在线书店行业先行者为Book.com,领导者却是Amazon.com等等。这都不能证明先行者的先发优势,是否可以说创新在市场竞争中并不重要?
- 2.书中4.2代码风格规范说“代码风格的原则是:简明,易读,无二义性。”在下面4.2.4为了看清代码结构和对应关系让每个“{”和“}”都独占一行,这样虽然让代码清晰了,但却使代码中出现了大量空白,我们一眼能看到或者屏幕显示的代码量大大减少,这不是一定程度上降低了代码的易读性吗?
- 3 .书中16.2 创新的时机提到“有时一个崭新的技术,推出的时机太早,他就跨不过那道沟”,为什么大众很难接受过于超前的技术呢,如果我有一个超前的创新,我要怎样才能让大众接受呢?
- 4 .书中17.5其实还是人的问题说团队里除了做事的,慢慢还会出现不做事的、不让别人做事的、做假事的、假装做事的,那么我们应该怎么对待这些人呢?
- 5 .书中17.6绩效管理提到了OKR绩效管理,但这种绩效管理受到业界和用户的影响,和团队成员本身对团队的贡献并不是密切联系,这是否对团队成员劳动成果的衡量不够公平?
第一次作业
解答
- 1.创新在竞争中的优势不可忽视,尤其是现在这个版权意识觉醒的社会。通过查阅资料可以发现很多行业老大都是先行者。
- 2.在后来的实践中发现,将括号分开写确实能使代码更加清晰,带来的问题可以用鼠标滚轮来解决。
- 3.事在人为,只要动动脑子,总会有办法的。
- 4.要么让他办事,要么开除。
- 5.没有方法能完美解决分配问题,我们只能尽量选择最合理的方法。
新的问题
PM是否应对产品负主要责任?
新技能
github使用,软件开发流程,编程能力大大提高,软件三层架构等等。
这些都是通过任真完成作业,对上课内容反复思考学会的。
总结
通过学习软件工程,我对软件开发的认识更透彻了,我学会了许多,也收获了许多。我明白了团队合作的重要性,在以后的生活里,我一定要和大家团结友爱。
3.孟诚成 201731024242
想象
软件工程是一门非常实用的课程,在未来的工作和生活中可能会常常用到。
问题
1.敏捷从理论上来说是完美的,但在实际实行过程中避免不了失误,如何尽量减小误差。
2.什么时候适合选择敏捷,在了解问题引出方法后对敏捷适用情景还是没有一个明确清晰的了解。
3.团队开发一个成功软件的核心要素是什么。
4.遥测技术,不会涉及侵犯用户隐私吗?
5.黑箱白箱各自的优势。
第一次作业
解答
1.我们不能为了敏捷而敏捷,敏捷强调的是自我组织团队,发挥人员的能动性,以动力代替压力,所以我们不能产生消极放纵的思想,对人员组织可以进行如下改进:
(1)欢迎变化的适应性强的文化;
(2)最低限度的规则,鼓励自我组织,并结合自律遵守那些规则:
(3)在项目团体内紧密协作和相互交流。
2.在正式启动敏捷改进之前,应该先问一问我们为什么要敏捷?敏捷能解决我们公司、我们团队现有的哪些问题,给我们带来哪些潜在的价值、额外的收益?敏捷改进成功的一个重要前提是首先对自己团队、公司/企业/组织的现状和存在的问题有一个清晰和清醒的认识。
不管CMMI过程改进,还是敏捷过程改进,这第一步的现状评估都是非常重要的。不要为了敏捷而敏捷。不要因为外面流行敏捷,媒体和marketing都在宣传敏捷,敏捷看起来很时尚,很时髦,很cool,就盲目地尝试敏捷,何必劳民伤财呢?
3.
(1)解决了什么问题
即产品本身的痛点,越痛越好,痒点次之,但也好过没有。多数人做产品的初衷往往是自身的需求,比较容易被自我放大,推出去才发现用户不买账。
这个可以运用MVP的最小可行性去测试下,而且要测试到位,这也需要丰富的经验。
磨练同理心的感知能力,多去看一些争议的话题,你去预判,再看判断的结果是否准确。也可以找一款比较有实力的产品,全面了解后,去找一些这款产品还可以改进的地方,再用时间验证产品的走向是否和你的预判一致。
(2)针对什么样的人群推广
启动阶段,你已有的粉丝群体,已有的渠道也很关键。所以做产品最好具有反向思维。
什么反向思维呢,也就是先有推广资源,再定产品。不要期望先做产品,有产品就好推,是很大的伪命题。
4.隐私,是一种与公共利益、群体利益无关,当事人不愿他人知道或他人不便知道的个人信息,(只能公开于有保密义务的人)当事人不愿他人干涉或他人不便干涉的个人私事,以及当事人不愿他人侵入或他人不便侵入的个人领域。隐私是个人的自然权利。随着互联网的发展,以web2.0技术为基础的博客、微博、社交网络等新兴服务和物联网以前所未有的发展速度产生了类型繁多的数据,迎来了大数据时代的到来。大数据中蕴藏着巨大的价值,但同时,如何保护隐私数据和防止敏感信息泄露成为当前面临的重大挑战。因此,首先需要辨别哪些信息属于用户的隐私信息。用户隐私判定,就是指判断互联网用户产生的敏感数据为个人隐私信息的过程。
涉及用户隐私就需要相关公司要加强对用户隐私保护。不泄露用户隐私,这是每个公司应做到的事。
5.
黑箱理论,是指对特定的系统开展研究时,人们把系统作为一个看不透的黑色箱子,研究中不涉及系统内部的结构和相互关系,仅从其输入输出的特点了解该系统规律,用黑箱方法得到的对一个系统规律的认识。不通过分析生态系统内部结构和相互关系,而是根据生态系统整体物质和能量的输入和输出关系及其影响因子得到该生态系统的结构和功能的规律。
白色系统理论是指研究者不仅知道该系统的输入——输出关系,而且知道实现输入——输出关系的结构与过程。白色系统理论将这种按预知的结构关系建立的关系式称为“白箱网络”。通过白箱网络对系统进行再认识或利用这种白箱网络去控制系统以后的过程或预测系统的行为。白箱方法反映了比黑箱方法、灰箱方法高一级的认识水平。
新的问题
软件团队中测试的角色应该独立出来吗?
新技能
在同学的帮助下我学会了很多代码的编写和应用,以及团队中的分工合作让我对集体荣誉有了更深层次的认识。
总结
在这学期的学习中,虽然我不能说我将软件工程学习的有多么的好,但是通过学习,我还是受益很多。我通过了软件工程这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出过程受控、质量受控的软件产品。
4.雷安勇 20173104215
1.我对软件工程的想象就是,软件工程就是教授我们做软件的代码与操作。
2.第一次作业提出的问题:
1.第八章第五节功能的定位和优先级中:得到了需求后,软件团队就要考虑实现这些需求。对于这句话,我有个问题,需求需要软件团队将用户需求圈定范围,如何圈定?
2.第五章的2..3处,我反对作者的观点:要严格的代码复审签入的质量控制。我的观点是:社区模式需要参与人真实的参与进去,我觉得不仅要靠严格的代码,更可以加入奖惩措施。
3.第11章的2.1处,思维导图的方法表达实体与实体间的关系,书中说了思维导图的缺点缺乏严格的语法与语义,那如何解决这个缺点呢?
4.第八章第一小节里有一个小点:分析与定义需求。而对于有些软件,需求属于说不清道不明的如何定义?
5.第四章的3.3小节:初五处理。对于问题的处理,一般来说需要花费多少时间去设计编码找到问题与出处,而这个时间花费的到底值不值得?
[第一次作业] https://www.cnblogs.com/71355cb/p/11506000.html
3.解答
对于第一次作业,我遇到的问题,首先,需求属于用户对于软件的期望,而,对于它的圈定,可以先就自己团队的能力来列出可以实现的功能,从而在需求问卷调查上加以引导,其次,可以通过多次问卷调查,从中替选,来圈定用户需求。这些都是在通过自身参与问卷调查中想到的以及参考别人的案列学习到。
4.新的问题
感觉学习作软件需要学的东西多而广,而我本人很难就找到突破点,这该怎么办?
5.本学期,学习到了团队共同完成任务需要的准时,准确。还在软件的制作工程中增强到了UI制作的熟练,代码的测试。在PPT的制作上野更得心应手。
6.总结
做软件如果没有基础,真的需要很多时间去学习,钻研,与同学交流,更需要很好的耐性与细心去投入。
5.罗俊杰201731024226
想象
想象是教导进行大型软件开发的课程。
问题
链接博客:https://www.cnblogs.com/luojunjie/p/11504139.html
问题1:如何做好准备工作?
问题2:代码量和工程师的水平线性相关吗?
问题3:如何正确高效的使用异常?
问题4:什么是功能测试?
问题5:为什么想法未变成实践?
解答
问题1:如何做好准备工作?
答:1.确认软件项目范围。2.粗略计算工作量。3.进行人力资源配置,确定软件项目的人力需求。4.进行客户沟通。5.确定开发过程。
问题2:代码量和工程师的水平线性相关吗?
答:在学习完这门课程后对此深有体会,只有代码编写足够后,工程师才会得到深华。没有代码量的基础,工程师是不能将编程的想法变成代码现实的。
问题3:如何正确高效的使用异常?
答:这个问题我还是不太明白,因为在进行代码编写时,我没有频繁使用异常。我还是不太明白如何高效使用异常,我查资料后说的是每个public方法在执行实际的逻辑之前都应该验证所有必须的先决条件,当验证不通过时抛出合适的异常。一个catch块中的代码都应该至少部分地处理了所捕捉的异常。否则,就不要使用catch块。
问题4:什么是功能测试?
答:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
问题5:为什么想法未变成实践?
答:这个问题我的理解是1.代码量还未达到项目设计的要求。2.在分析阶段没有进行有效的分析。
新的问题
1.在进行项目开发时如何进行有效合理的分工?
2.如何将软件发送到网上,让别人以链接的形式下载?
新技能
这学期在学习软件工程这门课以后,我学会了很多技能。比如多个人合作的结对编程项目,学会了在进行软件项目开发时,首先需要进行需求分析,概要设计,数据库设计,然后进行详细设计。同时还学会了在进行团队项目时,需要合理的掌握时间,比如进行数据库设计需要多少时间,UI设计需要多少时间;同时还需要进行合理的小组分工。
总结
在这学期学习时学到了很多技能,同时也发现了自己有太多的不足之处,以后还需要努力提升。
6.李元港 201731024232
博客地址 https://www.cnblogs.com/liyuangang/p/11504942.html
想象
这门课程是做什么的,会不会很难,这门课程会不会吸引我的注意力。我能不能学的很好。
问题
https://www.cnblogs.com/liyuangang/p/11504942.html
解答
1 .软件工程实践分团队和非团队,那么作为初学者的我们,在初次进行实验,团队成员能力不明确,实验内容不明确,我们应如何进行分工,如何合理的安排软件团队的模式。
答:每个人都有自己擅长的部分,根据不同的人所擅长的进行工作安排,与此同时让每个人都同时加强自己不足的地方,团队不能出现一些人工作内容很多,一些人没有事干的情况,合理安排时间,在团队中有一个人是一个融合剂,可以协调每个人的工作内容,同时进行调整。
2.在9.4高效的团队讨论中我产生的如下疑问,什么是高效,如何来用个团队的讨论结果确认讨论的过程是高效的?
答:高效团队必备:目标与价值观 ,人,团队之所以组建,是为了一个目标的完成,而目标又分为长期目标、中期目标与短期目标。短期目标与中期目标,是长期目标的分解。这一目标的定的好不好,格局如何,前景如何,是否能够凝聚认可这一目标与价值观的人。目标,是我们团队做事情的结果,是梦想的实现。但目标的实现是需要我们的付出才可以。所以,因为目标的聚集来自四方八方,认可目标与价值观的人,才可以最终走在一起,并持续地进行优化中。对于团队中的人员结构来说,也是需要在建立信任的基础上才可以使得目标完成更有效率。只有确定目标解决目标问题才能认为是高效的讨论。
新的问题
我如何将游戏做成线上游戏?
如果从事软件工程相关方面的工作,我应该学会什么最基本技能?
新技能
学习了软件开发的技能,增强了我对C#,数据库的运用的能力。
熟悉项目开发的流程,以及每一个流程的详细操作。
总结
在以开始学这门课程时,仅仅老师上课内容来看,还基上都能够理解接受,但是到了后面一点,我明显感到自己的知识储量不够用,尤其是,对上学期刚学的C#掌握十分欠缺让我在编写代码上遇到了极大的困难。一学期下来,其实自己学到的东西并不多,很大一部分原因是自己平时缺乏学习的自觉性,遇到困难不爱研究
也有很多的收获,首先是对软件工程的原理和方法有了一些了解,知道了软件开发的重要步骤(需求分析、设计、编码、调试和维护),以及完成这些步骤大致需要做些什么。其次就是更加明白了团队合作的力量,在第一次团队项目计划答辩时,因为当时对软件工程确实是认识不够,就觉得这怎么能做得出来,但是最后他们都做出来了,并且很成功,我想这肯定离不开他们每一位小组成员的努力。 在以开始学这门课程时,仅仅老师上课内容来看,还基上都能够理解接受,但是到了后面一点,我明显感到自己的知识储量不够用,尤其是,对上学期刚学的C#掌握十分欠缺让我在编写代码上遇到了极大的困难。一学期下来,其实自己学到的东西并不多,很大一部分原因是自己平时缺乏学习的自觉性,遇到困难不爱研究。
7.胡志伟201731024240
想象
对于软件工程,一开始觉得是一门做项目,做一个工程的课程。后来发现更多的是要有开发设计,测试编码等等
问题
第六章敏捷流程中,书中所说的敏捷为每天工作是,时间短,速度快提高效率,对工作技艺进行简化,而其中最主要的指标为可用的软件,但作为软件工程师,是否应该将软件的质量好坏作为第一位呢?若一味提高效率,追求越来越敏捷,那软件的质量,流畅度又该置于何地呢?
第一次作业
解答
作为软件工程师,软件的质量好坏必须必须得是第一位的,但同时,在解决质量问题之后,要按照客户的需求进行开发设计,做出好的软件。
新的问题
1、在软件开发过程中,客户需求的东西超过了自身所学,并且没有途径时,是选择按自身能力最大化去做还是怎么办?
2、在软件开发团队中,怎么样的协调方法最好的或者说比较好的?
新技能
1、知道了网络上博客的来源,之前从来不知道怎么回事,现在知道了,也知道如何写博客了。
2、对软件开发的认识有所提高,不再像以前那样只是浅显的知道,现在来说更加了解了。
总结
九周的软件工程课结束了,在这九周当中,我从一个软件小白,一无所知,变得稍微了解了一点,在需求你分析,概要设计,编码设计方面有了一点东西。但我自己也知道,在软件开发方面,我可能连门都没有入,还需要更多的练习。对我来说最重要的,是深刻体会到了团队的重要性,每一个人 都是团队不可或缺的一份子,只要大家齐心协力,没有什么客服不了。