Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
12 views

lecture - 5-Software analysis

Software analysis

Uploaded by

asna azwar
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

lecture - 5-Software analysis

Software analysis

Uploaded by

asna azwar
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 134

SOFTWARE DESIGN

ADVANCED SOFTWARE ENGINEERING


WEEK - 05

D.M.K.D Dissanayake
MSc-IT(Cyber security), PGDIT, BSc(Hons),HR(Dip)
SOFTWARE ANALYSIS
SOFTWARE ANALYSIS AND MODELS

 Software analysis and design includes all activities, which help the transformation of
requirement specification into implementation.

 Analysis Model Objectives


 Describe what the customer requires.
 Establish a basis for the creation of a software design.
 Devise a set of requirements that can be validated once the software is built.
ANALYSIS MODEL ELEMENTS

 Data dictionary - contains the descriptions


of all data objects consumed or produced by
the software
 Entity relationship diagram (ERD) -
depicts relationships between data objects
 Data flow diagram (DFD) - provides an
indication of how data are transformed as
they move through the system; also depicts
functions that transform the data flow (a
function is represented in a DFD using a
process specification)
ANALYSIS MODEL ELEMENTS

 State transition diagram (STD) - indicates


how the system behaves as a consequence
of external events, states are used to
represent behaviour modes. Arcs are labelled
with the events triggering the transitions
from one state to another
SOFTWARE DESIGN
SOFTWARE DESIGN

 Software design is a process to transform user requirements into some suitable form, which
helps the programmer in software coding and implementation.
FUNDAMENTAL DESIGN CONCEPTS
 Abstraction - data, procedure, control
 Refinement - elaboration of detail for all
abstractions
 Modularity - compartmentalization of data
and function (divided into components
called modules)
 Architecture - overall structure of the software
• Structural properties
• Extra-structural properties
• Styles and patterns

 Procedure - the algorithms that achieve function


 Hiding - controlled interfaces
SOFTWARE DESIGN MODEL

 Software data design


 Software architecture design
 Software interface design
 Software procedure design, or component level
design, or details design
RELATIONSHIPS BETWEEN THE ANALYSIS MODEL AND THE DESIGN MODEL
DATA DESIGN
DATA DESIGN

• Data design is the first (and sometimes the most important) of the four design activities
that are conducted in software engineering.

• The data design activity translates data object (entities) defined as part of analysis model
into data structures at the software component level, and when necessary, a database
architecture at the application level.

• In some situations, a database must be designed and built specifically for a new system.
In others, one or more existing databases are used
DATA DESIGN

• Transforms the information domain model created during analysis into the data structures
that will be required to implement the software.

• The data objects and relationships defined in the Entity Relationship Diagram (ERD)
and the detailed data content depicted in the Data Dictionary provide the basis for the
data design activity.
DATA DESIGN : ER DIAGRAM

 Components of the ER Diagram


 Entities - any person, organization, device, or software product that produces or consumes
information, e.g. report, event, place, structure

 Attributes - name a data object instance, describe its characteristics, or make reference to
another data object

 Relationships - indicate the manner in which data objects are connected to one another
DATA DESIGN : ER DIAGRAM

 For example, in a University database, we might have entities for Students, Courses, and
Lecturers.

 Students entity can have attributes like Rollno, Name, and DeptID.

 They might have relationships with Courses and Lecturers.


DATA DESIGN : ER DIAGRAM
ENTITY

 A real-world thing either living or non-living that is easily recognizable and


nonrecognizable. It is anything in the enterprise that is to be represented in our database.
 Examples of entities:

 Person: Employee, Student, Patient


 Place: Store, Building
 Object: Machine, product, and Car
 Event: Sale, Registration, Renewal
 Concept: Account, Course
RELATIONSHIP

 Relationship is nothing but an association among two or more entities. E.g., Tom works in
the Chemistry department.
ATTRIBUTES

• It is a single-valued property of either an entity-type or a relationship-type.


• For example, a lecture might have attributes: time, date, duration, place, etc.
• An attribute is represented by an Ellipse
ATTRIBUTES
CARDINALITY

 Defines the numerical attributes of the relationship between two entities or entity sets.

 Different types of cardinal relationships are:


• One-to-One Relationships
• One-to-Many Relationships
• Many-to-One Relationships
• Many-to-Many Relationships
CARDINALITY

 One-to-one:
 One entity from entity set X can be associated with at most one entity of entity set Y and
vice versa.
CARDINALITY

 One-to-many:
 One entity from entity set X can be associated with multiple entities of entity set Y, but an
entity from entity set Y can be associated with at least one entity.
CARDINALITY

 Many to One

 More than one entity from entity set X can be associated with at most one entity of entity
set Y. However, an entity from entity set X may or may not be associated with more than
one entity from entity set X.
CARDINALITY

 Many to Many:
 One entity from X can be associated with more than one entity from Y and vice versa.
DATA DESIGN
ER- DIAGRAM NOTATIONS

 ER- Diagram is a visual representation of data that describe how data is related to each
other.

 Rectangles: This symbol represent entity types


 Ellipses : Symbol represent attributes
 Diamonds: This symbol represents relationship types
 Lines: It links attributes to entity types and entity types with other relationship types
 Primary key: attributes are underlined
 Double Ellipses: Represent multi-valued attributes
ER- DIAGRAM NOTATIONS
STEPS TO CREATE AN ERD

Following are the steps to create an ERD.


STEPS TO CREATE AN ERD

 Step 1) Entity Identification


 We have three entities
 Student
 Course
 Professor
STEPS TO CREATE AN ERD

 Step 2) Relationship Identification


 We have the following two relationships
 The student is assigned a course
 Professor delivers a course
STEPS TO CREATE AN ERD

 Step 4) Identify Attributes


STEPS TO CREATE AN ERD

 Step 4) Identify Attributes


STEPS TO CREATE AN ERD

 Step 5) Create the ERD


 A more modern representation of ERD Diagram
ER DIAGRAM :

ATM
DATA DICTIONARY

 Data dictionary is an organized listing of all data elements that are relavant to the system,
with precise, rigorous definitions so that both user and system analyst will have a common
understanding of inputs, outputs, components of stores and [even] intermediate
calculations

 Advantages
• Documentation : It is valuable reference in any organization
• Improve analyst and user communication
• It is important step in building a database
ITEMS TO BE DEFINED DATA DICTIONARY

 Data elements : smallest unit of data that provides for no further decomposition
 Data structure : Group of data element handled as a unit
 Eg : phone is a data structure consisting of 4data elements.
 Area
 Code
 Exchange number
 extention
DATA DICTIONARY CONTENTS
ITEMS TO BE DEFINED DATA DICTIONARY

 Data flows : Data structures in motion


 Data stores : are data structure at rest

Data elements Smallest unit of data

Data structures Group of data elements

Data flows Data stores Group of data structures


ARCHITECTURAL DESIGN
WHY ARCHITECTURE?

The architecture is not the operational software. Rather, it is a representation that


enables a software engineer to:
1) analyze the effectiveness of the design in meeting its stated requirements,
2) consider architectural alternatives at a stage when making design changes is
still relatively easy, and
3) reduce the risks associated with the construction of the software.

41
ARCHITECTURAL STYLES
ARCHITECTURAL STYLES

The software that is built for computer-based systems can exhibit one of these many
architectural styles.Each style describes a system category that encompasses:
(1) a set of components (e.g., a database, computational modules) that perform a
function required by a system,
(2) a set of connectors that enable “communication, coordination and cooperation”
among components,
(3) constraints that define how components can be integrated to form the system,
and
(4) semantic models that enable a designer to understand the overall properties of a
system by analyzing the known properties of its constituent parts.
ARCHITECTURAL STYLES

The use of architectural styles is to establish a structure for all the components of the
system.

• Data-centered architectures
• Data flow architectures
• Call and return architectures
• Object-oriented architectures
• Layered architectures
DATA-CENTERED / REPOSITORY ARCHITECTURE

• A data store will reside at the centre of this architecture and is accessed frequently by the
other components that update, add, delete or modify the data present within the store.

• The client software access a central repository.

• This data-centered architecture will promote integrability.

• This means that the existing components can be changed and new client components can
be added to the architecture without the permission or concern of other clients.
DATA-CENTERED / REPOSITORY ARCHITECTURE

 Sub-systems must exchange data. This may be done in two ways:


 Shared data is held in a central database or repository and may be accessed by all sub-systems;
 Each sub-system maintains its own database and passes data explicitly to other sub-systems.

 When large amounts of data are to be shared, the repository model of sharing is most
commonly used a this is an efficient data sharing mechanism.
DATA-CENTERED / REPOSITORY ARCHITECTURE
DATA-CENTERED / REPOSITORY ARCHITECTURE

IDE
DATA-CENTERED / REPOSITORY ARCHITECTURE
Name Repository

Description All data in a system is managed in a central repository that is accessible to all system
components. Components do not interact directly, only through the repository.
Example Figure is an example of an IDE where the components use a repository of system design
information. Each software tool generates information which is then available for use by
other tools.
When used You should use this pattern when you have a system in which large volumes of
information are generated that has to be stored for a long time. You may also use it in
data-driven systems where the inclusion of data in the repository triggers an action or
tool.
Advantages Components can be independent—they do not need to know of the existence of other
components. Changes made by one component can be propagated to all components.
All data can be managed consistently (e.g., backups done at the same time) as it is all in
one place.
Disadvantages The repository is a single point of failure so problems in the repository affect the whole
system. May be inefficiencies in organizing all communication through the repository.
Distributing the repository across several computers may be difficult.
DATA FLOW ARCHITECTURE/ PIPE AND FILTER ARCHITECTURE

• Functional transformations process their inputs to produce outputs.


• May be referred to as a pipe and filter model (as in UNIX shell).
• Variants of this approach are very common. When transformations
are sequential, this is a batch sequential model which is
extensively used in data processing systems.
• Not really suitable for interactive systems.
DATA FLOW ARCHITECTURE/ PIPE AND FILTER ARCHITECTURE

• This kind of architecture is used when input data to be transformed into output data
through a series of computational manipulative components.
• The figure represents pipe-and-filter architecture since it uses both pipe and filter and it
has a set of components called filters connected by pipes.
• Pipes are used to transmit data from one component to the next.
• Each filter will work independently and is designed to take data input of a certain
form and produces data output to the next filter of a specified form. The filters don’t
require any knowledge of the working of neighbouring filters.
• If the data flow degenerates into a single line of transforms, then it is termed as batch
sequential. This structure accepts the batch of data and then applies a series of
sequential components to transform it.
DATA FLOW ARCHITECTURE/ PIPE AND FILTER ARCHITECTURE
DATA FLOW ARCHITECTURE/ PIPE AND FILTER ARCHITECTURE
DATA FLOW ARCHITECTURE/ PIPE AND FILTER ARCHITECTURE

Name Pipe and filter


Description The processing of the data in a system is organized so that each processing component
(filter) is discrete and carries out one type of data transformation. The data flows (as in
a pipe) from one component to another for processing.
Example Figure is an example of a pipe and filter system used for processing invoices.
When used Commonly used in data processing applications (both batch- and transaction-based)
where inputs are processed in separate stages to generate related outputs.
Advantages Easy to understand and supports transformation reuse. Workflow style matches the
structure of many business processes. Evolution by adding transformations is
straightforward. Can be implemented as either a sequential or concurrent system.
Disadvantages The format for data transfer has to be agreed upon between communicating
transformations. Each transformation must parse its input and unparse its output to
the agreed form. This increases system overhead and may mean that it is impossible to
reuse functional transformations that use incompatible data structures.
LAYERED ARCHITECTURE

• A number of different layers are defined, each


accomplishing operations that progressively
become closer to the machine instruction set.
• At the outer layer, components service user
interface operations.
• At the inner layer, components perform
operating system interfacing.
LAYERED ARCHITECTURE : INFORMATION SYSTEM
LAYERED ARCHITECTURE : MEDICARE SYSTEM
THE LAYERED ARCHITECTURE PATTERN
Name Layered architecture
Description Organizes the system into layers with related functionality associated with each layer. A layer
provides services to the layer above it so the lowest-level layers represent core services that
are likely to be used throughout the system.
Example A layered model of a system for sharing copyright documents held in different libraries, as
shown in Figure .
When used Used when building new facilities on top of existing systems; when the development is spread
across several teams with each team responsibility for a layer of functionality; when there is a
requirement for multi-level security.
Advantages Allows replacement of entire layers so long as the interface is maintained. Redundant facilities
(e.g., authentication) can be provided in each layer to increase the dependability of the
system.
Disadvantages In practice, providing a clean separation between layers is often difficult and a high-level layer
may have to interact directly with lower-level layers rather than through the layer immediately
below it. Performance can be a problem because of multiple levels of interpretation of a
service request as it is processed at each layer.
CLIENT-SERVER ARCHITECTURE

• Distributed system model which shows how data and processing is distributed across a
range of components.
o Can be implemented on a single computer.
• Set of stand-alone servers which provide specific services such as printing, data
management, etc.
• Set of clients which call on these services.
• Network which allows clients to access servers.
A CLIENT–SERVER ARCHITECTURE FOR A FILM LIBRARY
THE CLIENT–SERVER PATTERN
Name Client-server
Description In a client–server architecture, the functionality of the system is organized
into services, with each service delivered from a separate server. Clients are
users of these services and access servers to make use of them.
Example Figure 6.11 is an example of a film and video/DVD library organized as a
client–server system.
When used Used when data in a shared database has to be accessed from a range of
locations. Because servers can be replicated, may also be used when the
load on a system is variable.
Advantages The principal advantage of this model is that servers can be distributed
across a network. General functionality (e.g., a printing service) can be
available to all clients and does not need to be implemented by all services.
Disadvantages Each service is a single point of failure so susceptible to denial of service
attacks or server failure. Performance may be unpredictable because it
depends on the network as well as the system. May be management
problems if servers are owned by different organizations.
OBJECT-ORIENTED DESIGN

 Classes and Objects:


 Classes, Objects and their relationships are the primary modelling elements in the OO paradigm.
 A class is to a type as an object is to an instance.
WHAT IS CLASS?

 •A Class is a blueprint that is used to create Object.


 •The Class defines what object can do
CLASS NAME : ZOO SYSTEM
ESSENTIAL ELEMENTS OF A CLASS DIAGRAM

 Essential elements of UML class diagram are:


 Class Name
 Attributes
 Methods
CLASS NAME

• The name of the class is only needed in the graphical


representation of the class.
• It appears in the topmost compartment.
• A class is the blueprint of an object which can share the same
relationships, attributes, operations, & semantics.
• The class is rendered as a rectangle, including its name, attributes,
and operations in separate compartments.
ATTRIBUTES

• Describe the state and characteristics of the object.


• Must be typed, primitives like integer, real, Boolean,
point, area, these are primitives. May be language
specific.
ATTRIBUTES : ZOO SYSTEM
EXAMPLE OF ATTRIBUTES
Name, bold

Invoice Public, typed

+ amount :Real Default value


+ date : Date = Current_date
+ customer : String
+ specification : String Private, typed,
- administrator: String = “Unspecified” default value
- number_of_invoices: Integer
+ status: Status = unpaid {paid, unpaid} Class variable

Property
OPERATIONS

 Operations manipulate attributes and perform other tasks.


 Scope is the Class.
 Operation signature is composed of name, parameters and return type.
 name(parameter-list) return-type-expression
 Scope and visibility rules apply.
VISIBILITY

 There are four types of visibility in class diagrams


 - private : Only classes in the same container can see
 + public : Any class that can see the container can also see
 # protected : Only classes in the same container or a descendent of the container
 ~ package/default :Only classes within the same package as the container can see
OPERATIONS : ZOO SYSTEM
EXAMPLE OF CLASS DIAGRAM
Figure

- size: Size
- pos: Position
+ figureCounter: Integer

+ draw( )
+ resize(percentX: Integer=25, percentY=30)
+ returnPosition( ): Position
+ incrementCounter( ): Integer

MyFigure.resize(10,10) percentX=10, percentY=10


MyFigure.resize(27) percentX=27, percentY=30
MyFigure.resize() percentX=25, percentY=30
RELATIONSHIPS

 There are different kinds of relationships in UML


 Inheritance
 Associations
 Dependency
 Aggregation
 Composition
 Multicity
INHERITANCE

• A Inheritance helps to connect


a subclass to its superclass.

• A sub-class is inherited from


its superclass.

• Inheritance relationship can't be


used to model interface
implementation.
8

• multiple
Class super classes.
diagram allows inheriting
8

from
INHERITANCE : ZOO SYSTEM

7
8
INHERITANCE : ZOO SYSTEM

7
9
INHERITANCE : ZOO SYSTEM

8
0
INHERITANCE : ZOO SYSTEM

8
1
INHERITANCE

• A very important concept in object-oriented design, inheritance, refers to the


ability of one class (child class) to inherit the identical functionality of another
class (super class), and then add new functionality of its own. (In a very non-
technical sense, imagine that I inherited my mother's general musical abilities,
but in my family I'm the only one who plays electric guitar.)

• To model inheritance on a class diagram, a solid line is drawn from the child
class (the class inheriting the behavior) with a closed, unfilled arrowhead (or
triangle) pointing to the super class. Consider types of bank accounts:

8
8
ASSOCIATION

• This kind of relationship represents static relationships between classes A and


B.
• For example; an employee works for an organization.

Here are some rules for Association:

• Association is mostly verb or a verb phrase or noun or noun phrase.


• It should be named to indicate the role played by the class attached at the
end of the association path.
8
4
ASSOCIATION : ZOO SYSTEM

8
5
ASSOCIATION

• In this example, the relationship between student and college is shown which
is studies.

8
6
DEPENDENCY

• A dependency means the relation


between two or more classes in which a
change in one may force changes in the
other.

• However, it will always create a weaker


relationship.

• Dependency indicates that one class


depends on another.
8
8
AGGREGATION

• Aggregation is a special type of association that models a whole-


part relationship between aggregate and its parts.

• For example, the class college is made up of one or more student.

• In aggregation, the contained classes are never totally dependent on


the lifecycle of the container.

• Here, the college class will remain even if the student is not available.
8
9
AGGREGATION : ZOO SYSTEM

9
0
COMPOSITION

• The composition is a special type of aggregation which denotes


strong ownership between two classes when one class is a part of another
class.

• For example, if college is composed of classes student.

• The college could contain many students, while each student belongs to
only one college.

• So, if college is not functioning all the students also removed.


9
2
COMPOSITION

9
3
COMPOSITION

10
1
COMPOSITION

10
2
COMPOSITION

• Composition is a stronger variant of the "owns a" association relationship;


composition is more specific than aggregation.
• Composition usually has a strong life cycle dependency between instances
of the container class and instances of the contained class(es): If the
container is destroyed, normally every instance that it contains is destroyed
as well. (Note that, where allowed, a part can be removed from a
composite before the composite is deleted, and thus not be deleted as part
of the composite.)

9
6
MULTIPLICITY

• A multiplicity specifies whether


the association is mandatory or not.

• It has some lower bound and upper


bound.

• Let's that that there are


students
say in100
one college.

• The college can have multiple 10

• students.
3
MULTIPLICITY

9
8
MULTIPLICITY

9
9
UML RELATION NOTATIONS

1
0
0
EXAMPLE OF UML CLASS DIAGRAM

Creating a class diagram is a straightforward process. It does not involve many


technicalities. Here, is an example:

• ATMs system is very simple as customers need to press some


buttons to receive cash.

• However, there are multiple security layers that any ATM system needs to
pass.

• This helps to prevent fraud and provide cash or need details to


customers.
10

banking 7
ARCHITECTURAL PATTERN

An architectural pattern is a general, reusable solution to a commonly occurring


problem in software architecture within a given context.

Architectural patterns are similar to software design pattern but have a broader
scope.

10
7
ARCHITECTURAL PATTERN

• Layered pattern
• Client-server pattern
• Master-slave pattern
• Pipe-filter pattern
• Broker pattern
• Peer-to-peer pattern
• Event-bus pattern
• Model-view-controller pattern
• Blackboard pattern
• Interpreter pattern
10
7
4+1 ARCHITECTURAL VIEW MODEL

Designed by : Philippe Kruchten

Designed for : Describing the architecture of software-intensive systems, based


on the use of multiple, concurrent views

10
7
4+1 ARCHITECTURAL VIEW MODEL

What is View Model ?


• A view model in systems engineering or software engineering is a framework.

• It defines a coherent set of views to be used in the construction of a system


architecture or software architecture.

• A view is a representation of a whole system from the perspective of a related


set of concerns.

• Viewpoint modelling has become an effective approach for dealing with the
inherent complexity of large distributed systems. 10
7
4+1 ARCHITECTURAL VIEW MODEL

The views are used to describe the system from the viewpoint of different
stakeholders, such as end-users, developers and project managers.

The four views of the model are: -


Logical View
Development View
Process View
Physical View

In addition selected use cases or scenarios are utilized to illustrate the


architecture serving as the 'plus one' view. 10
7
4+1 ARCHITECTURAL VIEW MODEL

10
7
4+1 ARCHITECTURAL VIEW MODEL

Logical View
(Object-oriented Decomposition)

Viewer : End-user
Considers : Functional requirements- What the system should provide in terms
of services to its users.

• This view shows the components (objects) of the system as well as their
interactions / relationships.

• UML diagrams – Class, State, Object, Sequence, Communication diagrams. 10


7
4+1 ARCHITECTURAL VIEW MODEL

Process View
(The process decomposition)

Viewer : Integrators
Considers : Non - functional requirements (concurrency, performance, scalability)

• The process view shows the processes / workflow rules of a system and how
those processes communicate with each other.

• UML diagrams – Activity diagram


10
7
4+1 ARCHITECTURAL VIEW MODEL

Development View
(Subsystem decomposition)

Viewer : Programmers and Software Managers


Considers : software module organization (Hierarchy of layers, software
management, reuse, constraints of tools)

• It gives a building block view of the system. Eg: Packages Used, Execution
Environments, Class Libraries and Sub systems utilized.

• UML diagrams – Component, Package diagrams. 10


7
4+1 ARCHITECTURAL VIEW MODEL

Physical Views
(Mapping the software to the Hardware)

Viewer : System Engineers


Considers : Non-functional req. regarding to underlying hardware (Topology,
Communication)

• This view shows the systems execution environment


• UML diagram – Deployment diagram

10
7
4+1 ARCHITECTURAL VIEW MODEL

Scenario / Use case View


(Putting it all together)

Viewer : All users of other views and Evaluators.


Considers : System consistency, validity

• Validation and illustration to show the design is complete


• It is redundant with other views.
• UML diagram – Use case diagrams.

10
7
RELATIONSHIP AMONG THE VIEWS

• Concurrency is not addressed in the logical view, to achieve the process view,
we need to map classes and their objects onto tasks and processes addressing
concurrency and synchronization.

• The processes and process groups are mapped onto the processing nodes of a
physical computer network to obtain the physical view. For each dependency
between components, there must be a corresponding link between nodes.

• The logical view is also the basis for the development view. Normally each
class corresponds to a module. Large classes may be decomposed into
packages. Collections of classes are grouped into subsystems. 10
7
IS IT IMPORTANT?

• It makes modelling easier.

• Better organization with better separation of concern.

• The 4 + 1 approach provides a way for architects to be able to prioritize


modelling concerns.

• The 4 + 1 approach makes it possible for stakeholders to get the parts of the
model that are relevant to them.

10
7
INTERFACE DESIGN
INTERFACE DESIGN

• Describes how the software communicates within itself, to systems that inter-
operates with it, and with humans who use it.

• The Data and Control Flow Diagrams provide the information required for
interface design.

10
7
DATA FLOW DIAGRAMS

• A data flow diagram shows the way information flows through a process or
system.

• It includes data inputs and outputs, data stores, and the various subprocesses
the data moves through.

• DFDs are built using standardized symbols and notation to describe various
entities and their relationships.

10
7
PHYSICAL AND LOGICAL DATA FLOW DIAGRAMS

Logical data flow diagrams focus on what happens in a particular information


flow:
what information is being transmitted,
what entities are receiving that info,
what general processes occur, etc.

• The processes described in a logical DFD are business activities—a logical DFD
doesn’t delve into the technical aspects of a process or system.

• Non-technical employees should be able to understand these diagrams.


10
7
DATA FLOW DIAGRAM SYMBOLS AND NOTATION

• Depending on the methodology (Gane and Sarson vs. Yourdon and Coad), DFD
symbols vary slightly.

• However, the basic ideas remain the same.

• There are four basic elements of a data flow diagram: processes, data stores,
external entities, and data flows.

• The picture below shows the standard shapes for both methodologies.

10
7
DATA FLOW DIAGRAM SYMBOLS AND NOTATION

10
7
DATA FLOW DIAGRAM : ATM

10
7
DATA FLOW DIAGRAM LEVELS

• Data flow diagrams are also categorized by level.

• Starting with the most basic, level 0, DFDs get increasingly complex as the
level increases.

• As you build your own data flow diagram, you will need to decide which level
your diagram will be.

10
7
LEVEL 0 : DATA FLOW DIAGRAM

• Level 0 DFDs, also known as context diagrams, are the most basic data flow
diagrams.

• They provide a broad view that is easily digestible but offers little detail.

• Level 0 data flow diagrams show a single process node and its connections to
external entities.

10
7
LEVEL 0 : DATA FLOW DIAGRAM

10
7
LEVEL 1 : DATA FLOW DIAGRAM

• Level 1 DFDs are still a general overview, but they go into more detail than a
context diagram.

• In a level 1 data flow diagram, the single process node from the context
diagram is broken down into subprocesses.

• As these processes are added, the diagram will need additional data flows and
data stores to link them together.

10
7
DATA FLOW DIAGRAM : ATM

10
7
LEVEL 1 : DATA FLOW DIAGRAM

10
7
LEVEL 2+ : DATA FLOW DIAGRAM

10
7
PROCEDURAL DESIGN
PROCEDURAL DESIGN

• Transforms structural elements of the program architecture into a procedural


description of software components.

• Information obtained from the Process and Control Specifications and the
State Transition Diagrams serve as a basis for procedural design

10
7
STATE TRANSITION DIAGRAMS

• The STD focuses on the time-dependent behaviour of the system and regards
it as a whole.

• Its purpose is to identify the possible states of the system (as a whole), how it
gets from one state to another, how these transitions are triggered and what
the system ‘does’ during the transition

10
7
STATE TRANSITION DIAGRAMS

10
7
STATE TRANSITION DIAGRAMS

10
7
STATE TRANSITION DIAGRAMS : ATM

10
7
STATE TRANSITION DIAGRAMS : ATM

10
7
STATE TRANSITION DIAGRAMS : ATM

10
7
STATE TRANSITION DIAGRAMS : ATM

10
7

You might also like