个人作业 - Week1

列出5-10个不懂的问题

  • 本书3.1节提到,花多少时间可以作为衡量一个软件开发的工作量的因素,即一组人的工作量可以用“人数 x 时间”来表示,而《人月神话》一书则是反对这种衡量标准的,请问实际项目中这样的标准实用吗?

  • 3.1节讲的是个人能力的衡量与发展,请问代码量与个人的编码能力有直接关系吗?

  • 第4章花了很多篇幅讲结对编程,请问结对编程在实际项目中真的十分高效吗?是否有很广的适用性?

  • 9.6节讨论了风险管理,阐述了风险发生的情况和一些解决办法,请问能否提供真实的成功的风险管理案例?

  • 17.4节提到了有些人就是难以为团队做出贡献,反而还添乱,似乎是本性难移的。我认为素质的缺陷可以通过制度来弥补。面对这样的成员,是否能通过制定完善的规则去约束他,从而让他做得更好?如果能,能否提供一个成功的例子?

    谢谢。

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

  • “软件“起源:
    在介绍John Tukey的维基百科页https://en.wikipedia.org/wiki/John_Tukey#Statistical_terms上有这样一句话:

    The earliest known publication of the term "software" in an engineering context was in August 1953 by Richard R. Carhart, in a Rand Corporation Research Memorandum.

    说明”软件“一词起源于1953年Richard R. Carart的一篇研究备忘录。

  • ”软件工程“起源:
    对于”软件工程“这个术语的起源,维基百科上的History of software engineering页面https://en.wikipedia.org/wiki/History_of_software_engineering#1945_to_1965:_The_origins给出了三种说法,分别是:

    a 1965 letter from ACM president Anthony Oettinger, lectures by Douglas T. Ross at MIT in the 1950s, or use by Margaret Hamilton while working on the Apollo guidance software.

    可直译为:ACM首席Anthony Oettinger于1965年写的一封信;Douglas T. Ross在MIT于上世纪50年代开设的讲座;Margaret Hamilton在制作阿波罗项目的导航软件的时候使用的词。

大家知道了软件和软件工程的起源,请问软件工程发展的过程中有什么你觉得有趣的冷知识和故事?

敏捷一词来源于2001年初美国犹他州雪鸟滑雪圣地的一次敏捷方法发起者和实践者(他们发起组成了敏捷联盟)的聚会。

上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?

  • Microsoft TFS:

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

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

  • GitHub:

    • 优点:GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。

    • 缺点:可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。

  • Subversion:

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

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

  • Concurrent Version System:

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

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

  • Trac:

    • 优点:非常灵活,可以随心所欲控制可以和SVN集成。

    • 缺点:功能不是很强大。

  • Bugzilla:

    • 优点:免费,有中文版支持。

    • 缺点:快速搜索结果不准确。只能管理缺陷。

  • XCode:

    • 优点:界面简洁。编译速度极快,每次操作都很快速和轻松。

    • 缺点:自带编译器LLVM只支持C/C++/Object-C/Swift的编译,调试功能简陋。

posted @ 2017-09-26 20:39  captainYi  阅读(189)  评论(2编辑  收藏  举报