13
1 IF-ITB/YW/Revisi: Maret 2006 IF2261 OOSE - Analysis Page 1 IF2261 Software Engineering Program Studi Teknik Informatika STEI ITB OOSE – Analysis Analysis Model IF-ITB/YW/Revisi: Maret 2006 IF2261 OOSE - Analysis Page 2 Analysis Model When the requirement model has been developed, and often also signed up by the orderers, we can focus on the structuring of the system by developing the analysis model The aims is to create a good platform for the system and will also form the basis of the design Developing the analysis model really entails distributing the behavior specified in the use case description among the objects in the analysis model n It should be stated explicitly which object is responsible for which behavior in the use case Describe the system using three different types of object: n Entity object n Control object n Interface object

CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

  • Upload
    lenhi

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

1

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 1

IF2261 Software Engineering

Program Studi Teknik InformatikaSTEI ITB

OOSE – AnalysisAnalysis Model

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 2

Analysis ModelWhen the requirement model has been developed, and often also signed up by the orderers, we can focus on the structuring of the system by developing the analysis modelThe aims is to create a good platform for the system and will also form the basis of the designDeveloping the analysis model really entails distributing the behavior specified in the use case description among the objects in the analysis modeln It should be stated explicitly which object is responsible for which

behavior in the use caseDescribe the system using three different types of object:n Entity objectn Control objectn Interface object

Page 2: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

2

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 3

OOSE Analysis Model

Control objectA control object illustrates functionality that is not contained in any other object in the system.

Interface objectInterface objects interact directly with the environment.

Entity objectInformation about an entity object is stored even after a use case is completed.

Analysis Model

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 4

Interface ObjectAll functionality specified in the use case description that is directly dependent on the system environment is placed in interface objectsActors communicate with the system through these objectsThe task is to translate the actor’s input to the system into events in the system, and to translate these events into something which is presented to the actorHaving identified interface objects, it will be easy to modify an interface in the systemn this is a common situation that must be manageable

Page 3: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

3

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 5

Strategies in finding interface objects

Identified from the system interface description accompanying the requirement modelsStart from the actorsRead the use case description and extract the functionality that is interface-specific

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 6

Example – Use Case DecriptionUse Case Returning Item

When the customer returns a deposit item, it is measured by the system. The measurements are used to determine what kind of can, bottle or crate has been deposited. If accepted, the customer total is incremented, as is the daily total for that specific item type. If the item is not accepted, the lights for “NOT VALID” is highlighted on the panel.When the customer pressed the receipt button, the printer prints the date. The customer total is calculated and the following information printed on the receipt for each item type:n Namen Number returnedn Deposit valuen Total for this type

Finally the sum that the customer should receive is printed on the receipt.

Page 4: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

4

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 7

Recycling Machine System Interface Object – Example

Receipt PrinterOperator Panel

Alarm Device

Customer PanelCustomerCustomer

Receipt receiver

ihs ihs

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 8

Association between interface objects

Interface objects must know of each other to be able to solve certain taskAcquaintance associationn Solid directed line (uni directional)n Having name and cardinality

Cardinality:n Says how many instances can be associated

Page 5: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

5

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 9

Interface Object – ExampleAcquaintance Association

Receipt Printer

Operator Panel

Alarm Device

Customer Panel

printer[1]

printer[1]

alarm device[1]

alarm device[1]

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 10

Association between interface objects (2)

Consist of association n Aggregate n Containment hirarchy

Central interface

Page 6: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

6

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 11

Interface Object – ExampleCentral Interface

Receipt button Can slotBottle slot

Crate slot

Customer Panel

receipt button[1]

cans[1]

bottles[1]

crates[1]

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 12

Interface object typeInterface to other systemn Translates to a standardized protocoln Just sends out stimuli without any complex conversionAdvantages:n If the protocol changes, these changes will be local to this

objectInterface to a human usern Often request GUIn In interface-intensive application, interfaces object could

be the major part (up to 80%) of entire applicationUse supporting tools

Page 7: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

7

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 13

Strategies for allocating functionality(Hartson and Hix 1989)

Computational dominant control or embedded controln Place the controlling functionality inside the system (in the control objects or entity

objectsn Interface objects do not have very much functionality

Dialogue dominant controln Place the controlling functionality in the interface objectsn Do not have many control objects

Mixed controln Place the controlling functionality on both side, which offers more flexibility

Balanced controln Separate control form both the dialogue and computationaln The global control component governs sequencing among invocations of dialogue and

computational functions

Which type to choose must be decided on fromapplication to application

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 14

Entity Object

Used to model the information that the system will handle over a longer period of timen The information should be kept even if the use

case has been complete

Also used to allocate the behavior that naturally belongs to this informationEntity objects use attributes to store information

Page 8: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

8

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 15

Strategies in finding entity objects

Identified from the use case descriptionn Most are found early and obvious

It’s easy to find entity object, but more difficult to identify its operations and attributesn In nomal case, operations are not identified in the analysis

model (but later in the design model)n Typical operations that must be offered by an entity object:

creating and deleting the entity object storing and fetching information behavior that must be changed if the entity object is changed

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 16

Example – Use Case DecriptionUse Case Returning Item

When the customer returns a deposit item, it is measured by the system. The measurements are used to determine what kind of can, bottle or cratehas been deposited. If accepted, the customer total is incremented, as is the daily total for that specific item type. If the item is not accepted, the lights for “NOT VALID” is highlighted on the panel.When the customer pressed the receipt button, the printer prints the date. The customer total is calculated and the following information printed on the receipt for each item type:n Namen Number returnedn Deposit valuen Total for this type

Finally the sum that the customer should receive is printed on the receipt.

Page 9: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

9

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 17

Entity Object – ExampleRecycling Machine System

Deposit Item

Bottles CratesCans

inheritsinheritsinherits

Receipt Basis

Item[0..N]

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 18

Association between entity object

Communication associationn The entity object contact another entity object and

asks for information about something

Deposit ItemReceipt Basis

Page 10: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

10

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 19

Control ObjectUsed to model behavior that is not naturally placed in either of another two objects (interface and entity)n Usually needed in more complex use cases

Typically acts as glue which unites the other objectsNormally found directly from the use casesn In the preliminary draft, assign one control object for each use case

Deviation from the initial approach can be made for several reason:n In the case where there is no behavior in the use case left to model, then the

control object is not needed.n In the case of a very complicated behavior, the functionality may be divided

into several control objectsTypical type of functionality placed in the control objects are n transaction-related behavior, or n control sequences specific to one or a few use cases, or n functionality thas separates the entity objects from the interface objects.

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 20

Example – Use Case DecriptionUse Case Returning Item

When the customer returns a deposit item, it is measured by the system. The measurements are used to determine what kind of can, bottle or crate has been deposited. If accepted, the customer total is incremented, as is the daily total for that specific item type. If the item is not accepted, the lights for “NOT VALID” is highlighted on the panel.When the customer pressed the receipt button, the printer prints the date. The customer total is calculated and the following information printed on the receipt for each item type:n Namen Number returnedn Deposit valuen Total for this type

Finally the sum that the customer should receive is printed on the receipt.

Page 11: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

11

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 21

Control Object – ExampleRecycling Machine System

Deposit item receiver

Alarmist

Report Generator

Information Administrator

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 22

Working with the analysis objects

Deposit item receiver

Alarmist

Report Generator

Information Administrator

extends

Page 12: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

12

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 23

Analysis Model – ExampleRecycling Machine System – Use Case Returning Item

Deposit Item

Bottles CratesCans

inheritsinheritsinherits

Receipt Basis

Deposit item receiverCustomer Panel Receipt Printer

Item [0..N]

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 24

Subsystem

To get a clear overview of the system, the objects identified need to be placed in groups called subsystemThe taks is to package the objects so that complexity is reducedThe lowest level of subsystem called service packages

Page 13: CN IF2261 OOSE - Anaysis - Analysis Modeldinus.ac.id/repository/docs/ajar/file_2013-03-11_080617... · 2013-03-11 · Analysis Model IF-ITB/YW/Revisi: Maret2006 IF2261 OOSE - Analysis

13

IF-ITB/YW/Revisi: Maret 2006IF2261 OOSE - Analysis

Page 25

Subsystem – Example - Recycling Machine System

Deposit Item

Bottles CratesCans

inheritsinheritsinherits

Receipt Basis

Deposit item receiverCustomer Panel

Receipt Printer

Report Generator

Operator Panel

Alarmist Alarm Device

extends

Deposit Administration

Alarm