赞
踩
使用电梯仿真系统来解释下列各种图的关系
类图
为什么要使用用类图:
我们在开发系统的时候是不是经常采用 分而治之 的思想 即将其分解为较为简单的子系统。
而使用类图道理也是一样,目的就是为了简化逻辑,让我们的思维可以站在类级别的去考虑问题从而避免一开始就陷入细节
如电梯仿真系统中先识别出了以下类,所以我们就可以站在面向对象的角度考虑该仿真电梯的楼梯了
顺序图
用法:箭头开始处是调用该方法的对象,箭头指向处是拥有该方法的对象(当然有时候也可以表示简单的过程)
为什么要使用顺序图:因为顺序图可以直观的反应程序执行的过程,特别 在表示各个对象间的调用顺序,那么顺序图是一个很好的选择
如电梯仿真系统的运行全过程
li
流程图
用法:每一个圆角框表示一个活动即(主谓宾 或 谓宾结构)
为什么要用流程图:流程图可以清楚的表示完成某件事情中的各个活动过程,让我们可以站在人的思维去考虑代码而不是站在实现代码的角度去考虑程序
如电梯调度器运行过程
对应的代码
public void start() {
getElevator().start();
}
private Elevator getElevator() {
int type = compare.getType(); //获得电梯运行类型
switch(type){
case 0:
return null; //没有合适的
case 1: //两部电梯都静止
return closeElevator();
case 2: //有一部电梯静止,另一部运行
return staticElevator();
case 3: //两部电梯都运行
return compare.compareTwo();
}
return null;
}
状态图
类中的状态比较多样才有必要使用
如电梯运行的三种状态
总 结
其实程序设计应该是这样考虑的:大系统 分解成 小系统 ,小系统 分解成 各种类, 类 再分解成 各种函数。
之所以这样考虑其实就是将一个复杂的问题 通过一步一步的转化为较可实现的函数级别。
这样假设吧。叫你去做一个系统,假设你没有分解 那么是不是一开始就陷入细节了你会发现你不知道从那边开始入手
那么程序设计对于的分析设计顺序应该是。。先类图-->顺序图-->流程图 当然这不是固定的
类图和顺序图的关系:你可以试试看没有画类图去画一下顺序图 肯定不知道怎么画是吧。
一般情况下在分析程序的总体流程时用顺序图比较好:因为总体分析是站在类的角度去考虑的。类的关系一般都比较简单(高内聚低耦合)顺序图适用于简单的过程
顺序图和流程图的关系:想想要是一个方法里面有很多分支语句,那用顺序图肯定是很不好画了
一般情况下分析程序中的方法用流程图更好,因为流程图可以很好的反应各种复杂的逻辑。
综上:站在类的角度分析用顺序图较好,站在函数级别的用流程图比较合适
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。