第一次作业 黄亚恒 201731082208
课程链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/
作业要求链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2706
课程目标:了解软件工程是什么?软件的形成和创建过程,并培养我们的分析,团队合作等能力。
具体方面:在学习过程中,培养和锻炼独立思考,学会解决问题的能力。同时能够学会团队合作,培养团队意识。
正文:
一、建立博客并介绍自己
1、我的博客地址
http://www.cnblogs.com/hyhhyh090628/
2、自我介绍
关于我自己,从小到大,我一直都是一个中规中矩的孩子,认认真真上学,完成任务。在性格方面,我比较开朗和乐观,喜欢与人沟通和分享一些我觉得有趣的事情,所以我认为在与人交流和沟通方面有一定优势。此外,在文案工作方面较为擅长一些,也在自学PS,希望能够掌握这项有趣的技能。在生活中我喜欢摄影,来记录自己认为生活当中有意思和有意义的东西。写随笔的习惯,除了帮助我记录我的心境之外,也帮我记录了一些我生活中的疑惑和问题,我也会在这个过程中尝试制定计划去改变自己。关于专业方面,我高中以前其实并没有很仔细的了解过软件工程这个专业,来了大学也是转到这个专业来的。在我学习之后我认为它和我想像的有一定的差距,对于我来说,我学习起来有些费劲。现在我已经学习这个专业两个学期,但是我仅仅还是只了解一些基础的知识。我想在之后的学习中,我需要调整自己,从心态,认知和对于专业的学习上都需要更加主动积极的一种状态去面对。
二、阅读与思考
(1)回想一下你初入大学时对软件工程专业的畅想
· 当初你是如何做出选择软件工程专业的决定的?
· 答:当初选择这个专业的原因有三个:
· a、我所在的原专业,在通过和该专业的学长和学姐还有该门专业课老师的的交流和一学期的学习之后,我发现自己对于该专业并不是很感兴趣,同时在了解之后我发现它就业前景不是很好,尤其是对于女生来说及其不好就业。
· b、在原来老师的推荐和基于我自己的初步了解后,认为软工发展前景比较好,在未来会蓬勃发展所以选择转到这个专业来。
· c、出于对一门对这门课程的一些好奇。
· 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
· 答:在过去的两年中,我认为并不完全符合我对于软件工程的期待。一是由于我在选择转进来之时对自己的认知不够,对于这门学科也没有很详细和深入的来了解。在学习的过程中,发现有的专业课程我跟不上,自己的领悟能力相对没有那么强,这样的状态让我觉得有些疲惫。二是感觉自己没有能够真正的学习到很多,自己的编码能力也较弱,感觉自己还是一只小白,会让我自己有一种无力感。
· 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
· 答:我认为软件工程不是我喜欢的领域,也不是我擅长的领域。相对来说,我比较喜欢语言和中医。
· 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
· 答:应该会,但是可能不会是长期。成都,尼毕鲁,测试
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
· 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
答:虽然即将大三,但是对于我来说,我掌握的专业知识还很微薄。现在自己掌握的只是简单的C语言,C#等老师教学的知识,其次我掌握了office基本技能。目前代码量还比较少,只是在课程作业要求中写过代码,在自己的业余时间很少进行编码。
· 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
答:离成为一个合格的软工本科生,我认为自己在专业方面还需要很多的积累和学习,首先我在编码编码能力亟需提高,此外对于一些基础的只是也还有欠缺,对于一些简单得算法积累也不到位。对于问题的分析,解决问题的构架如何搭建这些方面都还需要学习。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
· 对照以上你阅读的前人们的经历,你的选择是什么?
答:我会选择工作,因为对于我个人的状况来说,我更愿意用实践来锻炼和提升自己,我认为在社会中实践得方式可能更适合我。
· 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
答:我认为,在这种选择下我会更早的接触到我们这个专业所面对的实际工作大环境,我能够更早的去适应这样的环境并在这个过程中提升自己。劣势可能在于我会更早的见识到工作的严苛,可能会受到更多的打击。
· 针对你的选择,你给自己的大三设定的规划安排是什么?
答:大三,没有社团,我想更多的时间放在自己的专业学习上。希望能够切实的提升我的专业技能,在空余时间想学习关于视频剪辑等我感兴趣和能充实自我的技能。
三、提有质量的问题
答:
1、(6章P110)在敏捷流程中决定当前冲刺中提到订单任务是队员根据自己的情况来认领,如果对于能够主导自己人物的估计和分配,那么他们的能动性会得到比较大的发挥。但是在这个过程中,可能不乏有一部分队员预估错误,我们到底应当如何把控任务分配合理,并且保证大家都能高效有质量的完成呢?
2、(8章需求分析P153和P162)8.1软件需求中其讲到对软件的不同方面的划分,其中包括非功能性需求,同时在P162竞争中产品竞争一图也表明我们和竞争对手的产品其实都有很多对用户无用的功能。那就是现在的一些软件上的功能其实也是比较鸡肋的甚至是无用,但是我们还需要耗费资源,人力、物力去做这样的一些性价比也很低功能吗?或者说面对这样的情况我们应当如何去面对呢?
5、(10章软件质量)在这一章中,软件的质量被不断细分,讲到我们需要从多个方面去判断一个软件质量是不是好,人们也有多种方法来保障软件的质量,那么我们这些判断和保障质量的方法是不是也和软件一样有着颠覆性和改良性的创新呢?
3、(16章P347)“迷思之五:要成为领域的专家,才能创新”在文中提到说其实由调查发现70%的创新都是在这些创新者的拿手领域之外发现的。那么是不是说明出于相关专业的人想要做出本领域的创新性开发更不容易呢,那么这样对于那些有着想要在计算机领域有一番大作为的人来学习本专业是不是会使他们事与愿违呢?我们是不是也应该更多的涉及别的领域以尝试做一些创新呢?
4、(16章P348)“迷思之六:技术才是创新的”提到技术的创新是关键,当然他也提到我们还可以看到有很多方面的创新,但是我第一时间想到的是思想上的创新(我指的是创新的一些想法例如谁第一个有了关于触屏的想法。)我想我们没有想法自然也不会去进行技术上的创新,而同时,倘若只有技术的积累可能也无法做出创新。那么思想上的创新和技术上的创新到底哪一个更为重要呢?
四、了解和调查源程序版本管理工具。
名称 |
优点 |
缺点 |
GitHub |
支持离线提交,相对独立。支持快速切换分支便于合并,比较合并性能好提供Git存储库服务,允许你使用Git的源代码管理功能,或者其特性 |
资料少,学习成本比较大,学习周期比较长,要求人员素质比较高,且代码保密性差。可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。
|
Apple XCode |
能自动创建分类图标,自动提供撤销、重做和保存的功能,无需编写编码,更好上手。 |
对于实现复杂程序来说,比较困难,更新版本后,插件有可能失效。 |
subversion |
支持文件重命名提交系统会提示删除旧文件,创建新文件,删除本地文件提交库中文件也被删除。 |
要将权限控制文件保存为svn支持的UTF-8格式,一个库可以有多个工作目录但一个工作目录只能对应一个库虽然可以更改库位置但是要求很严格,库中文件存放方式,看不到文件真正的内容。 |
Microsoft TFS |
是对msf,cmmi等项目、过程管理和改善的支持。任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用 。 |
能应用起来的团队、公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能,利用率极低。 |