码迷,mamicode.com
首页 > 其他好文 > 详细

个人作业1

时间:2016-09-14 23:13:30      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

1:构建之法阅读问题汇总

(1)我对书中提到的关于初级软件工程师与高级软件工程师差别的这一部分还是有些困惑。对于这个问题,书上首先是用了篮球运动员的例子作比喻,大体上解释清楚了不同级别软件工程师之间的区别。但是感觉书中并没有很清楚的表明我们如何才能进步成为一个较高水平的软件工程师,我们应该做些什么,怎么去做,优先去掌握哪些技能。

(2)书上第四章提到了一个名词,同时老师上课也提及过这个名词:极限编程,这个词书上有过一点介绍,但是没有特别详细的介绍,这个名词具体代表什么,希望能给出详细的例子和具体的定义。

(3)书中从结对编程开始,就一直在强调团队配合,强调团队协作。对于这方面,如何才能保证团队可以正常运转,在遇到问题时是应该求同存异,还是说据理力争,亦或是一味忍让,配合的底线是什么,目的是什么。当团队中存在能力较强的人,但是同时你觉得自己的意见更好,这样表达自己的意见以至于让人信服与接收。同时,作为能力较强的人,如何在产生分歧时能够让团队信服自己的判断。

(4)对于书中提到的关于编程可读性的问题。对于规范编程的确对于软件的维护有着重大的意义,但是有人提出过在公司开发软件时,如果写的程序除了自己以外别人难以维护对于开发者而言往往是件好事,因为这样这个软件就会更依赖你,自己被炒鱿鱼的可能性也会降低,私以为这个说法有点道理,事实上这个说法是否正确呢。

(5)要做到IT行业的创新应该拥有怎样的素质,作为一名在读本科生,可以通过哪些渠道提高自己的创新意识

(6)软件质量与成本之间的关系,众所周知,软件的质量对于软件而言是很重要部分,但是往往,软件的质量的提升会伴随着成本的提高,如何平衡好二者的关系。

 

 

2:“软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人:

“Software”:这个单词最早出现在出版物中是由Richard R. Carhart 于1953年8月出版的书籍。2000年,耶鲁法学院的图书管理员Fred Shapiro发表了一封信,这封信揭露了其在对JSTOR的电子档案的搜索中,发现在由美国数学家Tukey于1958年发布的论文"The Teaching of Concrete Mathematics"中,提到了对于单词“software”的用法。1995,Paul Niquette声称他在1953年十月最初创造了这个词,虽然他没能找到任何资料支持他的说法。

“Software Engineering”:是由 Margaret Hamilton 发明的, Hamilton是一个自学程序设计,并且当上 MIT 软件工程测试实验室主任(也就是为美国太空总署 NASA 开发电脑系统的单位)的女性。它在阿波罗计划期间发明了“Software Engineering”一次,她在采访中说到:“软件在这个计划的初期还被当作初初学步的孩子一般对待,完全不像其他工程学科;例如像硬件工程那样的受到重视,而且在大家的眼光中他就像是艺术、魔术一般,而不是一门科学。我一直以来坚信这项发明流着艺术与科学的血液,虽然当时很少人是这么想。因此,我致力于为软件以及那些发明者争取应有的正统性与尊重,所以我开始使用“软件工程”这样的字眼来将之与硬件还有其他工程学类做出区别。当我第一次使用这样的语词时,大家都觉得有些好笑,甚至有很长一段时间被当作笑话。他们常笑我极端的想法。但最终,软件学科确实得到了应有的尊重!

 

 

 

 

3:目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点

Microsoft TFS:

优点:

       1.任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用

       2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM

       3.能与 VS 无缝接合

缺点:

        1.整个系统是用 asp 实现的,用浏览器访问相当慢(不知道是不是服务器性能太低还是我个人用的电脑配置太低)

        2.从 IE 上访问、填写各种开发、测试记录,也是很慢,感觉不如 mantis  BT 这样基于 php 的那么方便、迅速

        3.XP 系统无法访问,还得是64位的。所以把电脑的整体性能拖下来了

 

Git:
优点:

  1.比svn更快速的分支切换,因为分支都在本地。这使得git特别适合处理临时需求,或者小实验。

  2.有一个全世界最大的开源社区——github,上面可以看到各种优秀的各语言代码,去官网语言列表看看才知道有那么多语言,就跟奥运会开幕式才知道世界上有那么多国家一样

缺点:

  1.因为是分布式的,每台机器上都commit的时候,有的时候忘记了push到远程服务器(github),那就不同步了。不过常常status一下看看状态,问题不

 

 Mercurial

优点:
  1:更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
  2: 更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。 对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。

 

Bitbucket:

  1.无限制的私有仓库个数
  2.无限制的磁盘空间
  3.同时支持https/ssh
  4.Bug 跟踪
  5.项目Wiki
  6.API 支持
  7.灵活的权限控制
  8.可自定义域名
  9.RSS 修改记录输出
  10.自定义下载

 

个人作业1

标签:

原文地址:http://www.cnblogs.com/yexc/p/5873620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!