第一次阅读作业
第一次阅读和准备作业
这个作业属于哪个课程 |
|
这个作业要求在哪里 |
|
我在这个课程的目标是 |
更深层次的了解软件工程 |
这个作业在哪个具体方面帮助我实现目标 |
建立学习这门课程的学习目标,有主动意识的去学习 |
其他参考文献 ... |
百度百科 |
一.建立博客并介绍自己
1.我的博客地址:https://www.cnblogs.com/Tancy20/
2.一名学生,平时爱好看电影、听音乐。喜欢探索有趣的东西,研究自己感兴趣的事物。
二.阅读与思考
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
- A:一是认为社会需要这方面的人才资源,二是受朋友影响。
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
- A:从认为不符合到接受符合。刚开始学习C语言的时候,只是学习了一些简单的运算代码,比如解决数学上一些简单的问题,然后与自己想象中开发一款大型游戏八竿子打不着,后来慢慢的学习了写一个管理系统过后就不这么想了,凡事都是要先打好基础的,才有条件去接触更多的知识。
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
- A:算是喜欢吧,每次想到自己第一次运行成功的代码都是很开心的,毕竟曾经认为很神秘的东西有一天自己创造了。它并不是我擅长的领域,我的逻辑思维不是很好,跟不上进程。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
- A:会的。城市优先选择成都吧,公司没有需求,岗位的话会想是软件测试师。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
- A:自我感觉掌握了C语言和C#,不是很全面。代码量写的很少。
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
- A:掌握的知识都是书本上的内容,没有进行拓展,还有深入研究,可以应用于哪些方面还不是很清楚。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
对照以上你阅读的前人们的经历,你的选择是什么?
A:我想选择考研。听老师建议,也害怕出去了找不到自己满意的工作。
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
A:相比其他同学,我有很多不足之处,比如在写代码上没有他们熟练,专业知识掌握得比他们少,我也有认真的反思自己,大学这两年过的很糊涂。优势,应该没有吧。
针对你的选择,你给自己的大三设定的规划安排是什么?
A:准备考研。
三.提有质量的问题
问题一:第4章<为什么要结对编程>79页 结对编程需要两个人,当两个人实力相当时,很容易产生分歧,(比如代码风格上)影响工作效率;当两个人实力有一定差距时,一方在编程时可能起主导作用,而另一方处于被动,虽然不会产生分歧,但是实力强的人也会有思维限制,也会影响工作效率。
两个人实力差距大和实力相当哪个编程效率高一点?
问题二:第2章<单元测试>25页 在好的单元测试的标准中提到“单元测试必须由最熟悉代码的人来写”文中建议的是由作者来写,尽管作者非常了解自己的代码,但是思维上还是受一定的限制,比如小时候做数学题,明明有更简单的方法,但是还是采取了自己所学的解题方法,相对来说比较复杂。如果是结对同伴来做单元测试会不会是个更好选择呢?
问题三:第6章<敏捷流程>111页,通过阅读,可不可以将敏捷流程理解为软件开发进程的不可视性的透明化?如果是的话,能否通过它搭建可视化模型向客户反映当前软件开发的进程?
问题四:第16章<创新的迷思>342页,作者提出了人人都喜欢创新,由于种种原因得不到领导或同事的赞赏,怎样才能把自己的创新脱颖而出呢?或者让领导和同事接受自己的创新从而开展项目呢?
问题五:第5章<开发流程>97页,在软件开发之前都会根据客户对软件的需求确定哪种模型,在完成软件项目过程中,会不会因为顾客不断提出的需求来改变模型或者模型同时使用呢?
四.了解和调查源程序版本管理工具
通过网页查询,目前流行的源程序版本管理软件和项目管理软件有Trac,GitHub,Coding,SVN和TFS。
资料源自:百度百科
(1)Microsoft TFS:
优点 | 缺点 |
对敏捷,msf,cmmi等项目、过程管理、过程改善的支持。 | 能应用起来的团队、公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能。 |
任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用。 |
搭建、维护tfs比较复杂,硬件要求也比较高。
|
(2)GitHub:
优点 | 缺点 |
GitHub提供Git存储库服务,基于web,允许使用Git的源代码管理功能,或者其特性。 | 不是捕捉创意过程和记录创意点子的最佳工具 |
支持多人共同完成一个项目 | Github非常适用代码跟踪,不是最好的设计跟踪工具。不便将图片内容转化为代码,或者将设计用于产品设置。 |
(3)Trac:
优点 | 缺点 |
良好的扩充性 |
不支持多项目,需求和缺陷没有分离 |
Trac的权限体系是比较完备的设计 | 中文化不完整 |
非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成 | 核心功能很少、局限于安装插 |