17. Approaches to Software
Engineering
System for which software is to be developed is
successively broken down (decomposed) into parts
and arranged in to hierarchy.
Decomposition is a convenient way of handling any
complex problem.
TWO approaches to Software Engineering
1. Function-Oriented (FO) Approach
2. Object-Oriented (OO) Approach
Similarity: System factored into parts in both approaches
Difference: lies in the basis on which the system is factored
17
22. Tools used in SSAD
Tools Purpose
Data Flow Diagram Process mapping of system
(DFD)
Data Dictionary List of different data items used in
system
ER Diagram Data modelling
Process Specification Depicts procedures used in system
Tools
State Transition Diagram Depicts chronological events and
(ST Diagram) corresponding system states
Structure chart Depicts modular design of a program
Structured English/ Depicts logic of program
Pseudocode 22
25. Object 1 Object 2
Methods Methods
Data Data
All arrows represent Invokes
Object 3 Object 4
Methods Methods
Data Data
Messages passing within Objects
In OO approach, system functionality is expressed in terms of
operations or services associated with each object.
27. Steps of OOA
•Define User View of Requirements
•Identify Analysis Objects and their Characteristics
•Determine Object Dynamics
•Determine Object Interactions and relationship
Diagrams used in OOA.
Use case diagram Describes how users interact with processes
Class diagram It is used to refine the use case diagram and define a
detailed design of the system
State diagram Represents different states that objects in the system
undergo during their life cycle
Activity diagram Describes the process flow of the system
Sequence diagram Represents interaction between objects
Collaboration diagram Groups together interactions between objects.
27
31. SSAD vs OOAD
Same basic steps
– Understand the problem
– Specify requirements (WHAT)
– Design the solution (HOW)
– Write the code
– Test and deploy
Similar types of tasks
– Elicitation of requirements
– Documentation of requirements
– Identification of software modules
– Design of software modules
– Acceptance tests
Similar project management issues
e.g. Planning, Estimating, Monitoring & Control, Communicating
31