Structured Analysis
by Ronni Kahalani, Copenhagen School of Design & Technology.
With inspiration from the book Software Engineering - A Practitioner's Approach.
Zoom in/out based Context- and Data Flow diagrams,
which complexity is measured in function points.
Who am I?
Thank you for stopping by.
I’m Ronni. I hope you’re well and wish you a safe and worthy journey.
This presentation is part of the Software Engineering Series, from my lectures at Copenhagen School of Design & Technology.
You can view the Introducing Myself, if you want to know a little more about who I am.
All my presentations and materials are free and available at my blog post: Software Engineering.
Don’t let me uphold you,
continue your journey, go to next slide.
2
Agenda
Overview
Flow-Oriented Modeling
Represents how data objects are transformed as they move through the system
The Flow Model
Every computer-based system is an information transformer ....
Input
Computer based system
output
Data Flow Modeling Notation
External Entity
Process
Data store
Data flow
External Entity
Data must always originate from somewhere (source) and must always be sent to something (sink).
External Entity
A producer or consumer of data.
Ex.: A person, a device, a department.
Process
Data must always be processed in some way to achieve system function.
Process
A data transformer (changes input to output).
Ex.: compute taxes, determines data, formats, reports, display graphs….
Data Flow
Data flows through a system, beginning as input and transformed into output.
Compute triangle area
base
height
area
Data Stores
Data is often stored for later use.
Lookup sensor data
sensor #
report required
sensor, location, age
Data store
sensor data
sensor #
type, location, age
The Data Flow Hierarchy
Refinement continue until each bubble performs a simple function.
Entity
X
Entity
Y
P
a
b
P1
P2
P3
P4
P5
a
b
c
d
e
f
g
Data Flow Diagramming: Guidelines
Two notation systems
Flow Modeling Notes
Constructing a DFD
A Context Diagram
An overview of an organizational system that shows the system boundary, sources/ sinks that interact with the system, and the major information flows between the entities and the system.
A Context Diagram addresses only one process.
Example Context Diagram for a Fast-Food IS
Decomposition Overview (Balancing principle)
A decomposed Context Diagram (level 1)
A decomposed Context Diagram (level 2)
Unbalanced DFD
Rules for Processes
Processes can’t
Find 3 errors
?
Identify Errors in This Diagram
Bank statement
Employee status
Employee address
Existing account
Account status
Accounts Receivable Department
Employee
Membership
application
3.1.3
Freeze Member Account
3.1.2
Create Member Account
3.1.1
Generate Bank Statement
Member Accounts
Frozen account
notification
Employees
Processes in a DFD
Data Flows in a DFD
Data Flow Packet Concept
Data that travel together should be shown as a single data flow.
Itemized calls, invoice
Pay Phone Bill
Itemized calls
Invoice
Telephone Service Provider
Naming Rules for Data Flows
Naming other DFD Components
Process Logic
Process Specification (PSPEC)
Decision tables
DFDs: A Look Ahead
Advantages of DFDs
Find 3 errors, again
?
Identify Errors in This Diagram
Function Point Analysis
Primary purpose is to measure and provide the software application functional size/complexity, in units called function points.
Function Point Analysis
Function Point - Types of Attributes
Measurements Parameters | Examples |
#EI - Number of External Inputs | Input screen and tables |
#EO - Number of External Output | Output screens and reports |
#EQ - Number of External Inquiries | Prompts and interrupts. |
#ILF - Number of Internal Files | Databases and directories |
#EIF - Number of External Interfaces | Shared databases and shared routines. |
FP - Functional Units System
Function Point - General info
Characterizes the complexity of the software system and hence can be used to depict the project time and manpower requirement.
Weights of 5-FP Attributes
All the parameters mentioned, are assigned weights that have been experimentally determined.
The functional complexities (Count columns) are multiplied with the corresponding weights against each function, and the values are added up to determine the UFP (Unadjusted Function Point) of the subsystem.
Measurement Parameter | Count | | Simple | Average | Complex | | UFP |
Number of External Inputs (EI) | 2 | * | 3 | 4 | 6 | = | 0 |
Number of External Outputs (EO) | 3 | * | 4 | 5 | 7 | = | 0 |
Number of External Inquiries (EQ) | 5 | * | 3 | 5 | 6 | = | 0 |
Number of Internal Files (ILF) | 2 | * | 7 | 10 | 15 | = | 0 |
Number of External Interfaces (EIF) | 3 | * | 5 | 7 | 10 | = | 0 |
Complexity Factor
Total Unadjusted Function Points (UFP)
0
FP - Computing Function Points
Here that weighing factor will be simple, average, or complex for a measurement parameter type.
Total Unadjusted Function Points (UFP)
Measurement Parameter | Count | | Simple | Average | Complex | | UFP |
Number of External Inputs (EI) | 2 | * | 3 | 4 | 6 | = | 6 |
Number of External Outputs (EO) | 3 | * | 4 | 5 | 7 | = | 15 |
Number of External Inquiries (EQ) | 5 | * | 3 | 5 | 6 | = | 30 |
Number of Internal Files (ILF) | 2 | * | 7 | 10 | 15 | = | 14 |
Number of External Interfaces (EIF) | 3 | * | 5 | 7 | 10 | = | 21 |
86
Complexity Factor
Computing Function Points
Unadjusted Function Points (FP) are adjusted for general system influence.
Final adjusted FP value:
86.86
| System | Influence |
F1 | Data communications | 2 |
F2 | Distributed data processing | 3 |
F3 | Performance | 3 |
F4 | Heavily used configuration | 2 |
F5 | Transaction rate | 3 |
F6 | Online data entry | 3 |
F7 | End-user efficiency | 3 |
F8 | Online update | 3 |
F9 | Complex processing | 2 |
F10 | Reusability | 3 |
F11 | Installation ease | 2 |
F12 | Operational ease | 3 |
F13 | Multiple sites | 2 |
F14 | Facilitate change | 2 |
| Total GSC score | 36 |
GSC Influence values
0 = Not present, or no influence
1 = Incidental influence
2 = Moderate influence
3 = Average influence
4 = Significant influence
5 = Strong influence throughout
Online Function Point Calculator
Function Point Descriptions
Software Engineering | Functional Point (FP) Analysis - javatpoint
Function Point Analysis Fundamentals
Review of Function Points Analysis
Questions?
Anything? What’s on your mind? Come on ask me anything…
Feedback?
Thank you for your precious time.
I hope it was worth it and would love to get your feedback.