The document discusses object modeling concepts including objects, classes, attributes, operations, associations, aggregation, generalization, constraints, and derived entities. Objects represent real-world concepts and promote understanding, while classes group similar objects. Relationships between classes like association, aggregation, and generalization are important modeling constructs. Constraints restrict allowable values and derived entities are computed from other objects or attributes.
The objective is to explain how a software design may be represented as a set of interacting objects that manage their own state and operations and to introduce various models that describe an object-oriented design.
The objective is to explain how a software design may be represented as a set of interacting objects that manage their own state and operations and to introduce various models that describe an object-oriented design.
UML stands for Unified Modelling Language.
UML is a standard language for specifying, visualizing, constructing, and documenting a system in which software represents the most significant part.
UML is different from the other common programming languages like C++, Java, COBOL etc.
UML is a pictorial language used to make software blue prints.
UML can serve as a central notation for software development process. Using UML helps project teams communicate, explore potential designs, and validate the architectural designs of software.
UML diagrams are made using notation of things and relationships.
The building blocks of UML can be defined as:
Things
Relationships
Diagrams
Things: Things are the most important building blocks of UML. Things can be:
Structural
Behavioral
Grouping
Annotational
The Structural things define the static part of the model. They represent physical and conceptual elements. Following are the brief descriptions of the structural things.
Class: Class represents set of objects having similar responsibilities.
Interface: Interface defines a set of operations which specify the responsibility of a class.
Collaboration: Collaboration defines interaction between elements.
Use case: Use case represents a set of actions performed by a system for a specific goal.
Component: Component describes physical part of a system.
Node: A node can be defined as a physical element that exists at run time.
A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral things:
Interaction: Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.
State machine: State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change.
Object Modeling Technique (OMT) is real world based modeling approach for software modeling and designing. It was developed basically as a method to develop object-oriented systems and to support object-oriented programming. It describes the static structure of the system.
Object Modeling Technique is easy to draw and use. It is used in many applications like telecommunication, transportation, compilers etc. It is also used in many real world problems. OMT is one of the most popular object oriented development techniques used now-a-days. OMT was developed by James Rambaugh.
Purpose of Object Modeling Technique:
To test physical entity before construction of them.
To make communication easier with the customers.
To present information in an alternative way i.e. visualization.
To reduce the complexity of software.
To solve the real world problems.
Object Modeling Technique’s Models:
There are three main types of models that has been proposed by OMT.
Object Model:
Object Model encompasses the principles of abstraction, encapsulation, modularity, hierarchy, typing, concurrency and persistence. Object Model basically emphasizes on the object and class. Main concepts related with Object Model are classes and their association with attributes. Predefined relationships in object model are aggregation and generalization (multiple inheritance).
Dynamic Model:
Dynamic Model involves states, events and state diagram (transition diagram) on the model. Main concepts related with Dynamic Model are states, transition between states and events to trigger the transitions. Predefined relationships in object model are aggregation (concurrency) and generalization.
Functional Model:
Functional Model focuses on the how data is flowing, where data is stored and different processes. Main concepts involved in Functional Model are data, data flow, data store, process and actors. Functional Model in OMT describes the whole processes and actions with the help of data flow diagram (DFD).
Phases of Object Modeling Technique:
OMT has the following phases:
Analysis:
This the first phase of the object modeling technique. This phase involves the preparation of precise and correct modelling of the real world problems. Analysis phase starts with setting a goal i.e. finding the problem statement. Problem statement is further divided into above discussed three models i.e. object, dynamic and functional model.
System Design:
This is the second phase of the object modeling technique and it comes after the analysis phase. It determines all system architecture, concurrent tasks and data storage. High level architecture of the system is designed during this phase.
FOR MORE INFORMATION CLICK ON THE LINK BELOW :
https://uii.io/programming
This ppt covers the object modeling techniques. It has four topics: object model, dynamic model, functional model and the relationship between these models.
Unified Modeling Language (UML) is a modeling language, used for design. Designed based on OMG Standard, Object this helps to express and design documents, software. This is particularly useful for OO design. Here is a brief tutorial that talks about UML usage.
UML stands for Unified Modelling Language.
UML is a standard language for specifying, visualizing, constructing, and documenting a system in which software represents the most significant part.
UML is different from the other common programming languages like C++, Java, COBOL etc.
UML is a pictorial language used to make software blue prints.
UML can serve as a central notation for software development process. Using UML helps project teams communicate, explore potential designs, and validate the architectural designs of software.
UML diagrams are made using notation of things and relationships.
The building blocks of UML can be defined as:
Things
Relationships
Diagrams
Things: Things are the most important building blocks of UML. Things can be:
Structural
Behavioral
Grouping
Annotational
The Structural things define the static part of the model. They represent physical and conceptual elements. Following are the brief descriptions of the structural things.
Class: Class represents set of objects having similar responsibilities.
Interface: Interface defines a set of operations which specify the responsibility of a class.
Collaboration: Collaboration defines interaction between elements.
Use case: Use case represents a set of actions performed by a system for a specific goal.
Component: Component describes physical part of a system.
Node: A node can be defined as a physical element that exists at run time.
A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral things:
Interaction: Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.
State machine: State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change.
Object Modeling Technique (OMT) is real world based modeling approach for software modeling and designing. It was developed basically as a method to develop object-oriented systems and to support object-oriented programming. It describes the static structure of the system.
Object Modeling Technique is easy to draw and use. It is used in many applications like telecommunication, transportation, compilers etc. It is also used in many real world problems. OMT is one of the most popular object oriented development techniques used now-a-days. OMT was developed by James Rambaugh.
Purpose of Object Modeling Technique:
To test physical entity before construction of them.
To make communication easier with the customers.
To present information in an alternative way i.e. visualization.
To reduce the complexity of software.
To solve the real world problems.
Object Modeling Technique’s Models:
There are three main types of models that has been proposed by OMT.
Object Model:
Object Model encompasses the principles of abstraction, encapsulation, modularity, hierarchy, typing, concurrency and persistence. Object Model basically emphasizes on the object and class. Main concepts related with Object Model are classes and their association with attributes. Predefined relationships in object model are aggregation and generalization (multiple inheritance).
Dynamic Model:
Dynamic Model involves states, events and state diagram (transition diagram) on the model. Main concepts related with Dynamic Model are states, transition between states and events to trigger the transitions. Predefined relationships in object model are aggregation (concurrency) and generalization.
Functional Model:
Functional Model focuses on the how data is flowing, where data is stored and different processes. Main concepts involved in Functional Model are data, data flow, data store, process and actors. Functional Model in OMT describes the whole processes and actions with the help of data flow diagram (DFD).
Phases of Object Modeling Technique:
OMT has the following phases:
Analysis:
This the first phase of the object modeling technique. This phase involves the preparation of precise and correct modelling of the real world problems. Analysis phase starts with setting a goal i.e. finding the problem statement. Problem statement is further divided into above discussed three models i.e. object, dynamic and functional model.
System Design:
This is the second phase of the object modeling technique and it comes after the analysis phase. It determines all system architecture, concurrent tasks and data storage. High level architecture of the system is designed during this phase.
FOR MORE INFORMATION CLICK ON THE LINK BELOW :
https://uii.io/programming
This ppt covers the object modeling techniques. It has four topics: object model, dynamic model, functional model and the relationship between these models.
Unified Modeling Language (UML) is a modeling language, used for design. Designed based on OMG Standard, Object this helps to express and design documents, software. This is particularly useful for OO design. Here is a brief tutorial that talks about UML usage.
Course material from my Object-Oriented Development course. This presentation covers all the key concepts and terminology needed for success in object-oriented development.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
2. Objects and Classes
Object can be a concept, abstraction or
thing with crisp boundaries and meaning
for the problem at hand.
They promote understanding of the real
world and provide a practical basis for
computer implementations.
Amandeep S. Patti 2
3. Objects and Classes
A class describes a group of objects with
similar properties (attributes), common
behaviour (operations), common relations
to other objects and common semantics.
The objects in a class share a common
semantic purpose.
Amandeep S. Patti 3
4. Object Diagram
Object diagram provide a formal graphic
notation for modeling objects, classes and
their relationships to one another.
Object diagrams are useful both for
abstract modeling and for designing actual
programs.
Amandeep S. Patti 4
5. Object Diagram
There are two types of object diagrams.
A class diagram is a schema, pattern or
template for describing many possible
instances of data. A class diagram describes
object classes.
An instance diagram describes how a
particular set of objects relate to each other.
An instance diagram describes object
instances.
Amandeep S. Patti 5
6. Attributes
An attribute is a data value held by the objects in
a class.
Each attribute has a value for each object
instance.
Different object instances may have same or
different values for a given attribute.
Each attribute name is unique within a class.
An attribute should be a pure data value, not an
object.
Amandeep S. Patti 6
7. Operations and Methods
Operations
An operation is a function or transformation that
may be applied to or by objects in a class.
Each operation has a target object as an implicit
argument. The behaviour of the operation
depends on the class of its target.
The same operation may apply to many different
classes.
Amandeep S. Patti 7
8. Operations and Methods
A method is the implementation of the operation
for a class.
An operation may have arguments in addition to
its target object. Such arguments parameterize
the operation but do not affect the choice of
method.
The method depends only on the class of the
target object.
When an operation has methods on several
classes, it is important that the methods all have
the same signature.
Amandeep S. Patti 8
9. Notations for Class Diagram
Place the name of the
Class Name
class in the first
Attribute: Type = Value partition (centered,
bolded, & capitalized),
list the attributes in the
second partition, and
Operation(arg_List): return type
write operations into
the third.
Amandeep S. Patti 9
10. Links and Associations
Represent static relationship between
classes.
A link is a physical or conceptual
connection between object instances.
An association describes a group of links
with common structure and common
semantics.
Amandeep S. Patti 10
11. Links and Associations
All the links in an association connect
objects from the same classes.
Both often appear as verbs in a problem
statement.
Associations are inherently bi-directional.
Associations are often implemented in
programming languages as pointers from
one object to another.
Amandeep S. Patti 11
12. Links and Associations
1 No more than one Company
0..1 Zero or One 1
* Many
0..* Zero or Many 1..*
1..* One or Many Person
Amandeep S. Patti 12
13. Multiplicity
It specifies how many instances of one
class may relate to a single instance of an
associated class.
It constrains the number of related objects.
It is generally described as being “one” or
“many”, but it is a subset of non-negative
integers.
It depends on assumptions and how you
define the boundaries of a problem.
Amandeep S. Patti 13
14. Class Name
Multiplicity Attribute: Type = Value
Operation(arg_List): return type
* {Constraints} *
For example, one
company will have one or
more employees, but 1..* 1
each employee works for
Class Name
one company only. Attribute: Type = Value
Operation(arg_List): return type
Amandeep S. Patti 14
15. Link Attributes
A link attribute is a property of the links in
an association.
Accessible by
File User
Access permission
Amandeep S. Patti 15
16. Role Names
A role is an end of an association.
A binary association has two roles, each of which
may have a role name.
A role is a name that uniquely identifies one end
of an association.
Role names are necessary for associations
between two objects of same class.
Employee Employe
Person Works-for r Company
Amandeep S. Patti 16
17. Ordering
The ordering is an inherent part of the
association. An ordered set of objects on
the “many” end of an association is
indicated by writing “{ordered}” next to the
multiplicity dot for the role.
This is a special kind of constraint.
{Ordered}
Window Screen
Visible-on
Amandeep S. Patti 17
18. Qualification
A qualified association relates two classes
and a qualifier.
One to many and many to many
associations may be qualified.
The qualifier is a special attribute that
reduces the effective multiplicity of an
association.
Amandeep S. Patti 18
19. Qualification
The qualifier distinguishes among the set
of objects at the many end of an
association.
A qualified association can also be
considered as ternary association.
Directory File File
name
Amandeep S. Patti 19
20. Aggregation
Aggregation is the “part-whole” or “a-part-of”
relationship in which objects representing the
components of something are associated with
an object representing the entire assembly.
The aggregate is semantically an extended
object that is treated as a unit in many
operations, although physically it is made of
several objects.
Amandeep S. Patti 20
21. Aggregation
Aggregation is inherently transitive; An
aggregate has parts, which may in turn
have parts.
Many aggregate operations operate on
both direct and indirect parts.
Aggregation can be fixed, variable or
recursive.
Amandeep S. Patti 21
22. Types of Aggregation
A fixed aggregate has a fixed structure; The
types and number of subparts are predefined.
A variable aggregate has a finite number of
levels, but the number of parts may vary.
A recursive aggregate contains directly or
indirectly, an instance of the same kind of
aggregate; the no. of potential levels is
unlimited.
Amandeep S. Patti 22
23. Propagation of Operations
Propagation is the automatic application of an
operation to a network of objects when the
operation is applied to some starting object.
The propagation behaviour is bound to an
association, direction and operation.
Propagation is indicated on object models with a
small arrow & operation name next to the
affected association. The arrow indicates the
direction of propagation.
Amandeep S. Patti 23
24. Generalization
It is the relationship between a class and
one or more refined versions of it. The
class being refined is called the superclass
and each refined version is called
subclass.
It is sometimes called the “is-a” relationship
because each instance of a subclass is an
instance of superclass as well.
Amandeep S. Patti 24
25. Generalization
The notation for generalization is a triangle
connecting a superclass to its subclasses.
The superclass is connected by a line to
the apex of the triangle and the subclasses
are connected by the line to a horizontal
bar attached to the base of the triangle.
Amandeep S. Patti 25
26. Generalization Figure
Color
Center position
“Dimensionality” is Move
discriminator. select
It is an attribute of
enumeration type that dimensionality
indicates which property
One Dim Two Dim
of an object is being
Orientation Orientation
abstracted by a
Fill type
particular generalization
Scale Scale
relationship.
fill
Amandeep S. Patti 26
27. Generalization, Inheritance and
Specialization
Generalization is used to refer to the
relationship among classes, while inheritance
refers to the mechanism of sharing attributes
and operations using the generalization
relationship.
Generalization and specialization are two
different viewpoints of the same relationship,
viewed from superclass or from the subclass.
Amandeep S. Patti 27
28. Aggregation V/s Generalization
Aggregation relates instances. Two distinct
objects are involved; One of them is part of
other whereas generalization relates
classes and is a way of structuring the
description of a single object. Both super
class and subclass refer to properties of a
single object.
Amandeep S. Patti 28
29. Aggregation V/s Generalization
An aggregation tree is composed of object
instances that are all part of a composite
object; A generalization tree is composed
of classes that describe an object.
Aggregation is often called “a-part-of”
relationship (sometime called “and-relationship”);
Generalization is often called “a-kind of” or
“is-a” relationship (sometime called “or-
relationship”).
Amandeep S. Patti 29
30. Aggregation v/s Association
Aggregation is a special form of association,
not an independent concept.
Aggregation adds semantic connotations in
certain cases. If two objects are tightly
bound by a part-whole relationship, it is an
aggregation.
If two objects are independent, and they are
linked, it is an association.
Amandeep S. Patti 30
31. Abstract class
An incomplete superclass that defines common
features to several classes.
Not instantiated.
Frequently used to define methods to be
inherited by subclasses.
It can define the protocol for an operation
(abstract operation) without supplying a
corresponding method, for which each subclass
must provide its own implementation.
Amandeep S. Patti 31
32. Concrete class
Is a complete class.
Describes a concept completely.
Is intended to be instantiated.
It may have abstract subclasses (but they in
turn must have concrete descendants).
Only concrete classes may be leaf classes
in the inheritance tree.
Amandeep S. Patti 32
33. Generalization as Extension and
Restriction
In generalization, an instance of a class is an
instance of the class. Therefore all ancestor class
features must apply to the subclass instances. A
descendent class cannot omit or suppress an
ancestor attribute because then it could not truly be
an ancestor instance. Similarly operations on an
ancestor class must apply to all descendent classes.
A subclass may re-implement an operation for
reasons of efficiency but cannot change the external
protocol.
Adding features is called Extension.
Constraining ancestor attributes is called Restriction.
Amandeep S. Patti 33
34. Overriding Operations
The mechanism by which a child class can
provide an alternative implementation of a
method currently provided by a parent class.
Overriding for extension: the new operation is the
same as the inherited operation, except it adds
some behaviour, usually affecting new attributes
of the subclass.
Overriding for restriction: The new operation
restricts the protocol, such as tightening the
types of arguments.
Amandeep S. Patti 34
35. Overriding Operations
Overriding for optimization: An implementation
can take advantage of the constraints imposed
by a restriction to improve the code for an
operation, and it is valid use of overriding.
Overriding for convenience: A common practice
in developing new classes is to look for a class
similar to what is desired. The new class is made
a subclass of the existing class and overrides the
methods that are inconvenient. This ad hoc use
of inheritance is semantically wrong.
Amandeep S. Patti 35
36. Multiple Inheritance
A class may inherits features from more than one
superclass. Such class is called a join class.
A feature from the same ancestor class found
along more than one path is inherited only once.
The advantage of multiple inheritance is greater
power in specifying classes and an increased
opportunity for reuse. It brings object modeling
closer to the way people thinks.
The disadvantage is a loss of conceptual and
implementation simplicity.
Amandeep S. Patti 36
38. Workarounds
Employee
Employee
Pension
Pay Status
Pension Status
Hourly Salaried Exempt Vested Unvested
Employee Employee Employee Employee Employee
Multiple Inheritance using inheritance & delegation
Amandeep S. Patti 38
39. Metadata
Data about data.
Models are inherently metadata.
Parts catalogs, blue-prints, dictionaries etc.
Patterns and Metadata
Amandeep S. Patti 39
40. Constraints
Constraints are functional relationships between
entities of an object model. The term entity
includes objects, classes, attributes, links and
associations.
A constraint restricts the values that entities can
assume.
A good object model captures many constraints
through its structure.
Object modeling notation for constraints is as follows: Constraints are
delimited by braces and positioned near the constrained entity. A
dotted line connects multiple constrained entities.
Amandeep S. Patti 40
41. Constraints
Employe Window
e Length
Salary width
{Salary <= boss.Salary} {length > width}
Constraints on
objects
{ordered}
Country Office Person
Constraints on association
links
Amandeep S. Patti 41
42. Derived Objects, Links and Attributes
A derived object is defined as a function of
one or more objects, which in turn may be
derived.
The notation for derived entity is a slash or
diagonal line (on the corner of a class box, or
an association line, or in front of an attribute).
Machine Assembly Part
offset offset Offset
Amandeep S. Patti 42
43. Homomorphism
Maps Contains
Contains
CatalogItem Item
Model number Serial number
Describes
{Item1 contains item2 => item1.model contains item2.model}
Homomorphism for a parts
catalog
Amandeep S. Patti 43