This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 1 OBJECT-ORIENTED DESIGN/UNIFIED MODELING LANGUAGE (OOD/UML) REFERENCE (Ver 2.6) GENERAL FUNDAMENTAL CONCEPTS OF OBJECT ORIENTATION: • Abstraction – capture the essential, shared characteristics of an entity or group of entities • Encapsulation – conceal information that does not need to be exposed to an outside entity; bundle related information and functionality within an entity • Generalization/Inheritance – define elements such as Classes whose characteristics apply to multiple more specialized elements; child elements inherit the characteristics of the parent • Interfaces – clearly define interactions among entities and with the external environment; allow entities to interact by exchanging messages or other information across controlled boundaries • Polymorphism – hide details of implementation behind an interface; allow the same service invocation to yield different results depending on circumstances (e.g., the data type of a passed parameter) • Modularity – decompose complexity to enable understanding; localize effects of changes • Hierarchy – rank or order abstractions to capture common and unique features among entities DEALING WITH COMPLEXITY USING OOD: • Abstraction focuses on the most important aspects of complex entities • Facilitates decomposition – inherently links information and users with their operations and responsibilities; objects correspond to real-world entities that have defined “state” and “behavior” (data and functions) • Interface definition is inherent and natural; captures real-world interactions of a system • Polymorphism allows tailored functionality w/ common interfaces • Facilitates open, loosely coupled, service-oriented, component-based “plug „n‟ play” architectures • Facilitates localization and confinement of the effects of design changes or system failures • Inheritance minimizes the difficulty of handling variations among related information and actors • Facilitates understanding of system states and transitions via the attributes and associations of objects CLASSES AND OBJECTS • An Object is a basic entity of a system, providing an identifying label and encapsulating the information and operations associated with that entity; it is the physical entity that can hold information, perform functions and provide services to other Objects or external entities • An Object is the instantiation of a Class; the Class abstracts the shared characteristics of its Objects • An Association between Classes represents the ability to exchange messages and to request and deliver services; a Link is a semantic relationship between Objects and the instantiation of an Association • Class and Object Diagrams capture the identity and interactions of Classes and Objects UML COMMON ELEMENTS 1 0..* Association Link 1 * Class Diagram Class Diagram * * * * * * 1..* 1..* * * * Class Class Package Model Model Element Visual Element Element 1 0..1 0..* 0..* 0..1 0..* 1..*1....
View Full Document
- Summer '10