0% found this document useful (0 votes)
149 views46 pages

Structured vs OO System Analysis

This document provides an overview of structured system analysis and design (SAD) versus object-oriented SAD. It defines key terms related to systems and SAD. Structured SAD takes a top-down approach and uses models to represent information and system functionality, but can result in systems that are difficult to maintain. Object-oriented SAD models systems as interacting objects, with analysis focusing on functionality and design on implementation. The document compares the analysis and design phases of each approach.

Uploaded by

Baruk Umeta Dego
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views46 pages

Structured vs OO System Analysis

This document provides an overview of structured system analysis and design (SAD) versus object-oriented SAD. It defines key terms related to systems and SAD. Structured SAD takes a top-down approach and uses models to represent information and system functionality, but can result in systems that are difficult to maintain. Object-oriented SAD models systems as interacting objects, with analysis focusing on functionality and design on implementation. The document compares the analysis and design phases of each approach.

Uploaded by

Baruk Umeta Dego
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

1

CHAPTER ONE
Introduction to
Structured SAD vs OO-SAD

Mulugeta G..
2

Definition of Basic Terms and Concepts


• System Analysis and Design

• is a study in which we learn how to analyze an existing system

and create a better one


• a standard set of activities, methods, best practices, deliverables,

and automated tools that stakeholders use to develop and


maintain information systems.
• System AD is used to analyze, design and implement
improvements in the functioning of businesses that can be
accomplished through use of computerized information systems.
3

Definition of Basic Terms and Concepts


• System Analysis and Design

• It is based on two skills (knowledge)

• Understanding of organizations objectives, structure and process

(domain Knowledge)
• Knowledge of how to exploit information technology for advantage

• Out come of such SAD

• An application software (information systems) to improve employee

efficiency

• From the definition it is easy to understand that ‘System’,

specifically ‘information system’ is a core concept.


4

Definition of Basic Terms and Concepts


• What exactly is a System?

• A system is an interrelated set of components with an identifiable

boundary, working together for some purpose.


• Other Important system concepts

• Living Vs Non-living systems

• Open Vs. Closed systems- depends whether the system needs to adapt to the

environment as the environment changes. Most ISs are open systems. Take a
watch as an example.
• Decomposition- being able to break down a system in to its components. It

also helps to build different parts of the system at different times or by


different individuals.
• Modularity- relatively uniform size components or chunks.
5

Definition of Basic Terms and Concepts


• Other Important system concepts

• Coupling- the extent to which subsystems are dependent on each

other. As much as possible the subsystems should not be very


much coupled in order to.
• Cohesion- the extent to which a module or a subsystem performs a

single function. When we have highly cohesive modules each


module accomplishes one and only one function. This makes the
module reusable in future programs.
• Example: It is possible to transplant a heart or kidney.
6

Definition of Basic Terms and Concepts


• Systems Thinking

• Is a mind set or way of viewing a world as a system

• it helps to see the big picture; it also pays to break problems

down to their components to avoid complexity.


• Minimize the effect a change in one module will have on another.

• “A system is bigger than the sum of its components”


• Example: Laptop

• It emphasize on the relationship and the process that go inside

rather than constituent part or just the sum of the parts


7

Characteristics of a System
• Components - either a complex part or an aggregate of parts,

subsystem
• Interrelated Components - the function of one is tied to the

function of the other


• Boundary - the limits of the system with in which the system is

contained, and that separates it from other systems. Components


within the boundary can be changed.
• Purpose - The components work together to achieve some

overall purpose: the system’s reason for existence


8

Characteristics of a System
• Environment- Everything outside the system’s boundary

• Interfaces- the point at which the system meets its environment

• Input- What the system takes in from the environment to

function
• Output - The result of the function of the system

• Constraints- limits to the system in terms of its capacity

• Example: Thinking about a car as a system helps us determine

what the problem is and fix it by breaking the system down in to


its components.
9

Overview of Structured SAD


• Structured SAD is characterized by the following points:

• It is a top-down approach

• It is a model building activity.

• It uses unique notation to create models that represent information (data and

control) flow and content, system functionality and behavior, and depict the
essence of what must be built.
• It views a system in terms of what it is intended to do and then develop

models of procedures and data.


• It focus upon the flow of data within a system

• It is action oriented (data flow diagrams); or data oriented (entity-

relationship diagrams); but not both


10

Overview of Structured SAD


• Some Problems of Structured Analysis and Design

• Real systems do not follow top-bottom approach

• It gives more emphasis on coding than on analysis

• The resulting system demands more maintenance cost, i.e. 56%

of the errors are made at the initial determination of users’


requirements and 81% of maintenance cost is spent on these early
requirement definition errors.
• It emphasizes more on functionality than on data which leads to

poor extendibility and modifiability.


11

Overview of Structured SAD


• Some Problems of Structured Analysis and Design

• Systems developed using a function/data method often becomes

difficult to maintain because of its principle. All functions must


know how the data is stored (or the data structure). As a result it
becomes difficult to understand the program as we are often not
interested in data format, but only in the functionality.
• To change the data structure, we must modify all the

functions relating to the structure.


• Systems developed using such methods often become quite

unstable; a slight modification will generate major consequences.


12

Overview of OO-SAD
• Object-oriented analysis and design (OOAD) is a software

engineering approach that models a system as a group of interacting


objects.
• Each object represents some entity of interest in the system being

modeled, and is characterized by its class, its state (data elements),


and its behavior.
• Various models can be created to show the static structure, dynamic

behavior, and run-time deployment of these collaborating objects.


• There are a number of different notations for representing these

models, such as the Unified Modeling Language (UML).


13

Overview of OO-SAD
• Object-oriented analysis (OOA)

• Applies object-modelling techniques to analyze the functional

requirements for a system.


• Focuses on what the system does

• Object-oriented design (OOD)

• Elaborates the analysis models to produce implementation

specifications.
• Focuses on how the system does it.
14

Overview of OO-SAD
• Object-oriented Systems

• An object-oriented system is composed of objects.

• The behavior of the system results from the collaboration of those

objects.
• Collaboration between objects involves them sending messages to

each other.
• Sending a message differs from calling a function in that when a target

object receives a message, it itself decides what function to carry out to


service that message.
• The same message may be implemented by many different functions,

the one selected depending on the state of the target object.


15

Overview of OO-SAD
• Object-oriented Analysis

• Object-oriented analysis (OOA) looks at the problem domain,

with the aim of producing a conceptual model of the information


that exists in the area being analyzed.
• Analysis models do not consider any implementation constraints

that might exist, such as concurrency, distribution, persistence, or


how the system is to be built.
• Implementation constraints are dealt during object-oriented

design (OOD).
• Analysis is done before the Design.
16

Overview of OO-SAD
• Object-oriented Analysis

• The sources for the analysis can be:

• Written requirements statement

• Formal vision document

• Interviews with stakeholders or

• Other interested parties.

• The result of object-oriented analysis is a description of what the

system is functionally required to do, in the form of a


“conceptual model”.
17

Overview of OO-SAD
• Object-oriented Analysis

• Presented as a set of use cases, one or more UML class diagrams,

and a number of interaction diagrams.


• It may also include some kind of user interface mock-up.

• The purpose of object oriented analysis is

• To develop a model that describes computer software as it

works to satisfy a set of customer defined requirements.


18

Overview of OO-SAD
• Object-oriented Design

• Transforms the conceptual model produced in object-oriented analysis to

take account of the constraints imposed by the chosen architecture and


any non-functional – technological or environmental – constraints, such
as transaction throughput, response time, run-time platform, development
environment, or programming language.
• The concepts in the analysis model are mapped onto implementation

classes and interfaces.


• The result is a model of the solution domain, a detailed description of

how the system is to be built.


19

Overview of OO-SAD
• Object-oriented Design
• In object oriented thinking, a system is considered as a collection
of classes and objects and the relationships that tie them together.
• It de-emphasizes procedures.
• The focus shifts from modeling business processes and data
separately to combining data and procedures into objects.
• Users can more easily understand objects than traditional
representations of a system.
• Objects more accurately reflect reality in a model. Objects
reduce the “semantic gap” between reality and a model.
• Objects localize changes to the model.
• Objects are believed to more closely model the real world
• It is becoming state-of-the-art, “and it is the way of the future”.
20

Benefits of OO-SAD
• The object method can provide the following potential
benefits
• Reusability: reduce the time and cost of writing software as well as
the incidence of defects.
• Reduced Application Backlog and Maintenance Burdon.
• Maintenance costs are lowered by reducing multiple maintenance
changes and this in turn reduces the waiting time for new projects to
be started.
• Manage Complexity by abstraction
• Tackle more challenging problems
• Improves analyst and problem domain interaction.
• Increase internal consistency across analysis, design and
programming
• Build specifications resilient to change
21

Characteristics of Object-Oriented Systems


• Six ideas characterize object-oriented systems’ programming:

• Object: represents a real-world thing or event

• Class: group of related objects

• Messages: sent between objects

• Encapsulation: only an object makes changes through its own

behavior
• Inheritance: a new class created from another class

• Polymorphism: meaning that a derived class behavior may be

different from the base class


22

Characteristics of Object-Oriented Systems


• Object

• is an instance or occurrence of a class

• is a person, place, event, or thing about which we want to capture

information.
• Each object has properties (or attributes) and behaviors -- things

that they can do -- which are described by methods (or operations).


• Classified into three: entity objects, interface objects and control

objects.
• do not use primary or foreign keys, instead each instance is

assigned a unique identifier (UID) when it is created.


23

Characteristics of Object-Oriented Systems


• Class

• Is a general template we use to define and create specific instances

or objects.
• Refers to a template for a group of individual objects with
common attributes and common behavior
• The difference between an Object and a Class is that the class

defines shared attributes and behaviors of objects


24

Characteristics of Object-Oriented Systems


25

Characteristics of Object-Oriented Systems

• Classes are arranged in a hierarchy

• Superclasses or general classes are at the top

• Subclasses or specific classes are at the bottom

• Subclasses inherit attributes and methods from the superclasses

above them
• Classes with instances are concrete classes

• Abstract classes only produce templates for more specific classes


26

Characteristics of Object-Oriented Systems

• Classes are arranged in a hierarchy


27

Characteristics of Object-Oriented Systems


• Inheritance is when a new class is created from another class.
• The original class is the parent or base class.
• The new class is the child or derived class.
• The child class receives the attributes and methods of the parent
class.
• Polymorphism only occurs where there is inheritance
28

Characteristics of Object-Oriented Systems

• Polymorphism : Many forms

• A message can be interpreted differently by different classes of

objects
• e.g. A ‘Create_Record’ message is essentially the same thing, but

causes ‘Create_Patient_Record’ by a ‘Patient_Database’ object, or


‘Create_Doctor_Record’ by a ‘Healthcare_Staff_Database’ object
• Polymorphism: meaning that a derived class behavior may be

different from the base class


29

Polymorphism (Many Forms)


30

Characteristics of Object-Oriented Systems

• Encapsulation

• The message is sent without considering how it will be implemented

• The object can be treated as a “black-box”

• Encapsulation changes the manner in which data is updated by programs

because data can only be changed via the services that encapsulate the data
• Helpful Hint….’Compile’
• C Classes
• O Objects
• M Methods and Messages
• P Polymorphism
• I Inheritance
• E Encapsulation
31

Object-Oriented SDLC

• Involves the phases/processes that a software developer goes through

when developing new software.


• It consists of five basic phases:

1. System planning includes initial investigation


2. System analysis includes requirements capture/elicitation

3. System design
4. System construction and implementation includes system testing
5. System deployment
32

Object-Oriented SDLC
• Every system development models that have been developed
incorporates these basic Phases into their model,
ex: - Waterfall Model, Iterative Model, Unified Process etc
• Waterfall Model – typical of SDLC
33

Object-Oriented SDLC
• Iterative across life cycle phases
34

Object-Oriented SDLC
• Spiral life cycle model
35

Object-Oriented SDLC
• The Unified Process
36

Object-Oriented SDLC

• The Unified Process also called iterative and incremental life cycle,

typical in object oriented approach, sees each cycle as containing five


phases:
• Inception- Establish the business case for the project

• Elaboration- Establish a project plan and a sound architecture

• Construction- Grow the system

• Transition- Testing and validating

• Production -Supply the system to its end users

• Within each phase are a number of iterations.


37

Object-Oriented SDLC

• Five workflows cut across the set of four phases. Each workflow is a

set of activities that various project workers perform.


• The workflows are: -

• Requirements

• Aims at building the use case model

• Captures the functional requirements of the new system

• Outcome: Use-case Diagram


38

Object-Oriented SDLC
• Analysis
• Aims at building the analysis model
• Helps the developer refine and structure the functional
requirements captured within the use-case model
• Outcome: Class/Object Diagram, Sequence/Collaboration Diagram
• Design
• Aims at building the design model
• Describes the physical realizations of the use cases from the use-
case models and the contents of the analysis model
• Outcome: Sequence/Collaboration Diagram, Interfaces and
Classes, extending the UML
• Aims at building the deployment model
39

Object-Oriented SDLC

• Aims at building the deployment model

• Defines the physical organization of the system in terms of

computational nodes (geographical locations)


• Defines how things will be built
• Outcome: Deployment diagram

• Implementation

• Aims at building the implementation model

• Describes how elements of the design model are packaged into

software components, i.e. source code etc


• Outcome: Component diagram
40

Object-Oriented SDLC

• Test

• Performs unit, integration and system tests

• Use test cases, that are derived directly from use-cases

• Types: black-box testing and white box testing

• Deployment

• Defines how system will be built and put into operation

• Uses the deployment model built during the design workflow

• Provide for a smooth transition from the old system to the newly

constructed system
41

Object-Oriented SDLC
Inception
• it’s the first of five phases.
• This phase has several goals:
• To describe the initial requirements
• To develop and justify the business case for the system
• To determine the scope of your system
• To identify the people, organizations, and external systems that will
interact with your system
• To develop an initial risk assessment, schedule, and estimate for
your system
• To develop an initial tailoring of the Unified Process to meet your
exact needs
42

Object-Oriented SDLC
Elaboration
• The Elaboration phase has the following goals:

• To produce a proven, architectural baseline for your system

• To progress your requirements model to the "80% completion

point"
• To develop a coarse-grained project plan for the entire Construction

phase
• To ensure that the critical tools, processes, standards, and

guidelines have been put in place for the Construction phase


• To understand and eliminate the high-priority risks of your project
43

Object-Oriented SDLC
Construction
• The Construction phase has several goals:
• To describe the remaining requirements
• To flesh out the design of your system
• To ensure that your system meets the needs of its users and fits into
your organization’s overall system portfolio
• To complete component development and testing, including both
the software product and its documentation
• To minimize development costs by optimizing resources
• To achieve adequate quality as rapidly as possible
• To develop useful versions of your system
44

Object-Oriented SDLC
Transition
• The team will focus on testing and validating your complete system
• Final product baseline (also known as a production baseline) of your
system
• Training materials for your system
• Documentation, including user manuals, support documentation, and
operations documentation
• The phase is concluded with the Product Release milestone.
• To pass this milestone you must show that your users are satisfied
with the system and that show that the actual expenditures versus the
planned expenditures are still acceptable.
45

Object-Oriented SDLC
Production
• Here you will focus on operating your system and supporting your
users working with it.
• This includes
• monitoring the system and acting appropriately to ensure continued
operation;
• operating and maintaining relevant jobs, logs, and supporting
systems;
• responding to help requests, error reports, and feature requests by
users; and
• managing your change control process so that defects and new
features may be prioritized and assigned to future releases.
• Appropriate metrics summarizing system usage, system performance,
and user satisfaction
46

?
END OF CHAPTER ONE
Next: Chapter Two: Modeling using UML

You might also like