UML和模式应用学习笔记-1(面向对象分析和设计)
大学时曾经开过《UML和模式应用》的课程,当时没有引起足够的重视,只为了应付考试并没有真正掌握书中的内容;现在工作中经常要用到UML及设计模式,决定每周花点时间重新对书中的内容进行学习;本文章是对面向对象分析和设计内容进行简单的记录;
1:什么是分析和设计
分析:强调的是对问题和需求的调查研究,而不是解决方案。
设计:强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现;
有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计)
2:什么是面向对象的分析和设计
面向对象分析:强调的是在问题领域内发现和描述对象(或概念)。例如航班信息系统里包括飞机(Plane)、航班(Flight)、飞行员(Pilot)等概念;
面向对象设计:强调的是定义软件对象以及它们如何协作以实现需求。对应对象的属性及方法;
3:简单示例:(骰子游戏)
示例的内容:软件模拟游戏者掷两个骰子,如果总点数是7则赢得游戏,否则为输
此时我们要将其为分四个步骤进行:
(1)定义用例的:用例不是面向对象的制品,而只是对情节的记录;此处的用例场景为:游戏者请求掷骰子。系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输
(2)定义领域模型:在领域模型中展示重要的领域概念和对象,领域模型并不是对软件对象的描述,它使真实世界领域中的概念和想象可视化;因此它也被称为概念对象模型;
(3)定义交互图:面向对象设计关注软件对象的定义--它们的职责和协作;顺序图是描述协作的常见表示法,它展示出软件对象之间的消息流,和由消息引起的方法调用。
(4)定义设计类图:设计类图有效地表示类的静态视图,这样可以描述类的属性和方法;与领域模型表示的是真实世界的类,设计类图表示的是软件类。下图实例的部分类
感谢您的阅读,附件是本人关于此文UML的Visio源文件,只为练习自个画图的能力,若有错误或者不足欢迎指正;[附件下载]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
2011-10-27 UML 状态图