21.82M
Категория: ПрограммированиеПрограммирование

Object-Oriented systems (OOP), Unified Process, UML

1.

Object-Oriented
SYSTEMS
LECTURE 3
COMPUTING SYSTEM
NURBOL
AIDARBAYEV

2.

Lesson Outline
O
OOP
O
OOP Systems Analysis
O
Unified Process
O
UML
1
3
2
4

3.

OOP

4.

OOP Systems
Object-oriented systems focus on capturing
the structure and behavior of information
systems in little modules that encompass both
data and process. Th ese little modules are
known as objects
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

5.

Classes and Objects
A class is the general template we use to
define and create specific instances, or objects.
Every object is associated with a class.
An object is an instantiation of a class. In other
words, an object is a person, place, or thing
about which we want to capture information.
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

6.

Attributes and Methods
Each object has attributes that describe information about the
object, such as a patient’s name, birth date, etc.. Attributes are also
used to represent relationships between objects.
Each object also has behaviors. The behaviors specify what the
object can do. Methods implement an object’s behavior. A method is
nothing more than an action that an object can perform. Messages
are information sent to objects to trigger methods
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

7.

Encapsulation
Encapsulation is simply the combination
of process and data into a single entity.
In the figure, a message (create) is sent to
an object, yet the internal algorithms
needed to respond to the message are
hidden from other parts of the system. The
only information that an object needs to
know is the set of operations, or methods,
that other objects can perform and what
messages need to be sent to trigger them.
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

8.

Inheritance
Common sets of attributes and methods can
be organized into superclasses. Typically,
classes are arranged in a hierarchy whereby
the superclasses, or general classes, are at
the top and the subclasses are at the
bottom.
Subclasses inherit the appropriate attributes
and methods from the superclasses above
them.
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

9.

Polymorphism
Polymorphism means that the same
message can be interpreted
differently by diff erent classes of
objects.
We can simply send a message to an
object, and that object will be
responsible for interpreting the
message appropriately.
Dennis, A., Wixom, H.B. and Tegarden D., Systems
Analysis and Design An Object-Oriented Approach with
UML

10.

OOP SYSTEMS
ANALYSIS AND
DESIGN

11.

OOP METHODOLOGIES
New object-oriented methodologies have emerged
that use the RAD-based sequence of SDLC phases
but attempt to balance the emphasis between process
and data by focusing the decomposition of problems
on objects that contain both data and processes.
Any modern object-oriented approach to developing
information systems must be use-case driven,
architecture-centric, and iterative and incremental
(Booch G., Jacobson I. and Rumbaugh J., 1999)
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

12.

Use-case Driven
Use-case driven means that use
cases are the primary modeling tools
defining the behavior of the system.
A use case describes how the user
interacts with the system to perform
some activity, such as placing an
order, making a reservation, or
searching for information. The use
cases are used to identify and to
communicate the requirements for
the system to the programmers who
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
must write the system
Object-Oriented Approach with UML

13.

Architecture-centric
Architecture-centric means that the underlying software architecture
of the evolving system specification drives the specification,
construction, and documentation of the system.
OO systems should support three separate, but interrelated
architectural views of a system:
● functional - describes the behavior of the system from the
perspective of the user
● static - describes the system in terms of attributes, methods,
classes, and relationships
● dynamic - describes the behavior of the system in terms of
messages passed among objects and state changes within an
object
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

14.

Iterative and Incremental
Modern object-oriented systems
analysis and design approaches
emphasize iterative and incremental
development that undergoes
continuous testing and refinement
throughout the life of the project.
This implies that the systems
analysts develop their
understanding of a user’s problem
by building up the three architectural
views little by little.
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

15.

Unified
Process

16.

Unified Process
● The Unified Process is a specific methodology that maps out when
and how to use the various Unified Modeling Language (UML)
techniques for object-oriented analysis and design.
● The primary contributors were Grady Booch, Ivar Jacobsen, and
James Rumbaugh.
● The Unified Process provides the behavioral support.
● Supports use-case driven, architecture-centric, and iterative and
incremental, and is a 2D systems development process described
by a set of phases and workflows.
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

17.

UP Phases and Workflows
The phases describe how an information system evolves through time.
Depending on which development phase the evolving system is currently in,
the level of activity varies over the workflows.
The workflows describe the tasks or activities that a developer performs to
evolve an information system over time.

18.

UML

19.

UML HISTORY
Until 1995, object concepts were popular but implemented in many
diff erent ways by different developers. Each developer had his or
her own methodology and notation. Then in 1995, Rational Software
brought three industry leaders together to create a single approach to
object-oriented systems development. Grady Booch, Ivar Jacobson,
and James Rumbaugh worked with others to create a standard set of
diagramming techniques known as the Unified Modeling Language
(UML).
Dennis, A., Wixom, H.B. and Tegarden D., Systems Analysis and Design An
Object-Oriented Approach with UML

20.

WHAT IS UML?
UML is a standardized, visual modeling
language used to specify, document,
and design software systems and
business processes. It uses diagrams
to represent the structure and behavior
of systems. UML is not a development
process but a set of graphical rules
used for modeling. In November 1997,
the Object Management Group (OMG)
formally accepted UML as the standard
for all object developers.

21.

22.

WHAT IS UML?
Depending on where in the development process the system is,
different diagrams play a more important role. In some cases, the
same diagramming technique is used throughout the development
process. In that case, the diagrams start off very conceptual and
abstract. As the system is developed, the diagrams evolve to include
details that ultimately lead to generating and developing code.

23.

Case study
Dr. Umar Ibrahim, head of the STEM RC at SDU, wanted a simple app to help
students identify local flora on field trips. The SDU’s IT Dep had a long
development queue, so after waiting months, Dr. Umar decided to build it
himself using a no-code platform. Six weeks after launch, the app crashes
frequently, misidentifies common plants, and students have gone back to using
printed field guides. Over coffee, he tells you, a software developer friend, “I
figured all those formal design steps were just for big university-wide systems.
This was just a small mobile app—why couldn’t I just build and adjust as I
went?”.

24.

SUMMARY
OOP
OOP Systems Analysis and Design
Unified Process
UML

25.

HOMEWORK
Read pp. 19-36 in the book - Dennis, A., Wixom, H.B. and Tegarden
D. Systems Analysis and Design An Object-Oriented Approach with
UML, 2015, Wiley.

26.

CONTACTS
NURBOL AIDARBAYEV
n.aidarbayev@sdu.edu.kz
E210
GOODBYE!
English     Русский Правила