UCCD2003 Object-Oriented System Analysis and Design Chapter 02
UCCD2003 Object-Oriented System Analysis and Design Chapter 02
ORIENTED SYSTEM
ANALYSIS AND DESIGN
Topic 2: Object-Orientation
Chapter 2: Object-orientation concept
1
Learning Objectives
• Describe the basic object-oriented concepts
• Discuss the object-oriented approach
• Explain the rational unified process (RUP)
• Describe the diagrams in UML
2
Introduction
•A system development approach that views an Information
System (IS) as a collection interacting objects that work together
to accomplish tasks
• Basic Object-Oriented concepts
Classes vs. Objects
Methods vs. Messages
Encapsulation vs. Information Hiding
Inheritance
Polymorphism vs. Dynamic Binding
3
Classes vs. Objects
• Class
template to define & design specific instances or objects
Every object is associated with a class
All objects that capture the same info could fall into the same class
• Object
Instantiationof a class
A person, place, event or thing about which we want to capture info.
• Attributes
Describes the information about the object
• Behaviors
specify what object can do 4
Classes vs. Objects
5
Example of classes vs. objects
Methods vs. Messages
• Methods
Implement an object’s behavior
An action an object can perform
Equivalent to a function or procedure
• Messages
Information sent to objects to trigger methods
Function or procedure call from one object to the next object
6
Methods vs. Messages
7
Example of methods vs. messages
Encapsulation vs. Information Hiding
• Encapsulation
• combination of data and process into a single entity (object)
• Information Hiding
• Hide the information to be directly retrieved by others
8
Inheritance
• To identify higher level or more general, classes of objects
• Common sets of attributes & methods can be organized into
super classes
• Subclasses inherit attributes and methods from classes higher in
the hierarchy
• Superclasses or general classes are at the top of a hierarchy of
classes
• Subclasses or specific classes are at the bottom
9
Inheritance
10
Example of inheritance hierarchy
Inheritance
11
Example of class inheritance
Inheritance
12
Example of class inheritance in class diagram
Polymorphism vs. Dynamic Binding
• Polymorphism
Object has different forms
Same message can be interpreted differently depends on the form
of an object.
• Dynamic Binding
alsocalled late binding
Delays typing or choosing a method for an object until run-time
• Static Binding
Type of object determined at compile time
13
Polymorphism vs. Dynamic Binding
14
Example of polymorphism vs. dynamic binding
New OO methodologies
• Emerged RAD based sequence of SDLC
• Butto balance the emphasis between process & data by focusing
the decomposition of problems on objects
• Anyobject-oriented approach to developing information systems
must be:
Use-case Driven
Architecture Centric
Iterative and Incremental
15
Object Oriented Approach
• Use-case driven means that use cases are the primary modeling
tool employed to define the behavior of the system.
Use-cases define the behavior of the system
Use-cases show how user interact with system to perform some
activity such as placing an order, making a reservation or searching
for information
Focus on use-cases/processes that are to be used/perform by user
16
Object Oriented Approach
• Architecture Centric
Architecture centric means that the underlying software architecture
of the evolving system specification drives the specification,
construction, and documentation of the system
The three basic software architecture drive the overall system
architecture
Functional view: Describe external behavior of system from user
perspective
Static view: Describe the structure of the system in terms of attributes,
methods, classes & relationships
Dynamic view: Describe the internal behavior of the system in terms of
message passed among objects & state changes within an object
17
Object Oriented Approach
• Iterative and Incremental
• Continuous testing & refinement throughout the life of the project.
• Each iteration of the system brings the system closer and closer to
the final needs of the users
18
Benefits of OOSAD
• Concepts like polymorphism, encapsulation and inheritance
taken together allow analysts to break a complex system into
smaller, more manageable reusable components
• Thereusable components can be plugged into other systems –
save time
• Thismodularity makes system development easier to grasp,
easier to share among project members and easier to
communicate to users
19
Unified Process
• TheUnified Process is a specific methodology that maps out
when and how to use the various UML techniques for OOSAD
• UML provide structural support for developing the structure and
behavior of an information system
• Unified Process provide the behavioral support
• TheUnified Process is a two-dimensional system development
process described by a set of phases and workflows
20
Unified Process
• Unified Process:
Phases: inception, elaboration, construction, transition
Workflows:
Engineering workflow: business modeling, requirement, analysis,
design, implementation, test, deployment
Supporting workflow: project management, configuration and change
management, environment
21
Unified Process
24
Elaboration Phase
• Focus on analysis & design workflows
Finalize business case, revise risk assessment, complete project
plan
• Major deliverables:
UML structure& behavior diagram
An executable of a baseline version of the evolving IS
25
Construction Phase
• Focused on programming the evolving IS
• Concerned with implementation workflow
• Major Deliverable
An implementation of the system that can be released for beta &
acceptance testing
26
Transition Phase
• Focus on testing and deployment workflows
• Primary deliverable:
Actualexecutable IS
User manual, plan to support the users, upgrade IS
27
Unified Process Workflows
• Workflows describe the tasks or activities that a developer
performs to evolve an IS system over time
• Two categories:
Engineering workflow
Supporting Workflows
28
Engineering Workflows
• Engineering Workflows deal with the activities that produce the
technical product (i.e. the information system)
• Engineering Workflows includes:
Business Modeling workflow
to establish a understanding with the organization (the client), the
current problems in the organization and possible improvements.
Create relationship between customers, end users and developers
Requirements workflow
to describe what the system should do and allows the developers and
the customer to agree on that description
29
Engineering Workflows
Analysis workflow & Design workflow
Develop a model that implement the tasks and functions specified in
the use-case descriptions
Implementation workflow
To convert the design model into programming.
To implement classes and objects in terms of components (source files,
binaries, executables, and others).
To integrate the results produced by individual implementers (or
teams), into an executable system
30
Engineering Workflows
Test workflow
To verify the proper integration of all components of the software.
To verify that all requirements have been correctly implemented.
To identify and ensure that defects are addressed prior to the
deployment of the software
Ensure that all the defects are fixed, retested and closed.
Deployment workflow
successfully produce product releases, and deliver the software to its
end users
31
Supporting Workflows
• Supporting Workflows focus on the managerial aspects of
information system development
• Supporting Workflows include:
Configuration and change management
Version control, change request control
Project Management
Managing people: hiring, training, coaching
Managing budget: defining, allocating, and so forth
Managing contracts, with suppliers and customers
32
Supporting Workflows
Environment workflow
focuses on the activities necessary to configure the process for a
project, such as to provide software development environment for both
processes and tools-that will support the development team
33
Extensions to the Unified Process
• The Unified Process does not include:
Staffing
Budgeting
Contract management
Maintenance
Operations
Support
Cross- or inter-project issues
• Adda Production Phase to address issues after the product has
been deployed
34
Extensions to the Unified Process
• New Workflows:
Operations & Support
Infrastructure management
35
UML Structure Diagrams
• Represent the data and static relationships in an information
system
Structural modeling
Class diagram
Object diagram
Package diagram
Deployment diagram
Component diagram
Composite structure diagram
36
UML Behavior Diagrams
• Depict the dynamic relationships among the instances or objects
that represent the business information system
Functional modeling
Use-case diagram
Activity diagram
Behavioral modeling
Sequence diagram
Communication diagram
Interaction overview diagram
Timing diagram
Behavior state machine diagram
Protocol state machine diagram
37
Summary
Basic Object-Oriented concepts
Object-Oriented Systems Analysis and Design (OOSAD) uses a
use-case-driven, architecture-centric, iterative, and incremental
information systems development approach
The Unified Process is a two-dimensional systems development
process described with a set of phases and workflows
The Unified Modeling Language, or UML, is a standard set of
diagramming techniques
38