第一章 建模和UML
2015-02-08 09:41
148 查看
在软件行业中,可以认为 利润 = 需求 - 设计,
需求工作致力于解决"产品好卖"的问题,设计工作致力于解决"降低成本"的问题。二者不能相互取代。如果需求和设计不分,利润就会缩水。从需求直接映射设计,会导致功能分解,得到重复代码。如果从设计出发来定义需求,会得到一大堆假的“需求”。
简单归纳一下,需求和设计有如下的区别:
1、需求:卖的视角、具体、产品当项目做。
2、设计: 做的视角、抽象、项目当产品做。
设计源于需求,高于需求。
我们可以通过以下几个核心工作流来达到“低成本制造好卖的产品”.
1、业务建模: 描述组织内部的各系统(人肉系统、机械系统、电脑系统...)如何协作,使得组织可以为其他组织提供有价值的服务。(业务流程)
2、需求: 聚集于待开发系统的边界,详细描述系统要卖得出去必须具有的表现.(功能和性能)
3、分析: 提炼系统内需要封装的核心领域机制。 (核心科技)
4、设计: 将核心域和非核心域知识结合起来,最终实现系统。
对于上述四个核心工作流,可以通过四句话来阐述:
1、组织要解决什么问题?(组织内系统之间)
------ 业务建模
2、为了解决组织的问题,待开发系统应该提供什么功能和性能?(系统边界)
------ 需求
3、为了提供功能,系统内部应该有什么样的核心机制?(系统内核心域)
------ 分析
4、为了提供性能,系统的核心机制如何用选定平台实现?(系统内各域之间)
------ 设计
同时,我们应该知道软件需求不是由涉众直接提供的,而是由需求工程师综合不同涉众的利益编造出来的。涉众没有资格、也没有责任提供需求。
和涉众交流的形式应该采用视图,而不是模型。和涉众交流的内容应该聚焦涉众利益,而不是需求。
需求工作致力于解决"产品好卖"的问题,设计工作致力于解决"降低成本"的问题。二者不能相互取代。如果需求和设计不分,利润就会缩水。从需求直接映射设计,会导致功能分解,得到重复代码。如果从设计出发来定义需求,会得到一大堆假的“需求”。
简单归纳一下,需求和设计有如下的区别:
1、需求:卖的视角、具体、产品当项目做。
2、设计: 做的视角、抽象、项目当产品做。
设计源于需求,高于需求。
我们可以通过以下几个核心工作流来达到“低成本制造好卖的产品”.
1、业务建模: 描述组织内部的各系统(人肉系统、机械系统、电脑系统...)如何协作,使得组织可以为其他组织提供有价值的服务。(业务流程)
2、需求: 聚集于待开发系统的边界,详细描述系统要卖得出去必须具有的表现.(功能和性能)
3、分析: 提炼系统内需要封装的核心领域机制。 (核心科技)
4、设计: 将核心域和非核心域知识结合起来,最终实现系统。
对于上述四个核心工作流,可以通过四句话来阐述:
1、组织要解决什么问题?(组织内系统之间)
------ 业务建模
2、为了解决组织的问题,待开发系统应该提供什么功能和性能?(系统边界)
------ 需求
3、为了提供功能,系统内部应该有什么样的核心机制?(系统内核心域)
------ 分析
4、为了提供性能,系统的核心机制如何用选定平台实现?(系统内各域之间)
------ 设计
同时,我们应该知道软件需求不是由涉众直接提供的,而是由需求工程师综合不同涉众的利益编造出来的。涉众没有资格、也没有责任提供需求。
和涉众交流的形式应该采用视图,而不是模型。和涉众交流的内容应该聚焦涉众利益,而不是需求。
相关文章推荐
- UML行为建模图——— 活动图
- UML统一建模语言
- 【UML 建模】在线UML建模工具 ProcessOn 使用详解
- 五个免费UML建模工具推荐
- UML建模系列文章总结
- 利用 UML 概要文件 (UML Profiles) 定制领域建模,第 1 部分: 创建和部署工
- UML建模之类图&包图&对象图
- 第一章 面向对象软件工程与UML
- UML建模浅析
- UML建模之活动图介绍(Activity Diagram)
- 支持团队开发的UML建模和CASE工具MagicDraw
- [转载] 基于扩展UML的多Agent系统建模方法
- 标准建模语言UML的动态建模机制
- UML建模之类图--UML类图几种关系的总结
- 选择一种UML建模工具
- 建模各阶段以及相关UML构造笔记
- 用UML进行有效业务建模(编译)
- UML建模之数据建模(Data Model Diagram)
- Rose与PowerDesigner:两款UML建模工具的对比
- 设计模式——UML建模的重要知识类图关系和基本的设计原则小结