Professional Documents
Culture Documents
CHAPTER ONE
Introduction to
Structured SAD vs OO-SAD
Mulugeta G..
2
(domain Knowledge)
• Knowledge of how to exploit information technology for advantage
efficiency
• 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
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
Characteristics of a System
• Environment- Everything outside the system’s boundary
function
• Output - The result of the function of the system
• It is a top-down approach
• 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
Overview of OO-SAD
• Object-oriented analysis and design (OOAD) is a software
Overview of OO-SAD
• Object-oriented analysis (OOA)
specifications.
• Focuses on how the system does it.
14
Overview of OO-SAD
• Object-oriented Systems
objects.
• Collaboration between objects involves them sending messages to
each other.
• Sending a message differs from calling a function in that when a target
Overview of OO-SAD
• Object-oriented Analysis
design (OOD).
• Analysis is done before the Design.
16
Overview of OO-SAD
• Object-oriented Analysis
Overview of OO-SAD
• Object-oriented Analysis
Overview of OO-SAD
• Object-oriented Design
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
behavior
• Inheritance: a new class created from another class
information.
• Each object has properties (or attributes) and behaviors -- things
objects.
• do not use primary or foreign keys, instead each instance is
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
above them
• Classes with instances are concrete classes
objects
• e.g. A ‘Create_Record’ message is essentially the same thing, but
• Encapsulation
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
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,
Object-Oriented SDLC
• Five workflows cut across the set of four phases. Each workflow is a
• Requirements
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
• Implementation
Object-Oriented SDLC
• Test
• Deployment
• 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:
point"
• To develop a coarse-grained project plan for the entire Construction
phase
• To ensure that the critical tools, processes, standards, and
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