这个作业属于哪个课程 | <课程链接> |
这个作业要求在哪里 | <作业要求链接> |
我在这个课程的目标是 | <学习软件的开发流程,生命周期等,为以后进入软件公司就职打下基础> |
这个作业在哪个具体方面帮助我实现目标 | <通过了解前人的学习方法与经验和国外学校的先进教学方式等,能使我对未来更有信心,并对软件工程专业加深理解与认识> |
我的博客地址:https://www.cnblogs.com/pipicat/
自我介绍:我叫何谊春,西南石油大学软件工程17级的学生,是一个外向的人,但是喜欢独处。对游戏方面很感兴趣。所以平时就宅在寝室关注最新的游戏动态。有时也听听音乐,发发呆。
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
因为对游戏的喜爱,希望以后可以从事与游戏相关的工作,所以选择了软件开发。
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
一般符合。较之课程有些时候感觉跟软件开发没什么关系,也有人说现在学的还不如实习两个月的提高量。可能以后接触了一整个系统以后才会慢慢了解把。
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
是我喜欢的领域,但却不是很擅长,我其实对汇编很感兴趣。尤其是反汇编之类的,或者说是对软件破解只一方面。以后有机会也能会继续深入的研究与学习。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
会。特写想去南京,所以如果考研回去南京也会在毕业之后留在那个城市。如果可以的话,会去做独立的游戏开发或者是与安全方面有关的职业。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
知识方面:程序设计基础,数据结构,数据库,面向对象程序设计以及一些基本的计算机基础原理。
技能方面:编写简单程序的技能,数据库方面的技能,还有简单的汇编与反汇编。
能力方面:修改代码中常见错误的能力,可以设计窗体的能力,对数据库的一些基本操作以及简单的算法基础。
大一,大二有些设计,写过一些系统。但是平时并没有怎么写过代码,大致也就几千行吧。
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
现在差距还很大,可能连一个简单的学籍信息管理系统都不能独立做出来,而且课程也没有学习完,许多东西依然不熟悉,而且数据结构这门课现在还没有取得学分,还要重修。没有与他人合作完成过项目。整体上脸入门都算不上,要学的东西还有许多。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
会去考研。研究生阶段才是深入的去学习自己感兴趣和想去学习的领域。并且能够得到很大的提升。
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势基本没有,劣势方面有很多,最大的就是编写程序或者代码的思想,意识不够。
- 针对你的选择,你给自己的大三设定的规划安排是什么?
继续学习本专业知识技能,并开始准备考研。
三.提有质量的问题
1.书中第11章讲到了每日构建,但是书中似乎没有明确的对构建定义,所以构建是怎样的一个流程,做构建这个工作的是有专门的负责构建的人员吗?如果构建出错,应该由谁来承担这个错误?
2.书中P264中对A/B测试做了介绍,那么,对于什么类型的软件,我们应该推广使用这种测试方法,什么类型的软件用这种测试方法不妥当呢?
3.书中P60中问到“学什么,怎么学,核心竞争力是什么?”,那么,如何学习才是我们程序员有效的学习方法呢?
4.书中第13章第二节中讲到了各种测试方法,其中第二个是构建验证测试,指的是构建完成之后系统运行的一套测试。那么构建失败和构建验证测试不通过有什么区别?两者有什么联系吗?
5.关于书中的“可维护性”,如何是可维护呢?是指可以很快找到bug的编写代码格式吗?
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rational,Apple XCode)
- Microsoft TFS优缺点
优点:
1、不受语言限制,可使用 Java、Python、HTML5、JavaScript 和 C# 等
2、包括代码存储库、持续集成、Bug 和任务跟踪以及敏捷规划工具等多种多样的功能
3、可供 5 个团队成员免费与 TFS Express 搭配使用,并可随着团队的扩大规模进行扩展
4、可与任何 Git 客户端结合使用
5、它是一个面向敏捷团队的工具。能通过积压工作 (backlog) 和可自定义的看板捕获和跟踪工作情况,并确定工作优先级。通过直接链接到代码和生成的工作项目,确保透明性和可跟踪性。 自定义丰富的仪表板以便更轻松地报告。
缺点:
1、整个系统是用 asp 实现的,使用浏览器访问相当慢
2、团队的邮件细节配置比较复杂
3、搭建和维护的成本和技术要求较高
- Trac优缺点
优点:
1、有着良好的扩充性
2、它的权限体系较为完备
3、灵活性强,可以和TortoiseSVN集成
缺点:
1、不支持多项目
2、基本没什么汉化,新人和美工人员接触起来十分困难
3、核心功能太少,不能满足如今日益增长的技术需要
- Rational优缺点
优点:
1、可大大提高团队生产力
2、在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动,为每个开发成员能提供必要的准则、模板和工具指导
3、企业在未来的On Demand(随需应变)时代中将拥有更快的反应、更有弹性的运营策略和更加明确的发展方向
缺点:
1、只是涵盖了开发过程的内容,并没有涵盖软件过程的全部内容
2、没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性