面向对象分析与设计—OOA部分Mr.King~

静心;坚毅;制怒;藏拙;三省;内秀;去欲;豁达。

OOA——面向对象的分析,就是运用面向对象方法进行系统分析,对问题域(问题所涉及的范围)和系统责任(所开发的系统应具备的职能)进行分析与理解,找出描述问题及系统责任所需要对象,定义对象的属性、操作以及它们之间的关系。

UML是对软件密集型系统中的制品(模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。

(1)UML特点

(2)UML的构成

UML中的3类主要元素是基本构造块、规则、公共机制

(3)UML中的视图

UML中的视图包括用例视图、逻辑视图、实现视图、进程视图、部署视图,被称为“4+1”视图

OOA模型是指运用面向对象的分析方法建立的系统模型,包括基本模型、需求模型和辅助模型三部分。

基本模型:基本模型以直观的方式表达了最重要的系统结构信息

需求模型:需求模型用于定义用户需求

辅助模型:辅助模型提供几种对基本模型进行组织或者加强理解的辅助图形

模型规约:对模型进行详细的描述

2.4.1基本模型——类图

构成类图的主要成分是类、属性、操作、一般-特殊结构、整体-部分结构、关联和消息。这些成分所表达的模型信息可以从下面三个层次来看待:

(1)继承关系(即泛化关系)——通过一般-特殊结构表示

泛化关系"akindof",类与类之间的关系即继承关系

(2)聚集与组合关系——通过整体-部分结构表示

聚集关系"has-a",组合关系"contains-a":聚集关系表示事物的整体-部分关系较弱的情况,组合关系表示事物的整体-部分关系较强的情况

区别:组合关系中的整体和部分具有同样的生命周期。在聚集关系中,代表部分事物的对象可以属于多个聚集对象,可以为多个聚集对象所共享,而且可以随时改变它所从属的聚集对象。代表部分事物的对象与代表聚集事物对象的生存期无关,一旦删除了它的一个聚集对象,不一定也就随便删除代表部分事物的对象。在组合关系中,代表整体事物的对象负责创建和删除代表部分事物的对象,代表部分事物的对象只属于一个组合对象。一旦删除了组合对象,也就随即删除了相应的代表部分事物的对象。

(3)关联关系——用静态关系表示,分为自返关联、二元关联、N元关联

关联(association)是对具有共同的结构特性、行为特性、关系和语义的链(链表示对象与对象之间的关系,关联表示类与类之间的关系)的描述

(4)依赖关系——用消息表示对象之间在行为上的依赖关系

假设有两个元素X、Y,如果修改X的定义可能会导致对另一个元素Y的定义的修改,则称元素Y依赖于元素X。对于类而言,如果两个类之间有关联关系,那么一般只要表示出关联关系即可,不用再表示这两个类之间还有依赖关系。

建立类图的步骤:

ps:抽象类与接口区别:

2.4.2需求模型——用例图(用况图)

用例是系统、子系统或类和外部的参与者(actor)进行交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。而参与者是指系统以外的、需要使用系统或与系统交互的东西,包括人、设备、外部系统等。用例间的关系主要有关联、扩展(extend)、泛化、包含(include)关系等。

(1)泛化关系:子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或覆盖父用例中的行为和含义

(2)包含关系<>:指两个用例之间,其中一个用例的行为包含了另一个用例,包含关系是比较特殊的依赖关系。在包含关系中,箭头的方向是从基本用例指向包含用例,即基本用例依赖于包含用例。

注意区别包含关系与扩展关系:在包含关系中,在执行基本用例时,一定会执行包含用例;在扩展关系中,一个基本用例执行时,可以执行、也可以不执行扩展部分,简言之,满足条件就执行,不满足条件就不执行。

用例图:把用例、参与者以及它们之间的关系用一些图像符号进行可视化表示,便得到用例图。它是直接描述需求的,所以是一个需求模型。

寻找用例的步骤:

2.4.3辅助模型——包图、顺序图、活动图及其他

(1)包图:包(package)是一种将其他模型元素组织起来,形成较大粒度的系统单位的机制。UML中,包是分组事物的一种,它是在建模时用来组织模型中的元素的,在系统运行时并不存在包的实例,这点和类不一样,类在运行时会有实例。

设计包的原则:

ps:重用等级原则、共同闭包原则、共同重用原则这3个原则事实上是相互排斥的,不可能同时被满足。它们是从不同使用者的角度提出的,重用等价原则和共同重用原则是从重用人员的角度考虑的,而共同闭包原则是从维护人员的角度考虑的。共同闭包原则希望包越大越好,而共同重用原则却要求包越小越好。

建立顺序图的步骤:

泳道:泳道是活动图中的区域划分,根据每个活动的职责对所有活动进行划分,每个泳道代表一个责任区。泳道和类并不是一一对应的关系,泳道关心的是其所代表的职责,一个泳道可能由一个类实现,也可能由多个类实现。

在活动图中,对于同一个触发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移是一个分支。如果要表示系统或对象中的并发行为,则可以使用分叉(fork)和汇合(join)这两种建模元素。分叉表示的是一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发执行的;汇合正好与分叉相反,表示两个或多个控制流被一个控制流代替。

(4)构件图和部署图:构件图和部署图是对面向对象系统物理方面建模的两个图

基本概念:

构件:构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。构件包括部署构件(如dll文件、exe文件数据库表等)、工作产品构件(如源代码文件、数据文件等)、执行构件(系统执行后得到的构件)

构件图中的构件与类图中的类区别:

部署图两个基本概念:结点和连接

结点是存在于运行时的代表计算资源的物理元素,结点一般都具有一些内存而且常常具有处理能力,结点可以代表一个物理设备以及运行在该设备上的软件系统。结点之间的连线表示系统之间进行交互的通信路径,这个通信路径称为连接。部署图的结点分为两类,即处理机和设备

连接表示两个硬件之间的关联关系。

OOA过程包括以下主要活动

(1)建立需求模型——用例图

(2)建立基本模型——类图

(3)建立辅助模型

(4)建立模型规约:对模型中的成分进行规范的定义和文字说明

(5)原型开发:可选,结合其他活动反复进行

以上各个OOA过程总体来说是一个反复进行,不断完善的过程,以建立基本模型为中心,进行需求模型、基本模型、辅助模型的建立、修复与完善。

THE END
1.面向特征的软件产品家族建模方法AET本文在对高校设备预定管理产品家族进行领域建模时,以FODA为基础,把特征和特征模型的概念引入到领域分析模型中,用于表现领域需求,同时采用用例模型描述家族中的成员系统的变化性。 面向特征的产品家族领域分析的主要目标是获得领域分析模型以描述家族中产品的共性和变化性需求,包括场景模型、领域面向对象分析模型和特征模型3...http://www.chinaaet.com/article/19794
2.UML2面向对象分析与设计答案(24页)UML2面向对象分析与设计第二版答案下载理论建模 第1 章 上升到面向对象 选择题 1. A 2. A 3. B 简答题 1. 与传统结构化方法相比,面向对象技术的优势主要体现在哪些方面? 主要包括以下几个方面的与优势: (1)沟通:在计算机中模拟现实世界的事和物; (2 )稳定:较小的需求变化不会导致系统结构大的改变; ...https://max.book118.com/html/2020/0517/5203210141002244.shtm
3.面向对象分析与设计类图类之间的关系包括: ___ 、___ 、___ 和 ___ 。 依赖|泛化|关联|实现 类中方法的可见性包含3种,分别是: ___ 、___ 和 ___ 。 共有;公有;public|私有;private|受保护;protected 在UML软件开发过程系统分析阶段产生的对象模型有三种模型,它们分别是:___ 模 型、 ___ ...https://developer.aliyun.com/article/1219216
4.软件开发方法基础大剖析而面向对象程序语言(OOP)主要工作为编写代码、改进系统的性能。 为了将面向对象的分析模型转化为设计模型,设计人员必须完成设计用例实现方案、设计技术支撑方案、设计用户界面、精化设计模型 面向对象的基本概念主要有对象、类、抽象、封装、继承、多态、接口、消息、组件、模式、复用。面向对象设计(OOD)的基本思想包括...https://www.imooc.com/article/details/id/259116
5.清华大学出版社图书详情提供课件、咨询QQ:381844463(仅限教师)。详细讲解了UML建模所涉及的图形的语法和语义,配以案例分析,简单易懂;阐述了面向对象分析方法和设计方法及其模型表达,易于掌握与应用;结合“面向对象软件工程”的课程教学经验,提供了分析和设计案例以及课后思考题,便于自学。 http://www.tup.tsinghua.edu.cn/bookscenter/book_08634201.html
1.面向对象分析三种模型文章浏览阅读1w次。类模型交互模型状态模型_标题1:模仿上述例子,自己完成3个对象(类)的分析,并提交结果https://blog.csdn.net/k3108001263/article/details/89643578
2.软件工程导论作业2.2 面向对象分析设计的基本思路和过程是怎样的? 答:分析过程主要包括理解、表达和验证。设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。 过程:识别系统的用例和角色,进行系统分析并抽象出类,设计系统并设计系统中的类及其行为。 https://www.unjs.com/zuixinxiaoxi/ziliao/20170805000008_1416273.html
3.面向对象分析模型有三种,分别是:对象模型案例题 试题出自试卷《02333《软件工程》预测卷(十四)》 面向对象分析模型有三种,分别是:对象模型、___和功能模型。 参考答案:查看答案查看解析下载APP畅快刷题https://www.educity.cn/tiku/10643005.html
4.软考高级软件架构师学习笔记四(错题重点知识)响应式web设计具体的实现方式包括媒体查询(Media Query)、流式布局(弹性布局、动态布局)、液态图片(弹性图片)等。 9、面向对象分析与设计 面向对象设计的基本任务是把面向对象分析模型转换为面向对象设计模型。 面向对象分析模型主要由顶层架构图、用例图、领域概念模型构成。 https://blog.51cto.com/u_15564034/6429914
5.面向对象分析中的三种主要模型是什么?它们之间有什么关系?答案解析 查看更多优质解析 解答一 举报 (1)与功能模型的关系:对象模型展示了功能模型中的动作者、数据存储和流的结构,动态模型展示了执行加工的顺序.(2)与对象模型的关系:功能模型展示了类上的操作和每个操作的变量,因此它也表示了类之间的“供应者一客... 解析看不懂?免费查看同类题视频解析查看解答 ...https://www.zybang.com/question/02c600aa4150ef963c704c4ffb9d03ad.html
6.面向对象的分析方法主要是建立三类模型,即()。面向对象分析主要由对象模型、动态模型、功能模型组成,其中对象模型是最基本、最重要、最核心的;https://www.nowcoder.com/questionTerminal/2c30051783fe4f52980d798568444d0a
7.(专升本)自考《软件工程》备考知识点汇总9.初始阶段的基本目标是:获得与特定川况和平台无关的系统体系结构轮廓,以此建立产品功能范围;编制初始的业务实例,从业务角度指出该项目的价值,减少项目主要的错误风险.精化阶段的基本目标是通过捕获并描述系统的大部分需求一些关键用况,建立系统体系结构基线的第一个版本,主要包括用况模型和分析模型,减少次要的错误风险;...https://www.yxfsz.com/view/1513782047553982466
8.30个微能力点测评指南目录同心县第八中学人人通空间第二部分微能力测评规范 A1技术支持的学情分析 A2数字教育资源获取与评价 A3演示文稿设计与制作 A4数字教育资源管理 A5技术支持的课堂导入 A6技术支持的课堂讲授 A7技术支持的总结提升 A8技术支持的方法指导 A9学生信息道德培养 A10学生信息安全意识培养 A11评价量规设计与应用 ...http://hy.nxeduyun.com/index.php?r=space/school/theme/content/view&id=2343239