




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
object oriented design and modelling
Typology: Study notes
1 / 167
This page cannot be seen from the preview
Don't miss anything!





























































































Dept. of ISE, SJBIT Page 1
Subject Code: 10CS71 I.A. Marks : 25 Hours/Week : 04 Exam Hours: 03 Total Hours : 52 Exam Marks: 100 PART - A
UNIT - 1 7 Hours
INTRODUCTION, MODELING CONCEPTS, CLASS MODELING: What is Object Orientation? What is OO development? OO themes; Evidence for usefulness of OO development; OO modeling history. Modeling as Design Technique: Modeling; abstraction; The three models. Class Modeling: Object and class concepts; Link and associations concepts; Generalization and inheritance; A sample class model; Navigation of class models; Practical tips.
UNIT - 2 6 Hours
ADVANCED CLASS MODELING, STATE MODELING: Advanced object and class concepts; Association ends; N-ary associations; Aggregation; Abstract classes; Multiple inheritance; Metadata; Reification; Constraints; Derived data; Packages; Practical tips. State Modeling: Events, States, Transitions and Conditions; State diagrams; State diagram behavior; Practical tips.
UNIT - 3 6 Hours
ADVANCED STATE MODELING, INTERACTION MODELING: Advanced State Modeling: Nested state diagrams; Nested states; Signal generalization; Concurrency; A sample state model; Relation of class and state models; Practical tips. Interaction Modeling: Use case models; Sequence models; Activity models. Use case relationships; Procedural sequence models; Special constructs for activity models.
UNIT - 4 7 Hours
PROCESS OVERVIEW, SYSTEM CONCEPTION, DOMAIN ANALYSIS: Process Overview: Development stages; Development life cycle. System Conception: Devising a system concept; Elaborating a concept; Preparing a problem statement. Domain Analysis: Overview of analysis; Domain class model; Domain state model; Domain interaction model; Iterating the analysis.
PART - B
UNIT - 5 7 Hours
APPLICATION ANALYSIS, SYSTEM DESIGN: Application Analysis: Application interaction model; Application class model; Application state model; Adding operations. Overview of system design; Estimating performance; Making a reuse plan; Breaking a system in to sub-systems; Identifying concurrency; Allocation of sub-systems; Management of data storage; Handling global resources; Choosing a
Dept. of ISE, SJBIT Page 2
software control strategy; Handling boundary conditions; Setting the trade-off priorities; Common architectural styles; Architecture of the ATM system as the example.
UNIT - 6 7 Hours
CLASS DESIGN, IMPLEMENTATION MODELING, LEGACY SYSTEMS: Class Design: Overview of class design; Bridging the gap; Realizing use cases; Designing algorithms; Recursing downwards, Refactoring; Design optimization; Reification of behavior; Adjustment of inheritance; Organizing a class design; ATM example. Implementation Modeling: Overview of implementation; Fine-tuning classes; Fine-tuning generalizations; Realizing associations; Testing. Legacy Systems: Reverse engineering; Building the class models; Building the interaction model; Building the state model; Reverse engineering tips; Wrapping; Maintenance.
UNIT - 7 6 Hours
DESIGN PATTERNS – 1: What is a pattern and what makes a pattern? Pattern categories; Relationships between patterns; Pattern description.
Communication Patterns: Forwarder-Receiver; Client-Dispatcher-Server; Publisher- Subscriber.
UNIT - 8 6 Hours
DESIGN PATTERNS – 2, IDIOMS: Management Patterns: Command processor; View handler. Idioms: Introduction; What can idioms provide? Idioms and style; Where to find idioms; Counted Pointer example.
TEXT BOOKS:
Text Books:
Reference Books:
Dept. of ISE, SJBIT Page 4
Unit1: INTRODUCTION, MODELING CONCEPTS, CLASS
MODELING:
Syllabus ---7hr
Note 1: Intention of this subject (object oriented modeling and design) is to learn how to apply object -oriented concepts to all the stages of the software development life cycle. Note 2: Object-oriented modeling and design is a way of thinking about problems using models organized around real world concepts. The fundamental construct is the object, which combines both data structure and behavior. WHAT IS OBJECT ORIENTATION? Definition: OO means that we organize software as a collection of discrete objects (that incorporate both data structure and behavior). There are four aspects (characteristics) required by an OO approacho Identity. Classification. Inheritance. Polymorphism. Identity: Identity means that data is quantized into discrete, distinguishable entities called objects. E.g. for objects: personal computer, bicycle, queen in chess etc.
Dept. of ISE, SJBIT Page 5
Objects can be concrete (such as a file in a file system) or conceptual (such as scheduling policy in a multiprocessing OS). Each object has its own inherent identity. (i.e two objects are distinct even if all their attribute values are identical). In programming languages, an object is referenced by a unique handle. Classification: Classification means that objects with the same data structure (attribute) and behavior (operations) are grouped into a class. E.g. paragraph, monitor, chess piece. Each object is said to be an instance of its class. Fig below shows objects and classes: Each class describes a possibly infinite set of individual objects.
Inheritance: It is the sharing of attributes and operations (features) among classes based on a hierarchical relationship. A super class has general information that sub classes refine and elaborate. E.g. Scrolling window and fixed window are sub classes of window. Polymorphism: Polymorphism means that the same operation may behave differently for different classes. For E.g. move operation behaves differently for a pawn than for the queen in a chess game.
Dept. of ISE, SJBIT Page 7
Domain Model - a description of real world objects reflected within the system. Application Model - a description of parts of the application system itself that are visible to the user. E.g. In case of stock broker application- Domain objects may include- stock, bond, trade & commission. Application objects might control the execution of trades and present the results. System Design: The development teams devise a high-level strategy- The System Architecture- for solving the application problem. The system designer should decide what performance characteristics to optimize, chose a strategy of attacking the problem, and make tentative resource allocations. Class Design: The class designer adds details to the analysis model in accordance with the system design strategy. His focus is the data structures and algorithms needed to implement each class. Implementation: Implementers translate the classes and relationships developed during class design into a particular programming language, database or hardware. During implementation, it is important to follow good software engineering practice. Three models We use three kinds of models to describe a system from different view points.
OO THEMES
Dept. of ISE, SJBIT Page 8
Several themes pervade OO technology. Few are –
Dept. of ISE, SJBIT Page 10
Actions and events in a state diagram become operations on objects in the class model. References between state diagrams become interactions in the interaction model.
Dept. of ISE, SJBIT Page 11
CLASS MODELLING
Class diagrams Class diagrams provide a graphic notation for modeling classes and their relationships, thereby describing possible objects. Note: An object diagram shows individual objects and their relationships. Useful for documenting test cases and discussing examples. Class diagrams are useful both for abstract modeling and for designing actual programs. Note: A class diagram corresponds to infinite set of object diagrams. Figure below shows a class (left) and instances (right) described by it.
Conventions used (UML): UML symbol for both classes and objects is box. Objects are modeled using box with object name followed by colon followed by class name. Use boldface to list class name, center the name in the box and capitalize the first letter. Use singular nouns for names of classes. To run together multiword names (such as JoeSmith), separate the words with intervening capital letter. Values and Attributes: Value is a piece of data.
Dept. of ISE, SJBIT Page 13
UML conventions used – List operations in 3rd compartment of class box. List operation name in regular face, left align and use lower case for first letter. Optional details like argument list and return type may follow each operation name. Parenthesis enclose an argument list, commas separate the arguments. A colon precedes the result type. Note: We do not list operations for objects, because they do not vary among objects of same class. Summary of Notation for classes
Fig: Summary of modeling notation for classes
Fig: Notation for an argument of an operation
Dept. of ISE, SJBIT Page 14
Class Digarms: Relationships
Class1 Class
Class1 Class
Base (^) sub
Base (^) sub
Jukebox CardReader CDCollection
SongSelector
Dept. of ISE, SJBIT Page 16
Association name is optional, if the model is unambiguous. Ambiguity arises when a model has multiple associations among same classes. Developers often implement associations in programming languages as references from one object to another. A reference is an attribute in one object that refers to another object.
Dept. of ISE, SJBIT Page 17
Multiplicity Multiplicity specifies the number of instances of one class that may relate to a single instance of an associated class. Multiplicity constrains the number of related objects. UML conventions: UML diagrams explicitly lists multiplicity at the ends of association lines. UML specifies multiplicity with an interval, such as “1” (exactly one). “1..”(one or more). “3..5”(three to five, inclusive). “ * ” ( many, i.e zero or more).
Class
Class
Class
Class
1
0..*
0..
m..n
exactly one many (zero or more) optional (zero or one) numerically Specified (m to n, inclucive)
Course CourseOffering 1
0..*
Example:
Dept. of ISE, SJBIT Page 19
Dept. of ISE, SJBIT Page 20
Association - Multiplicity
Association – Multiplicity
(^1) Teaches (^) 1..
Takes
1..
10..