zoukankan      html  css  js  c++  java
  • 大二下学期阅读笔记(人月神话)

      今日阅读了人月神话中,20年后的人与神话部分,其中提出了人月神话的核心观点:概念完整性和结构师。

      概念完整性。一个整洁、优雅的编程产品必须向它的每个用户提供一个条理分明的概念模型,这个模型描述了应用、实现应用的方法以及用来指明操作和各种参数的用户界面使用策略,。用户所感受到的产品概念完整性是易用性中最重要的因素。(当然还有其他因素。Maci nt osh上所有应用程序界面的统一就是一个重要的例子。此外,有可能建立统一的接口,尽管它可能很粗糙,就像 MS-DOS。)

      有很多由一个或者两个人设计的优秀软件产品例子。大多数纯智力作品,像书籍、音乐等都是采用这种方式创作出来的。不过,很多产业的产品开发过程无法负担这种获取概念完整性的直接方法。竞争带来了压力,很多现代工艺的最终产品是非常复杂的,它们的设计需要很多人月的工作量。软件产品十分复杂,在进度上的竞争也异常激烈。

      任何规模很大或者非常紧急,并需要很多人力的项目,都会碰到一个特别的困难:必须由很多人来设计,但与此同时,还需要在概念上保持与单个使用人员的一致。如何组织设计队伍来获得上述的概念一致性?这是《 人月神话 》关注的主要问题。其中一点:由于参与人数的不同,大型编程项目的管理与小型项目在性质上都不同。为了获得一致性,经过深思熟虑的,有时甚至是英勇的管理活动是完全必要的。

      结构师。从第 4 到第 7 章,我一直不断地在表达一个观点——委派一名产品 结构师 是最重要的行动。结构师负责产品所有方面的概念完整性,这些是用户能实际感受到的。结构师开发用于向用户解释使用的产品概念模型,概念模型包括所有功能的详细说明以及调用和控制的方法。结构师是这些模型的所有者,同时也是用户的代理。在不可避免地对功能、性能、规模、成本和进度进行平衡时,卓有成效地体现用户的利益。这个角色是全职工作,只有在最小的团队中,才能和团队经理的角色合并。结构师就像电影的导演,而经理类似于制片人。

      将体系结构和设计实现、物理实现相分离。为了使结构师的关键任务更加可行,有必要将用户所感知的产品定义——体系结构,与它的实现相分离。体系结构和实现的划分在各个设计任务中形成了清晰的边界,边界两边都有大量的工作。

      体系结构的递归。对于大型系统,即使所有实现方面的内容都被分离出去,一个人也无法完成所有的体系结构工作。所以,有必要由一位主结构师把系统分解成子系统,系统边界应该划分在使子系统间接口最小化和最容易严格定义的地方。每个部分拥有自己的结构师,他必须就体系结构向主结构师汇报。显然,这个过程可以根据需要重复递归地进行。

  • 相关阅读:
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    controller配置方式总结(继上)
    架构师的自我修养
    SpringMVC快速入门
    第十六章:字节流与字符流
    第十五章:文件操作
    第十四章:类库使用案例分析
  • 原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/14805483.html
Copyright © 2011-2022 走看看