如题,应该从哪些角度去看待这个系统呢?
1,从系统功能角度去看,应该有哪几大功能,或者子系统,通过功能结构图可以描述
2,数据流动过程来看,每一个功能,他都应该有一个流程图,数据从哪开始,流经过哪,怎么处理,最终流到哪里....等等.
3,ER图,就是在数据库设计中的实体Entity 关系Relative图,与UML有点相像
在黑盒测试时,应该了解这些, 先从功能入手,细化每一个功能,最终的每个功能都应该有相应的操作流程. 之后遍历这些流程. 这样,思路就应该比较清晰.
功能是横向,流程是纵向. 这有点像时序图,几个功能一排,某个功能的具体操作流程,可能会与其它功能打交道. 其它功能处理完之后,又回到原功能流程中的某一步继续执行......
这就是面向过程开发 -----> OPP
这个方法,虽然可以设计并实现出一个系统,但随着系统庞大,复杂,这样处理起来将会越来越复杂.
OO的出现将大大降低这个复杂度,提高灵活度,安全性
尤其是封装 , 多态 , 通过面向接口编程,也大大降低偶合度.
之后利用现成的开源框架,分层处理,如:
针对Web应用来说有:
Web层/View层 -----(将请求封装为对象)--> 控制层 -----> 权限拦截层 ----> 业务层 -----> 持久层 ---------(ORMapping)----> 数据库
每层各尽其职, 不涉及跨层操作, 只认接口,下层向上层提供操作接口,
就像ISO/OSI七层模型一样
应用层 --> 表示层 ---> 会话层 ---> 传输层 ---> 网络层 ---> 数据链路层 ---> 物理层 ,
底层向上层接口服务接口
不过通过比较,发现, 这个分层图对应于OPP当中的数据流程图 , 也可以说定了一个标准,一个框架, 具体的业务逻辑,可以在业务层中有不同的操作
但从中可以发现, 不论是面向对象 , 还是面向过程 , 总体的设计应该还是 功能是横向,流程是纵向
起了个头,这里面所讲得都是我的理解过程, 并非一定正确, 欢迎大家一块讨论.