面向对象分析与设计
前言:
感觉书本上和线上课程, 讲的太抽象, 不好理解, 但软件开发不就是为了开发应用程序吗?!
干嘛搞这么抽象,对吧, 下面是个人对于软件开发的看法, 结合我的一些看法, 主打简单易懂,
当然,我一IT界小菜鸟, 对软件开发的认识也很浅显, 这个思维导图也仅仅是现阶段我的看法,
如果有不准确的地方, 欢迎留言, 你的留言是我更新的动力
前置知识---UML图
来源: 事务+关系==图
功能:
用例图
结构:
静态结构:
类图----类以及类之间关系
对象图--对象以及对象对象之间关系
物理架构:
组件图--构件图, 构件及其相互依赖关系
部署图--构件在各节点上的部署
行为:
顺序图--时序图, 强调时序的交互
协作图--通信图, 强调对象协作的交互
状态图--类所经历的各种状态
活动图--对工作流程建模
面向对象分析与设计:
特点:
当前主流分析与设计思想
面向类的设计, 是对现实世界的直接映射, 更符合人的思维逻辑与理解
面向对象分析模型
实现流程:
1.生成需求文档,
例如xxx需要执行xx操作
2.根据需求文档找到角色,
比如找名词
3.根据角色寻找所有用例,
询问角色需要做什么
4.寻找用例之间的关系, 确定最终用例,
关系是指UML四大关系
5.生成用例图
面向对象设计模型
概要设计
实现流程:
1.根据用例图生成类图:设计数据库表[数据/类设计]
1.寻找候选类--寻找名词, 寻找需要保存的结果
2.完善类属性--一般常识属性, 当前问题域属性
3.确定类之间的结构关系--UML四大关系
4.产生类图
5.根据类图, 设计数据库表
2.在用例图中, [体系结构设计]
根据参与者来划分子系统/功能模块--系统功能结构图,
确定软件构件及其关系--组件图
物理架构--部署图
3.接口设计
详细设计(部件级设计)
给出每个模块的程序流程图或伪代码