You are on page 1of 11

Analysis

Analysis

Separating or breaking up of any whole into its parts


so as to find out their nature, proportion, function,
relationship, etc.
Websters New World Dictionary

1
Analysis
The output of the requirements gathering
process is an external view of the system.

During the analysis more details on the


internal view are developed.

The analysis provides more detailed view


of each use case.

Analysis and Design


Division between A & D is fuzzy
Some practitioners can classify an activity as
analysis while others put it into design category
A & D activities exist on a continuum

More analysis oriented More design oriented

What How
--investigation of domain -logical solution
-understanding of problem -understanding and
describing a solution

2
What is OO A&D?

OO Analysis emphasizes finding and describing the


objects or concepts- in the problem domain.

OO Design emphasizes defining logical software


objects (things, concepts, or entities) that have
attributes and methods.

Examples

OO Analysis - in the case of the library information


systems, one would find concepts like book, library,
student.

OO Design - concentrates on defining the software


objects;
Ultimately these objects are implemented in some
programming language; Book may have a method named
print.

3
Example - contd.

Representation in
Domain concept analysis of
concepts

Book
Representation in OO
______ programming language
title
Print ()

Public class Book


{
public void print();
private string title;
}

Analysis

The basic building blocks of the analysis phase


are analysis classes.

The analysis phase provides an easy transition


between the requirements phase and the
design phase.

4
Application Objects
Interface (boundary) objects
Mainly the objects that will implement the user
interface.
Entity objects
Model real world objects
Some of them will finally be stored in the
database
Control objects
Implement business logic and pass orders to
other objects

Analysis Classes

Entity Class Boundary Class Control Class

<<entity>>

5
Boundary classes

Check out Asset UI


Librarian

Is an abstraction of all classes that will eventually comprise UI

They form the interface between a system and its


users
They represent elements such as windows,
buttons, menus ..

Entity Class

Check out Asset UI


Liberian

student Account

Represent real world objects (accounts, orders,


invoices)
In the analysis phase, a relationship between
classes is identified but the specifics of the
interface are determined in the design phase

6
Control Class

Check out Asset UI


Liberian
Overdue
Fine
Scheduler

student Account

Represents business logic


Duties not implemented in either boundary or entity
classes.

Use case realization analysis

Back to Use Cases, now we ask:


How will the use case provide the required
functionality?
Which classes are involved?

This is answered using the following parts:


Collaboration diagram
Next lesson
Flow of events description
Special requirements description

7
Analysis Modelling

Collaboration Diagrams

Collaboration Diagram
1:Enter Student(StudentID)

:Check out Asset UI


:Librarian

Notation
Object: Class
actorAhmed: Librarian
The line is a pathway for communication
The arrow indicates the direction of the message

8
Sequence Numbers &
Parameter passing
1:Enter Student(StudentID) 2:Find Student(StudentID)

:Check out Asset UI :Check out Controller


:Liberian

Notice the sequence of the messages


During the implementation such messages will
be translated into message calls to objects.

Return Values

1:Enter Student(StudentID) 2:Find Student(StudentID

:Check out 3:balance:=


:Liberian :Check out Asset UI GetAccountBalance
Controller

Notice that a new class has been


added
:Student Account
A message asking for the account
balance is sent to the class

9
Message conditions

1:Enter Student(StudentID) 2:Find Student(StudentID 4:(blance>0)pay overdue fine

:Check out :Check out 3:balance:= :Pay overdue


:Liberian Asset UI GetAccountBalance Fine
Controller
controller

:Student Account

Go to step 4 only if the account balance is >0

Multiplicity *

1:Select student(studentID) 2:Select student(studentID)


5*:Enter asset(assetID) 6:add asset(assetID)
4:(blance>0)pay overdue fine

:Check out :Check out :Pay overdue


:Liberian Asset UI Fine
Controller
3:balance:= controller
GetAccountBalance

7:add asset(assetID)
A step can
:student Account
be repeated
several
times. :Asset List

10
Summary
In the analysis phase, the focus is on the
software solution.

The first step is to think about realizing use


cases.

In doing so, we invent new classes that


will help later in building the intended
system.

11

You might also like