0% found this document useful (0 votes)
66 views38 pages

UCCD2003 Object-Oriented System Analysis and Design Chapter 02

Uploaded by

Teh Kai Ze
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)
66 views38 pages

UCCD2003 Object-Oriented System Analysis and Design Chapter 02

Uploaded by

Teh Kai Ze
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/ 38

UCCD2003 OBJECT-

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

An iterative software development process framework created by the Rational


Software Corporation, a division of IBM since 2003 22
Unified Process

Unified Process in two-dimensional system development process described by a set


of phases and workflows 23
Inception Phase
• Business case is made for proposed system
Business modeling, requirements & analysis workflows
• Major deliverables:
Scope of project, requirement & constraint
Adoption of necessary environment

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

• Modifications to existing workflows:


Test workflow
Deployment workflow
Environment workflow
Project Management workflow
Configuration & change management workflow

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

You might also like