作业课程名《软件工程原理和方法》:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/

作业要求:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2706

我在这个课程的目标: 能够熟悉掌握软件开发的步骤流程方法,拥有能独立开发简单程序的能力,和如何团队合作开发软件。

这个作业在哪个具体方面帮助我实现目标:软件工程师的成长和团队和流程。

一.建立博客并介绍自己

  我是软件工程17级的学生,作为一名大学生我并没有什么特别的专长,但是对什么都很好奇,对很多新奇的事都感兴趣。个人最大的爱好就是看书,不管是散文,小说还是诗歌我都很喜欢。还有一个爱好就是打游戏了,这也可能是我选择这个专业的一个原因吧!

二.阅读与思考

  

阅读以上材料,并回答下面几个问题:

(1)回想一下你初入大学时对软件工程专业的畅想

  • 当初你是如何做出选择软件工程专业的决定的?
  •      个人从小就比较喜欢精密的科技的东西,最早喜欢机械,后来爱上了电子产品。所以第一个原因就是兴趣爱好了。其实最早我想选物联网专业,后来了解到软件工程更能提高自己的能力,所以就选择了软件工程。
  • 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
  •       比较符合期待。经过两年的学习我已经大概明白计算机的工作原理,互联网的一些相关知识,我对这些的问题有很多得到了解决,对编程也有了一定的认识。所以我认为这些课程比较贴合我的所需。
  • 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
  •       是我喜欢的领域,但不是我擅长的领域。
  • 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
  •       将来会选择从事软件开发相关的工作。城市:成都 公司:没想过 岗位:没想过

(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
  •      我目前只会课堂所学的浅薄的C语言、C#等高级语言和一些数据库知识。专业知识还很薄弱。目前代码量还很少,基本上只做过老师的布置的任务和试验任务,基本没有主动写过代码。
  • 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
  •      我并不知道成为一个合格的软件工程专业本科毕业生需要哪些专业知识、技能、能力,但我感觉我的差距还很大。

(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?

      我会选择尽早工作。第一、我想尽早独立生活,不依靠父母。第二、工作相比学习更能促进我提高能力,更有动力去提高能力。

  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

       我可以更早的接触社会,并能更早的有实际的工作经验。但是基础知识、专业素养等没有那么扎实。

  • 针对你的选择,你给自己的大三设定的规划安排是什么?

        把所有的精力放在学习和编程能力上,做两到三个现实生活的项目。

三.提有质量的问题

  1.     我该如何理解什么才是一个程序的BUG?那些对于用户来说的BUG(包括程序员做出的多于功能和与用户意愿有冲突但已尽力的功能)我们该如何正确高效的处理?
  2.     在两人合作出现矛盾时,我该如何审视自己观点的正确性?是以改变自己为主还是改变他人为主?
  3.     在风险管理中,人员、流程、技术、环境哪个类别的风险更容易变成一个危机?
  4.     在一个软件工程中,应该优先做完功能(可能不能运行)还是优先做好(优先做出可以用的)功能?
  5.     一个软件的提示和帮助文件是越详细越好吗?

四.了解和调查源程序版本管理工具

1、Visual Source Safe的优缺点:

优点:如果开发工具是VS.NET,用VSS较合适,方便,安装配置和使用都简单,版本控制简单,打label后,要还原到这个版本较简单

缺点:基局域网,效率低,VSS自身安全性较差,只支持widows平台下

2、Concurrent Version System的优缺点:

优点:一度成为主流,不必担心数据流失,对中文路径名支持的较好,本地文件与库的对应可以多对多

缺点:不支持文件改名且只允许存储文件,管理员很难清楚的知道一个项目到底有多少个用户各用户的权限和密码是什么只能用分组的方式管理用户而且密码和权限还是不清晰

3、subversion的优缺点:

优点:支持文件重命名提交系统会提示删除旧文件,创建新文件,删除本地文件提交库中文件也被删除

缺点:要将权限控制文件保存为svn支持的UTF-8格式,一个库可以有多个工作目录但一个工作目录只能对应一个库虽然可以更改库位置但是要求很严格,库中文件存放方式,看不到文件真正的内容

4、Microsoft TFS的优缺点:

优点:是对敏捷,msf,cmmi等项目、过程管理、过程改善的支持。任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用。

缺点:能应用起来的团队、公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能。