0% found this document useful (0 votes)
99 views45 pages

Introduction To OOSAD

This document provides an introduction to object-oriented systems analysis and design (OOSAD). It defines information systems analysis and design and describes the systems development life cycle (SDLC). It also explains agile methodologies like extreme programming and object-oriented concepts like classes, objects, and inheritance that are important parts of OOSAD.

Uploaded by

Mustafe Osman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views45 pages

Introduction To OOSAD

This document provides an introduction to object-oriented systems analysis and design (OOSAD). It defines information systems analysis and design and describes the systems development life cycle (SDLC). It also explains agile methodologies like extreme programming and object-oriented concepts like classes, objects, and inheritance that are important parts of OOSAD.

Uploaded by

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

Introduction to OOSAD

Learning Objectives
 Define information systems analysis and design.
 Describe the information systems development life cycle
(SDLC).
 Explain Rapid Application Development (RAD) and
computer-aided software engineering (CASE) tools.
 Describe Agile Methodologies and eXtreme
Programming.
 Explain object-oriented analysis and design and the
Rational Unified Process (RUP).

2
Introduction
 Information Systems Analysis and Design
 Complex organizational process
 Used to develop and maintain computer-
based information systems
 Used by a team of business and systems
professionals

3
Introduction (Cont.)

FIGURE 1-1 An organizational approach to systems analysis and


design is driven by methodologies, techniques, and tools

4
Introduction (Cont.)

 Application Software
 Computer software designed to support
organizational functions or processes
 Systems Analyst
 Organizational role most responsible for
analysis and design of information systems

5
A Modern Approach to Systems
Analysis and Design
 1950s: focus on efficient automation of
existing processes
 1960s: advent of procedural third
generation languages (3GL) faster and
more reliable computers
 1970s: system development becomes
more like an engineering discipline

6
A Modern Approach to Systems
Analysis and Design (Cont.)
 1980s: major breakthrough with 4GL,
CASE tools, object-oriented methods
 1990s: focus on system integration, GUI
applications, client/server platforms,
Internet
 The new century: Web application
development, wireless PDAs and smart
phones, component-based applications,
application service providers (ASP)

7
Developing Information Systems

 System Development Methodology is a


standard process followed in an
organization to conduct all the steps
necessary to analyze, design, implement,
and maintain information systems.

8
Systems Development Life
Cycle (SDLC)
 Traditional methodology used to develop,
maintain, and replace information systems
 Phases in SDLC:
 Planning
 Analysis
 Design
 Implementation
 Maintenance

9
Standard and Evolutionary Views of
SDLC

FIGURE 1-3 Evolutionary model


FIGURE 1-2
Systems development life cycle

10
Systems Development Life Cycle
(SDLC) (Cont.)
 Planning – an organization’s total information
system needs are identified, analyzed,
prioritized, and arranged
 Analysis – system requirements are studied
and structured
 Design – a description of the recommended
solution is converted into logical and then
physical system specifications

11
Systems Development Life Cycle
(SDLC) (Cont.)
 Logical design – all functional features of the
system chosen for development in analysis
are described independently of any computer
platform
 Physical design – the logical specifications of
the system from logical design are
transformed into the technology-specific
details from which all programming and
system construction can be accomplished

12
Systems Development Life Cycle
(SDLC) (Cont.)
 Implementation – the information system
is coded, tested, installed and supported in
the organization
 Maintenance – an information system is
systematically repaired and improved

13
14
The Heart of the Systems Development Process
FIGURE 1-8 FIGURE 1-9
Analysis–design–code–test loop The heart of systems development

Current practice combines analysis, design, and implementation


into a single iterative and parallel process of activities.
Traditional Waterfall SDLC

One phase begins


when another
completes, with
little backtracking
and looping.

FIGURE 1-10
Traditional waterfall SDLC

16
Problems with Waterfall Approach

 Feedback ignored, milestones lock in design


specs even when conditions change
 Limited user involvement (only in
requirements phase)
 Too much focus on milestone deadlines of
SDLC phases to the detriment of sound
development practices

17
Different Approaches to Improving
Development
 CASE Tools
 Rapid Application Development
(RAD)
 Agile Methodologies
 eXtreme Programming

18
Computer-Aided Software
Engineering (CASE) Tools
 Diagramming tools enable graphical
representation.
 Computer displays and report generators
help prototype how systems “look and fee
l”.
 IBM’s Rational products are the best
known CASE tools.

19
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
 Analysis tools automatically check for
consistency in diagrams, forms, and
reports.
 A central repository provides integrated
storage of diagrams, reports, and project
management specifications.

20
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
 Documentation generators standardize
technical and user documentation.
 Code generators enable automatic
generation of programs and database
code directly from design documents,
diagrams, forms, and reports.

21
CASE Tools (Cont.)

FIGURE 1-11
Screen shot of
ArgoUML, an open
source CASE tool

(Source:
http://argouml.tigris.org/)

22
CASE Tools (Cont.)

23
Rapid Application Development
(RAD)
 Decreases design and implementation time
 Involves: extensive user involvement,
prototyping, integrated CASE tools, code
generators
 More focus on user interface and system
function, less on detailed business analysis
and system performance

24
Rapid Application Development
(RAD) (Cont.)

FIGURE 1-12
RAD life cycle

25
Agile Methodologies
 Motivated by recognition of software
development as fluid, unpredictable, and
dynamic
 Three key principles
 Adaptive rather than predictive
 Emphasize people rather than roles
 Self-adaptive processes

26
The Agile
Methodologies group
argues that software
development
methodologies
adapted from
engineering generally
do not fit with real-
world software
development.

27
When to use Agile Methodologies
 If your project involves:
 Unpredictable or dynamic requirements
 Responsible and motivated developers
 Customers who understand the process and
will get involved

28
29
eXtreme Programming
 Short, incremental development cycles
 Automated tests
 Two-person programming teams
 Coding, testing, listening, designing

30
eXtreme Programming (Cont.)
 Coding and testing operate together
 Advantages:
 Communication between developers
 High level of productivity
 High-quality code

31
Object-Oriented System Analysis
and Design (OOSAD)
 Based on objects rather than data or
processes
 Object: a structure encapsulating
attributes and behaviors of a real-
world entity

32
Object-Oriented Analysis and
Design
 Works well in situations where
complicated systems are undergoing
continuous maintenance, adaptation, and
design
 Objects, classes are reusable
 The Unified Modeling Language (UML) is
an industry standard for modeling object-
oriented systems.

10-33
10-33
Object-Oriented Analysis and
Design (continued)
 Reusability
 Recycling of program parts should reduce the
costs of development in computer-based
systems
 Maintaining systems
 Making a change in one object has a minimal
impact on other objects

10-34
10-34
Object-Oriented Analysis and
Design (OOSAD) (Cont.)
 Object class: a logical grouping of
objects sharing the same attributes
and behaviors
 Inheritance: hierarchical
arrangement of classes enable
subclasses to inherit properties of
superclasses

35
Object-Oriented Concepts
 Objects
 Classes
 Inheritance

10-36
10-36
Objects
 Persons, places, or things that are
relevant to the system being analyzed
 May be customers, items, orders, and so
on
 May be GUI displays or text areas on a
display

10-37
10-37
Classes
 Defines the set of shared attributes and
behaviors found in each object in the class
 Should have a name that differentiates it from all
other classes
 Instantiate is when an object is created from a
class
 An attribute describes some property that is
possessed by all objects of the class
 A method is an action that can be requested
from any object of the class

10-38
10-38
An Example of a UML Class: A Class Is Depicted as a
Rectangle Consisting of the Class Name, Attributes, and
Methods (Figure 10.1)

10-39
10-39
Inheritance
 When a derived class inherits all the
attributes and behaviors of the base class
 Reduces programming labor by using
common objects easily
 A feature only found in object-oriented
systems

10-40
10-40
A Class Diagram Showing Inheritance (Figure 10.2)

Car and truck are specific


examples of vehicles and
inherit the characteristics of
the more general class vehicle.

10-41
10-41
Rational Unified Process (RUP)
 An object-oriented systems development
methodology
 Establishes four phase of development:
inception, elaboration, construction, and
transition
 Eachphase is organized into a number of
separate iterations.

42
FIGURE 1-13
Phases of OOSAD-based development

43
Our Approach to Systems
Development
 The SDLC is an organizing and guiding
principle in this book.
 We may construct artificial boundaries or
artificially separate activities and
processes for learning purposes.
 Our intent is to help you understand all the
pieces and how to assemble them.

44
Summary
 In this chapter you learned how to:
 Define information systems analysis and design.
 Describe the information Systems Development Life
Cycle (SDLC).
 Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering
(CASE), and Service-Oriented Architecture (SOA).
 Describe agile methodologies and eXtreme
programming.
 Explain Object-Oriented Analysis and Design
(OOAD) and the Rational Unified Process (RUP).

45

You might also like