个人作业week-1-14061195

  • 软件:

    根据维基百科,

    The first theory about software—prior to creation of computers as we know them today—was proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem (decision problem).

    由此可见“软件”这一概念最早出现在1935年图灵的一篇题目为“computable numbers with an application to the Entscheidungsproblem (decision problem)”的论文。并最终引导了计算机科学和软件工程这两大学科的产生。

    This eventually led to the creation of the twin academic fields of computer science and software engineering, which both study software and its creation. Computer science is more theoretical (Turing's essay is an example of computer science), whereas software engineering focuses on more practical concerns.

  • 软件工程:

    根据《构建之法》,我了解到,软件工程这一概念最早起源Margaret Hamilton,Margaret 是在阿波罗计划中被创造出来的,当时人们普遍认为软件是一种艺术,而不是 一种科学,而她坚信软件是二者的结合,并致力于为软件与开发者争取应有的尊重。

    同时我也了解到在1968年北约的计算机科学家在讨论软件危机时,正式提出并使用了“软件工程”这个名词。

  • 一些版本控制软件:

  Microsoft TFS:根据一些博客、回答,我总结了一下,TFS搭建维护比较复杂,对硬件要求高,但是对敏捷、过程管理、过程改善的支持较好,但是能真正应用起来的人很少,很少有人能发挥它的全部实力

  Git:免费开源,分布式,极其方便,可从服务器上克隆完整的Git仓库,最大特色是其强大的分支、合并、回退功能,对于各种操作都能详细记录下来并且恢复成某个特定的版本,可以容易解决冲突,比较适合分布式开发,但是据说学习周期较长。

  

  • 阅读《构建之法》提问:(由于阅读粗略。。请见谅)

  0.软件具有易变性,我们如何在最初的开发中设计好程序的结构使其易于扩展呢?或者说,我们如何能在最初的开发中就预见到未来不断改变的需求呢。尤其是当我们连一点用户反馈的时候都没有的时候。

  1.官僚模式下,程序员应当如何正当提出领导者的错误同时不被领导反感并使其虚心听从技术人员的建议?

  2.在结对开发的磨合环节中,如果此时面临严峻的任务要求,如何加快磨合进度,还是说,此时严峻的任务要求,就足够加快结对的磨合了?

  3.在团队开发中,个人贡献量究竟如何衡量?根据代码量?跟据修复的bug量?由于团队中个体处于不同位置,个体的具体任务也不一样,这样如何公平,或者说有一个让团队信服的个人贡献衡量策略?

  4.关于软件工程师的职业道德这个问题,关于阿里月饼案件,阿里开除涉事程序员这一举措,是否合理?是否过重了,这次事件对涉事程序员的职业生涯有多大的影响?

 

 

posted on 2016-09-17 11:34  ChildishChange  阅读(226)  评论(1编辑  收藏  举报

导航