Introduction To OOSAD
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.)
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
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
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
FIGURE 1-10
Traditional waterfall SDLC
16
Problems with Waterfall Approach
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)
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