3 可视化建模基础-1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OOD/OOA简介

OOD/OOA中视图(view)
OOD/OOA简介

OOD/OOA中的图(diagram)
16 total
OOD/OOA简介

OOD/OOA中的模型
类模型
(也称静态模型)
状态模型
交互模型 (也称行为模型)
面向对象的发展史和UML的发展史
UML(Unified Module Language)翻译为统一建模语言:
可视化建模基础 UML
孙钢锋 jsjsgf@hgnc.net
数学与计算机学院
Topic

理解建模 OOA/OOD简介


面向对象的发展史和UML的发展史
USE CASE DIAGRAM(用例图)
数学与计算机学院
一、理解建模
模型是某个事物的抽象,其目的是在构建这个事物 之前利用这个抽象来正确理解它。

OOD/OOA简介
OOA Definition: Object Oriented Analysis is concerned with developing requirements and specifications expressed as an object model (population of interacting objects) of a system ,as opposed to the traditional data or functional views
OOD/OOA简介
OOA Benefits: 1) Maintainability: simplified mapping to the real world

Less analysis effort


Less complexity in system design
Easier verification by the user programming language
示例(ATM)

确定用例
注意事项:
用例必须是由某一个主角触发而产生的活动,
即每个用例至少应该涉及一个主角 ;反之,每 个参与者也必须至少涉及到一个用例 ;
用例模型必须是易于理解的 (参与者的名称一
般都是名词,用例名称一般都是动宾词组 ) (命名问题)。
示例(ATM)

确定用例
注意事项:
对于同一个系统,不同的人对于参与者和用例

Concerned with developing an object-oriented model of the problem domain
Identified objects reflect the entities that are associated with the problem to be solved
Programming languages
OOD/OOA简介
OOD Definition: Object Oriented Design is concerned with developing object-oriented models of a software/system to implement the requirement identified during OOA
示例(ATM)
用例图使我们对系统的功能有了一个整体的认 知,我们可以知道有哪些参与者会与系统发生交 互,每一个参与者需要系统为它提供什么样的服 务。用例描述的是参与者与系统之间的对话,但 是这个对话的细节并没有在用例图中表述出来, 针对每一个用例我们可以用事件流(交互流程) 来描述这一对话的细节内容
Who use the system; Who gets information from the system; Who provides information to the system;
Who installs, start up or maintains the system;
特点:
UML-is a graphical language for visualizing, specifying, constructing and documenting the artifacts of softwareintensive systems.
面向对象的发展史和UML的发展史
performs to present observable result to an actor;
Describe a system from an external usage viewpoint;
Use Case
Key attributes of a use case description; Action sequence; Includes variants; Produces observable results; A use case does not describe: Non-functional requirement; User interfaces; Performance goal;
面向对象的发展史和UML的发展史
面向对象的发展史和UML的发展史
USE CASE DIAGRAM(用例图)

OOD/OOA中的模型
类模型
(也称静态模型)
状态模型
交互模型 (也称行为模型)
Use Case

Use Case
Describe or capture functional requirements; Represent the desired behavior of system; Identify users (actors) of the system and associated
随着计算机软件的广泛普及和其复杂度的大幅提高,
对软件进行建模是提高软件质量和节省成本的常用 技术和手段,有点主要体现在以下几个方面:

在构建物理实体之前现进行测试;


与客户交流;
降低复杂度;
OOD/OOA简介

软件设计模式:
软件设计模式可以帮助开发人员描述设计片断、重 要设计思想、使用其他人的专业经验。 软件设计范型经历了面向过程软件设计、面向模块 软件设计、面向数据软件设计和面向对象软件设计的 过程,在不同的设计范型中都有一些成熟的设计模式。

“统一”的含义 : UML - is the way the world models not only application structure, behavior, and architecture, but also business process and data structure.

OOD/OOA is a methodology for system/software modeling and design using Object-Oriented concepts
OOD/OOA简介
Object Oriented Analysis

A discovery process Clarify and documents the requirement of a system Focuses on understanding the problem domain Discovers and documents the key problem domain classes
都可能有不同的抽象结果,因而得到不同的用 例模型 ,一个好的用例模型应该能够容易被不 同的涉众所理解,并且不同的涉众对于同一用 例模型的理解应该是一致的。
示例(ATM)

用例规约
一个用例的用例规约包含以下内容:
简要说明 (Brief Description)
简要介绍该用例的作用和目的
事件流 (Flow of EvBaidu Nhomakorabeant)
前置条件 (Pre-Condition)
执行用例之前系统必须所处的状态
后置条件 (Post-Condition)
用例执行完毕后系统可能处于的一组状态
示例(ATM)

用例规约
用例规约基本上是用文本方式来表述的,为了更 加清晰地描述事件流,也可以选择使用状态图、 活动图或序列图来辅助说明。只要有助于表达的 简洁明了,就可以在用例中任意粘贴用户界面和 流程的图形化显示方式,或是其他图形。如活动 图有助于描述复杂的决策流程,状态转移图有助 于描述与状态相关的系统行为,序列图适合于描 述基于时间顺序的消息传递。
2) Reusability: reuse of the artifacts that are independent of the analysis method or 3) productivity: direct mapping to the features implemented in Object Oriented
示例(ATM)

系统边界决定了参与者
如果我们所要定义的系统边界扩大至整个银行系统, ATM机和后台服务器都是整个银行系统的一部分,这时 候后台服务器就不再被抽象成为一个参与者。
示例(ATM)

特殊的参与者
系统时钟 硬件中断
…….
示例(ATM)

确定用例 回答前面所提问题,可以帮助用例的确定!
processes
Use Case

Use Case
Is a collection of task-related activities describing a
discrete chunk of a system;
Describes a set of actions sequences that a system
OOD/OOA简介

软件设计模式:
对于面向过程软件设计、面向模块软件设计和面向 数据软件设计这些设计方法,都难以弥合现实世界和 软件系统中概念间的巨大鸿沟,这都造成了计算机软 件的高门槛和难以在保证质量的前提下进行工业化的 软件生产。 面向对象设计与分析则是使用真实世界的概念模型 来思考问题。
OOD/OOA简介

Use Case

use case relationships
generalization; Include; Extend;
Identifying Use Case

Use Cases describe:
The functions that user wants a system to accomplish; The operations that create ,read, update, delete
information;
How actors are notified of the changes to the internal
state and how they notify the system about external events
Identifying Actors

To determine who are the actors ,we try to answer the following questions:
针对每一个用例都应该有一个用例规约文档与之 相对应,该文档描述用例的细节内容。
示例(ATM)

建立用例模型
在用例建模的过程中,我们建议的步聚是先找出 参与者,再根据参与者确定每个参与者相关的用 例,最后再细化每一个用例的用例规约。
示例(ATM)

寻找参与者
示例(ATM)

系统边界决定了参与者
如果我们所要定义的系统边界仅限于ATM机本身,那么 后台服务器就是一个外部的系统,可以抽象为一个参与 者。
包括基本流和备选流,事件流应该表示出所有 的场景。
用例场景 (Use-Case Scenario)
括成功场景和失败场景,场景主要是由基本流 和备选流组合而成的
示例(ATM)

用例规约 一个用例的用例规约包含以下内容:
特殊需求 (Special Requirement)
描述与该用例相关的非功能性需求(包括性能、 可靠性、可用性和可扩展性等)和设计约束 (所使用的操作系统、开发工具等)
Use Case Template
示例(ATM)

建立用例模型
使用用例的方法来描述系统的功能需求的过程就是用例 建模,用例模型主要包括以下两部分内容:
用例图(Use Case Diagram)
确定系统中所包含的参与者、用例和两者之间的 对应关系,用例图描述的是关于系统功能的一个 概述。
用例规约(Use Case Specification)
相关文档
最新文档