1、结构化思想(功能化思想,c语言)
1)自顶向下,逐步分解
2)模块化设计,逐步分解
3)三种程序设计结构:顺序、选择、循环
4)不支持,不提倡 goto 语句,会打破模块化设计框架
优点:
1)目标可解,开发有序,目标明确,层次清晰,问题可控
2)模块相对独立,积木式
3)结构良好,容易调试
缺点:
1)不支持需求变化
2)不支持多线程,并行计算
3)以功能为中心,功能在开发过程中最容易改变(功能发生偏差)
2、信息化建模思想(sql语言)
E_R_A(entity_relation_align):实体、关系、属性
在ER图中,数据和对数据的加工过程不密封
3、面向对象思想(用c++或者其他面向对象的语言来联合理解,因为面向对象语言是面向对象思想的载体)
1)抽象:从事物中舍弃次要的因素,非核心的、非本质的特征
<1>过程抽象:函数、过程、操作、方法、功能
(对应c++中的 函数 和 类方法)
<2>数据抽象:变量,参数,属性
需要注意的是:系统的不同阶段的抽象层次不同,
2)分类:按照某种原则进行了事物划分
<1>降低了复杂度
<2>将多个对象划分成一类,抽象为对象
3)封装:将对象的属性和方法封装在一起,形成一个实体
优点:
<1>信息隐藏
<2>避免交叉感染(改动一处,需要修改全局)
<3>实现了可见性控制(public/private/protected)
4)消息:对象间发出操作的请求
<1>一个消息包括:消息名、入口、出口、参数
<2>对象收到不同消息做出不同的反应
<3>相同的消息给不同的对象做出不同的反应
<4>对象接收到消息,可以响应,也可以不响应
5)多态:不同对象对同一消息会有不同的响应
<1>重载(template)
<2>抽象方法
<3>接口
<4>抽象类
6)对象行为分析:
<1>改变对象属性 和 对象间服务(学生成绩管理系统)
<2>系统行为(环境操作) 和 对象自身行为(内部操作)
<3>主动行为(自发行为) 和 被动行为(接收消息响应)
7)复杂性控制:
<1>对复杂系统,应按粒度进行控制,经验证,人可以同时关注 7 += 2 个
(在可视化编程的时候)
面向对象技术和UML——软件开发思想
最新推荐文章于 2023-07-16 15:17:11 发布