软件工程10-2 面向对象方法学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cindy:调度员
事件流:
1.Bob 驾驶巡逻车沿主要街道巡逻,发现一
个仓库有浓烟冒出。他的同事 Alice,用
她的手持设备激活“报告紧急情况”功能
2.Alice 输入仓库地址、起火位置的简短描
述(如西北角)以及紧急等级。考虑该地
区相对繁忙,Alice 除了请求消防单位外,
还请求了现场的几个医疗单位。她确认了
出口条件: 5.现场工作人员收到答复并选择响应
软件工程-2014-第十章 面向对象方法学
8
(续表)
特殊需求: 现场工作人员的报告在 30s 内得到答 复。选择的响应在发送之后 30s 内到达
场景(Scenario):
场景是Use Case的真实例子; 场景通过举例说明情况,帮助理解问题域,进而归纳
Postconditions: 1. The system has found the employee details.
Alternative fቤተ መጻሕፍቲ ባይዱows: None
软件工程-2014-第十章 面向对象方法学
17
《extend》
base use case Librarian
Library system
自己的输入并等待答复
3.调度员 Cindy 由工作站的蜂鸣声注意到紧
急情况。她查看了 Alice 提交的信息,然
后答复了这个报告。
软件工程-2014-第十章 面向对象方法学
10
(续表)
她分配了一个消防单位和两个医疗单位到 事件现场,并发送他们的预计到达时间给
Alice 4.Alice 收到答复和预计到达时间
Primary actors: Manager
Second actors: none
Preconditions: The Manager is logged on to the system
Main flow: 1. The Manager enters the employee’s ID 2. The System finds the employee details. ……
可以扮演的角色,即可以执行的Use Case, 有助于协调需求冲突、制定安全策略。
软件工程-2014-第十章 面向对象方法学
5
Use Case
Use Case的描述:
Use Case的名字:唯一标识 参与的Actor(s):标出其中的主动Actor 入口条件:Use Case启动前需要的条件 事件流:Use Case的动作序列 出口条件:完成后应满足的条件 特殊需求:非功能性需求
Use Case; 具体执行一次Use Case,得到一个场景; 场景重在可理解性,Use Case重在完整性。
场景示例:
注意:场景是Use Case的实例,因此其名字带有下划 线(对象)
软件工程-2014-第十章 面向对象方法学
9
场景名:
仓库失火
参与 Actors: Alice,Bob:现场工作人员
Use Case间的关系:包含、扩展、泛化
包含:两个Use Case,如果其中一个在其事件流中包 含了另一个,那么它们间就有包含关系。
扩展:将常规动作放在一个基本Use Case中,将非常 规动作放在其扩展Use Case中。
泛化:对一般性Use Case做特殊化、细化。 包含与扩展的区别
19
Extension Use case: IssueFine ID: 10 Brief description: The librarian records and points out a fine. Primary actors: Librarian Second actors: none Segment 1 Preconditions: 1. The returned book is overdue. Segment 1 flow: 1. The Librarian enters details of the fine into the
Return book
extension use case
《extend》
Borrow book
Issue fine
Find book
extend relationship
软件工程-2014-第十章 面向对象方法学
18
ID: 9
Use case: ReturnBook
base use case
Brief description: The librarian returns a borrowed book Primary actors: Librarian Second actors: none Preconditions: The Librarian is logged on to the system
Personnel system
ChangeEmployeeDetails
《include》
inclusion use case
Manager
ViewEmployeeDetails 《include》 FindEmployeeDetails
DeleteEmployeeDetails
《include》
ReturnBook --------------------------
extension points overdueBook
Main flow: 1. The Libratian enters the borrower’s ID number. 2. The system displays the borrower’s details including
system. 2. The system prints out the fine.
Segment 1 Postconditions: 1. The fine has been recorded in the system. 2. The system has printed out the fine.
the list of borrowed books. 3. The libarain finds the book to be returned in the list
of books. Extension point: OverdueBook 4. The Librarian returns the book ………
Preconditions: The Manager is logged on to the system Main flow: 1. Include (FindEmployeeDetails). 2. The System displays the employee details. ……
Postconditions: 1. The system has displayed the employee details.
Postconditions: 1. The employee details have been changed. Alternative flows: None
Use Case: ViewEmployeeDetails ID: 2 Brief description: The Manager view the employee details Primary actors: Manager Second actors: none
示例:
软件工程-2014-第十章 面向对象方法学
6
Use Case 示例:
要编写“报告紧急 情况”Use Case
软件工程-2014-第十章 面向对象方法学
7
用例名称: 报告紧急情况
参与 Actors: 由现场工作人员启动,与调度员交流
入口条件: 1.现场工作人员激活她终端上的报告紧急情
况功能
事件流:
2.系统做出响应:提交一份表格给工作人员 3.现场工作人员填好表格:选择紧急等级、 类型、位置和简单情况描述。现场工作人员
还需描述紧急事件的可能后果。一旦现场工
作人员填完并提交表格,系统将通知调度员
4.调度员查看提交的表格,通过调用打开事 件Use Case在数据库建立一个事件。调度员 选择一个响应并回复收到的紧急情况报告
Use Case的表达形式:
自然语言、活动图等; UML的Use Case图描述的是Use Case模型;
软件工程-2014-第十章 面向对象方法学
3
Use Case
Actor:
Actor是与系统交互的外部实体; Actor是具有构造型<<Actor>>的类,所以谈论
Actor时考虑的是其角色,而非角色的实例; Use Case总是由Actor启动的; Actor与Use Case间是多对多的关系。
第十章
面向对象方法学 (2)
第十章(2)内容概要
★ 面向对象的需求提取 面向对象分析
软件工程-2014-第十章 面向对象方法学
2
Use Case
Use Case是什么:
本质上,一个Use Case是用户与计算机之间为 达到某个目的的一次典型交互作用;
作为结果,Use Case代表的是系统的一个完整 功能。
Actor有助于获取Use Case
先找出各Actor,再通过他们得到Use Case。
软件工程-2014-第十章 面向对象方法学
4
Use Case
处理Actor与Use Case的关系
一般不必过分关注Actor的细节; 若需对系统分析优化,应了解Actor细节; 对每个用户,提供一张Actor列表,指明其
软件工程-2014-第十章 面向对象方法学
11
包含关系:<<uses>>也可写为<<include>>
软件工程-2014-第十章 面向对象方法学
12
扩展关系
软件工程-2014-第十章 面向对象方法学
13
泛化关系
软件工程-2014-第十章 面向对象方法学
14
《include》
base use case
《extend》 extension point
IssueFine
Extension point: overdueBook
Postconditions: 1. The book has been returned.
Alternative flows: none
extension use case
软件工程-2014-第十章 面向对象方法学
Alternative flows: None
软件工程-2014-第十章 面向对象方法学
16
《include》
Use Case: DeleteEmployeeDetails ID: 3 Brief description: The Manager delete the employee details Primary actors: Manager Second actors: none Preconditions: The Manager is logged on to the system Main flow: 1. Include (FindEmployeeDetails). 2. The System displays the employee details. 3. The Manager deletes the employee details. ……
Postconditions: 1. The employee details have been deleted. Alternative flows: None
Use Case: FindEmployeeDetails
ID: 4
Brief description: The Manager finds the employee details
Include relationship
软件工程-2014-第十章 面向对象方法学
15
《include》
Use Case: ChangeEmployeeDetails ID: 1 Brief description: The Manager change the employee details Primary actors: Manager Second actors: none Preconditions: The Manager is logged on to the system Main flow: 1. Include (FindEmployeeDetails). 2. The System displays the employee details. 3. The Manager changes the employee details. ……