第一次作业
作业属于课程
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2
作业要求位置
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2706
我在这个课程的目标是:
从该课程中学到自己想学的东西并以较高的绩点通过此课程;
这个作业在哪个具体方面帮助我实现目标:
让我更加了解这门课程和这个专业。
一,建立博客及个人介绍
1,我的博客
https://www.cnblogs.com/hxtsyw/
2,个人介绍
姓名何骁天,性别男,即将到及冠之年,来自世界水电之都湖北宜昌,爱好广泛,文体都有所涉略,跑步,乒乓球,足球,还有竞技游戏,平常也爱看书写诗,曾经发表过一些文章和诗歌,练过一年吉他,略懂乐理,学过一点绘画,平时娱乐就是打游戏,看看电影和动漫,性格比较温和,有耐心,有责任感,因为多年班长及班委的经验,让我也积累了一定的管理能力。
(1)回想一下你初入大学时对软件工程专业的畅想
1,当初选择软件工程专业主要是因为这个专业就业前景好,对这个专业也比较感兴趣,一直想看看平时玩的那些游戏内部到底是什么。
2,其实是比较符合期待的,因为我知道任何一个专业要想学好必须先打好基础,要想真的开始编程,其实去北大青鸟上三个月课,就可以开始了,但我的目标可不是那样。
3,说实话,不是我特别喜欢的领域,其实我对医学和化学更感兴趣,我也不是很擅长,曾经我有一个感觉编程语言和外语很像,而我的英语一向不好。
4,我会选择从事软件开发相关的工作,想去深圳腾讯,先做一个软件工程师。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
1,学了三门编程语言,数据结构,数据库原理,写了几千行有效代码吧
2,我觉得我还没有深入的去学习,有些东西都没掌握,总之,我觉得还差的很远。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
1,我选择考研,一是家人的希望,二是我觉得现在本科生多如牛毛的时代,我需要一个更高的学历来增加自己的含金量。
2,优势的话就是我的基础比较好吧,劣势可能就是没有那么多资金去报一些考研班什么的。
3,学好专业课的同时,自己有计划的准备考研。
三,提有质量的问题
1,书本70页4.3.3错误处理中提出验证正确性需要用断言,但是在后面的描述及代码中却并没有解释断言和错误处理是什么关系?
我通过百度知道了断言的释义:断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。https://baike.baidu.com/item/断言/13021995?fr=aladdin
这使我稍微理解了这两者的关系。
2,对于第七章,我心中有个疑惑,如今应用的是MSF模式,前面为什么还要花大量的笔墨写其他的模式?
MSF模式被用于实战中,难道是前面的模式是我们学生编程需要的吗?
3,对于第九章,9.1中对项目经理的释义中说其主要任务是正确的做流程,而现在的生活中,我从一些论坛上了解到,一些项目经理并不知编程为何物,只知道提需求,甚至提一些不可能的需求,书中花大篇幅写了项目经理的重要性,我想知道如我以后我遇到这种情况应该怎么办?
4,对于第十一章11.5中对一些流程用小飞和阿超的对话来解释,反而不容易让人理解,所谓的每日构建到底是什么?
我从百度文库里找到了对于每日构建的说明。
https://wenku.baidu.com/view/db9244a1c67da26925c52cc58bd63186bceb9222.html
5,十三章中软件测试环节有内部外部公开测试和实战中的测试,两者的区别是什么?
我在网络上并没有找到答案。
四,
Microsoft TFS
优点:任务版上能将需求、项目进度一览无余,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与 VS 无缝接合。
缺点:搭建、维护tfs比较复杂,硬件要求也比较高
GitHub:
优点:万能,适合任何大小的项目,可以作为一个版本控制系统和协作工具来发布工作,可以将项目存档,与其他人分享交流,支持多人共同完成一个项目,创建自己的项目,并备份,代码不需要保存在本地或者服务器。
缺点:需要不断实践和时间,不能顺利将图片转为代码,将设计用于产品设置,有时候会混乱。
git:
优点:适合分布式开发,强调个体;共服务器压力和数据量都不会太大;速度快、灵活;任意两个开发者之间可以很容易的解决冲突。离线工作。
缺点:资料少(起码中文资料很少);学习周期相对而言比较长;不符合常规思维;代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。