3.3 软件需求:面对对象分析模型

面对对象分析模型

  • 1、对象
  • 2、面对对象的软件开发模型
  • 3、用例图建模基础
    • 3.1 用例图基本符号
      • 参与者
      • 用例
      • 系统
      • 执行关联
    • 3.2 用例建模过程
    • 3.3 用例图初步
    • 3.4 用例图进阶
      • 关联Association
      • 泛化Inheritance
      • 包含Include
      • 扩展Extend
      • 示例

1、对象

在现实世界中有意义的,与所要解决的问题有关系的任何事物都可以作为对象,包括具体的物理实体的抽象、人为的概念、任何有明确边界和意义的东西。如:一名职工、一本图书、贷款、生产计划、一场演出等。
一个对象通常由 对象名、属性和方法(操作) 三部分组成。
几种著名的面对对象方法:UML

  1. Booch方法(1991)
  2. Coad- Yourdon 方法(1991)
  3. Rumbaugh方法(简称 OMT)(object Modeling Technology1991 )
  4. Jacobson 方法(简称 OOSE,1992)
  5. 由 Rumbaugh、 Booch、Jacobson 提出的统一建模语言(简称UML)( Unify Modeling Language ,1994 ):一种可视化建模语言,能描述开发需要的各种视图,并以此为基础组建系统。
  • 消息。对象之间进行通信的一种构造叫做消息。消息响应
  • 类。一组大体相似的对象。一个类所包含的方法和数据描述了一组对象的共同行为和属性。类是对象之上的抽象,对象是类的具体化,是类的实例。
  • 继承。继承是父类和子类之间共享数据和方法的机制。一个父类可以有多个子类,一个子类也可以有多个父类。
  • 多态。对象收到消息时,要予以响应。不同对象收到同一消息可以进行不同的响应,产生完全不同的结果,这种现象叫做多态。
  • 动态绑定。当一个对象发送消息请求服务时,要根据接受对象的具体情况将请求的操作与实现的方法进行结合叫做动态绑定。
  • 面对对象原则
    1. 单一责任原则。让一个类只做一种类型责任
    2. 开关原则。可修改,不封闭
    3. 里氏替换原则。在任何父类可以出现的地方,都可以用子类的实例来赋值给父类型的引用。
    4. 依赖倒置原则。高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。
    5. 接口分离原则。依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。这样做的好处就在于可以最大限度地应对可能的变化,即使用多个专门的接口比使用单一的总接口总要好。

2、面对对象的软件开发模型

在这里插入图片描述

  1. 数据模型(对象模型):描述系统数据结构的对象模型。
  2. 行为模型(动态模型):描述系统控制结构。
  3. 功能模型:描述系统功能。
    一个典型的软件系统使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。

3、用例图建模基础

3.1 用例图基本符号

用例建模用于描述系统需求,把系统当作黑盒,从用户的角度,描述系统的场景。主要图形元素有:

参与者

外部用户或外部实体在系统中扮演的角色,需要使用系统或与系统交互的东西,可以是一个人、一个计算机子系统、硬件设备或者时间等角色。
在这里插入图片描述

  • 如何确定参与者?
    在获取用例前首先要确定系统的参与者,开发人员可以通过回答以下的问题来寻找系统的参与者。

    1. 谁将使用该系统的主要功能?
    2. 谁将需要该系统的支持以完成其工作?
    3. 谁将需要维护、管理该系统,以及保持该系统处于工作状态?
    4. 系统需要处理哪些硬件设备?
    5. 与该系统交互的是什么系统?
    6. 谁或什么系统对本系统产生的结果感兴趣?
  • 示例:饮料自动售卖系统
    每一个参与者都有自己的执行关联。
    在这里插入图片描述

用例

  • 定义:对一组动作序列的描述,系统通过执行这一组动作序列为参与者产生一个可观察的结果。用例名往往用动宾结构命名。

  • 特征:

    1. 说明了系统具有的一种行为模式
    2. 说明了一个参与者与系统执行的一个相关的事件序列;
    3. 提供了一种获取系统需求的方法;
    4. 提供了一种与最终的用户和领域专家进行沟通的方法;
    5. 提供了一种测试系统的方法。
  • 图形表示:用椭圆形表示

  • 怎样使用用例?

    1. 参与者希望用户执行什么任务?
    2. 参与者在系统中访问哪些信息(创建、存储、修改、删除等)?
    3. 需要将哪些外界信息提供给系统
    4. 需要将系统的什么事情告诉参与者
    5. 如何维护系统

系统

用于界定系统功能范围,描述该系统功能的用例都置于其中,而描述外部实体的参数者都置于其外。用大矩形表示。
在这里插入图片描述

执行关联

参与者(Actor)执行用例(Use Case)之间的关系。
连接参与者和用例,表示参与者所代表的系统外部实体与该用例所描述的系统需求有关。用直线表示。

3.2 用例建模过程

建立用例模型的顺序:

  1. 确定谁会直接使用该系统。这些都是参与者(Actor)。
  2. 选取其中一个参与者。
  3. 定义该参与者希望系统做什么,参与者希望系统做的每件事成为一个用例
  4. 对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用例的基本过程。
  5. 描述该用例的基本过程
  6. 考虑一些可变情况,把他们创建为扩展用例,
  7. 复审不同用例的描述,找出其中的相同点,抽出相同点作为共同的用例。
  8. 重复步骤2~7找出每一个用例。

3.3 用例图初步

自动售卖系统
在这里插入图片描述
在这里插入图片描述

3.4 用例图进阶

用例之间关系:关联、泛化、包含、扩展

关联Association

表示参与者与用例之间的通信,任何一方都可发送或接受信息。
在这里插入图片描述

泛化Inheritance

就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
用例之间的is a kind of关系,表示用例之间的场景共享;Actor之间的 is a kind of关系,一般描述责任共享。
在这里插入图片描述

包含Include

包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。一个用例可以包含另外一个用例。
在这里插入图片描述

扩展Extend

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。由一个用例的扩展点可以扩展出另外一个用例。
在这里插入图片描述
扩展关系中,一个基本用例执行时可以不执行扩展部分,但是在包含关系中,一定会执行包含用例部分。

  • 关联、泛化、包含和扩展的区别
    在这里插入图片描述

示例

自动售卖系统
在这里插入图片描述
图书借阅系统用例图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/8276.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

跑批为什么这么难

业务系统产生的明细数据通常要经过加工处理,按照一定逻辑计算成需要的结果,用以支持企业的经营活动。这类数据加工任务一般会有很多个,需要批量完成计算,在银行和保险行业常常被称为跑批,其它像石油、电力等行业也经常…

深⼊理解指针(3)【数组与指针】

目录 1. 数组名的理解 2. 使⽤指针访问数组 3. ⼀维数组传参的本质 4. 冒泡排序 5. ⼆级指针 6. 指针数组 7. 指针数组模拟⼆维数组 一 数组名的理解 由上图可知我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址…

ubuntu【桌面】 配置NAT模式固定IP

DHCP分配导致虚拟机IP老变,SSH老要重新配置,设成静态方便些 一、设NAT模式 1、设为NAT模式 2、看模式对应的虚拟网卡 - VMnet8 3、共享主机网卡网络到虚拟网卡 - VMnet8 二、为虚拟网卡设置静态IP 记住这个IP IP不要与网关重复 这里网关注意要与虚拟…

最强攻略密码 | 腾讯云双十一活动爆款直击底价

前言 每年双十一,腾讯云都会推出一系列的优惠活动,吸引着大量的消费者和开发者参与。作为国内领先的云计算服务商之一,腾讯云不仅提供强大的云计算基础设施服务,还涉及云存储、大数据分析、人工智能等多个领域,而双十…

c# 动态lambda实现二级过滤(多种参数类型)

效果 调用方法 实体类(可以根据需求更换) public class ToolStr50 {public bool isSelected { get; set; }public string toolStr1 { get; set; }public string toolStr2 { get; set; }public string toolStr3 { get; set; }public string toolStr4 { …

5万加购上线即断货,双11洗衣机品类打破增长难关

距离2024年双11结束仅剩最后几天。据网经社报告,目前各电商平台累计销售额已超8000亿元。 其中,家电品类已超1000亿元的销额位居前列,市场占有率达15.7%。天猫平台数据显示,预售日开售后1小时,大家电整体成交同比增长7…

[全网最细数据结构完整版]第六篇:3分钟带你吃透栈并模拟实现

目录 1->栈的概念和结构 1.1栈的概念 1.2栈的结构 2->栈的实现 2.1定义关于栈的结构体和各种函数 2.2栈的初始化 STInit 函数 2.3栈的销毁 STDestroy 函数 2.4栈的插入操作 STPush 函数 2.5栈的判断是否为空操作 STEmpty 函数 2.6栈的删除操作 STPop 函数 2.7…

Xfce桌面设置右键菜单:用右键打开VSCode

前言 AlmaLinux安装VSCode之后始终没有找到如何用右键菜单打开VSCode,比Windows麻烦多了。每次都需要先找到文件夹,然后用系统自带的Open In Terminal打开终端,再输入code .,才能够在当前文件夹中快速打开VSCode。那么&#xff0…

使用docker形式部署jumpserver

文章目录 前言一、背景二、使用步骤1.基础环境准备2.拉取镜像3.进行部署4.备份记录启动命令 前言 记录一下使用docker形式部署jumpserver服务的 一、背景 搭建一个jumpserver的堡垒机,但是发现之前是二进制文件部署的,会在物理机上部署污染环境&#x…

我谈正态分布——正态偏态

目录 pdf和cdf参数 标准正态分布期望和方差分布形态 3 σ 3\sigma 3σ原则 正态和偏态正态偏态瑞利分布偏度 (Skewness)峰度 (Kurtosis) 比较 正态分布的英文是Normal Distribution,normal是“正常”或“标准”的意思,中文翻译是正态,多完美的…

【嵌入式】STM32中的SPI通信

SPI是由摩托罗拉公司开发的一种通用数据总线,其中由四根通信线,支持总线挂载多设备(一主多从),是一种同步全双工的协议。主要是实现主控芯片和外挂芯片之间的交流。这样可以使得STM32可以访问并控制各种外部芯片。本文…

大A终究是逃不过高开低走的魔咒

大A终究是逃不过高开低走的魔咒,早盘高开太多,周末休市,今天会议结束,各种不确定因素增加等原因导致午盘普跌。其实还是那句话,股市嘛,涨多了会跌,跌多了会涨,别急也别慌。 周末&…

知识付费小程序搭建,线上网课平台开发

我是【码云数智】平台的黄导,今天分享:知识付费小程序搭建,线上网课平台开发 在线网校小程序开发,在线教育小程序还不断优化界面设计,确保操作简便直观,无论是老人还是小孩都能轻松上手。​​ 01、小程序…

Python | Leetcode Python题解之第543题二叉树的直径

题目: 题解: class Solution:def diameterOfBinaryTree(self, root: TreeNode) -> int:self.ans 1def depth(node):# 访问到空节点了,返回0if not node:return 0# 左儿子为根的子树的深度L depth(node.left)# 右儿子为根的子树的深度R …

无代码开发平台smardaten R5C50 新版本更新!都做了哪些改变?

数睿数据为此次新版本做了7项体验优化、8项功能增补、1项性能优化,总计16个功能点。快来看看,哪个功能戳中你的心~ 一、体验优化 围绕smardaten搭建第一个原型并完成发布主链路,进行了体验优化,解决新手门槛高、模板使用路径长、…

175页PPTBCG某企业健康智能制造与供应链战略规划建议书

智能制造与供应链战略规划方法论是一个系统性、科学性的框架,旨在指导企业实现智能制造转型和供应链优化。以下是对这一方法论的核心内容的归纳和阐述: 一、智能制造的目标与原则 明确智能制造目标: 提高生产效率:通过引入自动…

DICOM标准:深入详解DICOM医学影像中的传输语法

引言 DICOM(数字成像和通信医学)标准在医学影像数据交换中扮演着至关重要的角色。其中,*传输语法(Transfer Syntax)是DICOM标准中定义数据编码和传输方式的核心部分。理解传输语法对于确保不同设备和系统之间的互操作性…

爱普生SG-8201CG可编程晶振智能门锁的核心驱动

在智能家居蓬勃发展的时代浪潮中,智能门锁作为智能家居的第一道防线,其安全性与便捷性至关重要。爱普生 SG - 8201CG 可编程晶振犹如一颗隐藏在幕后却发挥着关键作用的智慧芯片,为智能家居系统的高效、稳定运行提供了不可或缺的精准时钟信号。…

LLM大模型微调(lora原理)

一、微调方法介绍 1.1 Lora原理 通过低秩矩阵来降低模型训练的参数量,有点‘给我一个支点,就可以撬动地球’的感觉,其中矩阵的秩(rank)就有点像这个‘支点’的意思,大致原理如下: LoRA 的核心…

协议(OSI-tcp-udp)

目录 OSI七层协议模型 TCP/IP协议 3次握手 4次挥手 TCP VS UDP TCP和UDP分别对应的常见应用层协议 Tcp 状态机 TCP/ UDP /socket /http /webSocket 区别 RPC 和 RMI RPC与RMI的区别 Web Service SOAP(Simple Object Access Protocol:简单对…