• 读《大道至简》第六章有感


        第六章的标题为“从编程到语言”。在这章里,作者提供给我们了一幅关于软件工程的图,可以看到,程序位于图的最内部。之后则是方法,这里的方法指的是面向过程方面的。方法之后则是过程,过程便是指模型与模型语言。过程之后则是工程,工程是由构成来构建的,工程还包含需求管理、配置管理以及文档化。最后才是包含了管理与计划的组织。也可以说作者这个图为软件工程分好了层次。

        第一节的标题为“语言只是工具”。作为编程人员,最常接触的便是编程语言了,自然而然的就会找到自己所喜欢的编程语言,甚至会有些排斥其他的语言,然而他们都舍本逐末了,编程语言也只是语言,只是用来编程的工具,语言既不是程序也不是工程,它只是一种我们用来与电脑沟通的语言,只是一种沟通工具。

        第二节与第三节的标题分别为“程序”与“方法”。在第二节里,又一次强调了编程的精义,即“编程=算法+结构”。第三节里,方法是实践的产物,而不是某个人或者某个组织创造,方法是实践积累达到衣服那个程度后的产物。而且,我们日常的正在做的、从事的和实现的都在应用这着方法,只是我们可能没有将之成为方法而已。要想能够理解那些那些方法所蕴含内在规律,就要多回顾、理解与分析。

        第四节与第五节的标题分别为“工程”与“组织”。过程伴生工程而出现。过程是用来解决工程中角色间的关系问题,过程中的问题,就是角色、沟通和环节的问题。角色的确定以及角色间的沟通问题,是很重要的。最狭义的工程,是对目标的描述和成果的检测。工程是因软件规模的不断增大而出现的。所以,在软件规模不断增大的前提下,软件公司应该具有团队意思,以适应生存。

        第六节与第七节的标题分别为“组织”与“BOSS”。工程关心的是需求、配置和文档等该类的要素,关注的还是工程的实现细节,而非目标。而组织则需要关注于人力资源、项目资金以及多个项目之间的协调等。组织者的任务便是回顾每一个项目,以及与团队成员交流的细节。BOSS其实不是给你发钱的那个人,真正的BOSS是经营者,清楚BOSS是谁,有助于你明确被雇来的原因等内容。

       第八节标题为“上帝之手”总结了上文的内容:实现是软件开发的本质需求。方法是对既有行为的归纳总结,因而方式最先出现的,而后才有分析和设计方法。为了实现更大规模的软件系统而有了团队组织模式,而团队的协作决定了过程模型的产生,在过程环节中的沟通问题导致了(模型化)语言的出现。软件工程的体系中,“实现”作为软件开发的本质需求和基本动因,如同上帝之手在推动这几十年来的软件工程理论体系的形成。

  • 相关阅读:
    [译文] 实体与值对象到底是不是一回事?
    实现 WebApi 自托管服务宿主于 WinForms 及其交互
    [译文] C# 8 已成旧闻, 向前, 抵达 C# 9!
    [译文] 为什么你在 C# 里总是应该使用 "var" 关键字
    通过设置iis在局域网中访问网页
    windows 10 安装使用kafka
    ASP.NET Core 2.1 中的 HttpClientFactory (Part 4) 整合Polly实现瞬时故障处理
    ASP.NET Core 2.1 中的 HttpClientFactory (Part 3) 使用Handler实现传出请求中间件
    ASP.NET Core 2.1 中的 HttpClientFactory (Part 2) 定义命名化和类型化的客户端
    Asp.net Core 2.0 OpenId Connect Handler缺失Claims?
  • 原文地址:https://www.cnblogs.com/dawn-sky/p/4937603.html
Copyright © 2020-2023  润新知