[在职软件工程]面向对象的分析与设计
第一部分 基础篇
第1章 面向对象方法概述
对象,:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和施加于这组属性的一组操作构成。
类,:具有相同属性和操作的一组对象的集合。
封装,把对象的属性和操作结合成一恶搞独立的系统单位,并尽可能隐蔽对象的内部细节
继承,特殊类拥有其一般类的全部属性与操作
聚合,两个类之间的一个二元关系,它表示一个类的对象实例以另一个类的对象实例作为其组成部分
关联,两个或者多个类上的一个关系
消息,消息是对象之间在一次交互中所传送的信息
多态,被类继承后,可以具有不同的数据类型或表现出不同的行为
第2章 不同的分析与设计方法
功能分解法,结构化方法,信息建模法,面向对象方法
优点:1.问题域和系统责任的复杂性 2.交流问题 3.需求的变化 4.软件复用的要求
第3章 统一建模语言UML简介
OOA模型框架,OOA过程模型
第4章 本书的OOA&D方法概貌
OOD模型框架,OOD过程模型
第二部分 分析篇
第5章 建立需求模型--用况图
系统边界
参与者:1.人员 2.设备 3.外系统
用况:是对参与者使用系统的一项功能时所进行的交互过程的描述,其中包含由双方交替执行的一系列动作。
参与者与用况之间的关系:延伸,包含,泛化(继承)
开发过程:1.确定系统边界。2.发现参与者 3.定义用况 4.建立用况之间的关系 5.确定参与者和用况之间的关系 6.绘制用况图
没有充分地使用用况图提供的
建模元素
第6章 发现对象,定义对象类
1.考察问题域:人员,组织,物品,设备,抽象事物,事件,文件,结构
2.考察系统边界
3.对照系统责任
------------------------------------------------------------------
策略与启发
◦ 考虑问题域
人员,组织,物品,设备,抽象事物,文件,结构
◦ 考虑系统边界
人员,设备,外系统
◦ 考虑系统责任
--------------------------------------------------------------------
问题域
◦ 人员
买家、卖家、系统管理员、业务管理人员
◦ 抽象事物
支付宝账户、支付平台-银行交易信息、买家-卖家交易信息、
客户充值/提现交易信息
◦ 结构
一般-特殊结构:普通用户、工作人员
整体-部分结构:实名认证资料(卖家)
考虑系统边界
◦ 与银行网关接口、与商户系统接口
考虑系统责任
◦ 检查疏漏的对象
第7章 定义对象的属性和操作
属性:是用来描述对象静态特征的一个数据项
操作:是用来描述对象动态特征的一个动作序列
实现接口:空心三角形+虚线
第8章 建立对象间的关系
一般特殊结构:继承,泛化:空心三角形+实线
整体与部分结构:聚合,空心菱形+实线;组合实心菱形+实线
关联:实线
<<call>>
消息:--------------->
依赖:虚线箭头
第9章 建立辅助模型
包图:是一种把元素组织到一起的通用机制。包之间的关系:引入,访问,合并。
顺序图:对象之间如何进行交互。对象(生命线),操作(控制焦点,执行规约),消息(激发)
活动图:流程图。动作和活动,判断与合并,分叉与汇合,起点,活动结束和流结束,活动边,泳道
状态图:例子,电话的状态。
构件图:接口,实现与使用。
部署图:
第10章 模型规约
对软件的建模中产生的模型所做的详细解释与说明。
对模型的细节进行详细解释和说明
图形文档不够详细、精确
类规约
◦ 类的总体说明、属性说明、操作说明、。。
对用况图的规约
◦ 对每个用况进行文字描述
对其他模型图的规约
第三部分 设计篇
第11章 问题域部分的设计
在OOA的基础上,按照具体的实现条件进行必要的修改,调整和细节补充而得到的。
1.针对编程语言支持能力的调整:继承和多态的调整
2.增加一般类,提供共同协议
3.为实现复用采取的设计策略
4.提高性能
影响性能的因素:数据传输时间,数据存取时间,数据处理时间
a.调整对象分布b.缩短对象存取时间.c.合并消息频繁的类.d增加属性以减少重复计算.e.降低算法的计算复杂度.f.细化对象的分类.g将复杂对象化为整体-部分结构
5.为实现对象持久化存储所做的修改
6.完善对象的细节
a.弥补OOA模型的不足 b.解决OOA阶段推迟考虑的问题 c.设计对象的操作 d.设计表示关联的属性 e.设计表示聚合关系的属性
7.定义对象实例
8.修改或补充辅助模型及模型规约
建立于OOA文档的映射
---------------------------------------------------------------------------------------------------------
第12章 人机交互部分的设计
人机交互部分的需求分析:
1.分析参与者
2.从用况分析人机交互
3.分析处理异常事件的人机交互
4.命令的组织
5.输出信息的组织
人机界面的设计准则:
1.使用简便 2.一致性 3.启发性 4.减少人脑记忆的负担 5.减少重复的输入 6.容错性 7.及时反馈
------------------------------------------------------------------------------------------------------
第13章 控制驱动部分的设计
第14章 数据接口部分的设计
第15章 构件化与系统部署
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架