OOSE - Analysis Req
Transcript of OOSE - Analysis Req
-
8/9/2019 OOSE - Analysis Req
1/18
30/09/2006 SE6161 Analisis Rekayasa Perangkat Lunak Slide 1
OOSEOOSE AnalysisAnalysis
Requirement ModelRequirement Model
-
8/9/2019 OOSE - Analysis Req
2/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 230/09/2006
Analysis The aim is to analyze, specify, and define the system
to be built
The models developed will describe what the system is to do
will make it easier for us to understand the system
are fully application- oriented (no consideration is paid tothe real implementation environment)
can be used without changing even if the implementationenvironment changed
Two models are yielded: the requirements model
the analysis model.
-
8/9/2019 OOSE - Analysis Req
3/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 330/09/2006
Requirement Model
Requirement model:describes all the functional requirements
from user perspective
describes the way the system is to beused by end users
structured from a logical perspective into a
robust and maintainable system.based on the requirement specification
and discussions with the prospectiveusers
-
8/9/2019 OOSE - Analysis Req
4/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 430/09/2006
Requirement Model (2)
Consists of:Use case model
Interface description
Problem domain object model
-
8/9/2019 OOSE - Analysis Req
5/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 530/09/2006
Use Case Model
Uses actors and use cases
Actor are not part of the system, they represent roles a user of
the system can play.
may actively interchange information with the system.
may be a passive recipient of information.
can represent a human, a machine or another system.
Use case models a dialogue between actors and the system.
is initiated by an actor to invoke a certain functionality inthe system.
models a dialogue between one or more actors and thesystem that returns a result of measurable value to atleast one actor.
is a complete and meaningful flow of events.
represents a major system usage goal for one or more
of the actors that interact with the use case.
Actor
Use-Case
-
8/9/2019 OOSE - Analysis Req
6/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 630/09/2006
Use Case Model (2) Activity:
Identify actors (by identifying the users of the system)
Identify use cases through actors by asking a number of questions: What are the main tasks of each actor?
Will the actor hate to read/write/change any of the system information?
Will the actor have to inform the system about outside changes?
Does the actor wish to be informed about unexpected changes?
Draw the use case diagram to show relationships between actors anduse cases
Use extension association between use case to specify how one use casedescription may be inserted into another use case description
Describe the use cases Describe the basic flow
Describe alternative flows
-
8/9/2019 OOSE - Analysis Req
7/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 730/09/2006
Use Case Diagram - Extension
Extends; defines alternative courseof events:
optional parts of use cases
complex and alternative courseswhich seldom occur
separate sub-courses which are
executed only in certain casessituation where several different use
case can be inserted into a specialuse case
-
8/9/2019 OOSE - Analysis Req
8/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 830/09/2006
Interface Description The interface has to capture the user's logical view of the
system
the main interest is the consistency of this logical view and the actualbehavior of the system.
Techniques:
Use sketches of what the user will see on the screen when performing
the use case
Simulations using a User Interface Management System (UIMS)
Such a technique will eliminate several possibilities for
misunderstandings It is important that users are involved in making detailed
interface descriptions.
-
8/9/2019 OOSE - Analysis Req
9/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 930/09/2006
Problem Domain Object Model
The model is the identification of the objects that have adirect counterpart in the application environment and that
the system must know about.
The refinement of the problem domain objects can be
obtained in different possible degrees: object name
logical attributes
static instances associations
inheritance
dynamic instance associations
operations
-
8/9/2019 OOSE - Analysis Req
10/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1030/09/2006
Problem Domain Object Model (2)
-
8/9/2019 OOSE - Analysis Req
11/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1130/09/2006
Discussions How complete the use cases should be? Generally, it is better to have longer and more extensive use cases than
several smaller ones.
The arguments in favor of having the sequence as one complete use case are:
When specifying the use case, we may follow a complete flow through the entiresystem
From the orderers point of view, it is a logical cohesive flow of events in the system
It may be more effective when testing the use case since it covers more logicalcohesive events in the system
It is easier to synchronize the use case since it is one sequence that starts diffeentevents in chronological order
The arguments in favor of separating the use case into several different usecases are: It may be troublesome to find the right instance of a use case
From a potential actors view, it is more logical to have use cases that the actorstarts
It may be easier to test the use case since every use case starts from externalevents and not from internal system events
-
8/9/2019 OOSE - Analysis Req
12/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1230/09/2006
Example - Recycling Machine System
Crates
Bottles
Cans
Receipt
-
8/9/2019 OOSE - Analysis Req
13/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1330/09/2006
ExampleRecyling Machine System
The system controls a recyling machine forreturnable bottles, cans, and crates. Each customercan return all three types of item on the sameoccasions. Since there may be different types and
sizes of bottle and can, the system has to check, foreach item, what type has been returned.
The system will register how many items each
customer returns and, when the customer ask for areceipt, the system will print out what he/shedeposited, the value of the returned items and thetotal return sum that will be paid to the customer.
-
8/9/2019 OOSE - Analysis Req
14/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1430/09/2006
ExampleRecyling Machine System
The system is also used by an operator. Theoperator wants to know how many items of eachtype have been returned during the day. At the endof the day, the operator asks for print out of the total
number of items that have been deposited in themachine on that particular day. The operator shouldalso be able to change information in the system,
such as deposit values of the item. If there issomething amiss, for instance if a can gets stuck or ifthe receipt roll is finished, the operator will be calledby a special alarm signal
-
8/9/2019 OOSE - Analysis Req
15/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1530/09/2006
Use Case Diagram ExampleRecycling Machine System
Returning Item
Generate Daily Report
Change Item
Customer Operator
-
8/9/2019 OOSE - Analysis Req
16/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1630/09/2006
Use Case Diagram Example - Extends
Returning Item
Generate Daily Report
Change Item
Customer Operator
Item Stuck
extends
-
8/9/2019 OOSE - Analysis Req
17/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1730/09/2006
Example - Recycling Machine System
Deposit Item
Bottles CratesCans
inheritsinheritsinherits
Receipt Customer
Returned items My receipt
-
8/9/2019 OOSE - Analysis Req
18/18
SE6161 Analisis Rekayasa Perangkat Lunak Slide 1830/09/2006
Refinement of the Requirement Model
Print
Returning Item Generate Daily Report
usesusesReceipt Receiver
Customer Operator
inherits inherits