Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology.

Similar presentations


Presentation on theme: "Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology."— Presentation transcript:

1 Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology

2 Object Oriented Analysis and Design 2 Outline  Introduction to object technology  Concepts of Object Orientation

3 Object Oriented Analysis and Design 3 What Is Object Technology?  A set of principles (abstraction, encapsulation, polymorphism) guiding software construction, together with languages, databases, and other tools that support those principles. (Object Technology - A Manager’s Guide, Taylor, 1997.)

4 Object Oriented Analysis and Design 4 The Strengths of Object Technology  Reflects a single paradigm  Facilitates architectural and code reuse  Reflects real world models more closely  Encourages stability  Is adaptive to change

5 Object Oriented Analysis and Design 5  Major object technology milestones Simula 1967 C ++ Late 1980s Smalltalk 1972 Java 1991 UML 1996 MDA 2003 The History of Object Technology ??? Future

6 Object Oriented Analysis and Design 6 Where Is Object Technology Used?  Client/Server Systems and Web Development  Object technology allows companies to encapsulate business information in objects and helps to distribute processing across the Internet or a network.

7 Object Oriented Analysis and Design 7 Where Is Object Technology Used? (cont.)  Real-time systems  Object technology enables real-time systems to be developed with higher quality and flexibility.

8 Object Oriented Analysis and Design 8 Differences Between OO and Structured Design  Object-orientation (OO)  Melds the data and data flow process together early in the lifecycle  Has a high level of encapsulation  Promotes reuse of code differently  Permits more software extensibility

9 Object Oriented Analysis and Design 9 Outline  Introduction to object technology  Concepts of Object Orientation  What is an object?  Four principles of OO  What is a class?  Polymorphism and generalization  Organizing model elements

10 Object Oriented Analysis and Design 10 Truck Chemical Process Linked List What Is an Object?  Informally, an object represents an entity, either physical, conceptual, or software.  Physical entity  Conceptual entity  Software entity

11 Object Oriented Analysis and Design 11 A More Formal Definition  An object is an entity with a well-defined boundary and identity that encapsulates state and behavior.  State is represented by attributes and relationships.  Behavior is represented by operations, methods, and state machines. Object Operations Attributes

12 Object Oriented Analysis and Design 12 An Object Has State  State is a condition or situation during the life of an object, which satisfies some condition, performs some activity, or waits for some event.  The state of an object normally changes over time. Name: J Clark Employee ID: 567138 Date Hired: July 25, 1991 Status: Tenured Discipline: Finance Maximum Course Load: 3 classes Name: J Clark Employee ID: 567138 HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad: 3 Professor Clark

13 Object Oriented Analysis and Design 13 An Object Has Behavior  Behavior determines how an object acts and reacts.  The visible behavior of an object is modeled by a set of messages it can respond to (operations that the object can perform). Professor Clark’s behavior Submit Final Grades Accept Course Offering Take Sabbatical Maximum Course Load: 3 classes Subm itFinalGrades() AcceptCourseOffering() TakeSabbatical() Professor Clark SetMaxLoad()

14 Object Oriented Analysis and Design 14 An Object Has Identity  Each object has a unique identity, even if the state is identical to that of another object. Professor “J Clark” teaches Biology

15 Object Oriented Analysis and Design 15 Basic Principles of Object Orientation Abstraction Hierarchy Object Orientation Encapsulation Modularity

16 Object Oriented Analysis and Design 16 What Is Abstraction?  The essential characteristics of an entity that distinguishes it from all other kinds of entities.  Defines a boundary relative to the perspective of the viewer.  Is not a concrete manifestation, denotes the ideal essence of something.

17 Object Oriented Analysis and Design 17 Example: Abstraction StudentProfessor Course Offering (9:00 a.m., Monday-Wednesday-Friday) Course (e.g. Algebra)

18 Object Oriented Analysis and Design 18 What Is Encapsulation? Improves Resiliency  Hides implementation from clients.  Clients depend on interface.

19 Object Oriented Analysis and Design 19 Encapsulation Illustrated  Professor Clark needs to be able to teach four classes in the next semester. SubmitFinalGrades() AcceptCourseOffering() TakeSabbatical() Professor Clark SetMaxLoad() Name: J Clark Employee ID: 567138 HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad:4 SetMaxLoad(4)

20 Object Oriented Analysis and Design 20 What Is Modularity?  Breaks up something complex into manageable pieces.  Helps people understand complex systems.

21 Object Oriented Analysis and Design 21 Example: Modularity  For example, break complex systems into smaller modules. Billing System Course Registration System Course Catalog System Student Management System

22 Object Oriented Analysis and Design 22 What Is Hierarchy? Decreasing abstraction Increasing abstraction Asset RealEstate Savings BankAccount CheckingStock Security Bond Elements at the same level of the hierarchy should be at the same level of abstraction.

23 Object Oriented Analysis and Design 23 Representing Objects in the UML  An object is represented as a rectangle with an underlined name. J Clark : Professor : Professor Named Object Anonymous Object Professor J Clark

24 Object Oriented Analysis and Design 24 What Is a Class?  A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.  An object is an instance of a class.  A class is an abstraction in that it  Emphasizes relevant characteristics.  Suppresses other characteristics.

25 Object Oriented Analysis and Design 25 A Sample Class Class Course Properties Name Location Days offered Credit hours Start time End time Behavior Add a student Delete a student Get course roster Determine if it is full

26 Object Oriented Analysis and Design 26 Representing Classes in the UML  A class is represented using a rectangle with compartments. Professor J Clark

27 Object Oriented Analysis and Design 27 Class Compartments  A class has three sections:  The class name  The structure (attributes)  The behavior (operations)

28 Object Oriented Analysis and Design 28 The Relationship between Classes and Objects  A class is an abstract definition of an object.  It defines the structure and behavior of each object in the class.  It serves as a template for creating objects.  Classes are not collections of objects. Professor Professor Meijer Professor Torpie Professor Allen

29 Object Oriented Analysis and Design 29 What Is an Attribute?  An attribute is a named property of a class that describes the range of values that instances of the property may hold.  A class may have any number of attributes or no attributes at all. Attributes

30 Object Oriented Analysis and Design 30 Attributes in Classes and Objects name: D. Hatcher address: 456 Oak studentID: 2 dateofBirth: 12/11/1969 name: M. Modano address: 123 Main studentID: 9 dateofBirth: 03/10/1967 Class Objects Student - name - address - studentID - dateOfBirth

31 Object Oriented Analysis and Design 31 What Is an Operation?  A service that can be requested from an object to effect behavior. An operation has a signature, which may restrict the actual parameters that are possible.  A class may have any number of operations or none at all. Operations Student + get tuition() + add schedule() + get schedule() + delete schedule() + has prerequisites()

32 Object Oriented Analysis and Design 32 What Is Polymorphism?  The ability to hide many different implementations behind a single interface. Manufacturer A Manufacturer B Manufacturer C OO Principle: Encapsulation

33 Object Oriented Analysis and Design 33 Example: Polymorphism StockBondMutual Fund getCurrentValue() financialInstrument.getCurrentValue() getCurrentValue()

34 Object Oriented Analysis and Design 34 What Is Generalization?  A relationship among classes where one class shares the structure and/or behavior of one or more classes.  Defines a hierarchy of abstractions in which a subclass inherits from one or more superclasses.  Single inheritance.  Multiple inheritance.  Is an “is a kind of” relationship.

35 Object Oriented Analysis and Design 35 Example: Single Inheritance  One class inherits from another. Checking Savings Superclass (parent) Subclasses (children) Generalization Relationship Ancestor Descendent

36 Object Oriented Analysis and Design 36 Example: Multiple Inheritance  A class can inherit from several other classes. Use multiple inheritance only when needed and always with caution! FlyingThingAnimal HorseWolfBirdHelicopterAirplane Multiple Inheritance

37 Object Oriented Analysis and Design 37 What Is Inherited? Inheritance leverages the similarities among classes.  A subclass inherits its parent’s attributes, operations, and relationships.  A subclass may:  Add additional attributes, operations, relationships.  Redefine inherited operations. (Use caution!)  Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy.

38 Object Oriented Analysis and Design 38  A general purpose mechanism for organizing elements into groups.  A model element that can contain other model elements.  A package can be used:  To organize the model under development.  As a unit of configuration management. What Is a Package? University Artifacts

39 Object Oriented Analysis and Design 39 A Package Can Contain Classes  The package, University Artifacts, contains one package and five classes. University Artifacts CourseOffering Schedule Professor Course Student Artifacts


Download ppt "Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology."

Similar presentations


Ads by Google