这个作业属于哪个课程 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
我在这个课程的目标是 | 希望能够了解软件工程专业的学生需要掌握的技能,然后就是清楚我们在一个完整的项目中扮演着怎样的角色,以及不同的角色有着哪些任务 |
这个作业在哪个具体方面帮助我实现目标 | 通过要求我们上网查阅有关资料和阅读教材进行学习 |
一.建立博客并介绍自己
我叫李文毅,来自成都,喜欢打篮球
二.阅读与思考
阅读以上材料,并回答下面几个问题:
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
- 因为计算机已经与人类的生活融合在一起了,社会上对计算机方面的人才需求一定会越来越大,所以就选了这个专业。
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
- 还行,因为目前我们还只是学习了一些基础知识,并没有进行实际的操作,毕竟现在只是打基础的时候。
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
- 比较喜欢吧,因为觉得设计一些东西出来很有意思,目前还只是一个菜鸟。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
- 应该会吧,以后工作的话还是想留在成都,至于公司和岗位还不清楚。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
- 至少知道了怎么写代码和一些最基础的东西,写过的代码可能就两三千行吧,反正自我感觉写的不是很多
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
- 这个不是很清楚,反正差的应该不少...
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
对照以上你阅读的前人们的经历,你的选择是什么?
参加工作
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势就是能够更早的学到在实际的项目中需要用到的知识,劣势可能就是不想考研那种更加深入的学习更多的知识
针对你的选择,你给自己的大三设定的规划安排是什么?
争取能够先参加一些小项目,模拟一下工作的感觉,为以后参加工作增加一些经验见识
三丶提有质量的问题
1.第二章 个人技术和流程 单元测试和回归测试需要在整个项目中一直进行吗?测试代码最后需要删除吗?
2.第五章 软件团队的模式 每个模式都有自己的优缺点,如何确定自己要选择哪种模式开发呢?中途能改吗?
3.第六章 敏捷流程 怎么确定自己的开法项目中是选择偏传统的瀑布模型,还是新的敏捷流程呢?
4.第十一章 源代码管理 如何根据实际要求选择正确的源代码管理系统?
5.第三章 软件工程师的成长 我们该怎么选择自己以后的方向呢?为了成长自己需要怎么丰富自己的知识体系呢?
四.了解和调查源程序版本管理工具
-
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rational,Apple XCode)
优点:
任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用
集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
能与 VS 无缝接合
缺点:
整个系统是用 asp 实现的,用浏览器访问相当慢(不知道是不是服务器性能太低还是我个人用的电脑配置太低)
从 IE 上访问、填写各种开发、测试记录,也是很慢,感觉不如 mantis BT 这样基于 php 的那么方便、迅速
用 XP 系统无法访问,还得是64位的? 所以把电脑的整体性能拖下来了
团队的邮件细节配置比较复杂,我不关心的项目的变更集也会给我发邮件
测试用例功能具体有无好的应用案例?如何配合自动化测试?
github优点:
- pull request,issue都是杀手级的feature
- 强调个人,符合hacker更看重名誉/成就感的天性
github缺点(对个人):
- 国内访问速度太慢,经常出现connect time-out(非GFW所为)
- 不能很好的解决GB2312/GBK,对中文不够友好
- wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点
github缺点(对企业):
- 无非解决企业内部的需求,github:fi价格过高(最便宜要$5,000/年)
- 基于git,学习曲线陡峭,企业大规模用git根本不现实。尤其国内大家都刚学会svn
- 可能在未来某天被墙
优点:
1. 个人感觉最大优点就是免费,这绝对是大多数公司和个人首先在意的;至于开源,试问有多少人看过git的源代码?
2. 分布式的版本管理,git在服务器和每个用户本地那里都有一个版本库,用户不必与服务器联网也可以进行自身的版本管理,当服务器或某个用户的版本丢失,可以从其他用户那里获得对应的版本。而集中式的版本管理,用户只能借助服务器才能进行版本管理,当服务器死机或出现使用不了的情况后,就无法进行版本管理了。
3. 使用灵活,git的功能十分丰富,只有你想不到的,没有它没有的,它可以对版本进行各种控制。
缺点:
1. git的界面操作不友好,习惯界面操作的人员刚开始可能不太能接受。
2. 对于复杂一点的功能,使用起来有点难度。