Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we...

24
Software Engineering-II Sir Zubair Sajid

Transcript of Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we...

Page 1: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Software Engineering-II

Sir Zubair Sajid

Page 2: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

IntroductionSSADM

What is a Data Flow Diagram?

Why do we use DFDs?

Levelling

Conventions

Decomposition and Abstraction

The Elements

Process and Data Stores

Outside Entity

Data Flow

The Levels

Rules

The Procedure for Constructing DFD’s

The Document Flow Diagram

The Context Diagram

Draw the external entities and data stores

Level 1 Physical DFD - Complete

Page 3: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

S.S.A.D.M. S.S.A.D.M. - Structured

Systems Analysis and Design Method

Uses different techniques to model a systemData Flow Diagrams Entity Relational Model

(Logical Data Stores)Normalisation

Page 4: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

What is a Data Flow Diagram? Known as DFDs A way to model a real

world situation They are the interface

between the real world activities and an understanding of how this can be converted into a computer system.

Page 5: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Why do we use DFDs? It is a way of taking the

physical view and converting it into a logical view.

The physical view - all documents involved

The logical view - the data they contain

Their main purpose is to communicate with the user, the analyst’s understanding of the scope of the required system

Page 6: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Levelling DFDs are expanded or

decomposed into levels. Separating each process

into sub processes Uncovers more and more

detail

Page 7: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

ConventionsBalancing

Process at lower level should have identical data flows if they flow out of a process

Modelling Data Stores

Only use DATA STORES used within this process on the diagram

Numbering

1 - 1.1 - 1.1.1

1.2 - 1.2.1

Labels

Should carry as much meaning as possible

Page 8: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Decomposition and Abstraction

Decomposition - Divide and subdivide into manageable size problems

Abstraction - Concentrate on the important issues and ignore the irrelevant

Page 9: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

The ElementsThe four main elements of

DFDs notation Data Flows, with a label

to indicate what data is flowing

Processes, that handle the data

Data stores, within the system (diary, filing cabinet or computer file)

Outside entities, outside sources of data

Page 10: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Process and Data StoresA process is made up of

Data Stores

Process Number

Destination (Place or Name)

Process description Should be descriptive, starting with a verb.

M1Can be M for manual or D for computer base data stores.

Name of Store

Page 11: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Outside EntityIs anything outside the system

that is of interest to the system. Can be a person, a company or another system.

Outside entity shows the Name and a lowercase alpha character is used to uniquely identify it.

If an outside entity is repeated for the purpose of neat layout a line is added across the top.

Customer a

Customer a

Page 12: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Data FlowIs shown by a line with an

arrowhead, indicating the direction of the flow of data. Each data flow should be named to indicate what data is being passed. Nouns or adjectives only no verbs are permitted.

Page 13: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

The Levels Context - Overview -

contains only one process Level 1 - Utilises all four

elements Level 2 - A breakdown of a

level 1 process Level 3 - A breakdown of a

level 2 process There is no rule as to how

many levels of DFD that can be used.

Page 14: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

RulesSequence not important - getting the Process

correct is

Context or Level 0 - Identifies the system/ boundary/External Links

Level 1 - Overview of function Level 2 - Breakdown to

Understand

Hard to know where to stop

Rule of Thumb

If there are more than 8 data flows break it

Process of Identifying major Processes

Page 15: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

The Procedure forConstructing DFD’s

Draw a document flow diagramof the current situation

Draw a systems boundaryaround the agencies that arepart of the system

Draw a Context Diagram

Identify processes in the system

Complete the level 1 CurrentPhysical DFD

Page 16: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

The Document Flow Diagram

The task of modelling a businesssituation can be daunting at first. It isbest to start with something simplesuch as a document flow diagram.

Production Planning

Stock Control

FactoryDesign

Purchasing

Supplier

Stock

NoteWithdrawal

Production Plan Purchase

Order

Delivery Note

Material Requirements List

Bill ofMaterials

Supplier Details Update Form

DeliveryNote

Page 17: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

The Context Diagram

You decide which agencies are to bepart of the system that you areexamining.

These agencies fall inside the systemboundary and are reduced to one box inthe centre.

This is a Context Diagram

Production Planning

Stock Control

Factory

Design Purchasing

Supplier

Stock

NoteWithdrawal

Production Plan

Delivery Note

Material Requirements List

Bill of Materials

Supplier Details Update Form

DeliveryNote

MaintainStock System

a b

c

d

e

(Lejk & Deeks)

Page 18: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

All data flows going into thesystem must be received by aprocess.

All data flows going out of thesystem must be generated byprocess.

The first task is therefore toidentify these processes:

Stock clerk

Maintain

1

2

3

Stock clerk

Stock clerk

planned call-off

Maintainstock cards

Preparematerial reqmnts

list

Page 19: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Draw the external entities anddata stores.

Production

Stock clerk

Maintain

a Bill of materialsM11

2

3

Stock clerk

Stock cardsM2

Stock clerk

planned call-off

Maintainstock cards

Preparematerial reqmnts

list

Planning

Supplier

b

Factory

c

Purchasing

d

Page 20: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Level 1 Physical DFD - Complete

Finally draw in the data flows to give acompleted diagram. Note that a data flowmust have a process at the end .

Production

Stock clerk

Maintain

a Bill of materialsM11

2

3

Stock clerk

Stock cardsM2

Delivery note

B O M details

Planned call-off

details

Stock details

Stock clerk

planned call-off

Maintainstock cards

Preparematerial reqmnts

list

Planning

Production

Plan

Supplier

b

Factory

c

Stock withdrawal note

Purchasing

d

Material requirementslist

Updated supply details

Deliverynote

Stock details

(Lejk & Deeks)

Page 21: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Hairdressing Salon Level 1Physical DFD

Client

Receptionist

Register

a

Client card indexM1

1

Confirm

2

Hairdresser/Rcptnst

Conduct

3

arrival

Receptionist

Appointment

Appointment diaryM2

appointment

Appointmentdetails

Change ofhairstyle etc.

Appointmentdetails Confirmation

Request

ConfirmationDetails

New clientdetails

Existing clientdetails

Appointmentdetails

Confirmation ofarrival

Change ofhairstyle etc.

Appointmentdetails

(Lejk & Deeks)

(Lejk & Deeks)

Page 22: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Process 3 Level 2

3 Hair/Reception

Cliea

Hair Details

Clienta

3.1 Hairdresser

Conduct Appointment

3.2 Hairdresser

Inform Reception

3.3 Receptionist

Complete Appointment

M2 Diary

Appointment Details

M3 Client Card

Change of Hair Details

Page 23: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Naming of DFD processes

Level 0 Level 1 Level 2 Level 3 Level 4

Man

OverallProcess

Man

Process

Process

Process

1

2

3

2

2.1

2.2

2.3

SubProcess

SubProcess

SubProcess

SubProcessSubProcess

Process

2.2

Sub - SubProcess

2.1.1

2.1.2

Sub - SubProcess

Elementaryprocessdescriptions.

Decision treesDecision tableStructuredEnglish

2.1.1

There must be consistency between levels, withall the data appearing on the higher level DFD.If a data store is used only for one process it isplaced with that process. Outside entities arealways shown outside the boundary of a lowerlevel DFD process, even if they onlycommunicate with that one process.

Page 24: Software Engineering-II Sir Zubair Sajid. Introduction SSADM What is a Data Flow Diagram? Why do we use DFDs? Levelling Conventions Decomposition and.

Summary

SSADMWhat a DFD is & Why we use themThe different conventionsWhat the elements areExample

Next Week:- Entity Relational Model