有对UML感冒的朋友吗?请进(50分)

  • 主题发起人 主题发起人 Nose
  • 开始时间 开始时间
N

Nose

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我要做一个通讯录程序,有 查询,增加,修改,发Email等功能,这些功能是否都算是
Use Case?如果是,好像又是面向功能的设计方法,而不是面向对象的设计方法.
如果不是,USE CASE又该如何设计?
 
我估计通讯录本身就是一个对象。其实我一窍不通!
 
通讯录本身就是一个对象,查询,增加,修改,发Email是他的方法
我正在学ROSE,有感兴趣的一块探讨
 
使用UML的第一步骤应该是Use Case设计吧,通讯录本身是对象应该在类图设计里面做.
如何设计一个合理的use case?
 
如果你能把所有模块之间的联系都抽象出来
是模块之间的耦合性减到最少。
那应该就算是一个合理的use case了吧
 
Example of a Use Case
The example below shows a use case that describes the interactions involved in repairing a cellular
network. The business goal of the (primary) actor the Operator is to repair the network. The other active
participants are the cellular network itself and a field maintenance engineer. The source information for the
use case comes from two sources viz. Operating Manual [1993] and [Jones 1998]. In order for the use case
to succeed it is assumed that any changes that are sent to the cellular network will not fail. That is the
network cells will change as directed.
Use Case 2. Repairing_Cellular_Network
history created 1/5/98 Derek Coleman, modified 5/5/98.
Description Operator rectifies a report by changing parameters of a cell.
sources [Operating Manual 1993], [Jones 1998].
Assumptions Changes to network are always successful when applied to a network.
Actors Operator (primary)
Cellular network
Field maintenance engineer
Steps 1. Operator notified of network problem.
2. Operator starts repair session.
3. REPEAT
3.1.Operator runs network diagnosis application.
3.2 Operator identifies cells to be changed and their new
parameter values.
3.3 IN PARALLEL
3.3.1 Maintenance engineer tests network cells ||
3.3.2 Maintenance engineer sends fault reports.
UNTIL no more reports of problems
4. Operator closes repair session.
Variations #1. System may detect fault and notify operator or
Field maintenance engineer may report fault to Operator.
Non-Functional Performance Mean: time to repair network fault must be less than 3
hours.
Fault Tolerance: A repair session must be able to tolerate failure of
Operator’s console.
Issues What are the modes of communication between field maintenance
engineer and operator?
Table 2 : Example Use Case
The use case is triggered by an Operator being notified that there is a fault. There are two variations on how
this may happen, either via the system or via a maintenance engineer. The use case repeats the repair
process until the fault has been rectified. The field service engineer concurrently performs network cell
tests and sending fault reports.
Repairing the network must be accomplished within three hours on average. Further more if the Operator’s
console crashes then
the repair session should be able to continue. The use case descriptiondo
es not
specify the allowable modes of communication between the operator and field service engineers, will need
to be resolved.
The sections of a use case are as follows:
•
Identifier
•
Name
•
Purpose
•
Overview
•
Actors
•
Categorization
•
Triggers
•
Pre-conditions
•
Typical Course of Events
•
Post-conditions
•
Alternative Courses
•
Associated Use Cases
•
Associated Requirements
•
General Notes
•
Document Change/QA Log
 
use case图应该理解为场景分析
 
  在UML的文档中,Use Case的定义是:
在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
我也正在学这东西。
 
看中国UML论坛,http://www.umlchina.com/
 
use case 框图显示使用案例与角色的交互。
使用案例表示从用户角度对系统的要求,因此表示系统功能。角色是系统的主体。
因此,查询,增加,修改,发Email等都是系统功能,也就可以确定为use case.
其实,use case是设计的初步。再往后,就是画sequence 图and so on.
逐渐地抽象出一个通讯录类。
这个程序相对来说一目了然。谁是类,一眼能看明白,也就容易产生怀疑。
UML适合于复杂系统的分析设计。
供参考。
 
use case 即功能需求
 
当然算啦,用例就是能够完成某个actor的请求,就是能实现一个功能。一般都是用动词或者表示动作的词来命名。
 
USE CASE 可大可小。
如果仅仅是一个通讯程序 那 查询,增加,修改,发Email等功能 就是USE CASE
如果通讯程序只是其中一部分,则可将查询,增加,修改,发Email等功能 略过;
等到系统细化的时候在加入。

本人也在学ROSE ,新手 ,希望能和各位大虾讨教。我的OICQ是:79506179,有兴趣的
同志可以联系。
 
jiang_sheng是个明白人:)
 
Use Case实际时需求过程中的场景分析,反映的是系统交互的状态,或者是功能需求
并不是直接的计算机模型.因此,use case 图不是软件模型必须的
有了它能更好的检验你的需求分析的合理性
本人在用rose时从来没有一定要按UseCase图提取类
 
查询,增加,修改都不算是Use Case,发Email是Use Case
查询,增加,修改叫建立用户就算Use Case
Use Case应该是Actor的一个确定的执行,执行结果要么成功要么失败
 
用例图的主要目的是什么要搞清楚,
UML是一个多种图形形式工具一起使用的语言,
好象不能把什么都放到use case中吧。
 
1、你都开始设计了,还 Use 什么 Case 呀!
2、分析和设计一样吗?
3、什么是 Use Case,什么都可以是、什么都可以不是,大到“建立一个Windows2000”,
小到“在DelphiBBS上发个贴子”,Use Case是帮助分析、表达需求的。
4、Use Case 是一个工具,表达需求的,如果在通讯录这样的小程序中需求很明确,何必
把它画成 Use Case 的图?把它画出来能有什么帮助吗?
5、Rational是个工具,工具嘛就应该减少我们的工作,如果用了它本来3天的工作变成6
天,那就是对工具的曲解了。
6、如果真的想知道如何“设计” Use case,想一个大到半年才能做完的程序吧,那样你
会知道有时需求分析是挺难得,再用 Use case 表达需求,就知道 Use Case 的作用了。
 
to sslxml:
1)那使用UML的时期在整个软件开发过程中应该处于什么位置?
2)UML增加项目的初期时间,但减少项目的维护,升级工作量
通讯录是一个小到不能再小的例子,偶只是想通过这个例子走以下项目设计流程,学习UML,
请大家再作讨论
 
后退
顶部