Professional Documents
Culture Documents
SYSTEM
ANALYSIS
AND DESIGN
Author
ALKING P. SUNGA, MSIT
Prepared by: ALKING P. SUNGA, MSIT IT 3: System Analysis and Design
Page |2
MODULE 3:
Technical Documents in SAD
What is DFD?
• a means of representing a system at any level of detail with graphic network
processes and data sources/destinations.
• is an important technique for modeling a system’s high-level detail by showing
how input data is transformed to output results through a sequence of
functional transformations
• DFDs consists of four major components: entities, processes, data stores and
data flows.
• In other words, it shows:
• What goes in
• How it is changed
• What comes out
DFD Symbols
Entity
• A person or group which interacts with the system. Something outside the
system. It is not a user. E.g. Customer, Supplier, Government Agency,
Accounting Department, the Human Resource System, etc.
Process
Data Flow
• All processes in DFD must be linked to either another process or a data store •
Do no cross line.
• No more than 9 process symbols should appear on one diagram. • Use a unique
reference for each process symbol. The reference number points to the DFD that
contains the next level of detail for that process.
• A context diagram has only one process, which is numbered 0. •
A context diagram has no data stores and must fit on one page.
Types of DFD
Context Dataflow Diagram / Level 0
• First method in constructing the dataflow diagram.
• Representation of all entities involves in the system process, flow of the
system and documents in the system.
Level 1
• A level 1 DFD is a diagram showing the system itself. It pictures the major
processes along with the external entities, data stores and data flow. Exploded
DFD
• It is expanded or decomposed into separate lower-level dataflow diagram
that preserves exactly the same input and output.
DFD Example:
Online Ordering System
Online ordering system allows people to shop from home. When a customer
wants to buy something, they can telephone, fax or email their order to the
company. The company gets the order and deliver the goods together with an invoice
and a delivery note. When the customer receives the goods they send payment and
receive a receipt for their payment.
Solution
• The first thing we must do is model the main outputs and sources of data in
the scenario above.
• Then we draw the system box and name the system.
• Next we identify the information that is flowing to the system and from the
system
The next stage is to create the Level 1 Data Flow Diagram. This highlights the main
functions carried out by the system. As a rule, we try to describe the system using
between two and seven functions – two being a simple system and seven being a
complicated system. This enables us to keep the model manageable on screen or
paper.
Try to describe what the Online ordering system in a number (two to seven)
of short sentences - these sentences become the system's functions. Let's describe
the system in two sentences / process.
1. Gets orders from customers
2. Receives payment when they are delivered.
Prepared by:
ALKING P. SUNGA, MSIT IT 3: System Analysis and Design
Page |6
Exploded DFD
(Order)
Prepared by: ALKING P. SUNGA, MSIT IT 3: System Analysis and Design
Page |7
Exploded DFD
(Payment)
Checking of Exploded DFD (Order)
Example:
01 Personal Information
02 Beneficiaries
Personal_Information
Field ID Field Name Data Type Field Size Not Null Primary Keys Description
09 Postal Code integer 4 Yes No Four digit postal code of the member
Beneficiaries
Field ID Field Name Data Type Field Size Not Null Primary Keys Description
Database Instance
Entity Relationship
Entity
An entity can be a real-world object, either animate or inanimate, that can be
easily identifiable. For example, in a school database, students, teachers, classes,
and courses offered can be considered as entities. All these entities have some
attributes or properties that give them their identity.
Attributes
Entities are represented by means of their properties, called attributes. All
attributes have values. For example, a student entity may have name, class, and age
as attributes.
There exists a domain or range of values that can be assigned to attributes.
For example, a student's name cannot be a numeric value. It has to be alphabetic. A
student's age cannot be negative, etc.
Keys
Key is an attribute or collection of attributes that uniquely identifies an entity
among entity set.
For example, the roll_number of a student makes him/her identifiable among
students.
∙ Super Key − A set of attributes (one or more) that collectively identifies an
entity in an entity set.
∙ Candidate Key − A minimal super key is called a candidate key. An entity set
may have more than one candidate key.
∙ Primary Key − A primary key is one of the candidate keys chosen by the
database designer to uniquely identify the entity set.
Relationship
One-to-many − One entity from entity set A can be associated with more than
one entities of entity set B however an entity from entity set B, can be associated
with at most one entity.
Many-to-one − More than one entities from entity set A can be associated
with at most one entity of entity set B, however an entity from entity set B can be
associated with more than one entity from entity set A.
Many-to-many − One entity from A can be associated with more than one
entity from B and vice versa.
What is UML?
UML is an acronym that stands for Unified Modeling Language. Simply put,
UML is a modern approach to modeling and documenting software. In fact, it’s one
of the most popular business process modeling techniques.
It is based on diagrammatic representations of software components. As the
old proverb says: “a picture is worth a thousand words”. By using visual
There are several types of UML diagrams and each one of them serves a
different purpose regardless of whether it is being designed before the
implementation or after (as part of documentation).
The two most broad categories that encompass all other types are Behavioral
UML diagram and Structural UML diagram. As the name suggests, some UML
diagrams try to analyze and depict the structure of a system or process, whereas
other describe the behavior of the system, its actors, and its building components.
The different types are broken down as follows:
What is a Cost?
Examples of Costs
The following list provides some examples of costs to consider when identifying
costs for the cost benefit analysis:
Examples of Benefits
Costs:
Item Quantity Estimat Total Cost
ed cost
Computer equipment:
Training costs:
Other costs:
Benefits:
Item Estimate Benefit per Year
Return of Investment:
ROI = ((Benefits - Cost) / Cost) * 100
Scope
This section describes what is being tested, which is new to all the functions
of a specific product, its existing interfaces, integration of all functions, etc.
Testing Strategy
Describe the overall approach to testing. For each major group of features or
feature combinations, specify the approach which will ensure that these feature
groups are adequately tested.
Specify the major activities, techniques, and tools which are used to test the
designated groups of features.
The approach should be described with sufficient details to permit the
identification of the major testing tasks and estimation of the time required to do
each one. Here are some example of test strategies:
∙ Unit Testing
Unit Testing is a type of software testing where individual units or
components of a software are tested. The purpose is to validate that each unit
of the software code performs as expected. Unit Testing is done during the
development (coding phase) of an application by the developers. Unit Tests
isolate a section of code and verify its correctness. A unit may be an individual
function, method, procedure, module, or object.
∙ Regression Testing
Regression testing is defined as a type of software testing to confirm
that a recent program or code change has not adversely affected existing
features.
Regression Testing is nothing but a full or partial selection of already
executed test cases which are re-executed to ensure existing functionalities
work fine.
This testing is done to make sure that new code changes should not
have side effects on the existing functionalities. It ensures that the old code
still works once the latest code changes are done.
Hardware Requirements
Environment Requirements
It is the requirements for implementing and executing the test cases like a
platform to run the software product. The environment are the required hardware
and software along with proper network configuration and necessary settings.
Prepared by:
ALKING P. SUNGA, MSIT IT 3: System Analysis and Design
P a g e | 23
Rationale
Objectives