华师大面向对象程序设计-Lec10_中的顺序图资料

合集下载

10级《面向对象程序设计》第二章教学课件

10级《面向对象程序设计》第二章教学课件
• 关键字不能作为标识符; 关键字是具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称 为保留字(reserved word),下面列出了java语言中的所有保留字:
abstract do implements protected throws boolean double import public transient break else instanceof return true this throw byte extends int short try synchronized case false interface static void continue catch final long strictpf volatile goto default char finally native super while package class float new switch const for null if private • java中的关键字均用小写字母表示。
• 将一个字符放到一个字符变量中,实际上并不是把该 字符本身放到内存单元中去,而是将该字符的相应的 Unicode代码放到存储单元中。
char c1=‘t’; char c2=‘3’; • char基于Unicode编码,\u前缀标志着这是一个
Unicode值 例如,\u0061代表字符’a’。
新术语
而变量i是定义在speak方法中, 它的作用域仅限于speak方法 中。这类定义在某方法中的变 量叫做局部变量。
注意:同一作用域中不可有同 名的变量。如上面的代码在 speak方法中不能再定义一个 名字为i的变量。
在Java中嵌套的程序块的内层和外 层,不允许定义相同的变量名,否 则将导致编译错误。

面向对象程序设计PPT课件 PPT资料共63页

面向对象程序设计PPT课件 PPT资料共63页
Stringed object vptr
Percussion object vptr
&Wind::play() & Stringed::play() & Percussion::play()
06.11.2019
第5章多态与抽象类
37
当通过对象调用虚函数时,是通过 vptr找到虚函数表,再找出虚函数的 真正地址。
06.11.2019
第5章多态与抽象类
28
【思考题5-4】将例5-5中用对象调用
虚函数,其结果如何?
【注意】只有通过对象指针或对象引 用来调用虚函数,才能实现动态联编 。如果采用对象来调用虚函数,则采 用的是静态联编方式。
06.11.2019
第5章多态与抽象类
29
【例5-6】将例5-4基类的成员函数 print()设为虚函数,采用对象引用调 用虚函数,进而实现动态联编。
06.11.2019
第5章多态与抽象类
32
小结
(1)如果你期望在派生类中重新定义一 个成员函数,那么你就应该在基类中 把该函数设为virtual。
(2)以单一指令调用不同函数,这种性 质就是"多态"。
(3)虚函数是C++语言的多态性质和动 态绑定的关键。
(4)虚函数派生下去仍是虚函数,而且
可以省略virtual关键词。 06.11.2019
25
该程序的运行结果为:
A student A graduate student A student A student A graduate student
06.11.2019
第5章多态与抽象类
26
【思考题5-5】如果将例5-5中Student类改 为:

面向对象分析-顺序图

面向对象分析-顺序图

把消息表示为从一个对象生命线到另一个对象生命线的一个水平实线箭头, 即从源对象指向目标对象,以触发目标对象中的特定操作。对于对象到自身的 消息,箭头就从同一个对象符号开始和结束。
用消息(操作或信号)的名字及其参数值或者参数表达式标示箭头。
用如下种类的箭头表示不同种类的通讯:
同步消息
一般把它用于普通的过程调用。在外层控制恢复之前,要完成整个嵌套序列。 通常把它用于普通的过程调用。 若在一个主动对象发送信号并等待完成一个嵌套的行为序列才继续时,也可以 把它用于并发的主动对象。 同步消息返回 用它显式地表示从过程调用的返回。在控制的过程流中,可以省略返回箭头 (暗示执行规约结束),假设每个调用在任何消息后都有一个配对的返回,并可以 把返回值标示在初始的箭头上。
5.1
概念与表示法
1、概述 顺序图是一种详细表示对象之间以及对象与参与者实例之间交 互的图,它由一组协作的对象(或参与者实例)以及它们之间可发 送的消息组成,它强调消息之间的顺序。
由对象(参与者) 、消息、生命线和执行规约组成。
[对象名]:类名
从图中可以看出顺序图是二维的,其中: 垂直方向表示时间,水平方向表示不同的对 象或参与者。 通常时间维由上到下(根据需要,也可以 由下到上)。通常只有时间顺序是重要的, 但在实时应用中时间轴是能度量的。 对象的水平顺序并不重要,相应地生命线 之间的顺序可以是任意的。
3、执行规约
执行规约表示一个对象直接或者通过从属 例程执行一个行为的时期。它既表示了行 为执行的持续时间,也表示了活动和它的 调用者之间的控制关系。 用一个窄长的矩形表示执行规约,矩形 顶端和它的开始时刻对齐,末端和它的结 束时刻对齐。 在程序的控制流中,执行规约符号的顶 端画在进入的箭头的尖端(开始该动作的 那个箭头),底端画在返回的箭头的尾部。

PLC 顺序功能图解读

PLC 顺序功能图解读

14
第六章 顺序功能图设计法 4、时序图
SM0.1 启动按钮 I0.0 停止按钮 I0.1 S0.0 S0.1 S0.2 S0.3 T110 T111 M1输出 Q0.0 M2输出 Q0.1 10s 10s T T RUN T
15
第六章 顺序功能图设计法
二.选择序列顺序控制系统 (一)控制系统的要求 某给水系统,由两台电机分别驱动两台水泵工作, 两台水泵采用双机或单机供水。两台三相异步电机 M1、M2采用全压启动,两台电机的工作过程如下: (1)给水方式选择开关SA1置双机供水方式,按 启动按钮SB2:电机M1、M2间隔10秒启动并运行, 驱动两台水泵工作;按停止按钮SB1两台电机同时 停止,水泵停止工作。 (2)给水方式选择开关置SA1单机供水方式:电 机选择开关SA2选择电机M1或电机M2工作,按启 动按钮SB2:电机启动并带动水泵运行;按停止按 钮SB1电机停止,水泵停止工作。
4 d 5
6 e 7
f 8
5
第六章 顺序功能图设计法
2.转换实现的基本规则 (1)在顺序功能图中,步的活动状态的进展是由 转换的实现来完成的。转换实现必须同时满足两个 条件: 1)该转换所有的前级步都是活动步; 2)相应的转换条件得到满足。 (2)转换的实现应完成两个操作: 1)使所有由有向连线与相应转换条件相连的后续 步都变为活动步; 2)使所有由有向连线与相应转换条件相连的前级 步都变为不活动步。
第六章 顺序功能图设计法
第一节 顺序功能图概述 顺序功能图又称为状态转移图,它是描述 控制系统的控制过程、功能和特性的一种图 形,是PLC控制系统进行程序设计的重要工 具。 一、顺序功能图的绘制 顺序功能图主要由步、有向连线、转换、 转换条件和任务组成。如图所示为顺序功能 图的一般形式,

华师大面向对象程序设计-Lec12_设计类图及顺序图等1

华师大面向对象程序设计-Lec12_设计类图及顺序图等1

16
Methods Implement Responsibilities
: Sale
System
System Event
makePayment(cashTendered) create(cashTendered) : Payment
abstract, implies Sale objects have a responsibility to create Payments

"a Sale is responsible for creating SalesLineltems" (a doing), or “a Sale is responsible for knowing its total" (a knowing).


Relevant responsibilities related to "knowing" are often inferable from the domain model, because of the attributes and associations it illustrates. The translation of responsibilities into classes and methods is influenced by the granularity of the responsibility.
17
Ch17. GRASP – Designing Objects with Responsibilities

How?


Apply Patterns and principles of responsibility assignments

UML顺序图ppt课件

UML顺序图ppt课件

getCustomerInput(cash,selection) checkAvailability(selection)
returnCash(cash)
Sold out
displayPrompt("sold out")
23
零钱数量不对的场景
这种场景是顾客多给钱的场景。比如可 乐3块,投入了4块。饮料机可以把多的 钱找回给顾客。
displayPrompt("use correct change)
26
练习
“发传真”用例的最理想的场景。 其中对象包括:发送方传真、接受方传 真、传真件和一台用来对传真和电话呼 叫选择路由的中央“交换机”。
27
发传真类似打电话
打电话
主叫
被叫
主叫拿起电话,拨被叫电话号码,通过交换机向 双方发电话铃声,被叫接电话,铃声停止。
[2] Joseph Schmuller.UML基础、案例与应 用.人民邮电出版社,2004,8:P90-105
38
}
tv.close();
…..;
}
}
}
31
消息的代码表示 tv.close();
消息= 接受对象名+接受者能做的操 作
32
顺序图中的消息
调用消息 异步消息 返回消息 阻止消息:消息发送者发出消息给接收者,如
果接收者无法立即接收消息,则发送者放弃该 消息。 超时消息:消息发送者发出消息给接收者并按 指定时间等待,如果接收者无法在指定时间内 接收消息,则发送者放弃该消息。
28
使用UML表示
caller
exchange
receiver
1: lift receiver

软件工程顺序图

软件工程顺序图
消息用来阐明顺序图中不同活动 对象之间旳通信。它能够在一种对 象需要取消不同对象旳进程时或者 需要向另一种对象提供服务时,使 用消息。
消息从活动对象生命线到接受对 象生命线旳箭头表达。箭头以时间 顺序在图中从上到下排列。箭头上 面标识要发送旳消息,如下图所示。
把参加者表达为活动对象
旳建模能够阐明参加者怎样 与系统交互,以及系统怎样 与顾客交互。参加者能够调 用对象,对象也能够告知参 加者,如下图所示。
四、 怎样使用消息进行通信
消息是顺序图活动对象之间通信旳惟一 方式。UML中消息使用了某些简介旳标识符。
消息能够包括条件以便限制它们只有满 足条件时才干发送。条件显示在消息名称上 面旳方括号中,如下图所示:
在UML中,总共有4种类型旳消 息,如下图所示。
到目前为止只看到了一种消息, 即简朴消息(flat message)
旳操作统计下来,以供后来查询。最 终,Engine 直接将成果返回给 ProcessMonitor,由ProcessMonitor将 成果包装,显示给顾客。
六、学习怎样建模顺序图
创建顺序图包括四项任务: • 1)拟定需要建模旳工作流。 • 2)从左到右布置对象。 • 3)添加消息和条件以便创建每
一种工作流。 • 4)绘制总图以便连接各个分图。
2.布置对象
• 建模顺序图旳下一步是从左 到右布置全部旳参加者和对 象,包括要添加消息旳对象 生命线。
3.添加消息和条件
接下来,对每一种工作流 作为独立旳顺序图建模。从基 本旳工作流开始,它是没有犯 错条件,而且需要至少决策旳 工作流。在本例中,基本工作 流是教师成功地检验某个学生 旳分数。如下图所示。
1. 同步消息
同步消息(synchronous message)代表一种操 作调用旳控制流。同步消息旳发送者把控制 传递给消息旳接受者。然后暂停活动,等待 消息接受者旳应答,收到应答后才继续自己 旳操作。

第1章面向对象程序概述精品PPT课件

第1章面向对象程序概述精品PPT课件
面向对象方法是开发计算机软件的一种方法。 这种方法比面向过程的方法可提高可用性,适用 于图形界面的使用,减少模块间的依赖关系,有 利用程序的调试和修改。该方法是一种采用了类、 对象、继承和多态等新概念的新方法。
将数据及对数据的操作方法封装在一起,作为 一个相互依存、不可分离的整体——对象。对同 类型对象抽象出其共性,形成类。
9
2020/10/29
广州大学华软软件学院软件工程系
1.2 面向对象程序设计的基本思想
3.封装
封装是指将对象的属性和行为结合成为一个独 立的封装体。把对象的属性和服务结合成一个独立 的系统单位。
封装是一种数据隐藏技术,在面向对象程序设 计中可以把数据和与数据有关的操作集中在一起形 成类,将类的一部分属性和操作隐藏起来,不让用 户访问,另一部分作为类的外部接口,用户可以访 问。类通过接口与外部发生联系,用户只能通过类 的外部接口使用类提供的服务,而内部的具体实现 细节则被隐藏起来,对外是不可见的。
•面向过程的结构化程序设计 采用模块分解与功能抽象,自顶向下,分而治
之。以服务(功能)为中心。
优缺点:复杂的任务-分解成子任务 ;可重用性 差。
•面向对象的程序设计 以数据为中心,数据相对于功能而言,具有更
强的稳定性 。代码重用。
4
2020/10/29
பைடு நூலகம்
广州大学华软软件学院软件工程系
C++与C语言的关系
广州大学华软软件学院软件工程系
1.2 面向对象程序设计的基本思想
现实世界中的对象一般具有以下特性: (1)每一个对象必须有一个名字以区别于其他对 象。 (2)用属性来描述对象的某些特征。 (3)有一组操作,每个操作决定对象的一种行为。

面向对象分析与设计课件第6章 顺序图与通信图建模

面向对象分析与设计课件第6章 顺序图与通信图建模

Ad d (Ch ro m o so m e )
loop [nt So rtByAcco m m o d a ti o n () Cro ssOve r(Ch ro m o so m e )
m u ta ti o n ()
CanbeEnded(int): Boolean
图6-1 顺序图中常见的对象
6.1.2 生命线(lifeline)
生命线是从对象图标向下出来的延伸的一条直线,也是和对象紧密联系在 一起的一种模型元素,用于表示对象的生存期或生存期内的某个时间片段。
事实上,在顺序图中,对象和生命线是不可分割的同一个元素,生命线是 对象的一个组成部分,代表了对象的整个或部分生命期。顺序图中即不存在 没有生命线的对象,也不存在没有对象的生命线。当然这并不排除生命线分 支的概念。
除了图形符号,UML还使用消息表达式的方式来描述消息。 按照对象间交互的形式,可以把消息分成方法调用、发送信号、创建实例 和销毁对象等多种形式。其中,最常用的形式就是对象间的方法调用。
6.1.4 消息(Message)
描述方法调用或发送信号的消息的语法格式定义如下: [returnvalue=] message_name (arguments) : type_of_return_value return_value:是消息的可选部分,表示存储消息返回值的变量。这个变 量可以是发送者的一个属性、整个交互的全局属性、或者是某个拥有交互的 类的属性。 message_name:表示消息名称,可以是接收者的某个方法名或发送的信号 名等。 arguments:表示消息参数列表,是一个用逗号分隔的若干个参数构成的 列表,其中每个参数都可以是参数名或参数值。 type_of_return_value:返回值类型。

华师大面向对象程序设计-Lec11_设计类图及顺序图22

华师大面向对象程序设计-Lec11_设计类图及顺序图22

2016/6/19 7/54
Use Case Realization

How a particular use case is realized within the Design Model in terms of collaborating objects Nhomakorabea
Use case suggests the system operations System operations becoming starting messages entering the controllers for domain layer interaction diagrams Domain layer interaction diagrams illustrate the use case realization Domain model “inspires” classes but not one-to-one Use post-conditions from contract to design detailed message interactions
Object oriented Analysis &Design
面向对象分析与设计
Lecture_09 GRASP Exercise Ch19~Ch21
主讲: 陈小红 日期: 2016/6/19
Sample UP Artifact Relationships
Review
Business Modeling
: Cashier
system operations
make NewSale() enterItem (id, quantity) item details, formats, validation

面向对象技术-04顺序图和协作图

面向对象技术-04顺序图和协作图

Oper()
4.3 顺序图中的消息
4.3.6 消息的语法格式 超时消息是指消息发送者发出消息给接收者并按指定时间等 如果接收者无法在指定时间内接收消息, 待。如果接收者无法在指定时间内接收消息,则发送者放弃这 个消息。 个消息。
4.4 建立顺序图的步骤
1.确定交互过程的上下文(context)。 1.确定交互过程的上下文(context)。 确定交互过程的上下文 2.识别参与交互过程的对象 识别参与交互过程的对象。 2.识别参与交互过程的对象。 3.为每个对象设置生命线 为每个对象设置生命线, 3.为每个对象设置生命线,即确定哪些对象存在于整个交 互过程中,哪些对象在交互过程中被创建和撤销。 互过程中,哪些对象在交互过程中被创建和撤销。 4.从引发这个交互过程的初始消息开始 从引发这个交互过程的初始消息开始, 4.从引发这个交互过程的初始消息开始,在生命线之间自 顶向下依次画出随后的各个消息。 顶向下依次画出随后的各个消息。 5.如果需要表示消息的嵌套,或/和表示消息发生时的时 5.如果需要表示消息的嵌套, 如果需要表示消息的嵌套 间点,则采用控制焦点。 间点,则采用控制焦点。 6.如果需要说明时间约束 则在消息旁边加上约束说明。 如果需要说明时间约束, 6.如果需要说明时间约束,则在消息旁边加上约束说明。 约束是UML UML的 种扩展机制之一) (约束是UML的3种扩展机制之一)。 7.如果需要 可以为每个消息附上前置条件和后置条件。 如果需要, 7.如果需要,可以为每个消息附上前置条件和后置条件。
42顺序图生命线lifeline顺序图中对象的命名方式主要有3种协作图中的对象命名方式也一样42顺序图顺序图中对象的命名方式主要有3种协作图中的对象命名方式也一样只显示对象名不显示类名不关心属于哪个类42顺序图oopsla95driver生命线在顺序图中表示为从对象图标向下延伸的一条虚线表示对象存在的时间42顺序图控制焦点是顺序图中表示时间段的符号在这个时间段内对象将执行相应的操作

cc程序设计第10章面向对象程序设计课件

cc程序设计第10章面向对象程序设计课件

void Work ( int days ) // 函数重载
{ cout << name << "已经工作了" << days << "天!" << endl ; }
};
10.3.2 类的成员函数
3. 带默认形参值的成员函数
#include <iostream>
#include <string>
using namespace std ; class Person { private :
}; double Circle:: Peri ( ) // 在类体外实现的函数
{ return 2 * 3.14 * r ; }
void main ( )
直接引用公有的成员
{ Circle c ;
c.r = 3.78 ; // 对数据成员 r 的写操作
cout << "圆的半径是:" << c.r << endl ; // 对数据成员 r 的读操作
函数的形参带 有默认值。
string name ; // 姓名
char sex ; // 性别
int age ;
// 年龄
public :
// …… …… // 其他成员函数省略
void Input ( string n = "zhang" , char se = 'F' , int a = 20 )
:: 域操作符
类外格式 函数的原型声明写在
类体中的格式同C中
对比 C中的函数声明:
的函数
返回值类型 函数名(参数表)

面向对象程序设计第10章-讲义

面向对象程序设计第10章-讲义
• 声明一个实现Runnable接口的类。 • 以实现Runnable 接口的类对象为参数创建一
个Thread 类对象。
• 调用Thread类对象的start() 方法启动线程。
例:利用Runnable接口创建线程
public class MyThread_2 implements Runnable
threadObj.start();
}
}
10.2 线程状态的转换
一个线程的生命周期中,有四个状态,线程就 是在这4个状态之间不断变换,直到死亡为止。
新建状态
start()
()
可运行状态 stop() 执行完成
()死亡状态
suspend() sleep() wait()
resume() 睡眠结束 notify()
成员方法为某个线程设置优先级。
• 例如,假设threadObj是一个Thread类对象,可
以用 threadObj.setPriority(6);设置优先级。
10.3 线程控制
• 基本的线程控制方法
• 启动线程
start()
• 阻塞线程
wait()
• 唤醒线程
notify() 或 notifyAll() 或 interrupt()
关键字synchronized用来与对象的互斥锁联系。当某个 对象用synchronized 修饰时,表明该对象在任一时刻只 能由一个线程访问。此时,如果有第二个线程也要访问 同一个对象,它也试图获取该对象的互斥锁,但因该对 象已经被锁定,则第二个线程必须等待,直到锁被释放 为止。
synchronized
• 线程让步
yield()
• 等待其它线程结束
join()

第5章 面向对象分析与设计(3)——顺序图协作图

第5章 面向对象分析与设计(3)——顺序图协作图

12
3.协作图概述
协作图的格式决定了它们更适合在分析活动中使用。 它们特别适合用来描述少量对象之间的简单交互。随着对 象和消息数量的增多,理解协作图将越来越困难。此外, 协作图很难显示补充的说明性信息,例如时间、判定点或 其他非结构化的信息,而在序列图中这些信息可以方便地 添加到注释中。 协作图具有以下用途: 通过描绘对象之间消息的移动情况来反映具体的方案。 显示对象及其交互关系的空间组织结构,而非交互的顺 序。
8
2.顺序图的组成
2.2 消息
消息定义的是对象之间某种形式的通信,它可以激 发某个操作、唤起信号或导致目标对象的创建或撤 销。 消息是两个对象之间的单路通信,从发送方到接收 方的控制信息流。 消息可以用于在对象间传递参数。 消息可以是信号,也可以是调用。 在 UML 中,消息使用箭头来表示,箭头的类型表示 了消息的类型。
17
3.协作图的组成
3.2 迭代
2)一个对象多次向另一个对象发送消息。
18
顺序图向协作图的转换
19
顺序图向协作图的转换
20
练习
定投约定的日期一到,系统首先检查客户设定的扣款 账户余额,确认余额是否足够支付交易款项,如果足够, 则扣交易款项,更新客户基金账户中基金的份额,交易成 功,并且把交易扣款失败次数归零。系统在扣款的时候, 如果累计失败三次,则停止扣款,并且更改交易情况为 “停止扣款”。
21
5.本章小结
1、顺序图概述 2、顺序图的组成 3、协作图概述 4、协作图的组成
22
Q/ A

23


帮助分析员对照检查每个用例中描述的用户需 求,是否已经落实到一些对象中去实现。提醒 分析员去补充遗漏的对象类或操作。 帮助分析员发现哪些对象是主动对象。 通过对一个特定的对象群体的动态方面建模, 深刻地理解对象之间的交互。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Use cases - the way to describe requirements

For certain scenarios, system sequence diagrams What is system operation?


Use Case Model and Domain Model are developed in parallel Operation Contracts: a way to describe use cases in more detail
external actor to system : Cashier
Process Sale Scenario
:System makeNewSale
a UML loop interaction frame, with a boolean guard expression
loop
[ more items ] enterItem(itemID, quantity)
description, total
endSale return value(s) associated with the previous message an abstraction that ignores presentation and medium the return line is optional if nothing is returned

SSD and Use case

it is generated from inspection of a use case
5
Process Sale Scenario : Cashier makeNewSale Simple cash-only Process Sale scenario: 1. Customer arrives at a POS checkout with goods and/or services to purchase. 2. Cashier starts a new sale. 3. Cashier enters item identifier. 4. System records sale line item and presents item description, price, and running total. Cashier repeats steps 3-4 until indicates done. 5. System presents total with taxes calculated. 6. Cashier tells Customer the total, and asks for payment. 7. Customer pays and System handles payment. ... loop [ more items ] enterItem(itemID, quantity)
change due, receipt
4
(Ch10,15 )
System Sequence Diagram

Cf: SSD & SD

SSD: to emphasize to treat systems as black boxes. SD will be used to illustrate the design of interacting software objects to fulfill work

Part of the Use Case Mods
:Cashier makeNewSale() enterItem(itemID,quantity) :System
description, total
*[more items]
The entire set of system operations define the system interface.

Operation contract
2
(Ch10,15 )

System Sequence Diagram
SSD:


What is SSD?

System Sequence Diagram A SSD is a picture that shows, for one particular scenario of a use case, the events that external actors generate, intersystem events , and their order All systems are treated as a black box; the emphasis of the diagram is events that cross the system boundary from actors to systems external input events
15
Postconditions

Definition


The postconditions describe changes in the state of objects in the domain model. Domain model state changes include
3
(Ch10,15 )
System Sequence Diagram
system as black box the name could be "NextGenPOS" but "System" keeps it simple the ":" and underline imply an instance, and are explained in a later chapter on sequence diagram notation in the UML
:System
description, total
endSale
total with taxes
makePayment(amount)
change due, receipt
Fig 10-3
6
Fig 10-5
7
SD example,fig15-3
: Register makePayment(cashTendered) makePayment(cashTendered) create(cashTendered) : Payment : Sale
Object oriented Analysis &Design
面向对象分析与设计
System Sequence Diagram Operation Contract
Presented by: Xiaohong Chen
Outline

System sequence diagram

Identify system events. Create system sequence diagrams for use case scenarios.

初学建模者没有对交互图给予足够的重视
8
Example
:A doOne doTwo doThree myB : B
What class A&B looks like? (write pseudocode )
public class A { private B myB = new B(); public void doOne() { myB.doTwo(); myB.doThree(); } // … } public class B { …. public void doTwo() { …. } public void doThree(){ ……; } // … }
14
Definition: What are the Sections of a Contract? (11.2 )

A description of each section in a contract is shown in the following schema.
Name of operation, and parameters Use cases this operation can occur within important assumptions about the state of the system or objects in the Domain Model before execution of the operation. These are non-trivial assumptions the reader should be told.
13
Example of a Contract for enterItem
Operation: enterItem(itemID: ItemID, quantity: Integer) Cross References: Use Cases: ProcessSale Preconditions: There is a sale underway Postconditions: A SaleLineItem instance sli was created sli was associated with the current Sale sli.quantity became quantity sli was associated with a ProductDescription, based on itemID match



System Event


system operation

actor generates events to a system
相关文档
最新文档