1.建模和uml
-
软件开发的需求目的是:让系统更加的好卖
-
软件开发中设计的目的是:降低开发维护成本
-
利润 = 需求 - 设计
-
需求和设计不分,利润就会缩水
- 从需求直接映射设计,会得到大量重复的代码
- 从设计直接定义需求,会得到一堆假需求
-
需求:
-
需求包是基于涉众视角对系统功能分包而得到的
-
子系统是基于内部视角根据系统部件的耦合和内聚情况切割而得到的
-
-
设计源于需求,高于需求
-
需求和设计的区别
需求 设计 卖的视角 做的视角 具体 抽象 产品当项目做 项目当产品做
2.建模工作流
-
业务建模:描述组件内部各个系统(人脑系统,或者非人系统)如何协作,使得组织可以为其他组织提供有价值的服务
-
需求:为了解决组织的问题,系统必须有功能和性能
-
从卖的视角思考涉众的利益
-
需求工作流的结果:需求规约是卖和做的衔接点
-
-
分析:为了满足功能需求,找到系统的核心域机制
-
设计:为了满足质量需求和设计规约,核心域机制如何映射到选定的平台
-
不同工作流的区别不在形式而在于内容(思考的边界)
-
不要把敏捷迭代作为偷懒的庇护所
-
需求和设计的两种途径:
- 用于表达建模得到的结果,如:需求和设计不是一一对应的
- 用于表达建模的工作流,即:需求工作流和设计工作流
- 为了得到需求:需要做的建模工作流有:业务建模和需求
- 为了得到设计:需要做的建模工作流有:分析和设计
-
在开发过程中不要用草图,本质上是想通过形式的丑陋掩盖内容上的丑陋
3.UML图
- 需要掌握的三种uml:用例图、序列图、类图
结构图 | 行为图 |
---|---|
类图、组件图、对象图等 | 活动图、用例图、状态机图、交互图(序列图、通信图、时间图等) |
网友评论