您的位置:首页 > 其它

UML用户指南第二版-读书笔记-第1章-为什么要建模

2017-02-20 10:58 330 查看

建模的重要性

构建一个软件系统,最关键的是要编写出正确的软件,而不是编写大量不符合需求的软件。要生产优质的软件就要有一套关于架构,流程和工具的规范。

建模是为了方便地沟通我们系统的结构和行为,可视化和控制系统的架构,更好地理解我们正在构建的系统,经常可以帮助我们简化系统和复用组件,同时也可以管理风险。

建模是一项经过检验并广为接受的工程技术

模型是对现实的简化,提供了系统的蓝图

通过建模,可以达到的4个目的:

模型帮助我们可视化系统

模型指定系统的行为和结构

模型作为模版指导我们构建系统

模型文档化我们已经做过的决策

建模的原理

选择创建什么模型,对如何着手解决问题和问题的解决方案的形成有重要的影响

对于软件系统而言,你选择的模型很大程度上影响了你的看法。如果你站在数据库开发者的角度来构建一个系统的话,你很可能会聚焦在实体-关系模型,把他们间的行为表示成触发器和存储过程。如果你站在结构化分析员的角度的话,你可能最终会得到一个以算法为中心,数据从一个函数流到另一个函数的模型。如果你站在面向对象开发者的角度的话,你可能最终会得到这样一个模型:它的系统架构以大量类和交互模式(表示这些类之间如何一起运作)为中心。

可以在不同的精度级别上表示每一种模型

在任何情况下,最好的模型应该是这样的:它可以让你根据谁在观察和为什么他需要观察系统来选择不同的详细程度。分析人员和最终用户主要考虑做什么的问题,开发人员主要考虑怎么做的问题。这些人员都要在不同时间以不同的详细程度对系统进行可视化。

最好的模型是和现实相联系的

在软件领域结构化分析技术一个致命弱点就是在分析模型和系统设计模型之间没有基本的联系。随着时间的推移,这个不可填充的裂缝会使系统构思阶段和实施阶段出现不一致。在面向对象的系统中,可以把几乎独立的系统视图连接成一个完整的语义整体。

单个模型或者视图是不充分的,对每个重要的系统最好用一小组几乎独立的模型从多个视图去逼近

在这里,重要的短语是“几乎独立”。在这个语境中,它意味着各种模型能够分别进行构建和研究,但它们仍然是相互联系的。为了理解系统的体系结构,面向对象的软件系统需要几个互补和连锁的视图:用例图(揭示系统的需求),设计视图(捕抓问题空间和解决方案空间的词汇),交互视图(展示系统各部分之间以及系统和环境之间的交互),实现视图(为了达到系统的物理实现),部署图(着眼于系统工程问题)。每一个视图都有结构和行为部分,这些视图一起表示了系统的蓝图。

面向对象建模

传统的软件开发是从算法的角度进行建模

按照这种方法,所有的软件都用过程或函数作为其主要构造块。这种观点导致开发人员把精力集中于控制流程和对大的算法的分解。当需求发生变化(总是在变化)以及系统增长(总是在增长)时,用这种方法构建的系统就会变得很难维护。

现代的软件开发采用面向对象的观点进行建模

按照这种方法,所有的软件系统都用对象或类作为其主要的构造块。作者认为面向对象方法是软件开发方法的主流方法,适合于在各种问题中构建各种规模和复杂度的系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uml