如何借助于UML完成我们对系统的设计?谈谈我的理解
2015-10-10 21:37
477 查看
首先要说的是我对面向对象的理解,以及设计类的依据: /article/5983169.html
理解了这篇文章,也就理解了现在要说的。
在面向对象编程的设计阶段,我们可以把设计出类作为一个目标,但是如果我们对进程执行什么样的过程没有清晰的掌握,那么也就无法确定进程需要用到哪些代码!就不可能谈如果对这些代码进行分类,直接画出准确的类图是困难的。数据库和类如何设计关键还是取决于进程的需求,没有通用的法则。我们采用不同设计方式的原因往往也是因为系统实际流程的需求不同。
所以还是应该先把进程的执行流程搞清楚,再来考虑数据库和类。不要急于画出“静态”的类图,先通过用例分析,大致了解系统中的每个进程需要执行一些什么样的代码(更具体的说就是,搞清楚进程需要调用goto语句跳转到哪些代码上去执行,当然,很多高级语言禁止程序员显式地使用goto关键字,而只能采用其他等价的方式,不过我们可以借助goto这个关键字来方便理解),再来思考这些代码如何进行分类,并形成模块。一个模块可以是子系统,包,类,函数等等,模块中的代码可以被不同的进程所执行,同一个进程也可以跳转到不同的模块执行代码。用术语来说,叫“用例分析”,这过程是迭代的。
理解了这篇文章,也就理解了现在要说的。
在面向对象编程的设计阶段,我们可以把设计出类作为一个目标,但是如果我们对进程执行什么样的过程没有清晰的掌握,那么也就无法确定进程需要用到哪些代码!就不可能谈如果对这些代码进行分类,直接画出准确的类图是困难的。数据库和类如何设计关键还是取决于进程的需求,没有通用的法则。我们采用不同设计方式的原因往往也是因为系统实际流程的需求不同。
所以还是应该先把进程的执行流程搞清楚,再来考虑数据库和类。不要急于画出“静态”的类图,先通过用例分析,大致了解系统中的每个进程需要执行一些什么样的代码(更具体的说就是,搞清楚进程需要调用goto语句跳转到哪些代码上去执行,当然,很多高级语言禁止程序员显式地使用goto关键字,而只能采用其他等价的方式,不过我们可以借助goto这个关键字来方便理解),再来思考这些代码如何进行分类,并形成模块。一个模块可以是子系统,包,类,函数等等,模块中的代码可以被不同的进程所执行,同一个进程也可以跳转到不同的模块执行代码。用术语来说,叫“用例分析”,这过程是迭代的。
相关文章推荐
- Maven常用的几个命令
- poj 2785 4 Values whose Sum is 0
- iOS学习之iOS沙盒(sandbox)机制和文件操作(二)
- php 去掉字符串的最后一个字符
- 《需求工程——软件建模与分析》读后感之一
- 项目整体管理与范围管理梳理
- 更换人脸(易容术)Photoshop实例教程
- 最大回文子串
- 《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:.geodatabase创建,创建时内容缺失问题总结
- asp.net(c#)网页跳转
- iOS 中线程与进程的区别
- 《需求工程-软件建模与分析》读书笔记一
- 数据结构--树
- javascript列表
- 高项学员:2015年10月10日作业
- 大数据基本知识结构
- 黑马程序员_JAVA之面向对象(封装,继承和多态)
- 《ArcGIS Runtime SDK for Android开发笔记》——翻译:ArcGIS Runtime SDK for Android 10.2.7发布
- asp.net页面间传值方式
- try捕获到的异常找来源