Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCS2411 Software Engineering1 Object-Oriented Analysis and Design “A system of objects interacting to perform the given tasks”

Similar presentations


Presentation on theme: "TCS2411 Software Engineering1 Object-Oriented Analysis and Design “A system of objects interacting to perform the given tasks”"— Presentation transcript:

1

2 TCS2411 Software Engineering1 Object-Oriented Analysis and Design “A system of objects interacting to perform the given tasks”

3 TCS2411 Software Engineering2 Lecture Objectives zTo introduce the basic concepts of object- oriented analysis and design zTo understand the difference between object-oriented analysis and design and other analysis and design methods zTo describe the main characteristics of object-oriented system

4 TCS2411 Software Engineering3 An Object-Oriented System Object Message

5 TCS2411 Software Engineering4 Object-Orientation Object-Oriented Analysis Object-Oriented Design Object-Oriented Programming Problem Solution Object-Oriented Concepts ADT Identity Inheritance

6 TCS2411 Software Engineering5 Object-Oriented Analysis “A method of analysis that examines requirements from the perspective of classes and objects found in the vocabulary of the problem domain” (Booch, 1994)

7 TCS2411 Software Engineering6 Object-Oriented Analysis zExamining the problem domain/statement to identify objects zIdentify entities, relationships and operations of the problem domain zUnderstanding the role of the objects by examining the relevant data and processes

8 TCS2411 Software Engineering7 Object-Oriented Design “[Object-oriented] design is that portion of the lifecycle that prepares definitions as to how the system will accomplish its requirements. The models prepared in analysis are either refined, or transformed, into design models that depict the physical nature of the software product.” (Berard, 1992)

9 TCS2411 Software Engineering8 Object-Oriented Design zBuild the logical models and hierarchy of the objects and classes for implementation zCreating new classes to complete the functionality of the solution zRefining the classes for smoother operation and efficiency e.g. through migration of operations and creating of subclasses

10 TCS2411 Software Engineering9 What is Object? zRepresentation of real-world objects and concepts in software domain zTypically a producer or consumer of information item in computer system zAn object consists of attributes and operations zAttributes - data structures/elements zOperations - processes for controlling/manipulating attributes

11 TCS2411 Software Engineering10 Example of Object Object: Chair Cost : RM30 Dimensions : 1X1X2 Weight: 1kg Location: (2,2,3) Colour: black Move Buy Sell Weigh

12 TCS2411 Software Engineering11 Typical objects zExternal entities that produce or consume information in a computer-based system zThings that are part of the information domain for the problem zOccurrences or events that occur within the context of system operation zRoles played by people who interact with the system

13 TCS2411 Software Engineering12 Typical objects (Continued) zOrganisational units that are relevant to an application zPlaces that establish the context of the problem and the overall function of the system zStructures that define a class of objects or, in the extreme, related classes of objects

14 TCS2411 Software Engineering13 Class zSet of objects with similar attributes and operations zObjects are instances of classes zClasses are ‘frames’ for objects (basically the ‘types’ for the objects)

15 TCS2411 Software Engineering14 Example of Class Class: Furniture Cost Dimensions Weight Location Colour Move Buy Sell Weigh

16 TCS2411 Software Engineering15 Object-Oriented Concepts zAbstraction: Identifying the important features of objects to be represented zModularity: software is separated into individual elements that can be grouped together to form the solution zInformation Hiding: the details of implementation are hidden from all program elements outside the object

17 TCS2411 Software Engineering16 Object-Oriented Concepts (Continued) zEncapsulation: Combination of attributes and operations into a single entity zMessage passing: Mechanism to communicate between objects zInheritance: Relationship between classes that allows a class to inherit all attributes and operations of another class zPolymorphism: Different response to the same message by similar objects

18 TCS2411 Software Engineering17 Message Passing Program Student Report store marks done print report give marksmarks

19 TCS2411 Software Engineering18 Inheritance Furniture TableChair Yeoh’s chairAli’s chair

20 TCS2411 Software Engineering19 Polymorphism Program Hare Tortoise run done run

21 TCS2411 Software Engineering20 References z“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Object-Oriented Modeling and Design” by James Rumbaugh et al, Prentice Hall, 1991 z“Object Orientation” by Setrag Khoshafian & Razmik Abnous, John Wiley & Sons, 1995


Download ppt "TCS2411 Software Engineering1 Object-Oriented Analysis and Design “A system of objects interacting to perform the given tasks”"

Similar presentations


Ads by Google