SlideShare ist ein Scribd-Unternehmen logo
1 von 47
OBJECT OREINTED ANALYSIS & DESIGN
(OOAD)
 COURSE OBJECTIVES:
 The focus of this course is on design rather than implementation.
 Introducing the Unified Process and showing how UML can be used within the process.
 Case study experience with architecture, analysis, and design.
 Programmatic interactions using UML diagrams and OOP.
 COURSE OUTCOMES:
 Understand the concepts of object-oriented modeling.
 Apply qualitative knowledge and techniques to develop use case diagrams.
 Create class diagrams that model both the domain model and design model of a software
system.
 Create interaction diagrams that model the dynamic aspects of a software system.
 Design a logical architecture in terms of layers and partitions with the Layers pattern
with case study.
UNIT – 1
INTRODUCTION TO OOAD
 CONTENTS:
 Introduction to OOAD
 Importance of Modeling,
 Principles of Modeling,
 Object Oriented Modeling,
 Conceptual Model of the Unified Modeling Language (UML),
 Architecture of OOAD / UML, &
 Software Development Life Cycle (SDLC).
 Introduction to Iterative Development and the Unified Process
 Case Study --- The Next Gen POS System
 Architectural Layers and Case Study Emphasis.
INTRODUCTION TO OOAD
 HISTORY OF OOAD:
‱ Object-Oriented Analysis and Design (OOAD) is a technical approach for analyzing and designing an
application, system, or business by applying object-oriented programming, as well as using visual modeling
throughout the software development process to guide stakeholder communication and product quality.
‱ OOAD in modern software engineering is typically conducted in an iterative and incremental way. The
outputs of OOAD activities are analysis models (for OOA) and design models (for OOD) respectively. The
intention is for these to be continuously refined and evolved, driven by key factors like risks and business
value.-
‱ In the early days of object-oriented technology before the mid-1990’s, there were many different competing
methodologies for software development and object-oriented modeling, often tied to specific Computer
Aided Software Engineering (CASE) tool vendors, and there were No Standard Notations, Consistent Terms,
& Process Guides that degraded the communication efficiency & lengthened the learning curves.
‱ Some of the well-known early object-oriented methodologies were from and inspired by gurus such as
Grady Booch, James Rumbaugh, Ivar Jacobson (the Three Amigos), Robert Martin, Peter Coad, Sally
Shlaer, Stephen Mellor, and Rebecca Wirfs-Brock.
‱ In 1994, the Three Amigos of Rational Software started working together to develop the Unified Modeling
Language (UML). Later, together with Philippe Kruchten and Walker Royce (eldest son of Winston Royce),
they have led a successful mission to merge their own methodologies, OMT, OOSE and Booch method, with
various insights and experiences from other industry leaders into the Rational Unified Process (RUP), a
comprehensive iterative and incremental process guide and framework for learning industry best practices
of software development and project management. Since then, the Unified Process family has become
probably the most popular methodology and reference model for object-oriented analysis and design.
INTRODUCTION TO OOAD
 OOAD Basics:
‱ A Software Development Methodology is a series of processes that leads to the development of an application like:
1. Planning / Requirements Gathering,
2. System Analysis,
3. Modeling,
4. Design,
5. Implementation,
6. Testing, and
7. Maintenance & Deployment.
‱ Mainly, there are two orthogonal views of software development like:
1. Traditional Technique – focuses on data and functions.
2. Object Oriented Methodologies – focuses on objects that combines data and functionality.
‱ Object Oriented Systems Development develop software by building objects that can be easily replaced, modified, and
reused. Objects has attribute (data) and methods (functions). The Object Oriented Systems in the software development are:
1. Easier to adapt to changes,
2. Easier to maintain,
3. Promote greater design and code reuse, and
4. Creates modules of functionality.
INTRODUCTION TO OOAD
 What is OOAD???  OOAD can be defined as OOA, OOD, & OOM.
1. Object Oriented Analysis (OOA):
 Analysis is the process of investigation of the problem and the requirements than finding its solution.
 Analysis is classified as:
1. Requirement Analysis, and
2. Object Oriented Analysis.
 In Object Oriented Analysis finding and describing the objects or concepts in the problem domain is done.
 Let us consider an Example like:
‱ In flight information system, during analysis the concepts identified are:
 Plane,
 Flight, &
 Pilot.
2. Object Oriented Design (OOD):
 Design is the process of finding a conceptual solution that fulfills the requirements than implementing it.
 Design is classified into:
1. Database Design, and
2. Object Oriented Design.
INTRODUCTION TO OOAD
 In Object Oriented Design, software objects are defined and collaborated to fulfill the requirements.
 Let us consider an Example like:
‱ In flight information system, the plane is a software object having:
 Attribute - TailNumber, &
 Method - getFlightHistory.
 Finally, to summarize the words Analysis & Design in OOAD as “DO THE RIGHT THING” & “DO THE
THING RIGHT”.
 The representation of Objects in OOAD from above example can be defined as:
INTRODUCTION TO OOAD
 EXAMPLE:
‱ In general, the Key Steps in the Analysis & Design include:
‱ Define Use Cases,
‱ Define Domain Model,
‱ Define Interaction Diagrams, and
‱ Define Design Class Diagrams.
1. Define Use Cases:
‱ Requirement Analysis consists of use cases scenarios of how people use the application.
‱ In the dice game, the use cases include:
Play a Dice game
Player rolls dice
System gives results
Player wins if dice value totals seven
Otherwise loses
INTRODUCTION TO OOAD
2. Define a Domain Model:
‱ Object Oriented Analysis describes the problem domain by identifying:
a. Concept,
b. Attributes, and
c. Associations.
‱ All these are represented in a domain model.
‱ The concepts, attributes, and associations of the dice game are represented as:
INTRODUCTION TO OOAD
3. Define Interaction Diagrams:
‱ In Object Oriented Design, software objects are defined with their responsibilities and collaborations.
‱ Sequence diagram is used to represent the collaborations.
‱ It is the flow of messages between software objects.
‱ For Example: In a dice game, the player rolls the dice in real world.
‱ But in Software Design, it is illustrated as die object shown in the following sequence diagram:
INTRODUCTION TO OOAD
4. Define Design Class Diagram:
‱ In the Interaction Diagram (Sequence Diagram) the dynamic view of collaborating objects is shown.
‱ The static view of the classes can be shown with Class Diagram.
‱ For Example: The class diagram for the above sequence diagram of the dice game can be shown as:
 Here Dice game has play method. Dice has roll and getFaceValue methods.
 Now, let’s go through the Modeling in detail with the following:
 Importance of Modeling,
 Principles of Modeling,
 Object – Oriented Modeling, and
 Conceptual Model of UML.
INTRODUCTION TO OOAD
1. IMPORTANCE OF MODELING:
‱ Why do we model?
 A model is a simplification at some level of abstraction.
‱ We build models to better understand the systems we are developing:
 To help us “To Visualize” the system,
 To specify the “Structure or Behavior” of the system,
 To provide the “Template” for building a system, and
 To “Document” the decisions that we have made.
2. PRINCIPLES OF MODELING:
 The models we choose have a profound influence on the solution we provide.
 Every model may be expressed at different levels of abstraction.
 The best models are connected to reality.
 No single model is sufficient, a set of models is needed to solve any non-trivial system.
 UML is a Unified / Visual Modeling Language,
 “A picture is worth of a thousand words.” - old saying, i.e., the “UML” is a “A Language provides a
Vocabulary and the Rules for combining words for the purpose of Communication”.
INTRODUCING THE UML
 A Modeling Language is a Language whose vocabulary and Rules focus on the conceptual and physical
representation of a system. A Modeling Language such as the UML is thus a standard language for
software blueprints”.
 USAGES of UML:
‱ UML is used in the course to:
a. Document Designs: used to design patterns / frameworks,
b. Represent Different Views / Aspects of Design: used to visualize and construct designs as static /
dynamic / deployment / modular aspects, and
c. Provide a Next-to-precise, Common, & Language-Specify Visually: used for the benefit of analysis,
discussion, & comprehension.
d. Abstraction takes Precedence over Precision:
 Uses 20/80 rule, &
 Aims to overview & comprehension, not execution.
3. OBJECT ORIENTED MODELING:
‱ Traditionally, there are ‘two’ approaches to modeling a software system as:
a. Algorithmically: becomes hard to focus on as the requirements change, and
b. Object-Oriented –Models: more closely in use of real world entities.
 CONCEPTUAL MODEL OF UML:
‱ The Conceptual Model of UML in it’s simplest way can be depicted as:
INTRODUCING THE UML
 To understand the UML, we need to form a Conceptual Model of the Language, and this requires
learning “three” major elements like:
1. The UML's basic Building Blocks,
2. The Rules that dictate how those Building Blocks may be put together, and
3. Some Common Mechanisms that apply throughout the UML.
 Once you have grasped these ideas, you will be able to read UML Models and create some basic
ones. As you gain more experience in applying the UML, you can build on this Conceptual Model,
using more advanced features of the language.
1. BUILDING BLOCKS OF THE UML:
‱ The vocabulary of the UML encompasses “three” kinds of Building Blocks:
A. Things,
B. Relationships, and
C. Diagrams.
‱ Things are the abstractions that are first-class citizens in a model;
‱ Relationships tie these things together; and
‱ Diagrams groups the interesting collections of things.
INTRODUCING THE UML
A. THINGS IN THE UML:
‱ There are “four” kinds of Things in the UML like:
i. Structural Things,
ii. Behavioral Things,
iii. Grouping Things, and
iv. Annotational Things.
‱ These Things are the basic Object-Oriented Building Blocks of the UML. We use them to
write well-formed models.
i. STRUCTURAL THINGS:
 Structural Things are the Nouns of UML models. These are the mostly static parts of a model,
representing elements that are either conceptual or physical. Collectively, the Structural Things are
called as “Classifiers”.
 These Classifiers / Structural Things are classified into ‘8’ types like:
1. A “Class” is a description of a set of objects that share the same attributes, operations,
relationships, and semantics.
 A class implements one or more interfaces. Graphically, a ‘class’ is rendered as a rectangle,
usually including its name, attributes, and operations, as shown in below figure as “Classes”:
INTRODUCING THE UML
2. An “interface” is a collection of operations that specify a service of a class or component. It
therefore, describes the externally visible behavior of that element.
 An interface might represent the complete behavior of a class or component or only a part of that
behavior.
 An interface defines a set of operation specifications (that is, their signatures) but never a set of
operation implementations.
 Graphically, an ‘interface’ provided by a class to the outside world is shown as a small circle
attached to the class box by a line, and
 Also, an ‘interface’ required by a class from some other class is shown as a small semicircle attached
to the class box by a line, as shown in above figure.
INTRODUCING THE UML
3. A “collaboration” defines an interaction and is a society of roles and other elements that work
together to provide some cooperative behavior that's bigger than the sum of all the elements.
 Collaborations have structural, as well as behavioral, dimensions.
 A given class or object might participate in several collaborations. These collaborations therefore
represent the implementation of patterns that make up a system.
 Graphically, a ‘collaboration’ is rendered as an ellipse with dashed lines, sometimes including only its
name, as shown in below figure as “Collaborations”:
4. A “use case” is a description of sequences of actions that a system performs that yield
observable results of value to a particular actor.
 A use case is used to structure the behavioral things in a model.
 A use case is realized by a collaboration.
 Graphically, a ‘use case’ is rendered as an ellipse with solid lines, usually including only its name,
as shown in above figure as “Use cases”:
INTRODUCING THE UML
 The remaining three structural things like: Active Classes, Components, and Nodes are all class-
like, meaning they also describe sets of entities that share the same attributes, operations,
relationships, & semantics, and these three are different enough.
5. An “active class” is a class whose objects own one or more processes or threads and therefore can
initiate control activity.
 An active class is just like a class except that its objects represent elements whose behavior is concurrent
with other elements.
 Graphically, an ‘active class’ is rendered as a class with double lines on the left and right; it usually
includes its name, attributes, and operations, as shown in below figure as “Active Classes”:
INTRODUCING THE UML
6. A “component” is a modular part of the system design that hides its implementation behind a set of
external interfaces.
 Within a system, components sharing the same interfaces can be substituted while preserving the same
logical behavior.
 The implementation of a component can be expressed by wiring together parts and connectors; the parts can
include smaller components.
 Graphically, a ‘component’ is rendered like a class with a special icon in the upper right corner, as shown in
above figure as “Components”:
 The remaining two elements artifacts and nodes are also different. They represent physical things,
whereas the previous five / six things represent conceptual or logical things.
7. An “artifact” is a physical and replaceable part of a system that contains physical information called
as "bits".
 In a system, you'll encounter different kinds of deployment artifacts, such as source code files, executables,
and scripts.
 An artifact typically represents the physical packaging of source or run-time information.
 Graphically, an ‘artifact’ is rendered as a rectangle with the keyword «artifact» above the name, as shown in
below figure as “Artifacts”:
INTRODUCING THE UML
8. A “node” is a physical element that exists at run time and represents a computational resource,
generally having at least some memory and, often, processing capability.
 A set of components may reside on a node and may also migrate from node to node.
 Graphically, a ‘node’ is rendered as a cube, usually including only its name, as shown in above figure as
“Nodes”:
 These “eight” elements like classes, interfaces, collaborations, use cases, active classes, components,
artifacts, and nodes are the basic structural things that you may include in a UML model.
 There are also variations on these, such as actors, signals, and utilities (kinds of classes); processes
and threads (kinds of active classes); and applications, documents, files, libraries, pages, and tables
(kinds of artifacts).
INTRODUCING THE UML
ii. BEHAVIORAL THINGS:
 Behavioral Things are the Verbs of UML models. These are the mostly dynamic parts of a
model, representing behavior over time & space.
 The Behavioral Things are classified into ‘3’ types like:
1. First an “Interaction” is a behavior that comprises a set of messages exchanged among a set
of objects or roles within a particular context to accomplish a specific purpose.
 The behavior of a society of objects or of an individual operation may be specified with an
interaction.
 An interaction involves a number of other elements, including messages, actions, and connectors
(the connection between objects).
 Graphically, a ‘message’ is rendered as a directed line, shown in below figure as “Messages”:
2. Second, a “State Machine” is a behavior that specifies the sequences of states an object or
an interaction goes through during its lifetime in response to events, together with its
responses to those events.
 The behavior of an individual class or a collaboration of classes may be specified with a state
machine.
 A state machine involves a number of other elements, including states, transitions (the flow from
state to state), events (things that trigger a transition), and activities (the response to a transition).
 Graphically, a ‘state’ is rendered as a rounded rectangle, usually including its name and its
substates, if any, as shown in below figure as “States”:
INTRODUCING THE UML
3. Third an “Activity” is a behavior that specifies the sequence of steps a computational
process performs.
 In an interaction, the focus is on the set of objects that interact, whereas in a state machine, the
focus is on the life cycle of one object at a time, and in an activity, the focus is on the flows among
steps without regard to which object performs each step. A step of an activity is called an “action”.
 Graphically, an ‘action’ is rendered as a rounded rectangle with a name indicating its purpose, as
shown in above figure as “Actions”. The States and actions are distinguished by their different
contexts.
 These “three” elements like interactions, state machines, and activities are the basic behavioral
things that you may include in a UML model. Semantically, these elements are usually connected
to various structural elements like, primarily classes, collaborations, and objects.
INTRODUCING THE UML
iii. GROUPING THINGS:
 Grouping Things are the organizational parts of UML models. These are the boxes into which
a model can be decomposed. The Grouping Thing is primarily of ‘1’ kind namely “Packages”.
1. A “Package” is a general-purpose mechanism for organizing the design itself, as opposed to
classes, which organize implementation constructs.
 Structural things, behavioral things, and even other grouping things may be placed in a package.
 Unlike components (which exist at run time), a package is purely conceptual (meaning that it exists
only at development time).
 Graphically, a ‘package’ is rendered as a tabbed folder, usually including only its name and,
sometimes, its contents, as shown in below figure as “Packages”:
INTRODUCING THE UML
 Packages are the basic grouping things with which you may organize a UML model. There are
also variations, such as frameworks, models, and subsystems (kinds of packages).
iv. ANNOTATIONAL THINGS:
Annotational Things are the explanatory parts of UML models. These are the comments
you may apply to describe, illuminate, and remark about any element in a model. The
Annotational Thing is also primarily of ‘1’ kind called as “Note”.
1. A “Note” is a simply a symbol for rendering constraints and comments attached to an
element or a collection of elements.
 Graphically, a ‘note’ is rendered as a rectangle with a dog-eared corner, together with a
textual or graphical comment, as shown in above figure as “Notes”.
 This element is the one basic Annotational Thing you may include in a UML model. You'll
typically use ‘notes’ to adorn your diagrams with constraints or comments that are best
expressed in informal or formal text. There are also variations on this element, such as
requirements (which specify some desired behavior from the perspective of outside the model).
B. RELATIONSHIPS IN THE UML:
‱ There are “four” kinds of Relationships in the UML like:
i. Dependency,
ii. Association,
iii. Generalization, and
iv. Realization.
INTRODUCING THE UML
 These Relationships are the basic relational Building Blocks of the UML. We use them to write
well-formed models.
1. First, a “Dependency” is a semantic relationship between two model elements in which a
change to one element (the independent one) may affect the semantics of the other element
(the dependent one).
 Graphically, a ‘dependency’ is rendered as a dashed line, possibly directed, and occasionally
including a label, as shown in below figure as “Dependencies”.
2. Second, an “Association” is a structural relationship among classes that describes a set of
links, a link being a connection among objects that are instances of the classes.
 Aggregation is a special kind of association, representing a structural relationship between a whole
and its parts.
 Graphically, an association is rendered as a solid line, possibly directed, occasionally including a
label, and often containing other adornments, such as multiplicity and end names, as shown in
below figure as “Associations”.
3. Third, a “Generalization” is a specialization/generalization relationship in which the
specialized element (the child) builds on the specification of the generalized element (the
parent).
 The child shares the structure and the behavior of the parent.
 Graphically, a generalization relationship is rendered as a solid line with a hollow arrowhead
pointing to the parent, as shown in below figure as “Generalizations”.
INTRODUCING THE UML
4. Fourth, a “realization” is a semantic relationship between classifiers, wherein one classifier
specifies a contract that another classifier guarantees to carry out.
 We'll encounter realization relationships in two places: between interfaces and the classes or
components that realize them, and between use cases and the collaborations that realize them.
 Graphically, a ‘realization’ relationship is rendered as a cross between a generalization and a
dependency relationship, as shown in above figure as “Realizations”.
 These “four” elements are the basic relational things you may include in a UML model. There are
also variations on these ‘four’, such as refinement, trace, include, and extend.
INTRODUCING THE UML
C. DIAGRAMS IN THE UML:
 A “Diagram” is the graphical presentation of a set of elements, most often rendered as a
connected graph of vertices (things) and paths (relationships).
 We draw diagrams to visualize a system from different perspectives, so a diagram is a projection
into a system. For all but the most trivial systems, a diagram represents an elided view of the
elements that make up a system.
 The same element may appear in all diagrams, only a few diagrams (the most common case), or in
no diagrams at all (a very rare case).
 In theory, a diagram may contain any combination of things and relationships. In practice,
however, a small number of common combinations arise, which are consistent with the five most
useful views that comprise the architecture of a software-intensive system.
 For this reason, the UML includes “thirteen” kinds of Diagrams like:
i. Class Diagram,
ii. Object Diagram,
iii. Component Diagram,
iv. Composite Structure Diagram,
INTRODUCING THE UML
v. Use case Diagram,
vi. Sequence Diagram,
vii. Communication Diagram,
viii.State Diagram.
ix. Activity Diagram,
x. Deployment Diagram,
xi. Package Diagram,
xii. Timing, and
xiii.Interaction Overview Diagram.
1) A “class diagram” shows a set of classes, interfaces, and collaborations and their relationships.
 These diagrams are the most common diagram found in modeling object-oriented systems.
 Class diagrams address the static design view of a system.
 Class diagrams that include active classes address the static process view of a system.
 Component diagrams are variants of class diagrams.
INTRODUCING THE UML
2) An “object diagram” shows a set of objects and their relationships.
 Object diagrams represent static snapshots of instances of the things found in class diagrams.
 These diagrams address the static design view or static process view of a system as do class
diagrams, but from the perspective of real or prototypical cases.
3) A “component diagram” is shows an encapsulated class and its interfaces, ports, and internal
structure consisting of nested components and connectors.
 Component diagrams address the static design implementation view of a system.
 They are important for building large systems from smaller parts.
 The UML distinguishes a composite structure diagram, applicable to any class, from a
component diagram, but we combine the discussion because the distinction between a component
and a structured class is unnecessarily subtle.
4) A “use case diagram” shows a set of use cases and actors (a special kind of class) and their
relationships.
 Use case diagrams address the static use case view of a system.
 These diagrams are especially important in organizing and modeling the behaviors of a system.
INTRODUCING THE UML
5) Both ‘sequence diagrams’ and ‘communication diagrams’ are kinds of “interaction diagrams”. An
“interaction diagram” shows an interaction, consisting of a set of objects or roles, including the
messages that may be dispatched among them.
 Interaction diagrams address the dynamic view of a system.
 A “sequence diagram” is an interaction diagram that emphasizes the time-ordering of messages;
whereas a “communication diagram” is an interaction diagram that emphasizes the structural
organization of the objects or roles that send and receive messages.
 Sequence diagrams and communication diagrams represent similar basic concepts, but each
diagram emphasizes a different view of the concepts.
 Sequence diagrams emphasize temporal ordering, and communication diagrams emphasize the
data structure through which messages flow.
 A timing diagram (not covered in this book) shows the actual times at which messages are
exchanged.
6) A “state diagram” shows a state machine, consisting of states, transitions, events, and activities.
 A state diagrams shows the dynamic view of an object.
 They are especially important in modeling the behavior of an interface, class, or collaboration
and emphasize the event-ordered behavior of an object, which is especially useful in modeling
reactive systems.
INTRODUCING THE UML
7) An “activity diagram” shows the structure of a process or other computation as the flow of control
and data from step to step within the computation.
 Activity diagrams address the dynamic view of a system.
 They are especially important in modeling the function of a system and emphasize the flow of
control among objects.
8) A “deployment diagram” shows the configuration of run-time processing nodes and the components
that live on them.
 Deployment diagrams address the static deployment view of an architecture.
 A node typically hosts one or more artifacts.
9) An “artifact diagram” shows the physical constituents of a system on the computer.
 Artifacts include files, databases, and similar physical collections of bits.
 Artifacts are often used in conjunction with deployment diagrams.
 Artifacts also show the classes and components that they implement.
 UML treats artifact diagrams as a variety of deployment diagram, but we discuss them
separately.
INTRODUCING THE UML
10) A “package diagram” shows the decomposition of the model itself into organization units and their
dependencies.
11) A “timing diagram” is an interaction diagram that shows actual times across different objects or
roles, as opposed to just relative sequences of messages.
12) An “interaction overview diagram” is a hybrid of an activity diagram and a sequence diagram.
 These diagrams have specialized uses and so are not discussed in this book. See the UML
Reference Manual for more details.
 This is not a closed list of diagrams. Tools may use the UML to provide other kinds of diagrams,
although these are the most common ones that you will encounter in practice.
2. RULES OF THE UML:
 The UML's Building Blocks can't simply be thrown together in a random fashion.
 Like any language, the UML has a number of rules that specify what a well-formed model should
look like.
 A well-formed model is one that is semantically self-consistent and in harmony (a well defined
process supporting the user guide provides a step-by-step process to system engineer in Model-Driven
Development (MDD)) with all its related models.
 The UML has syntactic and semantic rules for the following terms:
INTRODUCING THE UML
a. Names: What you can call things, relationships, and diagrams,
b. Scope: The context that gives specific meaning to a name,
c. Visibility: How those names can be seen and used by others,
d. Integrity: How things properly and consistently relate to one another, and
e. Execution: What it means to run or simulate a dynamic model.
 Models built during the development of a software-intensive system tend to evolve and may be
viewed by many stakeholders in different ways and at different times. For this reason, it is common
for the development team to not only build models that are well-formed, but also to build models that
are:
a. Elided: Certain elements are hidden to simplify the view,
b. Incomplete: Certain elements may be missing, and
c. Inconsistent: The integrity of the model is not guaranteed.
 These less-than-well-formed models are unavoidable as the details of a system unfold and churn
during the software development life cycle. The rules of the UML encourage you but do not force you
to address the most important analysis, design, and implementation questions that push such models
to become well-formed over time.
INTRODUCING THE UML
3. COMMON MECHANISMS IN THE UML:
 A building is made simpler and more harmonious by the conformance to a pattern of common
features. A house may be built in the Victorian or French country style largely by using certain
architectural patterns that define those styles. The same is true of the UML. It is made simpler by
the presence of “four” common mechanisms that apply consistently throughout the language like:
1) Specifications,
2) Adornments,
3) Common divisions, and
4) Extensibility mechanisms.
1) Specifications:
 In UML, behind each graphical notation, there is a textual statement denoting the syntax and semantics.
These are the specifications.
 The specifications provide a semantic backplane that contains all the parts of all the models of a system and
the relationships among the different paths, that each part related to one another in consistent fashion.
2) Adornments:
 Each element in UML has a unique graphical notation. Besides, there are notations to represent the
important aspects of an element like name, scope, and visibility, etc.
INTRODUCING THE UML
3) Common Divisions:
 Object-Oriented Systems can be divided in many ways. The “two” common ways of division are:
a. Division of Classes and Objects: A Class is an abstraction of a group of similar objects. An Object is the
concrete instance that has actual existence in the system.
b. Division of Interface and Implementation: An Interface defines the rules for interaction, whereas the
Implementation is the concrete realization of the rules defined in the interface.
4) Extensibility Mechanisms:
 UML is an open-ended language. It is possible to extend the capabilities of UML in a controlled
manner to suit the requirements of a system. The extensibility mechanisms are of “3” kinds:
a. Stereotypes:
 It extends the vocabulary of the UML, through which new building blocks can be created out of
existing ones, but that are specific to your problem.
b. Tagged Values:
 It extends the properties of UML Building Blocks, allowing you to create new information in that
element’s specification.
c. Constraints:
 It extends the semantics of UML Building Blocks, allowing you to add new rules or modify existing
ones.
INTRODUCING THE UML
INTRODUCING THE UML
INTRODUCING THE UML
INTRODUCING THE UML
INTRODUCING THE UML
INTRODUCING THE UML
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx

Weitere Àhnliche Inhalte

Was ist angesagt?

Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Hierarchical Object Oriented Design
Hierarchical Object Oriented DesignHierarchical Object Oriented Design
Hierarchical Object Oriented Designsahibsahib
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)Manoj Reddy
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningABHISHEK KUMAR
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
1 introduction of OOAD
1 introduction of OOAD1 introduction of OOAD
1 introduction of OOADManish Chaurasia
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingRajesh Ganesan
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & DesignMeghaj Mallick
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Ramakant Soni
 
Synchronization hardware
Synchronization hardwareSynchronization hardware
Synchronization hardwareSaeram Butt
 

Was ist angesagt? (20)

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Hierarchical Object Oriented Design
Hierarchical Object Oriented DesignHierarchical Object Oriented Design
Hierarchical Object Oriented Design
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
1 introduction of OOAD
1 introduction of OOAD1 introduction of OOAD
1 introduction of OOAD
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Uml
UmlUml
Uml
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
Synchronization hardware
Synchronization hardwareSynchronization hardware
Synchronization hardware
 

Ähnlich wie Unit-1 OOAD Introduction.pptx

Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfGerard Alba
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioRickNZ
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
ooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptxooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptxubaidullah75790
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignRiazAhmad786
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overviewrmk_rrj
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdfanuj962198
 
Object oriented analysis & Design- Overview
Object oriented analysis & Design- OverviewObject oriented analysis & Design- Overview
Object oriented analysis & Design- Overviewrmk_rrj
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxDebabrataPain1
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and designnaveed428
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfRojaPogul1
 
Book of Uml
Book of UmlBook of Uml
Book of UmlNiit
 
Cs690 object oriented_software_engineering_team01_ report
Cs690 object oriented_software_engineering_team01_ reportCs690 object oriented_software_engineering_team01_ report
Cs690 object oriented_software_engineering_team01_ reportKhushboo Wadhwani
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented DatabaseMegan Espinoza
 
1 modeling concepts
1 modeling concepts1 modeling concepts
1 modeling conceptsMinal Maniar
 
oomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptoomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptPavan992098
 

Ähnlich wie Unit-1 OOAD Introduction.pptx (20)

Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdf
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
ooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptxooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptx
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Uml
UmlUml
Uml
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overview
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
Object oriented analysis & Design- Overview
Object oriented analysis & Design- OverviewObject oriented analysis & Design- Overview
Object oriented analysis & Design- Overview
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
 
5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
 
Cs690 object oriented_software_engineering_team01_ report
Cs690 object oriented_software_engineering_team01_ reportCs690 object oriented_software_engineering_team01_ report
Cs690 object oriented_software_engineering_team01_ report
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 
1 modeling concepts
1 modeling concepts1 modeling concepts
1 modeling concepts
 
oomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptoomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.ppt
 

KĂŒrzlich hochgeladen

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 

KĂŒrzlich hochgeladen (20)

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 

Unit-1 OOAD Introduction.pptx

  • 1. OBJECT OREINTED ANALYSIS & DESIGN (OOAD)  COURSE OBJECTIVES:  The focus of this course is on design rather than implementation.  Introducing the Unified Process and showing how UML can be used within the process.  Case study experience with architecture, analysis, and design.  Programmatic interactions using UML diagrams and OOP.  COURSE OUTCOMES:  Understand the concepts of object-oriented modeling.  Apply qualitative knowledge and techniques to develop use case diagrams.  Create class diagrams that model both the domain model and design model of a software system.  Create interaction diagrams that model the dynamic aspects of a software system.  Design a logical architecture in terms of layers and partitions with the Layers pattern with case study.
  • 2. UNIT – 1 INTRODUCTION TO OOAD  CONTENTS:  Introduction to OOAD  Importance of Modeling,  Principles of Modeling,  Object Oriented Modeling,  Conceptual Model of the Unified Modeling Language (UML),  Architecture of OOAD / UML, &  Software Development Life Cycle (SDLC).  Introduction to Iterative Development and the Unified Process  Case Study --- The Next Gen POS System  Architectural Layers and Case Study Emphasis.
  • 3. INTRODUCTION TO OOAD  HISTORY OF OOAD: ‱ Object-Oriented Analysis and Design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality. ‱ OOAD in modern software engineering is typically conducted in an iterative and incremental way. The outputs of OOAD activities are analysis models (for OOA) and design models (for OOD) respectively. The intention is for these to be continuously refined and evolved, driven by key factors like risks and business value.- ‱ In the early days of object-oriented technology before the mid-1990’s, there were many different competing methodologies for software development and object-oriented modeling, often tied to specific Computer Aided Software Engineering (CASE) tool vendors, and there were No Standard Notations, Consistent Terms, & Process Guides that degraded the communication efficiency & lengthened the learning curves. ‱ Some of the well-known early object-oriented methodologies were from and inspired by gurus such as Grady Booch, James Rumbaugh, Ivar Jacobson (the Three Amigos), Robert Martin, Peter Coad, Sally Shlaer, Stephen Mellor, and Rebecca Wirfs-Brock. ‱ In 1994, the Three Amigos of Rational Software started working together to develop the Unified Modeling Language (UML). Later, together with Philippe Kruchten and Walker Royce (eldest son of Winston Royce), they have led a successful mission to merge their own methodologies, OMT, OOSE and Booch method, with various insights and experiences from other industry leaders into the Rational Unified Process (RUP), a comprehensive iterative and incremental process guide and framework for learning industry best practices of software development and project management. Since then, the Unified Process family has become probably the most popular methodology and reference model for object-oriented analysis and design.
  • 4. INTRODUCTION TO OOAD  OOAD Basics: ‱ A Software Development Methodology is a series of processes that leads to the development of an application like: 1. Planning / Requirements Gathering, 2. System Analysis, 3. Modeling, 4. Design, 5. Implementation, 6. Testing, and 7. Maintenance & Deployment. ‱ Mainly, there are two orthogonal views of software development like: 1. Traditional Technique – focuses on data and functions. 2. Object Oriented Methodologies – focuses on objects that combines data and functionality. ‱ Object Oriented Systems Development develop software by building objects that can be easily replaced, modified, and reused. Objects has attribute (data) and methods (functions). The Object Oriented Systems in the software development are: 1. Easier to adapt to changes, 2. Easier to maintain, 3. Promote greater design and code reuse, and 4. Creates modules of functionality.
  • 5. INTRODUCTION TO OOAD  What is OOAD???  OOAD can be defined as OOA, OOD, & OOM. 1. Object Oriented Analysis (OOA):  Analysis is the process of investigation of the problem and the requirements than finding its solution.  Analysis is classified as: 1. Requirement Analysis, and 2. Object Oriented Analysis.  In Object Oriented Analysis finding and describing the objects or concepts in the problem domain is done.  Let us consider an Example like: ‱ In flight information system, during analysis the concepts identified are:  Plane,  Flight, &  Pilot. 2. Object Oriented Design (OOD):  Design is the process of finding a conceptual solution that fulfills the requirements than implementing it.  Design is classified into: 1. Database Design, and 2. Object Oriented Design.
  • 6. INTRODUCTION TO OOAD  In Object Oriented Design, software objects are defined and collaborated to fulfill the requirements.  Let us consider an Example like: ‱ In flight information system, the plane is a software object having:  Attribute - TailNumber, &  Method - getFlightHistory.  Finally, to summarize the words Analysis & Design in OOAD as “DO THE RIGHT THING” & “DO THE THING RIGHT”.  The representation of Objects in OOAD from above example can be defined as:
  • 7. INTRODUCTION TO OOAD  EXAMPLE: ‱ In general, the Key Steps in the Analysis & Design include: ‱ Define Use Cases, ‱ Define Domain Model, ‱ Define Interaction Diagrams, and ‱ Define Design Class Diagrams. 1. Define Use Cases: ‱ Requirement Analysis consists of use cases scenarios of how people use the application. ‱ In the dice game, the use cases include: Play a Dice game Player rolls dice System gives results Player wins if dice value totals seven Otherwise loses
  • 8. INTRODUCTION TO OOAD 2. Define a Domain Model: ‱ Object Oriented Analysis describes the problem domain by identifying: a. Concept, b. Attributes, and c. Associations. ‱ All these are represented in a domain model. ‱ The concepts, attributes, and associations of the dice game are represented as:
  • 9. INTRODUCTION TO OOAD 3. Define Interaction Diagrams: ‱ In Object Oriented Design, software objects are defined with their responsibilities and collaborations. ‱ Sequence diagram is used to represent the collaborations. ‱ It is the flow of messages between software objects. ‱ For Example: In a dice game, the player rolls the dice in real world. ‱ But in Software Design, it is illustrated as die object shown in the following sequence diagram:
  • 10. INTRODUCTION TO OOAD 4. Define Design Class Diagram: ‱ In the Interaction Diagram (Sequence Diagram) the dynamic view of collaborating objects is shown. ‱ The static view of the classes can be shown with Class Diagram. ‱ For Example: The class diagram for the above sequence diagram of the dice game can be shown as:  Here Dice game has play method. Dice has roll and getFaceValue methods.  Now, let’s go through the Modeling in detail with the following:  Importance of Modeling,  Principles of Modeling,  Object – Oriented Modeling, and  Conceptual Model of UML.
  • 11. INTRODUCTION TO OOAD 1. IMPORTANCE OF MODELING: ‱ Why do we model?  A model is a simplification at some level of abstraction. ‱ We build models to better understand the systems we are developing:  To help us “To Visualize” the system,  To specify the “Structure or Behavior” of the system,  To provide the “Template” for building a system, and  To “Document” the decisions that we have made. 2. PRINCIPLES OF MODELING:  The models we choose have a profound influence on the solution we provide.  Every model may be expressed at different levels of abstraction.  The best models are connected to reality.  No single model is sufficient, a set of models is needed to solve any non-trivial system.  UML is a Unified / Visual Modeling Language,  “A picture is worth of a thousand words.” - old saying, i.e., the “UML” is a “A Language provides a Vocabulary and the Rules for combining words for the purpose of Communication”.
  • 12. INTRODUCING THE UML  A Modeling Language is a Language whose vocabulary and Rules focus on the conceptual and physical representation of a system. A Modeling Language such as the UML is thus a standard language for software blueprints”.  USAGES of UML: ‱ UML is used in the course to: a. Document Designs: used to design patterns / frameworks, b. Represent Different Views / Aspects of Design: used to visualize and construct designs as static / dynamic / deployment / modular aspects, and c. Provide a Next-to-precise, Common, & Language-Specify Visually: used for the benefit of analysis, discussion, & comprehension. d. Abstraction takes Precedence over Precision:  Uses 20/80 rule, &  Aims to overview & comprehension, not execution. 3. OBJECT ORIENTED MODELING: ‱ Traditionally, there are ‘two’ approaches to modeling a software system as: a. Algorithmically: becomes hard to focus on as the requirements change, and b. Object-Oriented –Models: more closely in use of real world entities.
  • 13.  CONCEPTUAL MODEL OF UML: ‱ The Conceptual Model of UML in it’s simplest way can be depicted as:
  • 14. INTRODUCING THE UML  To understand the UML, we need to form a Conceptual Model of the Language, and this requires learning “three” major elements like: 1. The UML's basic Building Blocks, 2. The Rules that dictate how those Building Blocks may be put together, and 3. Some Common Mechanisms that apply throughout the UML.  Once you have grasped these ideas, you will be able to read UML Models and create some basic ones. As you gain more experience in applying the UML, you can build on this Conceptual Model, using more advanced features of the language. 1. BUILDING BLOCKS OF THE UML: ‱ The vocabulary of the UML encompasses “three” kinds of Building Blocks: A. Things, B. Relationships, and C. Diagrams. ‱ Things are the abstractions that are first-class citizens in a model; ‱ Relationships tie these things together; and ‱ Diagrams groups the interesting collections of things.
  • 15. INTRODUCING THE UML A. THINGS IN THE UML: ‱ There are “four” kinds of Things in the UML like: i. Structural Things, ii. Behavioral Things, iii. Grouping Things, and iv. Annotational Things. ‱ These Things are the basic Object-Oriented Building Blocks of the UML. We use them to write well-formed models. i. STRUCTURAL THINGS:  Structural Things are the Nouns of UML models. These are the mostly static parts of a model, representing elements that are either conceptual or physical. Collectively, the Structural Things are called as “Classifiers”.  These Classifiers / Structural Things are classified into ‘8’ types like: 1. A “Class” is a description of a set of objects that share the same attributes, operations, relationships, and semantics.  A class implements one or more interfaces. Graphically, a ‘class’ is rendered as a rectangle, usually including its name, attributes, and operations, as shown in below figure as “Classes”:
  • 16. INTRODUCING THE UML 2. An “interface” is a collection of operations that specify a service of a class or component. It therefore, describes the externally visible behavior of that element.  An interface might represent the complete behavior of a class or component or only a part of that behavior.  An interface defines a set of operation specifications (that is, their signatures) but never a set of operation implementations.  Graphically, an ‘interface’ provided by a class to the outside world is shown as a small circle attached to the class box by a line, and  Also, an ‘interface’ required by a class from some other class is shown as a small semicircle attached to the class box by a line, as shown in above figure.
  • 17. INTRODUCING THE UML 3. A “collaboration” defines an interaction and is a society of roles and other elements that work together to provide some cooperative behavior that's bigger than the sum of all the elements.  Collaborations have structural, as well as behavioral, dimensions.  A given class or object might participate in several collaborations. These collaborations therefore represent the implementation of patterns that make up a system.  Graphically, a ‘collaboration’ is rendered as an ellipse with dashed lines, sometimes including only its name, as shown in below figure as “Collaborations”: 4. A “use case” is a description of sequences of actions that a system performs that yield observable results of value to a particular actor.  A use case is used to structure the behavioral things in a model.  A use case is realized by a collaboration.  Graphically, a ‘use case’ is rendered as an ellipse with solid lines, usually including only its name, as shown in above figure as “Use cases”:
  • 18. INTRODUCING THE UML  The remaining three structural things like: Active Classes, Components, and Nodes are all class- like, meaning they also describe sets of entities that share the same attributes, operations, relationships, & semantics, and these three are different enough. 5. An “active class” is a class whose objects own one or more processes or threads and therefore can initiate control activity.  An active class is just like a class except that its objects represent elements whose behavior is concurrent with other elements.  Graphically, an ‘active class’ is rendered as a class with double lines on the left and right; it usually includes its name, attributes, and operations, as shown in below figure as “Active Classes”:
  • 19. INTRODUCING THE UML 6. A “component” is a modular part of the system design that hides its implementation behind a set of external interfaces.  Within a system, components sharing the same interfaces can be substituted while preserving the same logical behavior.  The implementation of a component can be expressed by wiring together parts and connectors; the parts can include smaller components.  Graphically, a ‘component’ is rendered like a class with a special icon in the upper right corner, as shown in above figure as “Components”:  The remaining two elements artifacts and nodes are also different. They represent physical things, whereas the previous five / six things represent conceptual or logical things. 7. An “artifact” is a physical and replaceable part of a system that contains physical information called as "bits".  In a system, you'll encounter different kinds of deployment artifacts, such as source code files, executables, and scripts.  An artifact typically represents the physical packaging of source or run-time information.  Graphically, an ‘artifact’ is rendered as a rectangle with the keyword «artifact» above the name, as shown in below figure as “Artifacts”:
  • 20. INTRODUCING THE UML 8. A “node” is a physical element that exists at run time and represents a computational resource, generally having at least some memory and, often, processing capability.  A set of components may reside on a node and may also migrate from node to node.  Graphically, a ‘node’ is rendered as a cube, usually including only its name, as shown in above figure as “Nodes”:  These “eight” elements like classes, interfaces, collaborations, use cases, active classes, components, artifacts, and nodes are the basic structural things that you may include in a UML model.  There are also variations on these, such as actors, signals, and utilities (kinds of classes); processes and threads (kinds of active classes); and applications, documents, files, libraries, pages, and tables (kinds of artifacts).
  • 21. INTRODUCING THE UML ii. BEHAVIORAL THINGS:  Behavioral Things are the Verbs of UML models. These are the mostly dynamic parts of a model, representing behavior over time & space.  The Behavioral Things are classified into ‘3’ types like: 1. First an “Interaction” is a behavior that comprises a set of messages exchanged among a set of objects or roles within a particular context to accomplish a specific purpose.  The behavior of a society of objects or of an individual operation may be specified with an interaction.  An interaction involves a number of other elements, including messages, actions, and connectors (the connection between objects).  Graphically, a ‘message’ is rendered as a directed line, shown in below figure as “Messages”: 2. Second, a “State Machine” is a behavior that specifies the sequences of states an object or an interaction goes through during its lifetime in response to events, together with its responses to those events.  The behavior of an individual class or a collaboration of classes may be specified with a state machine.  A state machine involves a number of other elements, including states, transitions (the flow from state to state), events (things that trigger a transition), and activities (the response to a transition).  Graphically, a ‘state’ is rendered as a rounded rectangle, usually including its name and its substates, if any, as shown in below figure as “States”:
  • 22. INTRODUCING THE UML 3. Third an “Activity” is a behavior that specifies the sequence of steps a computational process performs.  In an interaction, the focus is on the set of objects that interact, whereas in a state machine, the focus is on the life cycle of one object at a time, and in an activity, the focus is on the flows among steps without regard to which object performs each step. A step of an activity is called an “action”.  Graphically, an ‘action’ is rendered as a rounded rectangle with a name indicating its purpose, as shown in above figure as “Actions”. The States and actions are distinguished by their different contexts.  These “three” elements like interactions, state machines, and activities are the basic behavioral things that you may include in a UML model. Semantically, these elements are usually connected to various structural elements like, primarily classes, collaborations, and objects.
  • 23. INTRODUCING THE UML iii. GROUPING THINGS:  Grouping Things are the organizational parts of UML models. These are the boxes into which a model can be decomposed. The Grouping Thing is primarily of ‘1’ kind namely “Packages”. 1. A “Package” is a general-purpose mechanism for organizing the design itself, as opposed to classes, which organize implementation constructs.  Structural things, behavioral things, and even other grouping things may be placed in a package.  Unlike components (which exist at run time), a package is purely conceptual (meaning that it exists only at development time).  Graphically, a ‘package’ is rendered as a tabbed folder, usually including only its name and, sometimes, its contents, as shown in below figure as “Packages”:
  • 24. INTRODUCING THE UML  Packages are the basic grouping things with which you may organize a UML model. There are also variations, such as frameworks, models, and subsystems (kinds of packages). iv. ANNOTATIONAL THINGS: Annotational Things are the explanatory parts of UML models. These are the comments you may apply to describe, illuminate, and remark about any element in a model. The Annotational Thing is also primarily of ‘1’ kind called as “Note”. 1. A “Note” is a simply a symbol for rendering constraints and comments attached to an element or a collection of elements.  Graphically, a ‘note’ is rendered as a rectangle with a dog-eared corner, together with a textual or graphical comment, as shown in above figure as “Notes”.  This element is the one basic Annotational Thing you may include in a UML model. You'll typically use ‘notes’ to adorn your diagrams with constraints or comments that are best expressed in informal or formal text. There are also variations on this element, such as requirements (which specify some desired behavior from the perspective of outside the model). B. RELATIONSHIPS IN THE UML: ‱ There are “four” kinds of Relationships in the UML like: i. Dependency, ii. Association, iii. Generalization, and iv. Realization.
  • 25. INTRODUCING THE UML  These Relationships are the basic relational Building Blocks of the UML. We use them to write well-formed models. 1. First, a “Dependency” is a semantic relationship between two model elements in which a change to one element (the independent one) may affect the semantics of the other element (the dependent one).  Graphically, a ‘dependency’ is rendered as a dashed line, possibly directed, and occasionally including a label, as shown in below figure as “Dependencies”. 2. Second, an “Association” is a structural relationship among classes that describes a set of links, a link being a connection among objects that are instances of the classes.  Aggregation is a special kind of association, representing a structural relationship between a whole and its parts.  Graphically, an association is rendered as a solid line, possibly directed, occasionally including a label, and often containing other adornments, such as multiplicity and end names, as shown in below figure as “Associations”. 3. Third, a “Generalization” is a specialization/generalization relationship in which the specialized element (the child) builds on the specification of the generalized element (the parent).  The child shares the structure and the behavior of the parent.  Graphically, a generalization relationship is rendered as a solid line with a hollow arrowhead pointing to the parent, as shown in below figure as “Generalizations”.
  • 26. INTRODUCING THE UML 4. Fourth, a “realization” is a semantic relationship between classifiers, wherein one classifier specifies a contract that another classifier guarantees to carry out.  We'll encounter realization relationships in two places: between interfaces and the classes or components that realize them, and between use cases and the collaborations that realize them.  Graphically, a ‘realization’ relationship is rendered as a cross between a generalization and a dependency relationship, as shown in above figure as “Realizations”.  These “four” elements are the basic relational things you may include in a UML model. There are also variations on these ‘four’, such as refinement, trace, include, and extend.
  • 27. INTRODUCING THE UML C. DIAGRAMS IN THE UML:  A “Diagram” is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and paths (relationships).  We draw diagrams to visualize a system from different perspectives, so a diagram is a projection into a system. For all but the most trivial systems, a diagram represents an elided view of the elements that make up a system.  The same element may appear in all diagrams, only a few diagrams (the most common case), or in no diagrams at all (a very rare case).  In theory, a diagram may contain any combination of things and relationships. In practice, however, a small number of common combinations arise, which are consistent with the five most useful views that comprise the architecture of a software-intensive system.  For this reason, the UML includes “thirteen” kinds of Diagrams like: i. Class Diagram, ii. Object Diagram, iii. Component Diagram, iv. Composite Structure Diagram,
  • 28. INTRODUCING THE UML v. Use case Diagram, vi. Sequence Diagram, vii. Communication Diagram, viii.State Diagram. ix. Activity Diagram, x. Deployment Diagram, xi. Package Diagram, xii. Timing, and xiii.Interaction Overview Diagram. 1) A “class diagram” shows a set of classes, interfaces, and collaborations and their relationships.  These diagrams are the most common diagram found in modeling object-oriented systems.  Class diagrams address the static design view of a system.  Class diagrams that include active classes address the static process view of a system.  Component diagrams are variants of class diagrams.
  • 29. INTRODUCING THE UML 2) An “object diagram” shows a set of objects and their relationships.  Object diagrams represent static snapshots of instances of the things found in class diagrams.  These diagrams address the static design view or static process view of a system as do class diagrams, but from the perspective of real or prototypical cases. 3) A “component diagram” is shows an encapsulated class and its interfaces, ports, and internal structure consisting of nested components and connectors.  Component diagrams address the static design implementation view of a system.  They are important for building large systems from smaller parts.  The UML distinguishes a composite structure diagram, applicable to any class, from a component diagram, but we combine the discussion because the distinction between a component and a structured class is unnecessarily subtle. 4) A “use case diagram” shows a set of use cases and actors (a special kind of class) and their relationships.  Use case diagrams address the static use case view of a system.  These diagrams are especially important in organizing and modeling the behaviors of a system.
  • 30. INTRODUCING THE UML 5) Both ‘sequence diagrams’ and ‘communication diagrams’ are kinds of “interaction diagrams”. An “interaction diagram” shows an interaction, consisting of a set of objects or roles, including the messages that may be dispatched among them.  Interaction diagrams address the dynamic view of a system.  A “sequence diagram” is an interaction diagram that emphasizes the time-ordering of messages; whereas a “communication diagram” is an interaction diagram that emphasizes the structural organization of the objects or roles that send and receive messages.  Sequence diagrams and communication diagrams represent similar basic concepts, but each diagram emphasizes a different view of the concepts.  Sequence diagrams emphasize temporal ordering, and communication diagrams emphasize the data structure through which messages flow.  A timing diagram (not covered in this book) shows the actual times at which messages are exchanged. 6) A “state diagram” shows a state machine, consisting of states, transitions, events, and activities.  A state diagrams shows the dynamic view of an object.  They are especially important in modeling the behavior of an interface, class, or collaboration and emphasize the event-ordered behavior of an object, which is especially useful in modeling reactive systems.
  • 31. INTRODUCING THE UML 7) An “activity diagram” shows the structure of a process or other computation as the flow of control and data from step to step within the computation.  Activity diagrams address the dynamic view of a system.  They are especially important in modeling the function of a system and emphasize the flow of control among objects. 8) A “deployment diagram” shows the configuration of run-time processing nodes and the components that live on them.  Deployment diagrams address the static deployment view of an architecture.  A node typically hosts one or more artifacts. 9) An “artifact diagram” shows the physical constituents of a system on the computer.  Artifacts include files, databases, and similar physical collections of bits.  Artifacts are often used in conjunction with deployment diagrams.  Artifacts also show the classes and components that they implement.  UML treats artifact diagrams as a variety of deployment diagram, but we discuss them separately.
  • 32. INTRODUCING THE UML 10) A “package diagram” shows the decomposition of the model itself into organization units and their dependencies. 11) A “timing diagram” is an interaction diagram that shows actual times across different objects or roles, as opposed to just relative sequences of messages. 12) An “interaction overview diagram” is a hybrid of an activity diagram and a sequence diagram.  These diagrams have specialized uses and so are not discussed in this book. See the UML Reference Manual for more details.  This is not a closed list of diagrams. Tools may use the UML to provide other kinds of diagrams, although these are the most common ones that you will encounter in practice. 2. RULES OF THE UML:  The UML's Building Blocks can't simply be thrown together in a random fashion.  Like any language, the UML has a number of rules that specify what a well-formed model should look like.  A well-formed model is one that is semantically self-consistent and in harmony (a well defined process supporting the user guide provides a step-by-step process to system engineer in Model-Driven Development (MDD)) with all its related models.  The UML has syntactic and semantic rules for the following terms:
  • 33. INTRODUCING THE UML a. Names: What you can call things, relationships, and diagrams, b. Scope: The context that gives specific meaning to a name, c. Visibility: How those names can be seen and used by others, d. Integrity: How things properly and consistently relate to one another, and e. Execution: What it means to run or simulate a dynamic model.  Models built during the development of a software-intensive system tend to evolve and may be viewed by many stakeholders in different ways and at different times. For this reason, it is common for the development team to not only build models that are well-formed, but also to build models that are: a. Elided: Certain elements are hidden to simplify the view, b. Incomplete: Certain elements may be missing, and c. Inconsistent: The integrity of the model is not guaranteed.  These less-than-well-formed models are unavoidable as the details of a system unfold and churn during the software development life cycle. The rules of the UML encourage you but do not force you to address the most important analysis, design, and implementation questions that push such models to become well-formed over time.
  • 34. INTRODUCING THE UML 3. COMMON MECHANISMS IN THE UML:  A building is made simpler and more harmonious by the conformance to a pattern of common features. A house may be built in the Victorian or French country style largely by using certain architectural patterns that define those styles. The same is true of the UML. It is made simpler by the presence of “four” common mechanisms that apply consistently throughout the language like: 1) Specifications, 2) Adornments, 3) Common divisions, and 4) Extensibility mechanisms. 1) Specifications:  In UML, behind each graphical notation, there is a textual statement denoting the syntax and semantics. These are the specifications.  The specifications provide a semantic backplane that contains all the parts of all the models of a system and the relationships among the different paths, that each part related to one another in consistent fashion. 2) Adornments:  Each element in UML has a unique graphical notation. Besides, there are notations to represent the important aspects of an element like name, scope, and visibility, etc.
  • 35. INTRODUCING THE UML 3) Common Divisions:  Object-Oriented Systems can be divided in many ways. The “two” common ways of division are: a. Division of Classes and Objects: A Class is an abstraction of a group of similar objects. An Object is the concrete instance that has actual existence in the system. b. Division of Interface and Implementation: An Interface defines the rules for interaction, whereas the Implementation is the concrete realization of the rules defined in the interface. 4) Extensibility Mechanisms:  UML is an open-ended language. It is possible to extend the capabilities of UML in a controlled manner to suit the requirements of a system. The extensibility mechanisms are of “3” kinds: a. Stereotypes:  It extends the vocabulary of the UML, through which new building blocks can be created out of existing ones, but that are specific to your problem. b. Tagged Values:  It extends the properties of UML Building Blocks, allowing you to create new information in that element’s specification. c. Constraints:  It extends the semantics of UML Building Blocks, allowing you to add new rules or modify existing ones.