下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与技术学院软件工程软件第九章面向对象开发方法与UML年月日第3章面向对象开发方法与UML简 9.1面向对象结构化开发面向对象9.2 模语言简第3章面向对象开发方法与UML简 寻找适当的方 数面向 第3章面向对象开发方法与UML简 面向过程(事件)的设计思路就是首先分析问题的步骤开始游戏,初始化画走,绘制画面判断输赢,如分出输赢,跳至步骤走,绘制画面判断输赢,如未分出输赢,返回步骤输出最后结面向对象的设计思路是分析与问题有关玩家:黑白双棋盘:负责绘制画规则:负责判定诸如犯规、输赢第3章面向对象开发方法与UML简 什么情况下使用结构化的分析方什么情况下使用面向对象第3章面向对象开发方法与UML简 结构化结构化结构化第3章面向对象开发方法与UML简 (),第3章面向对象开发方法与UML简 结构
从功能第3章面向对象开发方法与UML简 具有一个开始和一个结束的程序或程序模块,并且在程序执行中的一步都由三个部分之一组成:顺序、选择或循环结第3章面向对象开发方法与UML简 结构化需求分析方法通常需建立以下模数据流图(DataFlowDiagram数据字典(DataDictionary,结构化语言(Structured判定表或判定树(Decision实体联系图(Entity-RelationshipDiagramE-状态转换图(StateTransitionDiagram第3章面向对象开发方法与UML简 第3章面向对象开发方法与UML简 需求的错需求的变系统结构–第3章面向对象开发方法与UML简 造成上述问题的根本原因 第3章面向对象开发方法与UML简 9.1面向对象结构化开发面向对象9.2 模语言简第3章面向对象开发方法与UML简 面向对象的程序开发–存取款第3章面向对象开发方法与UML简 在结构化程序开发模式中优先考虑的是过程抽象,在对象开发模式中优先考虑的是实体(问题论域的对象对象是数据抽象与过程抽象的综算法被分布到各种实体消息从一个对象传送到另一个对控制流包含在各个对象的操作系统的状态保存在各个对象所定义的数据抽象第3章面向对象开发方法与UML简 第3章面向对象开发方法与UML简 )以问题域中的对象为基础建以对象、属性和操作对问题进行反复细 模型直到可以实现的程努力避免在开发过程中出现大的概念跳将模型组织成对象的真实世界中的具体事逻辑概商 、生产计划、销操作系统中的分时策略、军事训练中 第3章面向对象开发方法与UML简 把系统看做是一起工作来完成某项任务的相互作用的的集面向对象面向对象面向对象第3章面向对象开发方法与UML简 面向对象分析(Object ysis,分析和理解问题分析它们的内部构成和外部关系,建立OOA模型面向对象设计(ObjectOrientedDesign将OOA模型细化,描述对象间交互,变成OOD模型,并且补充与 面向对象编程(ObjectOrientedProgramming用一种面向对象的编程语言将OOD模型中的各个成分编写成程序,第3章面向对象开发方法与UML简 分析:强调的是对问题和需求 研究,而不是解决方有价值的分析和设计可以概括为:做正确的事(分析)和确地做事(设计第3章面向对象开发方法与UML简 对象类消息封装继承多态第3章面向对象开发方法与UML简 对象对象(Object):具有责任的实体。一个特殊的,自成一的容器,对象的数据对于外部对象是受特性:(、属性)。属性(Attribute):与对象关联的数据,描述对象静态特性操作(Operation):与对象关联的函数,描述对象动态特性第3章面向对象开发方法与UML简 类类(Class):具有相同属性和操作的一组对象的抽象,它为属于该类全部对象提供了统一的抽象描述类是概念定义对象是类的一个实第3章面向对象开发方法与UML简 类与对象的比“同类对象具有相同的属性和操作”是指它们的定义形式相同,而是说每个对象的属性值都相类是静态的,类的存在对象是动态的第3章面向对象开发方法与UML简 定义一个学生类ClassStudent{Stringsno;Stringdept;stringdept){};publicbooleanSelectCourses(){};}
使用这个 =new ”, ”, =new ”, ”, =new ”, ”,If .RegisterMyself()==true)}floatscore .QueryScore第3章面向对象开发方法与UML简 第3章面向对象开发方法与UML简 类的属性类的属性:描述对象“静态”(结构)特征的一个数据项属性的“可见性”(Visibility)公有属性 私有属性 保护属性 属性的表达方式第3章面向对象开发方法与UML简 类的操作(或方法、服务类的操作:描述对象“动态”(行为)的特征的一个函数或过程方法的“可见性”(Visibility)公有属性 私有属性 保护属性 方法的表达方式例如:+ tence(inti):第3章面向对象开发方法与UML简 消息对象、接收对象所采用的方法、方法需要的参数、返回信息等一个对象向另一个对象发出消息请求某项服另一个对象接收该消息,触发某些操作,并将结果返回给发出消息的对对象之间通过消息通信彼此关联在一起,形成完整的系发送消 接收并响应消加第3章面向对象开发方法与UML简 封装Enasain制则被隐。第3UML 不可见),将对象所的功能(行为)与内——信息隐藏(Information“封装”的作用是什么保护对象,避免用户误保护客户端(调用程序),其实现过程的改不会影响到相应客户端的改第3章面向对象开发方法与UML简 泛化/第3章面向对象开发方法与UML简 继承继承(Inheritance):子类可自动拥有父类的全部属性和操作继承关系使类之第3章 象发方法第3章 象发方法 继承单一继承:一个子多重继承:一个子避免多重继承、接口、虚继承classGraduateextends//methodsand}抽象类:把一些类组织起来,提供一些公共的行为,但不能使用这类的实例(即从该类中派生出具体的对象),而仅仅使用其子类的实。称不能建立实例的类为抽象类 第3章面向对象开发方法与UML简 接口以接口publicinterfaceComparable{}classStudentimplementspublicintcompareTo(Objectotherobject){Studentother=(Student)otherobject;if(age<>other.age)return-1;if(age=other.age)returnreturn}}第3章面向对象开发方法与UML简 多态泛化使得多态操作成为可能,即操作的实现是由它们所的对象的类,而不是由调用者确重载:第3章面向对象开发方法与UML简 多态多态性:同一个操作用于不同的对象上可以有不同的可替代性原则:当一个变量(如参数或过程变量)()静态绑定:传统程序设计语言的过程调用与目标代码接(即调用哪个过程)放在程序运行前进动态绑定:把这种连接 运行时才进行第3章面向对象开发方法与UML简 Vehicle[]vehicles=newVehicle[3];vehicles[0]=newCar();vehicles[1]=newPlane();vehicles[2]=newTrain();}第3章面向对象开发方法与UML简 客观世界是由对象组成象可以由简单对象构具有相同数据和相同操作的对象可以归并为一个统一的“类”,象是类的实例对象之间通过消息传递相互关类具有封装性,其数据和操作对外是不可见的,外界只能通过消请求某些操作具体的计算则是通过新对象的建立和对象之间的通信来执行的第3章面向对象开发方法与UML简 9.1面向对象开发方法面向对象9.2 模语言简建模与UML用UML第3章面向对象开发方法与UML简 模型是某个事物的抽象,其目的是在构建这个事物之前来理解在构建物理实体之前先验通过抽象降低复杂可视化 和升级提供文建模的主要目的是为理解,而非建模的过分析建设计建实现建部署建第3章面向对象开发方法与UML简 类模型:表示系统静态的、结构化的状态模型:表示对象时序交互模型:表示独立对象的协作“交互”层第3章面向对象开发方法与UML简 什么是 模语言(UML)是描述、构造和文档化系统制品的视化语言(OMG03a)面向对象建模的图形化表示法的第3章面向对象开发方法与UML简 第3章面向对象开发方法与UML简 9.1面向对象开发方法面向对象9.2 模语言简建模与UML用UML第3章面向对象开发方法与UML简 图图 第3结构分类:描述了系统中的结构成员及其相互静态视图对应用领域中的概念以及与系统实现有关的内部概念用例视图是外部用户所能观察到的系统功能的模物理视图动态行为:描述了系统随时间变状态机视图是一个类对象所可能经历的所有历程的模型活动视图用来描述执行算法或工作流程中涉及的交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序第3章面向对象开发方法与UML简 9.1面向对象开发方法面向对象9.2 模语言简建模与UML用UML第3章面向对象开发方法与UML简 需求获用例图:建立应用场景,如何使用系活动图:明确组织机构的工作流程,软件如何与人交分析与设从概念视角绘制的概念类图:用于领域分软件视角的设计类图:设计软件中的类及相互联常用用例的顺序图:构件图:构件设计及构件间关包图:设计软件的组织结具有复杂生命周期的类的状态部署图:描述软件系统在硬第3章面向对象开发方法与UML简 标准建模语言UML在面向对象的建模技术中,类、对象和它们之间的关系最基本的建模元素。对于一个想要描述的系统,其类模、对象模型以及它们之间的关系揭示了系统的第3章面向对象开发方法与UML简 标准建模语言UML§类第3章面向对象开发方法与UML简 1
第3章面向对象开发方法与UML简 例如“教师”与“学生”是两个类,它们之间存在“教-- -- -第3章面向对象开发方法与UML简 关联具有第3章面向对象开发方法与UML简 -class-classStudentprivateCourse[]}classTeacher -- -- }classStudentprivateTeacher}第3章面向对象开发方法与UML简 类图示例个人客
*团团体客产
雇雇第3章面向对象开发方法与UML简 publicclassOrderLine...privateint privateProductproduct;privateMoneysum;publicintget }publicvoid }publicMoneyreturn 第3章面向对象开发方法与UML简 组成结构:表示对象类之间的组成关系,一个对象是另对象的组成部分,即“部分-整体”关系分为两个子–聚合(Aggregation):整体与部分在生命周期上是独立的(…owns第3章面向对象开发方法与UML简 聚合(Aggregation):整体与部分在生命周期上是独立
-
-
AcompanyownszeroormultipleAcourse’sclassownsabove15students;Anorderownsacustomerandasetoffoods;第3章面向对象开发方法与UML简 classStudent…privateStudent[]publicaddStudent(Students)
Studenta=newStudent();Studentb=newStudent();Studentn=newStudent();
-} CourseClassSE=new 第3章面向对象开发方法与UML简 组合(Composition):是聚合的特例,强调整体与部分具有同样的命周期11第3章面向对象开发方法与UML简 1-class1- …privateHeartheart=new…}第3章面向对象开发方法与UML简 泛化/date:超date:
抽象操hold:hold:dateFilled:子第3章面向对象开发方法与UML简 实现关系将一种模型元素(如类)与另一种模型元素(如接口)起来,其中接口只是行为的说明而不是结构或者实现第3章面向对象开发方法与UML简 糖第3章面向对象开发方法与UML简 类图示例
name:StringphoneString
date:Date
name:Stringseries:
available: sell(c:
seat:1
date:time: 原因A依赖于 类B以参数的形式传入类A类B以局部变量的形式存在于类A的方法类A调用类B的静态方法依赖类型关键客 提供第3章面向对象开发方法与UML简 第3章面向对象开发方法与UML简 依赖表示两个或多个模型 间语义上的关系依赖关系功
允许一个元 另一个元素,不管 允许一个 另一个包的内容并为 发送第3发送第3UML
关系泛化(generalization):isa表现为继承或实关联(association):hass表现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60335-2-113:2025 FR Household and similar electrical appliances - Safety - Part 2-113: Particular requirements for beauty care appliances incorporating lasers and intens
- 2025年一建《机电工程管理与实务》考试基础知识点库历年真题及答案
- 2025年法律知识考核知识考察试题及答案解析
- 中国羟乳硅项目投资可行性研究报告
- 中国管子机项目投资可行性研究报告
- 中国混合型上臂假肢项目投资可行性研究报告
- 中国文教用具项目投资可行性研究报告
- 多彩迷你挂表行业深度研究报告
- 美术架行业深度研究报告
- 中国熔炼炉项目投资可行性研究报告
- 有关胃癌的个案护理
- 企业重大活动领导接待手册
- 中医馆活动策划方案
- 服装设计职业生涯
- KK23E00TI西门子冰箱使用说明书
- 报关单、箱单、形式发票、订单模版
- 直线的投影课件
- 实验小学教育数字化转型十五五规划
- JG/T 388-2012风机过滤器机组
- 2025年1月浙江省普通高校招生选考科目高考英语真题试卷(浙江卷 含答案)
- 动物疫苗采购管理制度
评论
0/150
提交评论