• 软件工程第一次阅读作业


    一、关于构建之法得一些问题

     

    1、第四章 -- 结对编程

    关于结对编程,构建之法中得原文中是这么描述得,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等。 对于书上得描述,我个人认为,这样得结对编程虽然可能会一定程度上降低在编码中得错误率,但是与此同时也会不可避免得带来效率上得降低,两个人面对一台机器的效率,个人认为是比不上两个人分工好以后 各自去实现自己的接口,然后互相调用各自的接口来得效率要高。只要每个人测试号自己负责的模块,也可以保证较低的错误率。

    2、第三章 -- 选哪一种医生

    原文如下:

    a)刚刚在书上看到你的病例,开刀的过程中非常认真严谨,时不时还要停下来翻书看看…

    b)富有创新意识,开刀时突然想到一个新技术、新的刀法,然后马上在你身上试验…… ​ c)已经处理过很多类似的病例,可以一边给你开刀,一边和护士聊天说昨天晚上的《非诚勿扰》花絮…… ​ d)此医生无正式文凭或正式医院的认证,但是号称有秘方,可治百病。

    在这个问题上,我觉得,就医生这个职业,相信大家都会更愿意信任经验丰富,身经百战的医生。现实生活中也是如此,如果真的需要手术的话,很多人宁愿多等几天,也要预约一个经验丰富的老医生来亲自主刀。但是作为一个要随时应对客户不断更改的需求,我们更多的情况是没机会是去先去磨炼自己个两三年,然后回来为客户完成需求,我们只要做到如 a 那样,异常谨慎,仔细学习,确保正确的情况下,完成客户需求,保证客户体验感即可。

    3、第十章 -- 典型用户

    这个问题下我就不列举原文了,只是在读完这一章节以后比较好奇,我们在搜集完全部的典型用户的特征以后,从收益投入比最大的角度来看,我们是否可以放弃一小部分十分不同于大众的典型用户群体呢?

    4、第十六章 -- 大家都喜欢创新

    原文中提到,在算法和数据库领域,创新的想法一开始往往不被接受 ,以及面对自己的创新不被接受的时候要做到So, resumitt! PLEASE!!! ,这点我个人觉得,提出创新固然是好事,但是我们于此同时的也要考虑这将会给这个社会带来多大的变动,划时代的变革的确会极大的推动时代的发展,但是它也可能会使一代人付出代价.我们的创新最终的目的也是为了我们全人类能够更好的生活,如果这个创新过于超出这个时代,个人觉得还是先做好先前铺垫工作,才能让社会更好更平稳的向前推进。

    5、第十七章 -- 猪、鸡和鹦鹉的故事

    原文内容:加入一个团队时,要弄清楚自己在团队中投入的级别是什么,别人的期望值是什么。不要拿着卖白菜的钱,操那卖白粉的心——太不值得。 在一个创业团队中,既然大家已经组成了一个team,那么大家对我们现在要做的东西都要负起高度的责任,虽然大家投入的成本不一样,但是发现问题,解决问题,最后收益的也是我们团队中的每个人。

     

    二、“软件” 和 “软件工程” 的来源

     

    软件:最早在工程背景下出版的术语“软件”是由Richard R. Carhart在兰德公司研究备忘录中于1953年8月出版的,所以软件一词应是 Richard R. Carhart 率先提出。

    软件工程: 软件工程一词是Margaret Hamilton在1969 年负责编写阿波罗登月代码是提出的。

     

    三、主流项目管理软件的优缺点介绍

    目前项目管理软件中,比较受人们青睐的有Microsoft TFSGitMercurialGitHubBitbucketTracBugzillaRationalApple XCode。这几款软件几乎占据了所有使用项目管理软件的用户。但是他们究竟有何不同呢?这些软件的优缺点总结如下。

    • Microsoft TFS

      优点:与VS 结合,界面功能全面

      缺点:实际使用不方便,浏览器访问速度过慢

    • git

      优点:灵活,速度快,强调个体,离线工作

      缺点:学习周期长,代码保密性差

    • Mercurial

      优点:有revset,扩展性好,append only的存储结构

      缺点:分支管理不灵活,不适合大型团队使用

    • GitHub

      优点:基于web, 支持源代码管理,界面优美

      缺点:上手难度较高

    • Bitbucket

      优点:对小团体免费,通过社交媒体和GitHub认证,支持导入较多其他类型的版本管理工具,如 git.

      缺点:不开源,系统不稳定

    • Trac

      优点:十分灵活,有良好的扩充性。

      缺点:不支持多项目,需求和门栏没有分离

    • Bugzilla

      优点:免费,且有中文版

      缺点:只能管理缺陷,功能不健全

    • Rational

      优点:更快的反应能力,更强的适应性。

      缺点:软件体积过大。

    • Apple XCode

      优点:自动创建分类图表,自动提供撤消、重做和保存功能,无需编写任何编码

      缺点:更新版本时可能会导致部分插件失效

    经查阅,以下是热门软件的用户量比较:

    • GitHub : 31,000,000

    • Bitbucket : 5,000,000

    • GitLab : 100,000

     

    参考资料

  • 相关阅读:
    因为这几个TypeScript代码的坏习惯,同事被罚了500块
    如何设计好分布式数据库,这个策略很重要
    线程、多线程和线程池,看完这些你就能全部搞懂了
    章方:征服耶鲁教授的算法大神程序媛
    从零开始学python | 使用Python映射,过滤和缩减函数:所有您需要知道的
    c# 优化代码的一些规则——用委托表示回调[五]
    mysql 重新整理——索引优化explain字段介绍一 [九]
    mysql 重新整理——索引优化explain简单介绍 [八]
    mysql 重新整理——索引简介[七]
    mysql 重新整理——七种连接join连接[六]
  • 原文地址:https://www.cnblogs.com/baishihao/p/10471508.html
Copyright © 2020-2023  润新知