1 / 55
文档名称:

软件设计模式sdp-第1章.pptx

格式:pptx   大小:309KB   页数:55页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计模式sdp-第1章.pptx

上传人:rsqcpza 2022/7/31 文件大小:309 KB

下载得到文件列表

软件设计模式sdp-第1章.pptx

相关文档

文档介绍

文档介绍:软件设计模式
第一章 学****基础
提纲


UML的使用

软件工程的定义在业界有不同的表达。如,IEEE(Institute of Electrical aS系统生成订单并存储,COS系统向配餐员发送配送指令。
结构图以“自顶向下”的视角对系统进行可视化建模。,“下订单”、“生成订单”、“确认订单”、“支付订单”等模块之间的逻辑关系结构图。,“下订单”模块调用“生成订单模块”,并将“订单”数据发送至“确认订单”模块,最后调用“支付订单”模块获取支付结果。
模块
调用
数据参数
控制信息
图例
下订单
生成订单
确认订单
支付订单
计算订单金额
扣除账户
生成支付结果
订单
订单
确认结果
订单
订单
金额
金额
支付结果
COS系统订单模块部分结构图示例
由于没有明确软件或程序设计的优化规范,也没有定义软件需求分析和设计文档标准;当软件系统规模或复杂度达到一定程度后,使用结构化方法进行软件开发会变得越来越困难。而面向对象提出了一种以对象为中心的软件系统分析、设计与实现的软件开发方法,能够在应对较大规模或复杂度的软件系统构建问题上起到很好的作用。
软件开发方法
软件开发方法定义了如何实施软件开发周期模型的每个阶段任务,包括计划、构建和控制这些任务时所使用到的方法、工具及技术等。
常用的软件开发方法有:结构化方法,面向对象方法,敏捷方法,可视化方法等。

对象以域(Field,也称为属性)的形式表达数据或状态,以方法(Method)的形式表达过程或行为;对象间可以相互访问或修改域,也可以调用行为;对象具有一定的生命周期(从初始化到最终消亡);所有对象一起建立协作关系,向外部提供软件服务。如今,面向对象编程语言已经成为应用最广的软件开发语言,如Java、C#等。
面向对象特征
在面向对象的概念中,对象具有状态变化,一般使用类(Class)定义对象的类型(Type)。类是对象的泛化和抽象,是静态的,可以通过面向对象编程语言进行描述。
类的实例化生成具体的对象。
面向对象编程语言具有封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)等特征,用于实现软件系统业务模型具有天然优势。
封装是信息隐藏的一种形式。如果某个类将域或方法定义为私有(Private),则能够避免外部程序的干扰或错误访问。封装也能让程序员将业务相关性较强的数据或行为定义在一个类中,形成内聚度较强的代码单元,为软件解耦或复用提供便利。
继承是面向对象重要特征之一,允许类以层次结构实现代码定义和复用。同时,它也是物理世界中对象间关系的一种形式,能够使软件开发人员很容易地将目标领域的业务模型映射为技术模型。在继承关系中,被继承的类为父类,继承类为子类;子类可以继承父类的属性、行为和关系。
多态允许将父类型对象的引用指向不同的子类型对象,从而使得父类型对象依据指向的子对象实例,执行不同的行为。多态也是一种抽象编程形式,可以向客户端屏蔽子类型对象的差异,统一客户端对多态对象行为调用的形式,以达到客户端程序灵活适应需求变化的目的。
使用面向对象
在20世纪90年代,美国软件工程专家如Grady Booch、Ivar Jacobson等人较早地提出了面向对象软件开发技术。
早期的面向对象软件开发方法包括Booch方法(Booch Method)、OMT(Object-modeling Technique,对象建模技术)、OOSE(Object-oriented Software Engineering,面向对象软件工程)等。
面向对象分析方法有很多,如:
1)行为分析(Behavior Analysis)。主要通过分析系统功能和动态行为,抽取目标类或对象;
2)领域分析(Domain Analysis)。通过咨询领域专家,抽取重要的领域类或对象以及它们之间的关联;
3)用例分析(Use-Case Analysis)。以用例为中心,通过情景建模,抽取软件系统的类或对象。
当前,面向对象软件开发方法主要使用UML(Unified Modeling Language,统一建模语言)进行软件概念模型、设计模型和物理模型的可视化表达,通过面向对象编程语言如Java、C++等实施软件逻辑编码。
UML的使用
UML建模语言:
UML统一了面向对象Booch、OMT和OOSE等方法的建模语言,于1997年被OMG(Object Management Group,对象管理组织)接