Chapter 14 Unified Modeling Language (UML) Introduction Object-oriented approach views system as collection of self-contained objects, including both data and processes Beauty: can be reused over and over in different systems and changed without affecting other system components Basic characteristics of object-oriented systems Classes and objects Class general template used to definecreate specific instances or objects (eg. Customer) Object instance of a class a person, place, event, or thing about which we want to capture information (eg. Ivan Wong) Attribute descriptive information about the object (eg. name, address, phone number) Confusing aspect: both classes and objects have attributes Methods and messages Methods implement an objects behavior (An action that an object can perform) Messages are information sent to objects to trigger methods (a function or procedure call from one object to another) Encapsulation and information-hiding Encapsulation combining of process and data into a single entity Information hiding only the information reqd to use a software module should be published to the user Objects are treated like black boxes Inheritance Superclasses (common sets of attributesmethods) and subclasses, which have an A-Kind-Of (AKO) relationship, arranged in a hierarchy Eg. salesperson is A-Kind-Of employee, which is A-Kind-Of person Subclasses inherit the attributesmethods from the superclass above them If a class has instances, it is a concrete class If a class does not have instances, it is an abstract class Polymorphism and dynamic binding Polymorphism same message can be interpreted differently by different classes of objects (eg. insert new instance) Dynamic binding technique that delays identifying the type of object until run-time Object-oriented systems analysis and design Mostly used with RAD methods Difference btwn traditional methods and object-oriented approach: how a problem is decomposed (separating process and data vs. both) 3 characteristics of any object-oriented approach: 1. Use case driven focus on one activity at a time 2. Architecture centric architecture of evolving system drives the specification, construction, and documentation of the system Functional, static, dynamic 1. Iterative and incremental
More
Less