第一次阅读作业
第一次阅读和准备作业
请大家在作业开头添加格式描述:
这个作业属于哪个课程 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 |
这个作业要求在哪里 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
我在这个课程的目标是 |
学习到有关软件工程的核心知识 |
这个作业在哪个具体方面帮助我实现目标 |
了解软件工程专业的术语,懂得软件工程的原理 |
作业正文 .... |
注意代码要按格式上传 |
其他参考文献 ... |
|
一.建立博客并介绍自己
- 在cnblogs.com上注册开设博客。博客地址:https://www.cnblogs.com/Xyk1017/
- 我叫鲜雨珂,是西南石油大学计算机科学学院软件工程专业的一名学生。我喜欢音乐,也参加了一些歌唱比赛,同时我也喜欢英语,可能因为是女生,对语言有种莫名的热爱,我很乐意学习我感兴趣的东西。
二.阅读与思考
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
事实上,软件工程并不是我的第一志愿专业,当时是更想选择一个偏文科性质的语言类学科。至于我为什么最后会选择软件工程,应该是突然萌发出的一种冲动吧,在诸多专业中,我最不讨厌的就是计算机相关的专业,相反,我还挺想了解有关编程方面的问题,选择软件工程这个专业在我的意料之外却也在我的意料之中。
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
过去两年接触到的课程大部分是符合我对这个专业的期待的,有少部分课程我还没理解到学习它的原因,目前正处于迷茫期的摸索阶段。
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
软件工程算是我喜欢的领域,不然当初也不会选择这个专业,至于它是否是我擅长的专业,我想这是以后的事情,一个好的软件工程师不仅要会编好的代码,更需要一系列的综合能力,而我现在还在慢慢学习中。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
有能力选择的话我当然是愿意从事与专业相关的工作的,毕竟大学四年接触最多的就是它。至于想去的城市和公司,我的想法是留在成都,因为离家近,岗位呢,没有太多的要求。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
大一学习了C语言和数据结构,大二上学习了数据库原理和C#,学到了一些有关编程的知识,简单基础的程序会编写,代码量大约在两三千。
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
我的专业课期末考试都在中等水平,虽然对书上的基本概念的理解没有什么问题,但事实上并没有一种编程语言是我精通的,同时也缺乏很多实践的能力。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
大一大二我也思考过这个问题,后来我决定要考研,因为现在本科生的工作经验和专业能力大多不如研究生,这也是为什么在企业招聘时,普遍会选择研究生的原因。
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
我可以说是比较有耐心吧,做一件事会尽力把它做好,不管是在学习上还是生活中都比较注重细节。但同时我觉得我容易犯懒,有的时候不想去做或者不愿意做。
- 针对你的选择,你给自己的大三设定的规划安排是什么?
在学习专业课的同时,慢慢学习并精通一门编程语言,复习考研科目,为考研做准备。
三.提有质量的问题
1.(2.1)对于回归测试的具体内容还不是特别清楚明了,书上说对于“回归测试”中的“回归”,我们可以将其理解为“回归到以前不正常的状态”,这句话应该怎样理解?
2.(4.5)对于结对编程,既有好处也有坏处,我们应该在什么情况下采用结对编程的形式来使效率和正确性达到最大化?
3.(5.3)TSP的原则第二点为团队的各个成员对团队的目标、角色、产品都有统一的理解,我认为一个团队的成员每个人在开发过程中可能有自己不同的想法,那我们如何做到对这些的统一?
4.(6.1)敏捷流程的第三步冲刺阶段是时间驱动的,一到时间就结束,那如果在具体的项目实践中,冲刺阶段的任务并没有完成,这个时候应该怎样处理?
5.(3.2)软件工程师可能产生如分析麻痹、过早优化等思维误区,那么我们在实际的软件开发中,怎样去避免或者解决这些问题?
四.了解和调查源程序版本管理工具
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rational,Apple XCode)
优点:
1.任务版上能将需求、项目进度一览无余,适用于小团队
2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
3.与 VS 无缝接合
缺点:
1.搭建、维护比较复杂
2.对于硬件要求较高
3.个人成本消耗较大
优点:
1.提交大文件速度很快
2.对于小型团队免费,且不限容量,节约成本
缺点:
1.不开源;
2.系统不稳定
Git:
优点:
1.分布式的版本管理
2.开源,并且对于公共服务器压力不会太大,大小项目均可管理,拥有良好的分支机制
缺点:
1.版本之间的兼容性不好
2.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息