1 Oose 1
1 Oose 1
Key Concepts
1. Objects:
o An object is a self-contained entity that consists of both data and methods.
Objects represent real-world entities and their interactions within the software.
o Objects have attributes (data) and behaviors (methods/functions).
2. Classes:
o A class is a blueprint for creating objects. It defines a set of attributes and
methods that the created objects (instances) will have.
o Classes encapsulate data for the object and methods to manipulate that data.
3. Encapsulation:
o Encapsulation is the concept of hiding the internal state of an object and requiring
all interaction to be performed through an object's methods.
o This principle helps in maintaining the integrity of the data by preventing outside
interference and misuse.
4. Inheritance:
o Inheritance is a mechanism where a new class inherits properties and behaviors
(attributes and methods) from an existing class.
o It promotes code reuse and establishes a hierarchical relationship between classes.
5. Polymorphism:
o Polymorphism allows objects of different classes to be treated as objects of a
common superclass. It is often implemented through method overriding, where a
subclass provides a specific implementation of a method that is already defined in
its superclass.
o This allows for flexibility and the ability to define one interface with multiple
implementations.
6. Abstraction:
o Abstraction involves simplifying complex reality by modeling classes appropriate
to the problem, focusing on essential qualities rather than specific characteristics.
o It helps in managing complexity by hiding unnecessary details from the user.
Benefits of OOSE
What is UML?
UML (Unified Modeling Language) is a general-purpose, graphical
modeling language in the field of Software Engineering. UML is used to
specify, visualize, construct, and document the artifacts (major elements) of
the software system. It was initially developed by Grady Booch, Ivar
Jacobson, and James Rumbaugh in 1994-95 at Rational software, and its
further development was carried out through 1996. In 1997, it got adopted
as a standard by the Object Management Group.
To address the growing complexity of software systems and the need for a
standardized modeling language, three leading methodologists, Grady
Booch, Ivar Jacobson, and James Rumbaugh, joined forces at Rational
Software in 1994.
Their goal was to unify the best aspects of their respective methods (Booch
method, OMT- object-modeling technique, and OOSE) into a single,
comprehensive language. This collaboration led to the development of
UML, which was first publicly released in 1995.
In 1997, the Object Management Group (OMG) adopted UML as a
standard, ensuring its widespread adoption and continued evolution. Since
then, UML has undergone several revisions and enhancements to keep
pace with the evolving software development landscape.
Use Case Diagrams
A Use case diagram provides a visual representation of how users interact with a syste m.
For example, Figure depicts a use case diagram for a simple watch. The
WatchUser
actor may either consult the time on their watch (with the ReadTime use
case) or set the time (with the SetTime use case). However, only the
WatchRepairPerson actor can change the battery of the watch (with the
ChangeBattery use case).