Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 48

Systems Development Methodologies

Systems Development Methodologies


Systems Development Methodologies
Systems Analysis and Design Tools
Systems Analysis and Design Tools
Systems Analysis and Design Tools
Tools used by System Analyst:
System flow chart
System flow chart
Decision table
Data Flow Diagrams(DFD)
• A model that indicates the flow of data through a
system.
• Represented using Data Flow Diagrams(DFD)
Data Flow Diagrams(DFD)
• A model that indicates the flow of data through a
system.
• Represented using Data Flow Diagrams(DFD)
Where the data comes from and

Notations:
Source/Sink where the data leaves the system

Process A transformation or validation of


data

A storehouse of data like a


Store database or file

Uni/bi directional - Used to indicate


flow
Data Flow Diagrams(DFD)
• An Example
• Draw the DFD for a distance education university.
• Steps for DFD
1. people/organisations/things that supply information to or use information
from the system external entities (EE)

2. Actions/doing words/verbs => Processes (P)

3. Movement/exchange of information/data between external entities to


processes, and processes to processes => data flows (DF)

4. store/record information/data => data stores(DS)


Data Flow Diagrams(DFD)
Context Diagram or 0 Level DFD
•  It’s a basic overview of the whole system or process 
• Single high-level process, with its relationship to external entities
Data Flow Diagrams(DFD)
DFD Level 1 
• more detailed breakout of pieces of the Context Level Diagram
• Context Diagram into its subprocesses
Data Flow Diagrams(DFD)
DFD Level 2
• goes one step deeper into parts of Level 1
• level of detail about the system’s functioning

Progression to Levels 3, 4 
ER Model
• ERD is a data modeling technique used in software
engineering to produce a conceptual data model
of an information system.
• So, ERDs illustrate the logical structure of
databases.
• The major activity of this phase is identifying entities,
attributes, and their relationships to construct model
using the Entity Relationship Diagram.
• Entity  table
• Attribute  column
• Relationship  line
ER Model
• Entity:
• A real-world object described by a set of attribute
values.
name
ssn lot
• Entity Set: A collection of similar entities.
• E.g., all employees. Employees
• All entities in an entity set have the same attributes.
• Each entity set has a key (underlined)
• Each attribute has a domain
ER Model
• Relationship: Association among two or more entities.

• E.g., Attishoo works in Pharmacy department.


• relationships can have their own attributes.
• Relationship Set: Collection of similar relationships.
• An n-ary relationship set R relates n entity sets E1 ... En ;
each relationship in R involves entities e1  E1, ..., en  En
since
name dname
ssn lot did budget

Employees Works_In Departments


ER Model ssn
name

lot
since
did
dname
budget

An employee can
work in many Employees Manages Departments

departments; a
dept can have Works_In
many employees. since

In contrast, each dept


has at most one
manager, according
to the key constraint
on Manages.
Many-to- 1-to- Many- 1-to-1
Many Many to-1
ER Model • 1-to-1 relationship

• 1-to-M relationship

• M-to-N relationship
ER Model
Alternative: Crow’s Foot Notation
ER Model
ER Model
Some ER
Diagram
Styles
Object-Oriented Analysis and Design
• OOA: we find and describe objects or concepts in the
problem domain

• OOD: we define how these software objects


collaborate to meet the requirements.
• Attributes and methods.

• OOP: Implementation: we implement the design


objects in, say, Java, C++, C#, etc.
Object-Oriented Analysis and Design
• Object-Oriented Analysis (Overview)

• An investigation of the problem (rather than how a solution


is defined)

• During OO analysis, there is an emphasis on finding and


describing the objects (or concepts) in the problem domain.

• For example, concepts in a Library Information System


include Book, and Library.
Object-Oriented Analysis and Design
• Object-Oriented Design
• Emphasizes a conceptual solution that fulfills the
requirements.

• Need to define software objects and how they


collaborate to fulfill the requirements.

• For example, in the Library Information System, a Book


software object may have a title attribute and a
getChapter method.

• Designs are implemented in a programming


language.
• In the example, we will have a Book class in Java.
Object-Oriented Analysis and Design

Analysis
Design Construction
investigation
logical solution code
of the problem

Book public class Book {


Book public void print();
(concept) title private String title;
print() }

Domain concept Representation in Representation in an


analysis of concepts object-oriented
programming language.
Unified Modeling Language (UML)

 UML → “Unified Modeling Language”


Language: express idea, not a methodology

Modeling: Describing a software system at a high


level of abstraction

Unified: UML has become a world standard


Object Management Group (OMG): www.omg.org
Unified Modeling Language (UML)
• Types of UML Diagrams:
 Use Case Diagram
 Class Diagram
 Sequence Diagram This is only a subset of diagrams … but are most widely
used
 Collaboration Diagram
 State Diagram

Structural
: element of spec. irrespective of time

Behavioral Interaction
• Class : behavioral features of a system / business process
: emphasize object interaction

• Component • Communication(collaberati
• Deployment • Activity on)
• Object • State machine • Sequence
• Interaction overview
• Composite structure • Use case
• Timing
• Package • Interaction
Unified Modeling Language (UML)
Boundary Use Case
Use-Case Diagrams Actor Library System

• A use-case diagram is a set of use cases Borrow Employee

• A use case is a model of the interaction Client

between Order Title

 External users of a software product (actors) and


 The software product itself Fine Remittance

 More precisely, an actor is a user playing a specific role


Supervisor

• describing a set of user scenarios


• capturing user requirements
• contract between end user and software
developers
Unified Modeling Language (UML)
Name
Account_Name
Class diagram - Customer_Name
Attributes
• A class diagram depicts classes and their
- Balance
interrelationships +addFunds( ) Operations
• Used for describing structure and behavior in the use
+withDraw( )
cases +transfer( )

• Provide a conceptual model of the system in terms of


entities and their relationships
Each class is represented by a rectangle
subdivided into three compartments
• Used for requirement capture, end-user interaction  Name
 Attributes
 Operations
• Detailed class diagrams are used for developers
Unified Modeling Language (UML)

Class diagram
Association: Model to Implementation
* 4
Student Course
has enrolls

Class Student {
Course enrolls[4];
}

Class Course {
Student have[];
}
Unified Modeling Language (UML)
Interaction Diagrams
• show how objects interact with one another

• UML supports two types of interaction


diagrams
Sequence diagrams
Collaboration diagrams
Unified Modeling
Sequence Diagram
Language (UML)
•Sequence diagrams demonstrate the behavior of Message Us er Catalog Res ervations

objects in a use case by describing the objects


and the messages they pass. 1: look up ()

2: title data ()

•The horizontal dimension shows the objects 3: [not available] res erve title ()

participating in the interaction.


4 : title returned ()

5: hold title ()
•The vertical arrangement of messages indicates
their order. 5 : title available ()

6 : borrow title ()

•The labels may contain the seq. # to indicate


6 : rem ove res ervation ()
concurrency.
Unified Modeling Language (UML)
Sequence Diagram(make a phone call)

Caller Phone Recipient

Picks up

Dial tone

Dial

Ring notification Ring

Picks up

Hello
Unified Modeling Language (UML)
Sequence Diagram:Object interaction

A B
Self-Call: A message that an
Synchronous
Object sends to itself.

Condition: indicates when a Asynchronous


message is sent. The message is
Transmission
sent only if the condition is true. delayed

[condition] remove()
Condition
*[for each] remove()
Iteration

Self-Call
Unified Modeling Language (UML)
Sequence Diagrams – Object Life Spans

• Creation
 Create message A

 Object life starts at that point


• Activation Create
B
 Symbolized by rectangular stripes
 Place on the lifeline where object is
activated.
 Rectangle also denotes when object
is deactivated.
• Deletion
Activation bar
X
 Placing an ‘X’ on lifeline Return
Deletion
 Object’s life ends at that point
Lifeline
Unified Modeling Language (UML)
Interaction Diagrams: Collaboration diagrams

start

6: remove reservation

3 : [not available] reserve title


User Reservations

6 : borrow title 5: title available

1: look up
2: title data

4 : title returned
Catalog

5 : hold title
Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence
diagrams are equally applicable to collaboration diagrams

Use a sequence diagram when the transfer of information is the focus of attention

Use a collaboration diagram when concentrating on the classes


Unified Modeling Language (UML)

State Diagrams (Traffic light example)

Traffic Light Start


State
State Diagrams (Billing Example) Red
Transition
State Diagrams show the sequences of states an object goes through
during its life cycle in response to stimuli, together with its responses and
actions; an abstraction of all possible behaviors. Yellow

Start End
Green
Unpaid Paid
Invoice created payin Invoice destroying
Event
g
Unified Modeling Language (UML)
A Simple Problem

switch

1W
5V

light
Unified Modeling Language (UML)
1. Use Case Diagram
SimpleCircuit

FlipOn

FlipOff

ViewLight

User

Functionality from user’s point of view


Unified Modeling Language (UML)
2. Class Diagram

Switch

Resistor Light

Battery
5V

Structure of system (objects, attributes, associations, operations)


Unified Modeling Language (UML)
3. Interaction Diagram:
(a) Sequence Diagram

User Switch Resistor Battery Light

FlipOn()
HeatUp() Drain()

Shine()

Messages between objects


Unified Modeling Language (UML)
3. Interaction Diagram:
(b) Collaboration Diagram

User

1. FlipOn()
1.1 HeatUp()
Switch Resistor

1.2 Shine() 1.3 Drain()

Light Battery

More compact, but harder to interpret


Unified Modeling Language (UML)
4. Statechart Diagram

flipSwitchOn

Light Light
Off On

flipSwitchOff

Transitions between states of one object


(Extension of Finite State Machine (FSM) model)
Unified Modeling Language (UML)
4. Statechart Diagram
(different objects)
flipSwitchOn flipSwitchOn

Cold Hot Not


Draining
Draining

flipSwitchOff flipSwitchOff

(Resistor) (Battery)
Unified Modeling Language (UML)
5. Activity Diagram

Flip Switch On Flip Switch Off

Actions are states


Summary
We have looked at five diagrams:
1. Use case diagrams [Functional Model]
-- models functionality from user’s point of view
2. Class diagrams [Object Model]
-- models structure of system using objects
3. Interaction diagrams [Dynamic Model]
(sequence and collaboration)
-- models messages passed between objects
4. Statechart diagrams [Dynamic Model]
-- models transitions between states
5. Activity diagrams [Dynamic Model]
-- models flow control as transitions between activities
The actual UML spec has 12 diagrams, but these five will be
sufficient for us.

You might also like