Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
100%
(1)
100% found this document useful (1 vote)
162 views
83 pages
Oomd (U1&u2)
Uploaded by
Atharva Kulkarni
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save OOMD (U1&U2) For Later
Share
100%
100% found this document useful, undefined
0%
, undefined
Print
Embed
Report
100%
(1)
100% found this document useful (1 vote)
162 views
83 pages
Oomd (U1&u2)
Uploaded by
Atharva Kulkarni
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save OOMD (U1&U2) For Later
Share
100%
100% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save OOMD (U1&U2) For Later
You are on page 1
/ 83
Search
Fullscreen
~ | Unit | Bq Introduction to Modeling Syllabus What is Object Orientation ? What is OO development ? OO themes; Evidence for usefulness of OO “lopment; 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. Contents Part | : Introduction 1.1 What is Object Orientation ? 1.2 What is OO Development ? 1.3. OO Themes 1.4. Evidence for Usefulness of OO Development as Design Technique 1.5 Abstraction 1.6 The Three Models Part Il : Class Modeling 1.7 Object and Class Concepts 1.8 Link and Assoclations Concepts 1.9 Generalization and Inheritance 1.10 A Sample Class Model ....... . Aug.-15, Dec.-15, Aprll-17, May-17, 000 1.11 Navigation of Class Models (a=)__”" Intrusion to Why, Moy ny ‘ojaot Ontntadl Montoing at ool What I» Object Orientation 7 a inn noftware enginesriny, sh object represents a syslern entity which plays a vit, Jy objoct has a state and behavior, focunon on analysis of functional requirements ty wily (QOD) takers analysis model as Input ang Software analynla and dewlye approach which models i, nyatem an Interacting, objects, Hae rol In building, of that nyatem, Hac! Object Orlonted Analysis (OOA) the syntem. ‘the Object Oriented De produces Implementation mpecifieation. Funollonl Objoot Implementation requlrs onlntad Spsciticstion | anutlyol model Fig. 1.1.1 Concept of OOAD What Ie Object Orientation 7 organization of woftware a6 tructure and behavior which are closely coupled, Object orientation means a collection of discrete objects, Hach object consluts of data 6 Following, are some basle characterlatlew required by OO approach - 1. Identity + The Sdentity means data 4s arranged in distinguishable entities called objects, Bach object fp treated ay an inherent entity that means - each object is diotinct even if thelr attribute values are same. In programming languages the object In referred by the memory references. e~ YT Suyash’s ball Nesta’s pen 2, Classification + Classification is a technique in which objects of same data structure(attribute) and behavior(operations) are grouped into class. Zach class can define infinite number of objects and object is an instance of a class. Bach object can have its own values for attributes and operations but these objects can share the attributes and operations of other objects too. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge |Object Oriented Modeling and Design 1-3 Introduction to Modeling For example - Shape can be a class and rectangle, For example ; triangle and square can be the f class Shape. Following figure illustrates this idea - * . Shape objects [| Shape class Attribute length breadth Operations compute_erea ‘compute_perimeter 3. Inheritance : Inheritance allows the class to share the property of another class in hierarchical manner. The superclass is a class whose properties are shared by the subclass. The subclass not only shares the properties of superclass but it can add its own unique properties. Thus the super class is a general class where as the subclass is a more specific class. For example - Animal is a super class but the Dog, Cat, Cow are the subclasses. Each subclass has its own unique features. For example if the sound is an attribute of class Animal then the sound of Dog, Cat, Cow are different. Due to inheritance property the repetition in the design can be avoided. Hence data reusability is the main ability in object oriented programming due to inheritance feature. 4. Polymorphism : Poly means many and morphs means forms. Hence polymorphism is a technique in which the same operation can be defined differently for the Gifferent classes, For example the operation clean can be used to clean the dish objects, car object or vegetable object. In object oriented programming the language can automatically select the appropriate method to implement the required operation. 1m object orientation sf two objects are identical, does it meam they are equal ? Ig object concrete or conceptual ? Solution : In object orientation, if two objects are jdentical, that does not mean they are inherent entity that means each equal, The term identity specifies that object is treated as sbject is distinct even if their attribute values are same. The object is an conceptual entity. TECHNICAL PUBLIGATIONS® ~ an up-thrust for knowledge5 Introduction | Object Ontented Modeling and Design 1-4 £0 Modein, ROM et) 1. What do you mean by object-orientation ? Briefly discuss the characteristics of OO approach Ha What is OO Development ? Development means the use of software life cycle such as analysis, design ang implementation. In OO development the application concepts are identified and | organized logically. The OO development and modeling is performed by focusing on - * Modeling concepts and not implementation * Use of OO methodology * Use of three models Modeling Concepts + In 00 development approach, the developer has to think in terms of application and therefore the data structures and functions are addressed effectively. * In 00 development the fundamental way of thinking is represented and the focus is not on the programming techniques. * Using the modeling techniques the system that is to be built can be very well explained to specifiers, developers and the customers. EEZ] 00 Methodology * The OO development along with the graphical notations is used to represent the OO concepts. * In this process the model of an application is built first and then the details are added to this model during the design. * The same notations are used throughout the lifecycle of the software development Process ie. from analysis to design and from design to implementation. Due to this approach the important information need not be lost from one stage to another. * Stages of OO methodology : The OO methodology has following stages - = System conception : In this phase the requirements of the system are specified by the business analysts or the users who want to use the system. = Analysis ; The system analyst scrutinizes and reframes the requirements that are specified in the system conception stage. The analyst needs to understand the basic requirements of the system. He then prepares the analysis model. This model is concise and precise abstraction of what the system must do. It should not specify how the system should do. The implementation decisions should not be taken at TECHNICAL PUBLICATIONS® - an up-thrust for ‘knowledgeQhyect Oriented Modeling and Design —OeINOrwn AB ntoducton to Modotng this stage, For instance - Database ¢ will be created using MySQL- This decisi not expected at this stage. sui eee The analysis model has two parts - domain model and application model. The real world objects are described in domain model and in the description of application model the parts of the application system are described. For example domain objects for ATM system can be cash, card, card reader. The application model includes - updating the database on transactions, displaying the available balance to the Customer and so on, = System design : During the system design the system architecture is built. The poli for the detailed design are decided in this phase. System designers take certain important decisions about the performance of the system. The tentative resource allocation is also done in this phase. = Class design : The class designers add details to the analysis model using the system design strategies. Using OO notations and concepts the domain and application objects are elaborated, The focus of class design is on data structures and algorithms. For example - The class designers decide the data structures and algorithms for the Customer class. The classes and relationships are developed in this phase. = Implementation : This is the phase in which the classes and relationships are transformed into the particular programming language, databases and so on. The implemented code must be straightforward and must follow good software engineering principles. It should be flexible and extensible. «© The same OO concepts such as identity, classification, inheritance and polymorphism are applied throughout the development process. © The OO development process emphasizes on the iterative development process so that the parts of the system gets developed within several stages. Testing must be done at every stage of development. It is supposed to be the quality control activity. Three Models ‘There are three types of model which describe the system. The class model, state model and the interaction model. These are considered to be the viewpoints of the system, Class model : The basic static described in this model. The class diagram is a gr nodes represent the classes and the arc represent structure of the objects and their relationships are aphical representation in which the ts the relationships among these classes. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge eee+ The object changes its state over the time. This can be rep, agtam is a graphical notation in which th, within these nodes represent the transitions cee * State model using the state model. State di d the arcs represent the states an the states caused by the events ‘The interaction model represents how the objects interaq, each other in order to perform some task. The use case diagram, sequence diag, and activity diagram are the three kinds of diagrams drawn in interaction moggy*™ use case diagram represents the functionality of the system, the sequence dig represents the interacting objects and the time sequence of their interactions activity diagram represents important activities that are performed by the system, he 1. Describe in detail the stages of obje 2. Explain the ‘three models’ used in object oriented technology. EI 00 Themes Various OO themes are Abstraction Abstraction is a mechanism in which only essential aspects of an application a. focused while other aspects are ignored. Due to abstraction developer is free to tile some decisions before detailing the design. EEA Encapsulation It is also known as information hiding. In this technique the internal implementation decisions of one object are hidden from the other object. In encapsulation, the dat structure and behavior are bound together in one entity class. Due to encapsulation one can make changes in the behavior of one object without affecting the remaining parc the system. Sharing __In 00 technique, sharing of the code at different levels is possible. Using concept inheritance the sharing is possible. There are two advantages of sharing - The code ge reduced and conceptual clarity can be brought in the application development. Te = is possible not only within the modules of particular application but also # e projects. Using the libraries of abstraction, en: i inheri . : a ca] ty library of reusable components can be created. aE * Interaction model : ct oriented methodology. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 1. Introduction to Modeling Synergy The identity, classification, inheritance and polymorphism are the char: i OO languages that can be used in isolation. But if all these properties are yee fe then they complement each other synergistically. This is beneficial for the oo pooh of development. Due to development using-the focus on the object results in dle enh general development of the application. err Review Questions 1. Explain characteristics and themes of object oriented systems in brief. 2. Briefly explain following characteristics and themes of object oriented systems : Classification, identity, inheritance, encapsulation, polymorphism sharing, synergy. 3. What is object orientation ? Explain OO themes. EZI Evidence for Usefulness of OO Development as Design Technique Model is abstraction of the system and is created for the sake of understanding. Only important aspects of the system are represented in the model. Designers build various types of models - For example - Blueprints can be made before building the house. Drawings to show the machine parts can be created. Following are some purposes - “Why models are created ?” © Communication with customer : Architects and system designers represent the model to their customers in order to give the mock demonstration of the system. « Testing of physical entity : If the actual system is built and then tested then it is costly affair. Some sort of testing can be done by creating a physical model or computer model. The simulation of the system by the model is not only cheaper but it informs the developers about the problems that may come occur in actual system. « Visualization : Using the model system can be represented for visualization. The major elements of the system, some important activities that can be performed by the system, useful events and transitions can be shown by th model. The Customer can visualize the system due to model. lexities of the system can be reduced by modeling © Complexity reduction : The “comp x number of important things to deal with them the system and separating small separately. | 1. Elaborate - Why models are created ? TECHNICAL PUBLICATIONS® - an up-thrust for knowledge ————————Ww Object Oriented Modeling and Design ae Introduction to Me, EE Abstraction © Abstraction means examining the selective ares out all the important aspects of the specifi, ate tant aspects of that area. a of the problem. * The goal of abstraction is to separate of the problem and ignore all unimpor' ; © There is always some purpose for the abstraction. Similarly many aie abstractions can be possible for the same thing. «All abstractions are incomplete or unimportant. In fact the abstraction is nothing be the small summary of particular problem. Describing simply Summary of (, problem is also useful thing. Because by abstracting the problem in this way 5 becomes easy for us to understand the problem. Thus purpose of an abstraction i limit the universe so that we can understand the problem. * A good model should capture only the crucial aspects of the problem and shoys omit the others. Sometimes a model may contain certain extra details of the Problem because of which developers attention gets diverted from the real issues. In such ; situation abstraction is the only thing which helps the developer to focus the attention on specific goal of the problem. 1.6 | The Three Models * There are three different viewpoints used to model the system. «The class model represents the static, structural, data aspects of the system. The state model represents the temporal, behavioral, control aspect of the system, The interaction model represents collaboration of objects and interaction aspect of the system. Normally all these three aspects are incorporated within a single system. There is use of data structures (class model), operations of the system are executed in some | specific sequence (state model) and data as well as control is passed among the objects (interaction model). Using these models distinct views of the system can be created. These models are not completely independent. There is limited and explicit interconnection among these objects. The good design isolates different aspects of the system and have limited coupling. These models evolve during the development. Analysts construct a model without thinking of implementation. The designers adé solution constructs to the model. Implementers write the code for model and solution construct. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Desi 1-9 Introduction to Modeling * Thus the model has two dimensions - first dimension includes the views such as class model, state model and interaction model. Other dimension includes the sta of development such as analysis, design and implementation. oe EEGSI Class Model * The class model describes the structure of the object, the relationship of one object with other objects, attributes and operations of the objects. + The state and interaction models use the context of the class model. The goal of constructing class model is to capture the concepts from the real world that are useful for the application. ® While modeling the particular system the terms that are familiar to that system must be used. « The analysis model should not contain the computer constructs but the design model contains the computer constructs and solution to the problem. © The class model is represented by the class diagram. The classes in this diagram define the attributes and operations of each object. The association relationship is used to link the classes together. The generalization relationship is used for a group of classes to share common data structures and operations. EEA state Model : « The state model is concerned with the time and sequencing of the operations of the object. «© On occurrence of the events the object change their current state. «© The state model captures the control aspect of the system. «The state model is represented by state diagram. Each state diagram represents state and the event sequences. « Actions and events in the state diagram becomes the operations of the object in the class model. References between the state diagram become interactions in interaction model. Interaction Model « Interaction model describe how one object collaborates behavior of the system. : © The overall beliavior of the system can be represented with the help of state an 5 with other in order to achieve interaction model. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge ——————Introduction to Modoling Objoot Onented Modeling and Design * The interaction model inchides use case diagram, sequence diagram and activity diagram, © The use case diagrams show how the outsider actors interact with the system to achieve the functionality. * The sequence diagram represents the objects that interact and the time sequence of their interaction, © The activity diagram represents flow of control among various objects. KEY Rolationship Among the Models The models are related with each other. Every model represents one aspect of the system. The class model describes the data structures. The state and interaction model represent the operations performed on these data structures. * In class model every class performs some set of operations. These operations cause the events and actions which are highlighted by the state and interaction model. * The state model describes the control structure of objects. The state model represent the decisions depending upon which the object values and states get changed. * The interaction model represents how the objects interact with each other. * There are some things that the models do not capture adequately but using the natural languages or application specific notations the detailing of the system can be done. Review Questions Which different purposes are served by models ? Explain all three models which are required to describe the complete system. . Explain object oriented model, dynamic model, functional model. 3. Explain object oriented model, dynamic model, functional model and interaction model and relation among these models. 4. What is model ? Explain purposes of models. Also explain types of models. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Model ling and Design 1-11 Introduction to Modalin 8 cua) Cee cnat Object and Class Concepts Objects * The main purpose of class model is to describe objects. Object is an instance or occurrence of a class. It i ing wi ee is a concept, abstraction or thing with * The objects can be conceptual entities, real-word entities or important things from implementation point of view. * The objects are normally nouns. The choice of object is done by judgements. * All objects are distinguishable entities. * For example - If Student is a class then Anuja, Supriya and Shilpa are the objects of the class students. Each student has its own name, roll number and address. Each object is different from other object. That is every object has its own identity. * Identity means the objects are distinct due to their inherent existence and not by their description. Classes © Class is a group of objects having same attributes and operations, relationships and semantics. © For example - Student, Employee, Company, Course all are classes. Each Student has rollnumber, name and address. © The classes appear as common nouns or noun phrases. © Objects of particular class have same attributes and behaviour but each object is different from the other due to values of its attribute, different behaviour and relationship with other object. «Objects in a class share a common semantic purpose. For example both the dog and cat have the properties like tail and legs and they belong to the same class Animal. «Each object belongs to some class and that object is aware of its belonging class. Grouping the objects into corresponding classes make the design abstract. Class Diagrams «The class model is represented by two types of diagrams - Class diagram and object diagram. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeonyeot Ontonted Modoling and Design a Introduotion to Modoting ronentation uned for modelling classes and their Jonging to the classes. jmplementing actual program. Clans diagram tn a graphical rep! It dencriben all ponnible object be Caan diagram in uned for abstract modelling, and for and can be understood easily. 00 modelling: jonships with each other. relationships. The clans diagram is concise make une of class diagram in the ‘The object diagram represents the objects and thelr relat can be created. one class diagram various object diagrams nting, the test cases. It is moat common to Fr Using th The object diagram Is used for documel The class and object tw represented graphically by the box. written at the center of the box and the first letter is capitali boldface. ‘The object name Is followed by the colon underlined in the box that represents the object. The multiwords are wrllten without space having the first le ‘The class name must be ised. It is written in and the class name. Everything must be tter of the separating word capitalized. Sas Cless Objects Values and Attributes Attribute is a named property of a class and it can hold some value. Adjectives in the problems statement generally represent some attributes. For example - Student class might have name, address, phone number as the attributes. Each attribute have values. For instance - name can be "AAA" for one object and can be "PPP" for another object. Different objects may have same or different values for its:attributes. ‘The name of the attribute is always unique within the class. ‘The values are always assigned to the attributes. The values alone have no identity. They can be recognised with the help of belonging attributes. For instance - Tf you say "AAA" then it is just meaningless but if "AAA" is assigned as a name of the Student then it makes some sense. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge‘Object Oriented Modeling and Design 1-18 Introduction to Modeling The attributes are always written in the second compartment of the class. It may be writt a en along with its dati elie lata type and default value. For —*"ibute The default values can be written by using equal to sign and the value. Many tim i que is ; ey 7 i ee ie unique identifiers. For example studentNumber is an ich is an internal identifier and it should not be considered as an attribute. But there are some real-world identifiers such as RollNumber, EMPID, TelephoneNumber and so on these ‘ N must be mentioned as the attri Kind of attributes are important attributes. So Data type Operations and Methods « Objects have procedures or functions which are called as operations. « All the objects in the same class share the common set of operations. For example - The class Shape can have various objects such as rectangle, triangle or square having the common set of operations such as - move, draw, get_area and so on. The same operation can be applied to different classes or it can be used for different purposes. Such operations are called as polymorphic operations. For example get_area operation can calculate the area of square or triangle or rectangle. Method is an implementation of operation for a class. Some piece of code is used to implement each method. For example code written for calculating the area of square is the method. © Any number of arguments can be passed to the operations. Signature is nothing but the number and types of the arguments and type of the return value of the operation. For example, int get_area(int 1, int b) - Here the two arguments int | and int b along with the return type int represent the signature of the operation. « The generic word used for either attribute or an operation is called the feature. The operations are always written in the third compartment of the class box. ¢ The names of the operations must be written in regular face. The first letter of the operation must be in lower case. We can mention the names of the arguments along with the data type. The arguments can be specified within the parenthesis. Similarly we can specify the return data type of particular operation by preceding the colon. For example - get_area(l:int,b:int):int TECHNICAL PUBLICATIONS® - an upethrust for knowledgeObject Oriented Modeling and Design Introduction to Modeling ERAS summary of Class Notations the box. The first compartment «As we know, the class can be represented using m contains the name of the class, the second compartment contains the attributes and the third compartment contains the operations belonging to that class. We can specify the data types as well as the default values to the attributes and operations. The list of arguments can also be passed to the operations. Class Name attribute ;dataType=defaultValue i | | | | | i | on eral Fig. 1.7.1 Class «Each argument of the operation can have direction. The direction can be input(in), output(out) or any modifiable mode(inout). Using the equal to sign the default value can be represented. © The attributes or operation compartments are optional. Missing attribute compartment means the attributes are not specified. Similarly missing operation compartment means that the operations are not specified. Ha Link and Associations Concepts EEXD Links and Associations © Link is a connection between the objects. It represents a simple association of one object with another. Mathematically link can be defined as a list of objects. A link is basically an instance of association. © An association is a group of links that have common structure and common semantics. «The links and association often appear as verbs in the problem statement. The link is between the two objects and association is between the two classes. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design Introduction to Modeling « For example - Following i } 8 38 a part of O: part represents the part of a class dia, eae object diagram of the system. The * Management system. The upper gram and the bottom part represents the 7 indicates the multiplicity. P le partial Class diagram name= "Mechanical" Ce 1 Course name = "Computer* Fig. 1.8.1 Links and associations name = “Shilpa” If the model is unambiguous then the association name is optional. The associations are inherently bidirectional, however the association is read in one particular direction. For example in above class diagram, the Student adopts for particular Course represents the flow in one direction « Associations can be implemented with the help of references. Reference means the attribute of one object can be referred by another associated object. For example attribute of class Student can refer the object Course. * Due to encapsulation the operations are kept private to a class. But the association breaks this encapsulation, in the sense one class can be correlated with the other class, Thus hidden things in the program can be avoided and program can be extended further if needed. EEA Multiplicity © Multiple objects can many" objects are connected. be related to some objects. The multiplicity represents “how yn. It describes "one" or “many” objects « The multiplicity can be written as expressio associated with other object. «The multiplicity is specified at the end of the association link. TEGHNICAL PUBLICATIONS® - an up-hrust for knowledge eyObject Ortented Modeling ond Design 1-16 Introduction to Modal, « Following are the notations that can be used fo denote the multiplicity o; associations - a etaesineeeatneat Notations Descriptio 1 Only one instance | 0.1 Zero or one instance | . ‘Many instances | 0.¢ Zero or many instances I (One or many instances : | integer range For example - seoom | [ica sae | Teaches Object Electrical : Subjects | diagram \) a © There is a difference between two terms - the multiplicity and cardinality. The multiplicity is the constraint on the collection of the associated objects whereas the cardinality is the count of the objects that are in collection. The multiplicity is actually the constraint on the cardinality. | | | | | ¢ While making the class model first decide about the classes and their associations and then think about their multiplicity. REED Association End Names + The multiplicity can be assigned to the ends of the association. For example if there is ‘one to many multiplicity then at one end one is written and at the other end many is written, TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 1-97 Introduction to Modell luction ing For clear understanding of the associati ion relationship w. i association. ip We can write the names at the For example - Teacher textbook Rita EVs Smita Mathematics Fig. 1.8.2 Assoclation end names The traversing direction can be understood due to the association end names. Association names server the important role in associating two objects of the same class. In the following Fig. 1.8.3, container and contents are the two usage of the class Form. A form can contain a link to another form or it contains some content to be filled up by the Student. Hence the self association is made to the class Form. One class - two objects 0...1 | container Registered student Fig. 1.8.3 Association end names for the two objects of same class « If there are multiple references of the same class then for each reference separate classes must not be created. For example - Wrong method) ReferenceBook Correct method Fig. 1.8.4 Association end names TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling end Design 1-18 Introduction to Modeling » The association end name must not be the same as attribute name. Ordering © This type of association is used to denote the s¢ some specific order. For example - {ordered} Displays Fig. 1.8.5 Ordering the objects et of objects at one end must appear in, « The web browser displays the web pages in some specific order (first come first served). Hence the (ordered) keyword is used at the association end (the end at which the objects should appear in some specific order). EEA Bags and Sequences In association relationship there are some objects that may be duplicated or may appear in some sequence. In these cases the bags and sequences are used at the association ends. Bag is a collection of objects at other end that are duplicated. That means if the word | bag appears at some end then the object at that end can appear more than once. Sequence is a collection of objects at other end that are duplicated or appear in some sequence. For example - {bag} Person + Jobs Sends {sequence} Association Classes © The abstract class is a class that allows the association to be a class itself. That means when two classes are related with each other by an association link, then the association itself can have attributes and operations. Hence this association can be represented by a class. For example - In the given illustration the Enrollment is an association class for the classes Student and Course. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 4-19 f Introduction to Modeling Course |—CourseName- +Enrolls for —CourselD \—Fee 5 *_——— +Check_Eligibility() +Aliocate_Student() +SelectCourse() +Cancel_Allacation() +Update_Course. Enrollment Marks Calculate Avg_Marks() Fig. 1.8.6 Association class Qualified Associations + The qualified association has qualifier which is used to select particular object from the set of objects. For example - For selection of particular Student from the Course the qualifier will be StudentID. Student Course ‘StudentlD : int 1 1 Fig, 1.8.7 «A qualifier is a property which defines selection key. UML allows having a qualifier on each end of a single association. The multiplicity can be associated with the association link. Review Questions 1. Define the purpose of the following term with suitable example and UMI. nofation with respect to class model - Multiplicity. 2. Define the purpose of the following term with suitable example and UML notation with respect to class model - Association class. 4. Is association class same as ordinary class ? Explain with example. 4. Define the purpose of the following term with suitable example and UML notation with respect to class model - Qualified association. 5. Define the following terms : 1. Ordering 2. Bags «3. Sequence 4. Association class 5, Qualified associations 6. OCL 7. Link. TECHNICAL PUBLICATIONS® - an up-thrust for knowiedgeObject Oriented Modeling and Design 1-20 Introduction to Modeling & What 1s inheritance 7 List the different types of inheritance and explain how it encourages reusability and sharing. 7. Explain ‘ordered’, “bags’, ‘sequences’ in class diagram wit EE I Generalization and Inheritance Definition Generalization is the relationship between a si Each subclass inherits the features of its superclass. « The superclass is more general and it holds common attributes, operations and associations. Whereas the subclass is more specific. It uses the common attributes, operations and association of superclass but adds its specific attributes, operations and associations. © Generalization is also called as is-a relationship. This is because, subclass is an instance of the superclass. * Generalization relationship can be represented using an arrow having hollow arrowhead. The arrowhead points to the superclass. — ih suitable examples. superclass and one or more subclasses, each instance of « There are various types of generalizations, each subclass can have single immediate superclass or there can be multiple levels of the generalizations. The classes from which the subordinate classes inherit the properties are called ancestors whereas the classes that use the properties of the parent classes are called descendant. ¢ Generalization set name is an enumerated attributes which indicated the factor on which the subclasses are inherited. For example - In the following figure, gender is the Generalization set name gender Male Teacher © The depth of the generalization hierarchy must not be too deep. Otherwise it becomes difficult to understand and maintain. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 1-21 Introduction to Modeling » Examples of Generalization Single inheritance [Aaministrative perc Operational staff Multiple inheritance Receptionist Technician Doctors bes Fig. 1.9.1 Types of inheritance Nurses The class model for online examination registration system is as given below. The generalization relationship is showni for the Student class and Tests class. Sa ae ‘alsplay_GUI) ‘rupdate_Database() +rsoarch() ‘generate_resut) [Examination Database “snameofexam +dateofconduct “slore) “updated tdelete() Tene Interacts with ‘class address username ‘+paseword +ExamiD +3c0re 1 *#logs_in() 1 ‘select test) ++solve.test() access Registration Database] ‘data: Data ‘totalstudents ‘¢studentname ‘sregisteredTest ++validate() +store() ‘delete() +updatet) +alspley0) ‘Annual Test TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeSo" °°» © M Object Oriented Modeling and Design _ 1-22 Introduction to Modeling EERE "repre class ingram for cach grour of classes. Add at least 30 relationships association and generalizations) to cach diagram File system, file, ASCII file, binary file, directory file, disc, drive, track, sector Solution : The required class diagram is given below - +ereate() +compress() +delete() +rename() +eopy() rarveletter Sectors (ERED repre a class model for the hotel management system. The system should ‘support chain of hotels. A hotel contains two categories of rooms : Executive and normal, both AC and non-AC. The customers of executive rooms can avail extra facilities like ‘games, swimming, food service in rooms, etc. The booking is possible by Internet or by phone. If the booking is through phone, process is done by receptionist and if booking is done through Internet the process is carried out by customer through hotel website Depending on the number of days customer stays, appropriate bill is generated. The bill alco contains amount for transport, food and other facilities enjoyed by the customer along with necessary taxes. The manager should be able to generate reports like list of customers staying in the hotel, list of rooms empty, monthly/yenrly income, etc. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Orfented Modeling and Design 1-23 Introduction to Modelir lo ing Solution + Hater *HotollD [Horeichains] /sNamno Addroos +wobaddross Co) ee a Room roma Manager ssccuupled "| aa * By : 0 7 omer. +takesstock() Tepgegcate — +keepstatus( * sane, ve Sraeutive aly generates Normal FAGSONAS Sphone eratactties ‘+Slayperiod FACarNonAG| SoottNumber ai *Biamount | baa ‘¥check_in() |+CustomeriO, Sone oul E senectout) | a [intena Phone | _ tbooks [Raceptionist +orderfooditems()} +I same /+phone EEE] Use of Generalization «There are three main uses of the generalization class - 1. Polymorphism : Polymorphism is an ability of object oriented design in which the operation can be called at the superclass level, and the same operation with the same name can be defined at the subclass level doing different functionalities. The compiler automatically selects appropriate operation that matches the object's class. Due to this feature the software design becomes flexible. The new subclasses can be added without changing the rest of the code. 2, Structuring. of description of objects : Due to generalization, the designer can form the taxonomy of objects. Based on similarities and difference of the objects the classes can be arranged. That also means if there are some classes that share a ina kind of relationship then using generalization concept these classes can be structured in hierarchical form. 3, Reusability of code : As the common properties defined by the superclass are also used by the subclasses, there is reusability of code. If a library of some useful or most commonly required classes is created then due to generalization, the designer can inherit some classes from the library. This actually brings reusability of the code. © Generalization, specialization and inheritance are used for in a common reference. The terms generalization and specialization are complement to each other. The TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeonject Onented Modeling and Desian EEE! Overriding Features 1-24 Introduction to Modeling .s while specialization refers to the ‘hnique in which attributes, generalization refers to some common properties classes using the specific property oF purpose, The inheritance is the te operations and relationships are shared by the set of generalization specialization concep's: Overriding features include overriding methods or default values of attributes: Jass features. That means the overriding features are redefined or replaced by some another value in the subclass, but they posses the tame name. for instance - the display wrethed of superclass can be overridden in Sabelase, It means we can redefine the display method in subclass having different functional body but possessing the same name. The overridden features are used in OO design for various reasons - i) For defining the different behaviour in the subclass ii) For having The subclass overrides the superd the specific functionality in the subclass. The signature or datatype must not be overridden. While overriding, attribute type, number of arguments and type of arguments and return type must not be changed. The overriding of general method to spe of the code. cial method increases the overall performance Example - [= Regular Sales Purchase manager manager Fig. 1.9.2 Class model representing hierarchies of classes New customer Accountant TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 1-28 Porm) 1. Explain the following terms in relation to generalization and inheritance. a. Generalization set name b, Override. A Sample Class Model Introduction to Modeling Sa Aug.-15, Dec.-15, April-17, May-17, Marks 8 [ example 1.10.1 Baga a class model to describe geographical map. Map contains roads, rivers and mountains. All components are described by points representing longitude and latitude. Solution : 0 Longitude Latitude Readdata() display() Fig. 1.10.1 Class model for geographical map tea class hierarchy to organize the following windows system + Window, ‘a Grey Creal is eu text window, scrolling enons, button, choice item shape, scrolling window, panel, canvas, line, closed shape, ellipse, polygon. wed TECHNICAL PUBLICATIONS® = an up-thrust for knowledge_ — object Oriented Modaling and Design Solution : ScrollingWindow ScrollingCanvas “window Introduation to Modoling 1 fl 0.4 : Panelitem Event keyboardEvent ‘ClasedShape [a] Choice lem, Text Item Polygon Ellipse Fig. 1.10.2 Prepare a class diagram for group of classes. Sink, freezer, refrigerator, table, light, switch, window, smoke alarm, burglar alarm, cabinet, bread, cheese, ice, door, kitchen. TECHNICAL PUBLICATIONS® - an up-thrust for knoviledgeObject Oriented Modeling and Design 1-27 Introduction to Modeling Solution : Burglar Alarm —< ‘Smoke Alarm Fig. 1.10.3 (EEL Pere a class diagram for following group of classes. ‘Add at least 10 relationships (Associations and generalizations), Use association names and association end names where needed. Also use qualified ssociations and show multiplicity. Explain diagram. Classes : School, playground, principal, school board, class 70 rest room, computer, desk, chair, ruler, door, swing. om, book, student, teacher, cafeteria, TECHNICAL PUBLICATIONS® ~ an up-thrust for knowledgeObject Oriented Modeling and Design 1-28 Introduction to Moding Solution : 3 Porson Netter 2 fp ot __ ne ont T | #ithdato = FRE Principal Teacher Fealary Suudeat =| _*salary evaluate teacher 0 ‘SchoolBoard ls ee *hirePrinepal | Af School] Playaround 7 Fi i 1 Chair pea 7 Type Room Door! s uler keep ~_ anal n i ele Desk ] (Glassroom| | Cafetoria Restroom Es -+dimension| | +maxCapaciy | | +maleorFemale +eolor [Computer] Fig. 1.10.4 TIRE Prepare ctass diagram for the dining philosopher problem. There are S philosophers and 5 forks around a circular table. Each philosopher has access to 2 forks, one on either side. Each fork is shared by 2 philosophers. Each fork may be either on the table or in use by one philosopher. A philosopher must have 2 forks to eat. Solution : rightDinner _|1 4 leftFork Philosop! +inUse Fork 0.1 0.2 leftDinner 1 1] rightFork Fig. 1.10.5 TECHNICAL PUBLICATIONS® - an up-thrust for knowledge‘Object Oriented Modeling and Design 1-29 Introduction to Modeling MERELY Convert the following into a class diagram with appropriate classes, relationships, multiplicity. ‘A computer program has many statements. An expression is a statement. A function is constant and operator. A relational operator statement. An expression contains a variable, a operator. An arithmetic operator is an operator. A function has an argument ist is an Eres ene return type. Solution : name purpose author Function ‘ArithmeticOperator RelationalOperator Fig. 1.10.6 TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Onented Modeling and Design 1-30 Introduction to Modeling Convert the following into a class diagram with appropriate classes, relationships, nmultiplicity. Car dealer sales cars, A car is owned by an owner. The owner has an address. The owner can be a person, a company or a bank, A car loan may be involved in the purchase of a | car, Bank provides the loan. | 1 Solution = 1 Car i Car Dealer Owns _*| Model year | Sells 7 name 1 Borrows * address Car Loan ‘AccountNo. Rateofinterest Balance i Person Company Bank Provides ‘email # «| Phone Branch 1 Fig. 1.10.7 Class diagram A project has three to five students. A projects has a guide can guide one to ‘hree projects, For this description draw a class dingram. From the class diagram draw an object to show two projects, seven students and one guide. Do not write any explanation, just draw the diagrams. Solution : Fig. 1.10.8 Class diagram TECHNICAL PUBLICATIONS® - an up-thrust for knowiedge‘Object Oriented Modeling and Design 1-31 Introduction to Modeling Fig. 1.10.9 Object diagram PERMREPTE) An electronic gadget shop has television and washing machines. Television has screen size inches, color, mounting(only wall or table mounts are possible). Televisions come in two types namely LCD and LED. A washing machine has a capacity in litres, color, type of londing(Top or front). A customer can order an electronic gadget. Draw a class diagram for this with attributes and relationships. Solution : ElectronicGadget “+Capacily : int +Color : String +type_of_loading : String Ed +Color : String +Mounting : String TECHNICAL PUBLICA TIONS® - an up-thrust for knowledge fg eeeOdie! Onentes Mociathy aad Design 1292 Introduction to Modein, EROS) For the Grind health club oftrs a for registering ane ‘yoga’ and ‘aerobics 200000, The monthly charges J Single option out of the two optio Hon given below, driw the class diagram cheme for membership of the health club. The options avuilable °. The monthly charges for aerobics membership are membership are 1000.00, The members em avail a If a person books for three months, he gets 20 % discount. If he books for six months, he gets 25 percent discount, If he books for nine months, he gets 35.% discount. If he books for one yaur, he gets 50 So discount. SELES Solution = Heeh aS Mende Bowe | -——"_ epsteraton period aD) ae oe ee l oo Sa One year Giscount= SO" ea Sane [Sscount = a For the description given below, drave the class diagram. When @ book has isn number, price, title and one or more authors. When it is bought in the library it gets ‘purchased’ state, when it is added to a catalogue it goes to ‘catalogued’ state, When the cataloguing is complete it goes to "Available on stack’ state. When it is borrowed by a member it goes 40 ‘borrowed’ state. When it i returned by a member it ‘goes to ‘available on stack” state. a rks 8 Sr) TECHNICAL PUBLICATIONS® - an up-thrust for knowledge-” Conpaet Onented Modeling and Dewgn in Solution | borrows ‘catalogued | Book state = “calalogued'| state » "borrowed" is aoe cshased peo isbn price title author tate = “purchased” pi Fig, 1.10.10 Draw class diagram for following description - A drawing object is a text, a geometric object or a group. Group can contain at least to polygon are geometrical objects. A polygon is composed of an geometric objects. Point, em, Marks 4 ordered vet of points. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 1-94 Introduction to Modetin, 9 Solution : Fig. 1.10.11 Construct a class diagram using the following object diagram. ‘name = "Manish* name = "ABC" ie Solultion : Fig. 1.10.12 (a) PCT meals 1. Explain aggregation, composition and generalization with reference fo class diagra PPU : April TECHNICAL PUBLICATIONS® - an up-thrust for knowledge—_— nnantiort rovcdetivny niet Eemigtt goer net " LS Intreduotion to Modeling Navigation of Glass Modals Jo tint fh exprom The etieline of ay application, But sometimes claves von vale vonwnte thie helaviow of navigations anion the lanes, ath stiagranny alan’ t 4 von enannele cme an ATM aystom holonging to some bank and which handles ihe eatomien trarymae tone AL suvaral placen In aelly, We ean pose variety of question hte noedtoliayy far AME nyatont, ' ee Whothor the ATM ewtel phn te verifiod ? loon w entomer make to enter the pin at particular instance of w How many attempts Aine a blow own) yatam eheok whether the eustamer enters valid withdrawal amount or watt oe mbatie ean model ia nol auffielent to anawer posed questions, There js 4 need for providing some Toptenlqatements along, with this class model, ‘These logical Tomita can be framed wang, a specialized language called Object Constraint Langage (OCH), Henee OCH ean be defined as follows Object Constraint Language (OGL) ts a kind of language in which using formal juiage alalemente the constraints of the object ean be represented, oe ih lat Ian) ERIE 0CL Constructs ‘The OCH ean traverse the conatructe in clans models, Attelbutes 1 One ean traverse from object to an attribute value, The syntax 16 object, Name.atiributeName Hor example a@uatomerAcoount, balance Here a CuatomerAccoint tha object and balance ts the attribute name. each object in a collection. For example Similarly the we ean accent attributes of muat not be less than 20 years old” we can ‘Yo denote that “every employee It the company write the OCL statement As follows « Gontext Iimployee Inv; nelf,age™ +20 Operations + We can invoke particular operation uaing the object of the class and nulng, the dot operator: OCL han special operations using which we can retrieve desired value from the clati model, The operation can be Invoked using -> operator. For example aCuatomer, accounts: seloat(balance 600) a «an upethruat for knowledge THOHNIOAL PUBLICATIONS® ecObject Orlented Modeling and Design 1-36 Introduction to Modeling here aCustomer is an object and the attribute accounts is used. The select is a special operation defined by OCL which is useful for selecting specific elements that satisfy the given condition. By above state we will get the account of all those customer having > % 500 balance in their account. Simple Associations : OCL is useful in traversing the associ: OCL Statement : aCusotmer.Account Meaning - Yields the account number of the customers. ation. For example - (Class Model : Account Customer Qualified Associations : The qualified association helps you to find out particular object from the set of objects. For example OCL Statement : Course.Student[10] Meaning : To find out the entry for the student having the StudentID as 101 we can write the Class Model : ‘StudentID : int Pea ee sd [asad 1 Fig. 1.14.4 Association Classes : The association class is a class that allows the association to a class itself. For example - OCL Statement : context Person inv: self.isUnemployed = false implies selfjob->size() >= 1 Meaning : A person has a job in a company. Class Model Person TECHNICAL PUBLICATIONS® - an up-thrust for knowledgePa onject Oriented ‘Modeling and Design ease Introduction to Modeling Generalizations ¢ Traversal of generalization hierarchy is implicit for OCL notations. rs : Using the filters we can select the particular object with desirable property. normally the select operation is useful for selecting the object with desired properties. Ny example - The customers whose bank balance is > € 500 can be represented using following OCL statement - aCustomer.accounts->select(balance>500) Filte! pe Building OCL Expressions «There are four parts of OCL - 1. Context : It defines the situation for the design element. 2 3. Property : It represents the characteristic of the element. Operation : Various arithmetical, logical or relational operations can be carried out of the design elements. Keywords: There are some reserved words in this language which are associated with the some meanings. For instance : if, else, not, or, implies. The context is usually the class to which the expression is attached. The OCL makes use of Collection class for describing the constraints. The subclasses of collection class are self and sequence. ‘The self is the element of the UML diagram in context of which the OCL expression can be evaluated. Using the dot operator the property or operations can be invoked. For example, If the context is Employee then self. Salary denotes the value of attribute salary on the instance of Employee. That means salary of Employee is identified using the dot operator. ‘The invariant is for describing the constraints by specifying the properties that must hold true for all the instances of the class 4 © Syntax : context
inv [
]:
© Example : context Employee inv: self.age>=20 This statement denotes that every employee in less than 20 years old. context Company inv:StockRate()>5 This statement denotes that the stock the company must not be price of company must not be less than 5. TECHNICAL PUBLICATIONS® - en up-thrust for knowiedgenyo! Oytentont Moving ann Danian am Iniroductian to Modaling ved to be trie before the execution of + Pre and Poa Condition |The conmbralnt aneuir ‘The constraint which is true {he operation, ‘hen that constraint ts called prec nidition tion iv called panteandition, after the exsention af the apernt ¢ Nyntay of Precondition apectfication content
* tixample | pontont Himployae::eglstration( tintager ) pre; walfagess <1 and b0 The meaning of thin statement Reglatratton operation tv that Ii 1 in greater than 0, © Syntax af Posteondition npeclfication In that the precondition for the Employee for tn age must be greater than 18 years and value of integer ontaxt
(
]: «Boolean OGL oxprension> © Ixamplet gontext Parson: Authentialty() pont: selfdaValid()= true The meaning, of thiw ntatoment Is that for ponteondition In npecified as the Person is authentle, * ‘The notation @ can be uned to specify the value of variable at pre or post condition. For example a@pre means that the variable a existed prior to operation. the operation Authenticity() the For example context Customer:;purohano(ttem) pre; acatBal-ltem.price > 0 pont: acatBal = agotBal@pro - item.price The above code fragment denotes the purchase operation in which the actual balance before purchase must be more than the price of the item to be purchased. ‘And pont condition denotes that the actual balance must be equal to the actual balance at the precondition time minus the item's price, TECHNICAL PUBLICATIONS® = an up-thrust for knowledgeee There must be at least one element present in the collection. nec Onntod Modeling and Design 1-39 Introduction to Modeling pe Operations on Collection eT ee a f Operation Description size ‘The number of elements in the i collection. count(object) The number of occurrences of objects i fs ‘ in the collection. : | isEmpty() ‘The Boolean operation, True when | | the collection is empty. | | notEmpty() ‘The Boolean operation, True when i sees the collection is not empty. | includes(object) If the object is an element of the | | Sees collection then it retums true. | yi If all elements of the collection are | present in the current collection. \ | ‘The addition of all the elements of | Bee the collection elements. | | | : _ elements. expression. ei accounts accounts ac2 : Account act : Account id: 4571 balance : 85 id 1212 balance : 500 Fig. 1.11.2 The OCL for above UML diagram is XYZ-accounts—forAll (a: Account|a- balance >0) = tne The expression is true for all the This operation return particular _ element that satisfies the expression. ‘This operation tetutn particular element that does not satisfies the Returns a sequence of all the elements in the collection in the id: 7243 balance : 450 TECHNICAL PUBLIGATIONS® ~ an up-thrust for knowledge ———Object Oriented Modeling and Design 1-40 Introduction to Modeling XYZ. accounts— select (balance > 300) = {act, ac3} XYZ. accounts - balance —sum()=1036 XYZ.accounts -incudes (ac4) = false 1. Write a short note om navigation in classes. Qog TECHNICAL PUBLICATIONS® - an up-thrust for knowledge2 Advanced Class Modeling and State Modeling J Init U1 | Syllabus 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. Contents 24 22 23 24 25 26 ay 28 29 2.10 211 2.12 2.13 2.14 2.15 2.16 217 Part | : Advanced Class Modeling Advanced Object and Class Concepts Association Ends Neary Associations Aggregation Abstract Classes Multiple Inheritance Metadata Reification Constraints Derived Data Packages . : State Modeling Introduction Events States Transitions and Conditions State Diagrams State Diagram Behavior .....++2+000+++++- Auge18, Dec-15, April-16, 18, °°eB Object Oriented Modeling and Design 2-2 ‘Advanced Class Modeling and State Moding Advanced Class Modeling cl Advanced Object and Class Concepts EEREE Enumerations The enumeration is a primitive data type which can have finite set of values and can be modelled as classes. For example - Job can have the status such as Processing, Idle or Waiting. These values can be represented by designing Status as class of type
>. Note that in the following figure, the keyword enumeration is within Guillemets ite. << >>. The list of values are given in the second compartment. Processtoa] | tale ‘Wrong method =] at Processing Waiting Fig. 2.1.1 Modeling enumeration EKEA multiplicity Multiplicity denotes how many objects are associated with particular object. Multiplicity can be associated with the associations as. well as attributes.Normally in databases the multiplicity is associated with the attributes. For example - Employee +emplD : Integer +name : String{1.."] salary +Dateoffoin : Date(1] TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeScope Scope represents whether particular feature is available for class or object. In UML the scope can be static scope or and object or Instance scope. 1. Object scope - Each object of a class has its own value. It requires no notation for specifying the instance. 2 Static scape - All the instances of a class have just one value. This is referred as static scope. The static scope is mentioned by underlining the attribute. Static scope header : string Instance scope 1D: long Fig. 2.1.2 Instance and scope The private attributes of class makes use of static scoped features. EXE visibility The visibility specifies the how the attributes and opeiations are visible in the system. There are four levels of visibility - 1. public : The public element is visible to all elements that can access the classifier. It is denoted by ‘+’ symbol. 2. protected : The protected element is visible to all the elements that have a generalization relationship to the namespace that owns it. Protected visibility is represented by 'f symbol. 3. private : A private element is only visible inside the namespace that owns it. Private visibility is represented by -' symbol. 4. package : Only the elements that are declared in the same package can use this feature. It is specified using the symbol '~’. + oraate trangaction() + perform transaction() # gelmegsagest) Je ~ recontigure() Fig. 2.1.3 Visibility TECHNICAL PUBLICATIONS® - an up-thrust for knowiodgeObject Oriented Modeling and Design Advanced Class Modeling and State Nea, / EZ] Association Ends | Association end is an end of association. i © Binary association has two ends, ternary association has three ends and so on. ; + Properties of association end - There are various properties of association end any these are enlisted below - ae . © Association End Name : For clear understanding. of the association relationship wo | can write the names at the association. The traversing direction can be understoog due to association end names. | Benen eaten anal Book Writes ; j ‘Teacher textbook | Rita evs Smita Mathematics Fig. 2.2.1 Association end names © Multiplicity : Multiple objects can be related to one particular object. It can be denoted by "1", "*", "1..." and so on. © Ordering : This is a type of association which is used to denote the set of objects at one end must appear in specific order. {ordered} Browser —| WebPages Displays Fig. 2.2.2 Ordering the objects © Qualification Course Student Fig. 2.2.3 © Bags and Sequences : In association relationship, there are some objects that may be duplicated or may appear in some sequence. For that purpose bags and sequences are used. {bag} 5 Person 5 Jobs Sends {sequence} System =| Message TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Ortanted Modeling and Design 2-5 ‘Advanced Cless Modeling and State Modeling © Aggregation : It is a kind of association in which one object is a part of another object. ¢ Changeability : The update status of an association end is denoted by this property. The values for this property can be changeable and readonly. © Navigability : By default the association can be traversed in both the directions, however by showing the arrowhead at one end we can represent the navigability from one class to other. ©. Visibility : The association ends can be public, private protected or package N-ary Associations ‘The vary association is the association among three or more classes. Normally having n-ary association in the class diagram is not preferred and therefore it is a practice to split n-ary association into binary association. Following is a simple association that can be seen as nary association but it can be represented using binary association. Fig. 2.3.1 n-ary association represented by binary association Following is a typical example of rary association in which three classes take part actively. Note that such an association is represented using a diamond notation. The course management system can maintain the records for the students who are studying the courses in particular academic year. Fig. 2.3.2 Ternary association TECHNICAL PUBLICATIONS® - an up-thrust for knowiedge geet aaa |2-6 ‘Advanced Class Modeling and State Hg, Object Oriented Modaling and Design uur classes are taking part maj, "| Sq presentation in which fo Following is an another rej the association. | Aggregation © Aggregation is a type of association. It is used to represent whole-part relationship. It normally posses has-a relationship. It is denoted as follows - Car DVD Player ee) 0 Ec Fig. 2.4.1 Example - Aggregate relationship « For example - DVD player and Car are the two classes that can be associated by aggregate relationship. Note that DVD player can exists without car and car can without a DVD player. We can read this relationship as "DVD player is a part ol) Car’. + Transitivity - It is an important property of aggregation. It means of class X is a pat! of class Y and if class Y is a part of class Z then class X becomes the part of class 2 | ¢ Antisymmetric - According to this property of aggregation if class X is a part of class Y then class Y is not a part of class X. ' Prepare a class model to describe geographical map. Map contains ronds, ries ‘and mountains. All components are described by points representing longitude and latitude. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeOlyect Onantnd Modeling and Design Solution + nome length Advanced Clas Modating and Sata Modeling Point Longitude Latitude Readdata() display() display() name length name height readLoc{) readLoc() readLoc{) Fig. 2.4.2 Class model for geographical map Difference between The aggregation is a special Aggregation and Association kind of association. In aggregation relationship the two objects share a whole-part relationship. But if two objects are independent but si relationship is indicated. till there are related to each other then the association The use of aggregation instead of association often comes by judgement of designer. +name +address +phone +omail taddDept() ‘+tremoveDepl\) +displayAliDept +addEmp() +removeEmp() +displayAllEmp() nO) Has Employoo +empI0 name address salary +dataOWJoin TECHNICAL PUBLIGATIONS® - an up-thrual for knowindgeObject Oriented Modeling and Design 2-8 “Advenced Class Modeling and State Modeling - ° [EEE] Difference between Aggregation and Composition i je-part relationship. The i 4 Composition are two forms of who / Aarne cited 988 That is, when one object contains another object restricted aggregation. not exist wil denoted as follows - ——+ composition is ee and if contained object can the container object, then it is called composition. It is thout the existence of the two classes that are associated by the teering and Car are use a car can not exist without For example - SI This is restricted relationship bec: composite relationship. the steering. lq Fig. 2.4.3 Example - Composite relationship ' We can ead the relationship as "Steering is a part of Car”. The arrowhead is pointing towards the whole class. Difference between aggregation and composition represent the whole part relationship but the Both the composition and aggregation gregation. The composed object can not exist composition is more restricted than the ag; without the other object. Hence it is a strong relationship. This restriction is not there in aggregation. The existence of contained object is | entirely optional in case of aggregation. For example - Books Library contains bi share the aggregate relationship but the relationship. As without books the library is not poss ooks and students. The student and Library Book and Library share the composition ‘ible. Propagation of Operations } is a mechanism which allows to move particular operation | through the network of objects. For example - Following Fig. 2.44 shows that the | Canvas can have some Graphical image. The operation animates is used by this | graphical image which propagates to Shapes in the Graphics then to Pixels of the shapes. This is also called as triggering. Propagation of operations TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 2-9 Graphics animate Shapes animate animate animate Fig. 2.4.4 Propagation Advanced Class Modeling and State Modeling CEEIIIERD 4 200k is composed of Table of Contents, Preface, many chapters and index. Chapters are composed of sections. Convert this using a class diagram. Solution : TableOfContents Preface Sections Rare eet class model - Aggregation. 2. Explain aggregation. Is it same as association ? 3. What is aggregation ? Differentiate the following with example i 1. Aggregation versus composition. 2. Aggregation versus association. Define the purpose of the following term with suitable example and UML notation with respect to TECHNICAL PUBLICATIONS® - an up-thrust for knowiedge4 Advanced Class Modeling and Stats Mcdoling Odynct Onented Mogaing and Design Abstract Cla When the generalization is modeled the class at the top level is an abstract class and the more specific classes are at the bottom. Hence it is common to have the abstract classes at the top of the hierarchy. The abstract classes are those ‘classes that do not have the direct instances. Note that the abstract classes have the names that are denoted in italics. On the other hand the concrete classes are those classes which have direct instances The classes that have no children are called leaf classes. The leaf class can be specified by writing {leaf] below the name of the class. Abstract class Abstract polymorphic operation Concrete dass Concrete class Concrete operation’ Leaf classes Fig. 2.5.1 Abstract and concrete class and operations In above class diagram, the polymorphic operations are specified. The polymorphic operations are the operations that have the same signature but can be used for different purposes. The abstract polymorphic function is incomplete and is overridden by the child class functions. EA Multiple Inheritance Definition : The multiple inheritance is a kind of inheritance in which the derived classes are derived from more than one super classes. The class with more than one superclass is called join class. ; This kind of implementation may lead to some conflicts in the child classes due to multiple paths from superclass. But such ambiguities can be eliminated during the implementation. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge a eeeee ‘object Oriented Modeling and Design 2-9 Advanced Class Modeling and State Modaling Example If some parent has no more than one child in multiple inheritance then that class is disjoint dass. The hollow triangle indicates the disjoint subclasses whereas the solid triangle indicates the overlapping subclasses. ‘The Fig. 2.6.1 shows disjoint class. Hospital Member Disjoint Ciass Multiple Join Class Fig. 2.6.1 Multiple inheritance from overlapping classes Advantages = 1. The single classes can perform multiple functionality. 2 The reusability of the code gets increased. Disadvantages : 1. The conceptual and implementation model becomes complex. 2. In multiple inheritance - There is a mixing of rules and multiple paths can be followed for reaching to derived classes, conflicts might arise in the implementations. Accidental Multiple Inheritance Accidental multiple inheritance be is a kind of inheritance in which one instance happens to participate in two overlapping classes. ‘An instance of a join class is inherently an instance of all the ancestors of the join dlass. For example doctor can be both the laboratory staff as well as operational staff, but one doctor can be attached to more than one hospital at the same time. There is no lass that describes this combination. The object oriented language handles this issue by making the class Person as an object composed of multiple objects of class Hospital Member. See Fig. 2.6.2. TECHNICAL PUBLICATIONS® - an upthrust for knowiedgerea D100 Mary, Object Oriented Modeling and Design Fig. 2.6.2 Workaround for accidental multiple Inheritance EGEd Workarounds ‘The problem of lack of multiple inheritance can be solved by restructuring the mode Following are the workaround possible for restructuring the model - 1. Delegation : This is an implementation mechanism in which object forwards one operation to another object for execution. The advantage of delegation is that on} meaningful operations are delegated and there is no danger of inheritin; meaningless operations. 2. Delegation using aggregation of roles : A superclass with independer inheritance(generalization) can be replaced by aggregation. In this each componer: replaces a generalization. For example ‘TwoDArray +read_arrayi) in_array) ‘TwoDArray ft ‘TwoDArray{private) Matrix tread_array() ‘+mat_mul() +print_array() +mat_add() +mat_transpose() +mat_mul() +mat_add() +mat_transpose() Fig. 2.6.3 Alternative design - Conversion from Inheritance to aggregation 3. Inherit most important class : The join class is treated as an aggregation of tht | remaining superclass. | > | TECHNICAL PUBLICATIONS” - an up-thrust for knowledge | ; oo)object Onented Modeling and Design 2-13 ‘Advoncod Claas Modoling and Stato Modeling 4, Nested generalization : In this technique, one generalization is factored then second, then third and so on. Thus all possible combinations of generalizations are factored. This preserves the inheritance but it duplicates the declarations and the code. The principles of object oriented techniques are also violated by this approach. Receptionist Operating Doctors | Operating Doctors Fig. 2.6.4 Multiple inheritance using nested ‘generalization Issues in Workaround Following are some issues while selecting the workaround - Lif a subclass have several superclasses and all the superclasses are equally important then make use of delegation and bring the symmetry in the model. 2 If one superclass is more important than rest of the superclasses then implement single inheritance and apply delegation. 3, Avoid nested generalization if large amount of code gets duplicated. 4. If there are less number of combinations then consider nested generalization. 5. In the nested generalization, factor most important criterion first and then next most important and so on. 6. If one supeciass is having more features than inheritance through the path. 7. Maintain strict identity of the other superclasses then preserve the model. Review Questions’ ~ isewss in brief multiple inheritance. 2 What do you understand by multiple ineritance? Describe with suitable example. 3. What is multiple inheritance and what are is associated problems ? How does the concept of inheritance of speclfications help fo overcome ese problems ? Explain 4. Define generalization. Draw UML diagram that shows multilevel inheritance. TECHNICAL PUBLICATIONS® - an up-thrust for knowiedge jObject Oriented Modoling and Design 2-14 ‘Advanced Class Modeling and Stato Modeling Metadata Metadata is a data that describes other data. The class definition is basically a metadata. In UML many times it is preferred to model the metadata as a separate class, For example - Consider a banking system, in which the records for the customer and their accounts is maintained. A separate description class AccountDescription is maintained which describes the account number. Many times classes have their own classes. These classes are called as metaclasses. ‘Account +Type +BranchName +AccNumber This Is worst way of representing the class This Is better way +Type of representing the +BranchName Slee 7 er | | Described by 1 ‘AccountDescription +AccNumber eae ae] Fig. 2.7.1 Metadata ‘Customer. +Name mele) 1. Define the purpose of the following term with suitable example and UML notation with respect to class model - Derived Data. Ea Reification Definition : Reification is the process of converting an element which is not an object into object within a scope of particular system. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Ortanted Modeling and Desk sign 2-16 ‘Advancod Class Modoling and Stato Modoling By means of reification something that was explicitly formulated and is made avai Preciously implicit, unexpressed can be ilable for conceptual manipulation. For example consi Heke role ieee an example of some software application program. The a code and develop the software application which is meant for providing some data services to its user. Thus : . a every software application can have Se ae tite the service it provides. Instead of having dataServiceName as ot oe a SoftwareApplication we can promote this attribute to a class ni iceName. That means the reification takes place for converting a dataServiceName (which is actually an attribute and not an object) to DataServiceName (a class whose instance can be used for data handling). SoftwareApplication dataServiceName Reification : _. Promote attribute toa class SoftwareApplication DalaServiceName dataServiceName Fig. 2.8.1 Reification Constraints Constraints are commonly used in class diagram. In UML constraint is a condition or restriction on UML element. These elements can be objects, classes, attributes, links, associations and generalization sets. It must evaluate to Boolean value - true or false. Constraint must be satisfied by a correct design of the system. OCL ie. Object Constraint Language is a constraint language predefined in UML. However, constraint can be specified by some other languages such as Java, Machine readable languages and natural languages. Constraints on Object t shows how the constraint can be applied on the Following is a simple example tha t ¢ given in the form of expression and is specified object. Normally, the constraint can bs within the curly brackets. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge se iia aerialq 2-18 Advanood Clase Modeling andl Stato tf, _| Postcondition | DS {postcondltlon:raar # roart1) Object Oriented Modoling and Design { SelfMale.age > 21 and Self,Female.age > 18 } Constraints on Generalization Sets There are four types constraints on the Generalization sets. These are, 1. Complete The complete specifies that all the children in the generalization are specified completely there is no specification possible. Female Fig, 2.9.2 Complete generalization TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeObject Oriented Modeling and Design 2-17 Advanced Class Modeling and State Modeling f 2, Incomplete In the incomplete generalization not all the children in the generalization are specified completely. Banana Fig. 2.9.3 Incomplete generalization 3. Disjoint It specifies that objects of parent may not have more than one of the children as *yPe- For example - In the following figure the class AdministrativeStaff has only one child. AdministrativeStaft Receptionist Fig. 2.9.4 Disjoint constraint 4. Overlapping It specifies that objects of parent may have more than one of the children as. typ’ example - Here train can be passenger type vehicle or goodscarrier. ye. For Fig, 2.9.5 Overlapping generalization TECHNICAL PUBLICATIONS® - an up-thrust for knowledge eeAdvancod Clan Madaling| and Stato Modeling Constraints on Links The constraints on the links can be allowing the multiplicity, The multiplicity denotes how many objects are related to the given object, Multiplicity for an attribute specifies how many values are possible for that attribute, By applying constraints on link we can make the objects to appear In some specitic traint {order} can be applied for this link, Following figure represents order, The cot how constraint can be applied on the links = School studyin (oubsot) 7 HondBoyOt Fig. 2.9.6 Subsot constraints on links KEKE] Uso of Constraints In UML we can specify the constraints in two ways - first by writing the constraints in curly braces and second by specifying the constraints in a dog-eared comment box. Refer Fig. 2.9.1 and Fig. 2.9.6. Review Questions | 1. Define the purpose of following terms with suitable example and UML notations with respect 10 | class model : i) Qualified association ii) Association class | iii) Aggregation iv) Multiplicity _v) Constraint. 2 What is a constraint ? Explain constraints on objects, constraints on generalization sets and constraints on links. Derived Data Derived data is a function which is obtained using one or more functions or data elements. The derived data is redundant because it is obtained from other element. In class diagram, data attributes, associations and classes can be derived. The notation for derived data is use of slash "/" in front of the element name. Following figure represents the derived attribute. In the banking system, the account balance can be derived using the withdrawal. TECHNICAL PUBLICATIONS® - an up-thnust for knowledgoObject Oriented Modeling and Design ign 2-19 Advanced Class Modaling and State Modeling Account {balance = balance - withdraw) Fig. 2.10.1 Derived attribute Following is an example in which deriv sociation and derived class is ‘ich : a lerived associat Account [J entries ! balance amount - date Derived Derived attribute associate Bank statement \___ Derived class Fig. 2.10.2 Derived class and association Packages In UML, package is a general purpose mechanism for modeling the elements into groups. Using packages the elements can be organized properly. The package can be represented as shown in the Fig. 2.11.1. =a Name Fig. 2.11.1 Package Review Questions a 1. Define the purpose of the following term with suitable example and UME. notation with respect to class model - Package. 2. Define following terms metadata, package. « Derived data, Abstract class, generalization, multiplicity, constrains, TECHNICAL PUBLICATIONS® - en up-trust for knowledge Re eeObject Oriented Modoling and Design 2-20 ‘Advanced Clas Modoling and State Modoling eS EXE introduction State model describes the sequence of operations that occur in response to external stimuli, The state model is represented by using the state diagram. The state diagram is a graphical representation in which the events and states are represented. Events represent external stimuli and the state represents valuet Events «An Event is a specification of noteworthy occurrence of something that has location in time and space. For state model, the event is an occurrence of stimulus because of which the state transitions take place. For example - user switch off the alarm. The sof objects. timer counts down. ‘* The events are often denoted by the verbs in past tense. © One event may follow another event, or events might occur independently. ‘* The two events that are independent of each other are called concurrent events. « If the time difference between occurrence of two events is very large then the events are called concurrent events. If the event occurs at distant places then also they are called as concurrent events. The ordering between concurrent events need not be specified. * There are various types of events, the most commonly used events are signal events, change events and time event. Signal Event © A message is a named object that can be passed asynchronously by one object to another. The signal is a type of the message or the classifier for the message. © Signals are similar to the classes. © The signals have instances just like the classes. © The signals allow to use the generalization relationship so that the hierarchy of events can be modeled. Because there might be some general events and some might be the specific events. For example: BeepSound signal can be BootingUpBeep or DiskFailureBeep © The signals might have the attributes and operations associated with them. There are various ways by which the signal can be sent - © In state machine, the signal can be sent by action of transition. © For the two roles of interaction, the signal can be modeled as a message. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgeonject Oriented Modting and Dasign gr 2-24 Advanced Class Modoling and Stato Modoling © By executing some method, the signal ca Tl he |, the sij Ps tte ignal can be sent. Thus the signal specifies In UML the signal can be repre dene; aa presented as stereotyped pel y ae : 1 typed class or a depen relationship. When the signal is modeled as class, it has the stereotype <
> and then the signal is modeled by i executiny it is i Ape y executing some message it is modeled using the + Example: Send dependency sit ignal ReservationSystem GUI é ‘<
> | <
> Form ps s2222 faispieyd) FormiD: int Fig, 2.13.1 Signal ‘As the Fig. 2.13.1 shows that the signal can be modeled as stereotyped classes or we can use a dependency relation to show a signal. (In Fig. 2.13.1 it is shown using the stereotype send) EBEP] Change Event « The change event represents a change in state or satisfaction of some condition. The keyword when followed by some Boolean expression is used for denoting the change from false to true. «For example - when (temp
maximum limit) Time Event «The time event represents the passing of Hime. The keyword after followed by some expression is used for denoting the ‘eine event. This expression represents the period of time. For example : After 5 seconds «© The occurrence of time event can be at absolute time. This can be represented using time event (absolute) the keyword at . For example ao Bo eeateron) at(iSeptember 2020, 6:00 UT) specifies that on 48t September 2020 at universal time 6 O'clock. after (10 seconds)/start() Cooling + Following Fig 2.132 represents the time and change event in the state model - whenitemp<10 °C) Change event Fig. 2.13.2 Time and change event TECHNICAL PUBLICATIONS? ~ an up-thrust for knowiedg® —————2-22 ‘Advanced Class Modoling and Stato ‘Modeling ‘OlYect Ontontod Modeling a Roviow Quostlons) vent in atate alngrann 7 Discuss various types of events. 1. What do you men by an ev 2. What te an event ? Explain types of events. ERZG states * State is a con some condition or performs some activity tate for finite amount o! ch as Start (Initial State Active (worl unded box containing some name. The of the state. It is written in boldface, at of an object during which it satisfies ts for some event. f time. For example - Microwave when switched on), Activating king progressing) and Stopped. dition or situation during the life or wail © Object remains In particular s might be in various states su (waiting for some buttons to get pressed), * The state can be represented in UML by ro name is optional but it represents the name center of the box and the first letter is capitalized. Fig. 2.44.1 « If the attributes of the state are do not affect the behavior of the object then we do not represent them in the state. « Difference between event and state Events represent particular moment time. A state corresponds to the interv: Both events and state depend upon the level of abstraction. Review Question Differentale state and event. List and explain diferent types of events of time whereas the events represent interval of fal between two events received by the objects. Fl Transitions and Conditions Transition is a relationship between two states. It indicates that the object in the first state will perform some action and enter in some another state when specific condition gets satisfied or some event occurs. When the state gets changed then it is sald that the transition is fired. tion to get fired the object is in source state and after the transition * Before the transi "gets fired the object is in target state. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge sa
You might also like
GE8072 - Foundation Skills in Integrated Product Development (Ripped From Amazon Kindle Ebooks by Sai Seena)
PDF
No ratings yet
GE8072 - Foundation Skills in Integrated Product Development (Ripped From Amazon Kindle Ebooks by Sai Seena)
140 pages
TY - BSC (C.S) Software Testing - Notes
PDF
No ratings yet
TY - BSC (C.S) Software Testing - Notes
62 pages
Unit I Predictive Analytics
PDF
No ratings yet
Unit I Predictive Analytics
39 pages
CS8091 - Big Data Analytics - Unit 1
PDF
No ratings yet
CS8091 - Big Data Analytics - Unit 1
28 pages
Transform and Conquer, Presorting
PDF
100% (1)
Transform and Conquer, Presorting
2 pages
Ai Chat Bot Unit - 2
PDF
No ratings yet
Ai Chat Bot Unit - 2
31 pages
Unit 1
PDF
No ratings yet
Unit 1
139 pages
B.tech (Cse) Ai + ML + DL
PDF
No ratings yet
B.tech (Cse) Ai + ML + DL
184 pages
Introduction To Parallel Databases
PDF
No ratings yet
Introduction To Parallel Databases
24 pages
Advanced Algorithms - Cse-Cs
PDF
No ratings yet
Advanced Algorithms - Cse-Cs
2 pages
PPS Course Material
PDF
100% (1)
PPS Course Material
177 pages
CS8591-Computer Networks Department of CSE 2020-2021
PDF
No ratings yet
CS8591-Computer Networks Department of CSE 2020-2021
24 pages
SPM-UNIT-1 Jntuh r18 Notes
PDF
No ratings yet
SPM-UNIT-1 Jntuh r18 Notes
38 pages
Al3452 Os Notes
PDF
No ratings yet
Al3452 Os Notes
280 pages
CN Answer
PDF
No ratings yet
CN Answer
14 pages
East West Institute of Technology: Sadp Notes
PDF
No ratings yet
East West Institute of Technology: Sadp Notes
30 pages
AI Lab MAnual Final
PDF
No ratings yet
AI Lab MAnual Final
44 pages
Cs3481 - Dbms Record
PDF
No ratings yet
Cs3481 - Dbms Record
63 pages
Software Engineering Notes (Unit-III)
PDF
No ratings yet
Software Engineering Notes (Unit-III)
21 pages
CS 3 - Problem Solving Agent
PDF
No ratings yet
CS 3 - Problem Solving Agent
80 pages
Ooad Unit 2
PDF
33% (3)
Ooad Unit 2
26 pages
18CS42 Design and Analysis of Algorithms
PDF
No ratings yet
18CS42 Design and Analysis of Algorithms
16 pages
Macro Processor
PDF
100% (2)
Macro Processor
44 pages
Subject Name Parallel and Distributed Computing
PDF
100% (1)
Subject Name Parallel and Distributed Computing
3 pages
DBMS Unit 3
PDF
No ratings yet
DBMS Unit 3
98 pages
TE AI Honor Course
PDF
No ratings yet
TE AI Honor Course
18 pages
UNIT 3 Developing IoTs-1
PDF
No ratings yet
UNIT 3 Developing IoTs-1
53 pages
Numericals CG Unit II
PDF
No ratings yet
Numericals CG Unit II
7 pages
8 Advanced Interaction Modeling: Here Are Answers For An Electronic Gasoline Pump. Figure A8.1 Shows A Use Case Diagram
PDF
No ratings yet
8 Advanced Interaction Modeling: Here Are Answers For An Electronic Gasoline Pump. Figure A8.1 Shows A Use Case Diagram
9 pages
Computer Science (Optional II) Grade 9-10: Micro Syllabus - Academic Year 2069
PDF
100% (1)
Computer Science (Optional II) Grade 9-10: Micro Syllabus - Academic Year 2069
6 pages
Software Engineering (Syllabus)
PDF
No ratings yet
Software Engineering (Syllabus)
3 pages
Introduction To Object Oriented Database: Unit-I
PDF
No ratings yet
Introduction To Object Oriented Database: Unit-I
67 pages
SPM 3-I Couse File Format
PDF
No ratings yet
SPM 3-I Couse File Format
18 pages
CS8494 Software Engineering
PDF
No ratings yet
CS8494 Software Engineering
21 pages
Iii Year Vi Sem CS6659 Artificial Intelligence
PDF
No ratings yet
Iii Year Vi Sem CS6659 Artificial Intelligence
44 pages
Module 3
PDF
No ratings yet
Module 3
65 pages
CP4252 Machine Learning Lab Manual
PDF
No ratings yet
CP4252 Machine Learning Lab Manual
37 pages
Communication Operations
PDF
No ratings yet
Communication Operations
70 pages
Compiler Design LAB MANUAL
PDF
No ratings yet
Compiler Design LAB MANUAL
10 pages
Chapter 3 Solutions: Unit 1 Colutions Oomd 06CS71
PDF
No ratings yet
Chapter 3 Solutions: Unit 1 Colutions Oomd 06CS71
14 pages
Chpater 1 - Unit 2
PDF
No ratings yet
Chpater 1 - Unit 2
31 pages
SPM Lecture Notes 2023 (R20 III-I)
PDF
No ratings yet
SPM Lecture Notes 2023 (R20 III-I)
76 pages
Mini Project HPC
PDF
No ratings yet
Mini Project HPC
17 pages
Develop A Java Program To Demonstrate Applet Life Cycle
PDF
No ratings yet
Develop A Java Program To Demonstrate Applet Life Cycle
8 pages
Se Module 2 PPT
PDF
No ratings yet
Se Module 2 PPT
86 pages
External Practical File PDF
PDF
No ratings yet
External Practical File PDF
39 pages
SEPM Module 2
PDF
No ratings yet
SEPM Module 2
37 pages
CS8591 Computer Networks L T P C 3 0 0 3 Objectives
PDF
0% (1)
CS8591 Computer Networks L T P C 3 0 0 3 Objectives
5 pages
Optimization Technique Course Objective
PDF
No ratings yet
Optimization Technique Course Objective
1 page
Write A C Program To Simulate Lexical Analyzer To Validating A Given Input String.
PDF
No ratings yet
Write A C Program To Simulate Lexical Analyzer To Validating A Given Input String.
8 pages
18CS42 Model Question Paper - 1 With Effect From 2019-20 (CBCS Scheme)
PDF
No ratings yet
18CS42 Model Question Paper - 1 With Effect From 2019-20 (CBCS Scheme)
3 pages
Unit - V Implementation, Testing & Maintenance
PDF
No ratings yet
Unit - V Implementation, Testing & Maintenance
60 pages
Module 3 OOMD
PDF
No ratings yet
Module 3 OOMD
28 pages
Practical No.2 Perform The Extraction Transformation and Loading (ETL) Process To Construct The Database in The Sqlserver
PDF
No ratings yet
Practical No.2 Perform The Extraction Transformation and Loading (ETL) Process To Construct The Database in The Sqlserver
12 pages
A719552767 - 20992 - 7 - 2019 - Lecture10 Python OOP
PDF
No ratings yet
A719552767 - 20992 - 7 - 2019 - Lecture10 Python OOP
15 pages
CS6456-Object Oriented Programming
PDF
No ratings yet
CS6456-Object Oriented Programming
15 pages
Stqa Viva
PDF
No ratings yet
Stqa Viva
10 pages
Object-Oriented Modeling and Design
PDF
No ratings yet
Object-Oriented Modeling and Design
6 pages
APMC Prachi Synopsis
PDF
No ratings yet
APMC Prachi Synopsis
6 pages
Unit 2 Ooad Question
PDF
No ratings yet
Unit 2 Ooad Question
2 pages