SlideShare a Scribd company logo
1 of 113
Sanjivani Rural Education Society’s
Sanjivani College of Engineering, Kopargaon-423603
(An Autonomous Institute Affiliated to Savitribai Phule Pune University, Pune)
NAAC ‘A’ Grade Accredited, ISO 9001:2015 Certified
Department of Information Technology
(NBA Accredited)
Mr. N. L. Shelake
Assistant Professor
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
OBJECT ORIENTED DESIGN
 Object Oriented Design Process Designing Business Layer : Object Oriented Constraints
Language (OCL),
 Designing Business Classes : The Process, Designing Well Defined Class Visibility, Attribute
 Refinement, Method Design Using UML Activity Diagram, Packaging and Managing Classes.
 Designing Access Layer: Object Relational Systems, Object Relation Mapping, Table Class
Mapping, Table –Inherited Classes Mapping,
 Designing the Access Layer Classes: The Process,
 Designing View Layer : View Layer Classes Design, Identifying View Classes by Analyzing
Use Cases, Macro-Level Design Process, Prototyping the User Interface Component and
Deployment Design using Component and Deployment Diagram
Software Engineering Modeling and Design
Object Constraint Language
 UML is a graphical language with a set of rules and semantics.
 The rules and semantics of the UML are expressed in English, in a form
known as object Constraint language.
 Object constraint language is a specification language that uses simple
logic for specifying the properties of a system.
 The Object Constraint Language (OCL) is a declarative language
describing rules applying to Unified Modeling Language (UML) models
developed at IBM and is now part of the UML standard.
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Constraint Language
 Initially, OCL was merely a formal specification language extension for
UML
 The Object Constraint Language is a precise text language that provides
constraint and object query expressions on any MOF (Meta Object
Facility) model or meta-model that cannot otherwise be expressed by
diagrammatic notation
 OCL is a descendant of Syntropy, a second-generation object-oriented
analysis and design method.
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Constraint Language
 OCL statements are constructed in four parts:
 a context that defines the limited situation in which the statement is valid
 a property that represents some characteristics of the context (e.g., if the
context is a class, a property might be an attribute)
 an operation (e.g., arithmetic, set-oriented) that manipulates or qualifies a
property, and
 keywords (e.g., if, then, else, and, or, not, implies) that are used to
specify conditional expressions.
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Constraint Language
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Constraint Language
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Constraint OCL Equivalent
The age of a person is not negative. context Person inv: self.age >=0
The first registration of a car can
not be before it is built.
context Auto inv:
self.registration>=self.construction
Year
Software Engineering Modeling and Design
Object Constraint Language
 Item.Selector.
 The selector is the name of an attribute in the item. The result is the value of
the attribute;
 For example, John.age (the age is an attribute of the Object John, and
John.age represents the value of the attribute)
 Item.Selector [qualifier-value]
 The selector indicates a qualified association that qualifies the item. The
result is the related object selected by the qualifier; for example, array
indexing as a form of qualification; for example, Jhon.Phone[2], assuming
Jhon has several phones.
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Constraint Language
 Set -> select (Boolean-expression).
 The Boolean expression is written in terms of objects within the set.
 The result is the subset of objects in the set for which the Boolean
expression is true;
 For example, company.employee -> salary > 30000.
 This represents employees with salaries over $30,000
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Constraint Language
OCL is not an action for UML
 OCL can’t define an operation other than a query operation
 OCL can’t change the value of a model element
 OCL can’t be used to specify business rules dynamically at runtime.
 OCL equipped modeling tools to generate code based an OCL
expressions
 OCL is a part of OCUP (OMG certified UML professional)
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Classes
 Three layer architecture
 view layer
 business layer
 access layer
 View layer is the only exposed objects of an application with which users
can interact.
 Represents the set of operations in the business that users must perform to
complete their tasks.
 Business or Access layer are more independent of their environment
whereas in view layer that is not the case
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Classes
Introduction
 OOD requires taking the objects identified during object-oriented analysis
and designing classes to represent them
 Object oriented development require that you think in terms of classes
 Main benefit of this approach is that classes organize related properties
into units that stand on their own
 You must translate the attributes and operations into system
implementations
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Classes
Introduction
 Need to decide where in the class tree, new classes will go.
 Many object-oriented programming lang. and development environments
Such as Smalltalk, C++ or PowerBuilder, come with several built-in class
libraries
 Goal in using these systems should be to reuse rather than create anew.
 Similarly, if you design your classes with reusability in mind, you will gain
a lot in productivity and reduce the time for developing new applications
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Classes : the process
Which consist of the following activities:
 Apply design axioms to design classes, their attributes, methods,
associations, structures and protocols
 Refine and complete the static UML class diagram by adding details to that
diagram
 Refine attributes
 Design methods and the protocols by utilizing a UML activity diagram to
represent the method’s algorithm
 Refine the associations between classes (if required)
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Classes : the process
Which consist of the following activities:
 Refine the class hierarchy and design with inheritance (if required)
 Iterate and refine
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Class Visibility : Designing well-defined
public, private and protected protocols
 In designing methods or attributes for classes, you are confronted with
two problems
 Protocol or interface to class operations and its visibility
 How it is implemented
 It is important in OOD to define the public protocol between the associated
classes in the application
 Set of msgs that class of certain generic type must understand, although
interpretation and implementation of each msg is up to the individual class
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Class Visibility
 Private protocol of the class, includes messages that normally should not
be sent from other objects; it is accessible only to operations of that class
 Only the class itself can use the method
 Public protocol define the stated behavior of the class as a citizen in a
population and is important information for users as well as future
descendants, so it is accessible to all classes
 If the methods or attributes can be used by the class itself or its subclasses,
a protected protocol can be used
 In protected protocol , subclasses the can use the method in addition to the
class itself
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Class Visibility
 Public protocols define the functionality and external messages of an
object; private protocols define the implementation of an object
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Private and protected protocol Layers: Internal
 Items in these layers define the implementations of the object.
 Apply design axioms and corollaries, Corollary 1 (uncoupled design with
less information content)
 To decide what should be private: what attributes? What methods?
 Highly cohesive objects can improve coupling because only a minimal
amount of essential information need to be passed between objects.
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Public protocol Layer: External
 Items in this layer define the functionality of the object.
 Good Design allows for Polymorphism
 Not all protocol should be public; again apply design axioms and corollaries
Software Engineering Modeling and Design
Design classes : Refining attributes
 Attributes identified must be refined during implementation
 In analysis phase the name of the attribute was sufficient
 In design phase, detailed information must be added to the model
 Main goal of this to refine existing attributes (identified in analysis)or add
attributes that can elevate the system into implementation
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Attributes Types
 Single- value attributes
 Multiplicity or multivalue attribute
 Reference to another object, or instance connection
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
UMLAttributes Presentation
Visibility name : type-expression = initial value
 + public visibility
 # protected visibility
 - private visibility
Software Engineering Modeling and Design
Attributes Types
 Single- value attributes
 Attributes represent the state of an object.
 When the state of the object changes, these changes are reflected in the
value of attributes
 Most common attribute type
 It has only one value or state
 Example – such as name, address or salary
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Attributes Types
 Multiplicity or Multivalue attribute
 Attributes is the opposite of the single value attribute, as its name implies
 It can have a collection of many values at any point in time
 Example – if we want to keep track of the names of people who have
called a customer support line for help, we must use the multivalue
attributes
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Attributes Types
 Reference to another object, or instance connection
 Attributes are required to provide the mapping needed by an object to
fulfill its responsibilities
 Instance connection model association
 Example – A person might have one or more bank accounts. A person
has zero to many instance connections to Accounts. Similarly, account
can be assigned to one or more persons (i.e. joint account) therefore an
account also has zero to many instance connections to Person(s).
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
UMLAttributes Presentation
Where visibility is one of the following:
 + public visibility (accessibility to all classes)
 # protected visibility (accessibility to subclasses & operations of the class)
 - private visibility (accessibility only to operations of the class)
 TypeExpression – language dependent specification of the implementation
 Initial Value – lang. dependent expression for initial value of newly created
 Eg +size:length=100
 OCL can be used during the design phase to define the class attributes.
 Following is the attribute presentation suggested by UML
visibility name : type-expression = initial value
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Refining Attributes for the ViaNet bank objects
A more complete UML class diagram for the ViaNet
bank System
Class ATMMachine
 #addres:String (The address for this ATM Machine)
 #State:String (The state of operation for this ATM Machine, Such as
running, off, idle, out of Service, Out of Money)
Software Engineering Modeling and Design
Designing Methods and Protocols
 To specify the algorithm for methods identified
 Some formal structure such as UML activity diagrams with an OCL
description, they can be converted programming language manually or in
automated fashion
 Class provide several types of methods
 Constructor : Method that creates instance of the class
 Destructor : Method can destroy instances
 Conversion method : method that converts a value from one unit of
measure to another
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Methods and Protocols
 Main goal of this activity is to specify the algorithm for methods identified
so far.
 Some formal structure such as UML activity diagrams with an OCL
description, they can be converted programming language manually or in
automated fashion
 Class provide several types of methods
 Constructor : Method that creates instance of the class
 Destructor : Method can destroy instances
 Conversion method : method that converts a value from one unit of
measure to another
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Methods and Protocols
 Class provide several types of methods
 Copy method : method that copies the contents of one instance to
another instance
 Attribute set : method that sets the values of one or more attributes
 Attribute get : method that returns the values of one or more attributes
 I/O methods : methods that provide or receive data to or from a device
 Domain specific : method specific to the application
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Methods and Protocols
 Corollary 1 : uncoupled design with less information conetent
 In designing methods and protocols you must minimize the complexity of
message connections and keep as low as possible the number of messages
sent and received by an object
 Goal should be to maximize cohesiveness among objects and software
components to improve coupling, because only a minimal amount of
essential information should be passed between components
 Abstraction leads to simplicity and straightforwardness and same time
increase class versatility
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Designing Methods and Protocols
 The requirement of simplification, while retaining functionality, seems to
lead to increased utility, here are Five rules
 If it looks messy, then it’s probably a bad design
 If it is too complex, then it’s probably a bad design
 If it is too big, then it’s probably a bad design
 If people don’t like it, then it’s probably a bad design
 If it doesn’t work, then it’s probably a bad design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
UML Operation Presentation
Visibility name : (parameter-list) : return-type-expression
Where visibility is one of the following:
 + public visibility (accessibility to all classes)
 # protected visibility (accessibility to subclasses & operations of the class)
 - private visibility (accessibility only to operations of the class)
 Name is the name of operation
 Parameter-list : list of parameters separated by commas,
 Return-type-expression : lang. dependent specification
 +getName():aName
 +getAccountNumber (account:type) : account Number
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Example
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Account Class Deposit Method
 An amount to be deposited is sent to an account object and used as an
argument to the deposit service.
 The account adjusts its balance to its current balance plus the deposit
amount.
 The object records the deposit by creating a transaction object containing
the date and time, posted balance, and transaction type and amount.
 We have discovered another method, update client
Software Engineering Modeling and Design
Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Package and Managing Classes
 A package groups and manages the modeling elements, such as classes their
associations, and their structures.
 Packages themselves may be nested within other package.
 A package may contain both other packages and ordinary model elements
 UML package is grouping of model elements
 It can organize the modeling elements including classes
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Package and Managing Classes
 some packages may contain groups of classes and their relationships,
subsystems or models
 A package provides a hierarchy of different system components and can
reference other packages
 For example, the bank system can be viewed as a package that contains
other packages such as account package, client package and so on
 Classes can be packaged based on the services they provide or grouped into
the business classes, access classes and view classes as shown fig.
Packages and Managing Classes
Packages and Managing Classes
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Access Layer : Object Storage and Object Interoperability
 A DBMS is set of programs that enables the creation and maintenance of a
collection of related data.
 A DBMS and associated program access, manipulate, protect and manage
the data.
 The fundamental purpose of a DBMS is to provide a reliable, persistent data
storage facility and the mechanism for efficient, convenient data access and
retrieval.
 A database is supposed to represent a real-world situation as completely and
accurately as possible
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Access Layer : Object Storage and Object Interoperability
 Persistence refers to the ability of some objects to outlive the programs that
created them
 Object lifetimes can be short as far local objects or long for objects stored
indefinitely in a database.
 Most OOL do not support serialization or object persistence, which is the
process of writing or reading an object to and from a persistent storage
medium, such as a disk file.
 Persistence objects do not support query or interactive user interface
facilities, as found in fully supported OODBMS.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Access Layer : Object Storage and Object Interoperability
 Introduces the issues regarding object storage, relational and object-
oriented database management systems, object interoperability and other
technologies.
 We then look at current trends to combine object and relational systems to
provide a very practical solutions to object storage.
 We conclude the with a discussion on how to design the access layer
objects.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Database Management Systems
 A DBMS is set of programs that enables the creation and maintenance of a
collection of related data.
 DBMS Contains not only the data but a complete definition of the data
formats it manages
 This description is known as the schema or meta-data
 Contains a complete definition of the data formats, such as data structures,
types and constraints.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Database Models
 A database Model is a collection of logical constructs used to represent the
data structure and data relationships within the database.
 Database models grouped into conceptual and implementation models
 The conceptual model is concerned with what is represented in the database
 The implementation model is concerned with how it is represented
 Hierarchical Model
 Network Model
 Relational Model
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Relational Models
 Has the simplest, most uniform structure and is the most commercially
widespread
 Primary concept in this database model is the relation
 The columns of each table are attributes that define the data or value domain
for entries in that column
 The rows of each table are tuples representing individual data object being
stored
 A relational table should have only one primary key
 A Primary Key is combination of one or more attributes whose value
unambiguously locates each row in the table.
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Relational Model
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Object oriented Databases
 OODBMS allows to representation and storage of data in the form of
objects
 Own identity or object-ID
 A large number of different datatypes
 A large number of relationships between the objects
 Objects with complex behaviours
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Object Relational Systems
 Even though many applications increasingly are developed in an object
oriented programming technology,
 chances are good that the data those applications need to access live in a
very different universe- a relational database.
The introduction of OOP creates a fundamental mismatch between
the programming model (Object) and the way in which existing
data are stored (relational tables)
 To resolve the mismatch, a mapping tool between the application objects
and the relational data must be established
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Object Relational Systems
 Creating an object model from an existing relational database layout
(schema) often is referred to as reverse engineering
 Conversely, creating a relational schema from an existing object model
often is referred to as forward engineering
 In practice, over the life cycle of an application, forward and reverse engg.
both need to be combined in an iterative process to maintain the relationship
between the object and relational data representations
 Tools that can be used to establish the object-relational mapping processes
have begun to emerge.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Object Relational Systems
The main process in relational and object integration is defining
the relationship between the table structures(schema) in the
relational database with classes (representing classes) in the
object model.
 Sun’s Java Blend is an example of such tool
 Java Blend allows the developer access to relational data as Java objects,
thus avoiding the mismatch between the relational and object data models.
 Java Blend also has mapping capabilities to define Java classes from
relational tables or relational tables from the java classes
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Object Relational Mapping
 The schema is made up of tables, consisting of rows and columns, where
each column has a name and a simple data type
 In object model, the counterpart to a table is a class (or classes), which has a
set of attributes (properties or data members).
 Object classes describe behavior with methods
 A tuple (row) of a table contains data for a single entity that correlates to an
object (instance of class) in an OO system.
Software Engineering Modeling and Design
Object-Relation Mapping
 A stored procedure is a module of precompiled SQL code maintained
within the databases that executes on the server to enforce rules the business
has set about the data.
 The mappings essential to object and relational integration are between a
table and a class, between columns and attributes, between a row and an
object, and between a stored procedure and a method
 How relational data maps to and from application objects
 Table-class mapping
 Table-Multiple classes mapping
 Table-inherited classes mapping
 Tables-inherited classes mapping
Software Engineering Modeling and Design
Object-Relation Mapping
 In addition to mapping column values, the tool must be capable of
interpretation of relational foreign keys.
 The tool must describe both how the foreign key can be used to navigate
among classes and instances in the mapped object model and how
referential integrity is maintained.
 Referential Integrity means making sure that dependent tables’s foreign key
contains a value that refers to an exiting valid tuple in another relation.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Table-Class Mapping
 Table-class mapping is simple one to one mapping of a table to a class and
the mapping of columns in the table to properties in a class
 In this mapping, a single table is mapped to a single class
 In such mapping it is common to map all the columns to properties
 However, this is not required and it may be more efficient to map only those
columns for which an object model is required by the application
Cost Color Make Model
Car
Cost
Color
Make
model
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Table-Class Mapping
 Each row in the table represents an object instance and each column in the
table corresponds to an object attribute.
 This kind of mapping provides a literal translation between a relational data
representation an application
 It is apperaling in its simplicity
Cost Color Make Model
Car
Cost
Color
Make
model
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Table-Multiple Classes Mapping
Name Address custID empID
Employee
Name
Address
empID
Customer
Name
Address
custID
Table-multiple classes mapping. The custID column provides the
discriminant. if the value for custID is null, an Employee instance is
created at run time; otherwise, a customer instance is created
 A single table maps to multiple noninheriting classes
 Two or more distinct, noninheriting classes have properties that are mapped
to columns in a single table
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Table-Inherited Classes Mapping
 In table-inherited classes mapping, a single table maps to many classes that
have a common superclass.
 This mapping allows the user to specify the columns to be shared among the
related classes.
 The super class may be either abstract or instantiated
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Name Address Ssn Wage Salary
Employee
Name
ssn
Address
HourlyEmployee
wage
 Table-inherited classes mapping. Instance of SalariedEmployee can be
created for any row in the person table that has a non null value for the
salary column. If salary is null, the row is represented by an
HourlyEmployee instance.
SalariedEmployee
salary
Table-inherited classes mapping
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Table-Inherited Classes Mapping
 Which allows the translation of is-a relationship that exist among tables in
the relational schema into class inheritance relationships that exist among
tables in the relational schema into class inheritance relationships in the
object model.
 In a relational database, an is-a relationship often is modeled by primary key
that acts as a foreign key to another table
 In a object model, is-a is another term for an inheritance relationship
 By using the inheritance relationship in the object model, the mapping can
express a richer and clearer definition of the relationship than is possible in
the relational schema
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Tables-Inherited Classes Mapping
Name Address Ssn Salary
Person
ssn
Name
Address
Employee
Dept
Salary
Customer
Company
Name Address Ssn
Name Address company
Person Table
Employee Table
Customer Table
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes
 We studied DBMS, distributed objects, OODBMS relational-object
systems
 The main idea behind creating an access layer is to create a set of classes
that know how to communicate with the place where data actually reside
 Regardless of where the data actually reside, whether it be a file, relational
database, mainframe, Internet and so on
 The access classes must be able to translate any data-related requests
from the business layer into the appropriate protocol for data access
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes
 These classes also must be able to translate the data retrieved back into the
appropriate business objects
 The access layer’s main responsibility is to provide a link between business
or view objects and data storage
 Three-layer architecture, in essence, is similar to three-tier architecture
 The view layer corresponds to the client tier
 The business layer to the application server tier
 The access layer to the database tier
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes
 The access layer performs two major tasks:
 Translate the request
 The access layer must be able to translate any data-related requests from
the business layer into the appropriate protocol for data access
 For example, if customer number 55552 needs to be retrieved, the access
layer must be able to create the correct SQL statement and execute it
 Translate the results
 The access layer also must be able to translate the data retrieved back
into the appropriate business objects and pass those objects back into the
business layer
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes
 The main advantages of this approach is that the design is not tied to any
database engine or distributed object technology
 Easily can switch from one database to another with no major changes to the
user interface or business layer objects
 Access layer classes provide easy migration to emerging distributed object
technology, such as CORBA and DCOM
 These classes should be able to address the (relatively) modest needs of
two-tier client server architectures as well as the difficult demands of fine-
grained, peer
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes : The Process
 Mirror the Business class package
 Define relationship
 Simplify classes and relationships
 Redundant class
 Method classes
 Iterate and refine
 Store attributes and methods
 Done by utilizing an OODBMS and Relational Database
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes : The Process
 Another Approach is to let the methods be stored in a program
 Store only persistent attributes
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes : The Process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes : The Process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing Access Layer Classes : The Process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
View Layer : Designing Interface object
 Once analysis is completed, can start designing user interface for objects
and determine how these objects are to be presented.
 Goal of UI is to display and obtain needed information in an accessible,
efficient manner.
 For design to provide users information they need and clearly tell them how
to successfully complete a task
 A well Designed UI has visual appeal that motivates users to use your
application
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
View Layer : Designing Interface object
 How to design the view layer by mapping the UI objects to the view layer
objects
 Will look at UI design rules based on the design corollaries
 Finally, we look at the guidelines for developing a graphical user interface
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
User Interface Design as a creative process
 GUI uses icons to represent objects, a pointing device to select operations,
and graphic imagery to represent relationships
 Creative thinking is not confined to a particular field or a few individuals
but is possessed in varying degrees by people in many occupations.
 artist sketches, journalist promotes an idea, scientist develop a theory, the
manager implements a new strategy and programmer develops a new s/w
system or improve an existing system to create a better one.
 Creativity implies newness, but often it is concerned with the improvement
of old products as much as with the creation of a new one
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
User Interface Design as a creative process
 To view user interface design as a creative process, it is necessary to
understand what the creative process really involves
 The creative process is combination of the following
 A curious and imaginative mind
 A broad background and fundamentals knowledge of existing tools and
methods
 Desire to do complete and thorough job of discovering solutions once a
problem has been defined
 Being able to deal with uncertainty and ambiguity
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing View Layer Classes
The view layer objects are responsible for two major aspects of the
applications:
 Input –responding to user interaction
 UI must be designed to translate an action by the user, such as clicking
on a button or selecting from a menu, into an appropriate response
 Response may be to open or close another interface or to send a message
down into the business layer to start some business process
 Business logic does not exist here, just the knowledge of which message
to send to which business object.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing View Layer Classes
The view layer objects are responsible for two major aspects of the
applications:
 Output- displaying or printing business object
 Layer must paint the best picture possible of the business objects for the
user
 In one interface, this may mean entry fields and list boxes to display an
order and its items
 In another, it may be a graph of the total price of a customer’s orders
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing View Layer Classes
 The macro level UI design process
 Identify view layer objects-main objectives of the macro process is to
identify classes that interact with human actors by analyzing the use
cases developed in the analysis phase
 Each usecase involves actor and the task they want to do, these usecases
should capture a complete, unambiguous and consistent picture of the
interface requirements.
 We need to address the issue of how the interface must be implemented
 System view should be user perspective
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing View Layer Classes
 Micro level UI design activities:
 Designing the view layer objects by applying design axioms and
corollaries.
 Decide how to use and extend the components
 Provide most usable interface
 Prototyping the view layer interface
 After defining a design model, prepare a prototype of some of the
basic aspects of design
 Prototyping is particularly useful early in the design process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Designing View Layer Classes
 Testing usability and user satisfaction
 Must test the application to make sure it meets the audience requirements
 To ensure user satisfaction, we must measure user satisfaction and its
usability along the way as the UI design takes form
 Usability experts believe that usability testing should be integrated into
the development process rather than performed as a post-mortem or
forensic activity.
 Refining and iterating the design
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Macro-Level Process: Identifying view classes by
analyzing use cases
 The interface object manages all interactions with the actor but does not
perform any business rules or object storage operations.
 The Interface object will essentially act as a buffer between the user and the
rest of the business objects.
 Example, A business object service is one that computes employee
overtime. However, the employee's data input is an interface object.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Macro-Level Process: Identifying view classes by
analyzing use cases
 View layer macro process consist od two steps
 For every class, determine if the class interacts with a human actor
 Identify the view (interface) objects for the class.
 Zoom in by utilizing sequence or collaboration diagram
 Define the relationships among the view (interface) objects
 For the most part, interfaces objects, like access classes, interact with
business classes.
 Iterate and refine
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
The macro-level design process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Micro-Level Process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
The micro-level design process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Micro-Level Process:
 Design of view layer objects must be user driven or user centered
 A user-centered interface replicates the user’s view of doing things by
providing the outcomes users expect for any action
 example, the tool should be easy to use and natural if the purpose of the
application is to automate a paper-based procedure.
 Design your application so it allows users to apply their previous real-world
knowledge of the paper process to the application interface
 The main goal of view layer design is to address users needs
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Micro-Level Process:
 The following is the process of designing view (interface) objects:
 For every interface object identified in the macro UI design process,
Apply micro-level UI design rules and corollaries to develop the UI
 Iterate and refine
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Micro-
Level
Process
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
UI Design Rule:
 Making the interface Simple (Application of Corollary 2)
 Your application's user interface should be so straightforward that users
are unaware of the components and processes that make it operate.
 Example of car engine (Complex), driver needs only a steering wheel
and the brake pedals to operate a car
 Application of Corollary 2 means, each class UI class must have a single,
clearly defined purpose
 Every additional feature potentially affects the performance, complexity,
stability, maintenance and support costs of an application.
 Harder to fix design problem after release bcz user become dependent
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
UI Design Rule:
 Making the Interface Transparent and Natural (Application of Corollary
4)
 Users should be able to anticipate what to do next by using their prior
experience performing things without a computer because the user
interface should be so simple and natural.
 Application of corollary 4 (strong mapping), implies that there should be
strong mapping between the users view of doing things and UI classes
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
UI Design Rule:
 Allowing users to be in control of the Software(Application of Corollary 1)
 Users always should feel in control of the software, rather than feeling
controlled by the software
 It has number of implications
 Operational assumption, actions are started by the user rather than the
computer or software
 Widely varying skills and preferences, must be able to customize aspects of
the interface
 Software should be as interactive and responsive as possible
 Avoid modes whenever possible, excludes general interaction or limits user
specific interactions
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Purpose of a view layer Interface
 User interface can employ one or more windows
 Each window should serve a clear, specific purpose
 Forms and data entry windows
 Provide access to data that users can retrieve, display and change in the
application
 Dialog Boxes
 Display status information or ask user to supply information or make
decision before continuing task (typical feature is OK button)
 Application windows (main windows) – container of application objects or icons
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Component Diagram
 Component diagram model the physical component (such as source code,
executable program, user interface) in a design
 These high-level physical component may or may not be equivalent to the
many smaller component you use in the creation of your application.
 Example, a user interface may contain many other components purchased to
put together a graphical user interface
 Another way of looking at components is the concept of packages
 A package is used to show how you can group together classes, which in
essence are smaller scale components
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Component Diagram
 Package usually used to group logical components of application
 Package could be a first approximation of what eventually will turn into
physical grouping
 A component diagram is a graph of the designs components connected by
dependency relationships.
 Dependency is shown as a dashed arrow
 A component diagram in UML gives a bird’s-eye view of your software
system.
 Understanding the exact service behavior that each piece of your software
provides will make you a better developer
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Component Diagram : -
Component diagrams are different in terms of nature and behavior.
Component diagrams are used to model the physical aspects of a
system
Physical aspects are the elements such as executables, libraries, files,
documents, etc. which reside in a node.
component diagram is to show the relationship between different
components in a system
component-based development (CBD).
component diagrams allow the planner to identify the different
components so the whole system does what it's supposed to do.
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Component Diagram : -
Component diagrams may seem complex at first glance, they are
invaluable when it comes to building your system.
Component diagrams can help your team:
Imagine the system’s physical structure.
Pay attention to the system’s components and how they relate.
Emphasize the service behavior as it relates to the interface.
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Component Diagram Notations:
-
A component is a logical unit block of the system, a slightly higher
abstraction than classes. It is represented as a rectangle with a smaller
rectangle in the upper right corner with tabs
A dependency is a relationship that signifies that a single or a set of
model elements requires other model elements for their specification
or implementation.
Draw dependencies among components using dashed arrows.
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Component Diagram Notations:
Artifacts are model elements that represent the physical entities in a
software system
Artifacts represent physical implementation units, such as executable
files, libraries, software components, documents, and databases.
Artifacts are commonly used in deployment diagrams, but you can also
use them in component diagrams to show the model elements, such as
components or classes, that are manifested in the artifact
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Component Diagram Notations:
-
Some real life examples of UML artifacts are:
text document
source file
script
binary executable file
archive file
database table
The UML Standard Profile defines several standard stereotypes that
apply to artifacts:
«file» A physical file in the context of the system developed.
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Component Diagram Notations:
Standard stereotypes - subclasses of «file»:
«document» A generic file that is not a «source» file or
«executable».
«source»A source file that can be compiled into an executable file.
«library» A static or dynamic library file.
«executable» A program file that can be executed on a computer
system.
«script» A script file that can be interpreted by a computer system.
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Interface Notations: -
An interface (small circle or semi-circle on a stick) describes a group
of operations used (required) or created (provided) by components.
 A full circle represents an interface created or provided by the
component.
A semi-circle represents a required interface, like a person's input.
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
Interface Notations: -
Provided interface symbols with a complete circle at their end
represent an interface that the component
Required Interface symbols with only a half circle at their end
represent an interface that the component requires (in both cases, the
interface's name is placed near the interface symbol itself).
Software Engineering Modeling and Design
component diagrams Mr. N. L. Shelake Department of Information Technology
A component diagram for an online shopping system
Software Engineering Modeling and Design
Deployment Diagram: -
A deployment diagram is a UML diagram type that shows the
execution architecture of a system, including nodes such as
hardware or software execution environments, and the middleware
connecting them.
Deployment diagrams are typically used to visualize the physical
hardware and software of a system.
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Deployment Diagram
 Deployment diagram show the configuration of run-time processing elements
and the software components, processes, and objects that live in them
 Software component instances represent run-time manifestations of code units
 In most cases, component diagrams are used in conjunction with deployment
diagrams to show how physical modules of code are distributed on various
hardware platforms.
 In many cases, component and deployment diagrams can be combined
 A deployment diagram is a graph of nodes connected by communication
association
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Deployment Diagram
 Nodes may contain component instances, which means that the component
lives or runs at that node
 Components may contain objects, this indicates that the object is part of the
component
 Component are connected to other component by dashed-arrow dependencies.
 Each node or processing element in the system is represented by a three-
dimensional box
 Connections between the nodes (or platforms) themselves are indicated by
solid lines
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Deployment Diagram Notation
 Nodes may contain component instances, which means that the component
lives or runs at that node
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Steps to draw Deployment Diagram
 Identify the nodes and devices within the system
 Figure out the relationships between the nodes and devices
 Add the communication associations to the diagram
 Identify what other elements like components, active objects, Artifacts you
need to add to complete the diagram
 Add dependencies between components and objects as required
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Example of Deployment Diagram
Software Engineering Modeling and Design
Object Oriented Design Mr. N. L. Shelake Department of Information Technology
Object Oriented Design Mr. N. L. Shelake Department of Information Technology

More Related Content

Similar to OCL3_10_05.pptx

Mc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using umlMc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using umlsmumbahelp
 
New phase ii-2010
New  phase ii-2010New  phase ii-2010
New phase ii-2010vijet
 
OOAD-Unit1.ppt
OOAD-Unit1.pptOOAD-Unit1.ppt
OOAD-Unit1.pptrituah
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT Ipkaviya
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IIpkaviya
 
System designing approaches
System designing approachesSystem designing approaches
System designing approachesJaipal Dhobale
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docxUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docxganeshkarthy
 
1 intro
1 intro1 intro
1 introabha48
 
Object Oriented Program Class 12 Computer Science
Object Oriented Program Class 12 Computer ScienceObject Oriented Program Class 12 Computer Science
Object Oriented Program Class 12 Computer ScienceShailendraPandey96
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfRojaPogul1
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languagesfranciscoortin
 

Similar to OCL3_10_05.pptx (20)

Mc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using umlMc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using uml
 
Ooad
OoadOoad
Ooad
 
New phase ii-2010
New  phase ii-2010New  phase ii-2010
New phase ii-2010
 
Elaboration
ElaborationElaboration
Elaboration
 
OOAD-Unit1.ppt
OOAD-Unit1.pptOOAD-Unit1.ppt
OOAD-Unit1.ppt
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Ooad unit 1
Ooad unit 1Ooad unit 1
Ooad unit 1
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT II
 
System designing approaches
System designing approachesSystem designing approaches
System designing approaches
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docxUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
 
1 intro
1 intro1 intro
1 intro
 
Object Oriented Program Class 12 Computer Science
Object Oriented Program Class 12 Computer ScienceObject Oriented Program Class 12 Computer Science
Object Oriented Program Class 12 Computer Science
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languages
 

More from NitinShelake4

JAVASRIPT and PHP Basics# Unit 2 Webdesign
JAVASRIPT and PHP Basics# Unit 2 WebdesignJAVASRIPT and PHP Basics# Unit 2 Webdesign
JAVASRIPT and PHP Basics# Unit 2 WebdesignNitinShelake4
 
Hyper Text Markup Language, Cascading Style Sheet
Hyper Text Markup Language, Cascading Style SheetHyper Text Markup Language, Cascading Style Sheet
Hyper Text Markup Language, Cascading Style SheetNitinShelake4
 
ITE Course Unit 1 Productivity Tool-Word processing tools
ITE Course Unit 1 Productivity Tool-Word processing toolsITE Course Unit 1 Productivity Tool-Word processing tools
ITE Course Unit 1 Productivity Tool-Word processing toolsNitinShelake4
 
Unit 4 Object Oriented Analysis.pptx
Unit 4 Object Oriented Analysis.pptxUnit 4 Object Oriented Analysis.pptx
Unit 4 Object Oriented Analysis.pptxNitinShelake4
 
Unit 2 Requirement Analysis.pptx
Unit 2 Requirement Analysis.pptxUnit 2 Requirement Analysis.pptx
Unit 2 Requirement Analysis.pptxNitinShelake4
 
SEMD U_I Introduction to SE.pptx
SEMD U_I Introduction to SE.pptxSEMD U_I Introduction to SE.pptx
SEMD U_I Introduction to SE.pptxNitinShelake4
 

More from NitinShelake4 (9)

JAVASRIPT and PHP Basics# Unit 2 Webdesign
JAVASRIPT and PHP Basics# Unit 2 WebdesignJAVASRIPT and PHP Basics# Unit 2 Webdesign
JAVASRIPT and PHP Basics# Unit 2 Webdesign
 
Hyper Text Markup Language, Cascading Style Sheet
Hyper Text Markup Language, Cascading Style SheetHyper Text Markup Language, Cascading Style Sheet
Hyper Text Markup Language, Cascading Style Sheet
 
ITE Course Unit 1 Productivity Tool-Word processing tools
ITE Course Unit 1 Productivity Tool-Word processing toolsITE Course Unit 1 Productivity Tool-Word processing tools
ITE Course Unit 1 Productivity Tool-Word processing tools
 
Unit 5.pptx
Unit 5.pptxUnit 5.pptx
Unit 5.pptx
 
UseCase Model.pptx
UseCase Model.pptxUseCase Model.pptx
UseCase Model.pptx
 
Unit 4 Object Oriented Analysis.pptx
Unit 4 Object Oriented Analysis.pptxUnit 4 Object Oriented Analysis.pptx
Unit 4 Object Oriented Analysis.pptx
 
Unit3.pptx
Unit3.pptxUnit3.pptx
Unit3.pptx
 
Unit 2 Requirement Analysis.pptx
Unit 2 Requirement Analysis.pptxUnit 2 Requirement Analysis.pptx
Unit 2 Requirement Analysis.pptx
 
SEMD U_I Introduction to SE.pptx
SEMD U_I Introduction to SE.pptxSEMD U_I Introduction to SE.pptx
SEMD U_I Introduction to SE.pptx
 

Recently uploaded

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
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
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
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
 

Recently uploaded (20)

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
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
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
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
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
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...
 

OCL3_10_05.pptx

  • 1. Sanjivani Rural Education Society’s Sanjivani College of Engineering, Kopargaon-423603 (An Autonomous Institute Affiliated to Savitribai Phule Pune University, Pune) NAAC ‘A’ Grade Accredited, ISO 9001:2015 Certified Department of Information Technology (NBA Accredited) Mr. N. L. Shelake Assistant Professor
  • 2. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology OBJECT ORIENTED DESIGN  Object Oriented Design Process Designing Business Layer : Object Oriented Constraints Language (OCL),  Designing Business Classes : The Process, Designing Well Defined Class Visibility, Attribute  Refinement, Method Design Using UML Activity Diagram, Packaging and Managing Classes.  Designing Access Layer: Object Relational Systems, Object Relation Mapping, Table Class Mapping, Table –Inherited Classes Mapping,  Designing the Access Layer Classes: The Process,  Designing View Layer : View Layer Classes Design, Identifying View Classes by Analyzing Use Cases, Macro-Level Design Process, Prototyping the User Interface Component and Deployment Design using Component and Deployment Diagram
  • 3. Software Engineering Modeling and Design Object Constraint Language  UML is a graphical language with a set of rules and semantics.  The rules and semantics of the UML are expressed in English, in a form known as object Constraint language.  Object constraint language is a specification language that uses simple logic for specifying the properties of a system.  The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 4. Software Engineering Modeling and Design Object Constraint Language  Initially, OCL was merely a formal specification language extension for UML  The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF (Meta Object Facility) model or meta-model that cannot otherwise be expressed by diagrammatic notation  OCL is a descendant of Syntropy, a second-generation object-oriented analysis and design method. Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 5. Software Engineering Modeling and Design Object Constraint Language  OCL statements are constructed in four parts:  a context that defines the limited situation in which the statement is valid  a property that represents some characteristics of the context (e.g., if the context is a class, a property might be an attribute)  an operation (e.g., arithmetic, set-oriented) that manipulates or qualifies a property, and  keywords (e.g., if, then, else, and, or, not, implies) that are used to specify conditional expressions. Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 6. Software Engineering Modeling and Design Object Constraint Language Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 7. Software Engineering Modeling and Design Object Constraint Language Object Oriented Design Mr. N. L. Shelake Department of Information Technology Constraint OCL Equivalent The age of a person is not negative. context Person inv: self.age >=0 The first registration of a car can not be before it is built. context Auto inv: self.registration>=self.construction Year
  • 8. Software Engineering Modeling and Design Object Constraint Language  Item.Selector.  The selector is the name of an attribute in the item. The result is the value of the attribute;  For example, John.age (the age is an attribute of the Object John, and John.age represents the value of the attribute)  Item.Selector [qualifier-value]  The selector indicates a qualified association that qualifies the item. The result is the related object selected by the qualifier; for example, array indexing as a form of qualification; for example, Jhon.Phone[2], assuming Jhon has several phones. Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 9. Software Engineering Modeling and Design Object Constraint Language  Set -> select (Boolean-expression).  The Boolean expression is written in terms of objects within the set.  The result is the subset of objects in the set for which the Boolean expression is true;  For example, company.employee -> salary > 30000.  This represents employees with salaries over $30,000 Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 10. Software Engineering Modeling and Design Object Constraint Language OCL is not an action for UML  OCL can’t define an operation other than a query operation  OCL can’t change the value of a model element  OCL can’t be used to specify business rules dynamically at runtime.  OCL equipped modeling tools to generate code based an OCL expressions  OCL is a part of OCUP (OMG certified UML professional) Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 11. Software Engineering Modeling and Design Designing Classes  Three layer architecture  view layer  business layer  access layer  View layer is the only exposed objects of an application with which users can interact.  Represents the set of operations in the business that users must perform to complete their tasks.  Business or Access layer are more independent of their environment whereas in view layer that is not the case Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 12. Software Engineering Modeling and Design Designing Classes Introduction  OOD requires taking the objects identified during object-oriented analysis and designing classes to represent them  Object oriented development require that you think in terms of classes  Main benefit of this approach is that classes organize related properties into units that stand on their own  You must translate the attributes and operations into system implementations Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 13. Software Engineering Modeling and Design Designing Classes Introduction  Need to decide where in the class tree, new classes will go.  Many object-oriented programming lang. and development environments Such as Smalltalk, C++ or PowerBuilder, come with several built-in class libraries  Goal in using these systems should be to reuse rather than create anew.  Similarly, if you design your classes with reusability in mind, you will gain a lot in productivity and reduce the time for developing new applications Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 14. Software Engineering Modeling and Design Designing Classes : the process Which consist of the following activities:  Apply design axioms to design classes, their attributes, methods, associations, structures and protocols  Refine and complete the static UML class diagram by adding details to that diagram  Refine attributes  Design methods and the protocols by utilizing a UML activity diagram to represent the method’s algorithm  Refine the associations between classes (if required) Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 15. Software Engineering Modeling and Design Designing Classes : the process Which consist of the following activities:  Refine the class hierarchy and design with inheritance (if required)  Iterate and refine Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 16. Software Engineering Modeling and Design Class Visibility : Designing well-defined public, private and protected protocols  In designing methods or attributes for classes, you are confronted with two problems  Protocol or interface to class operations and its visibility  How it is implemented  It is important in OOD to define the public protocol between the associated classes in the application  Set of msgs that class of certain generic type must understand, although interpretation and implementation of each msg is up to the individual class Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 17. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 18. Software Engineering Modeling and Design Class Visibility  Private protocol of the class, includes messages that normally should not be sent from other objects; it is accessible only to operations of that class  Only the class itself can use the method  Public protocol define the stated behavior of the class as a citizen in a population and is important information for users as well as future descendants, so it is accessible to all classes  If the methods or attributes can be used by the class itself or its subclasses, a protected protocol can be used  In protected protocol , subclasses the can use the method in addition to the class itself Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 19. Software Engineering Modeling and Design Class Visibility  Public protocols define the functionality and external messages of an object; private protocols define the implementation of an object Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 20. Software Engineering Modeling and Design Private and protected protocol Layers: Internal  Items in these layers define the implementations of the object.  Apply design axioms and corollaries, Corollary 1 (uncoupled design with less information content)  To decide what should be private: what attributes? What methods?  Highly cohesive objects can improve coupling because only a minimal amount of essential information need to be passed between objects. Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 21. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Public protocol Layer: External  Items in this layer define the functionality of the object.  Good Design allows for Polymorphism  Not all protocol should be public; again apply design axioms and corollaries
  • 22. Software Engineering Modeling and Design Design classes : Refining attributes  Attributes identified must be refined during implementation  In analysis phase the name of the attribute was sufficient  In design phase, detailed information must be added to the model  Main goal of this to refine existing attributes (identified in analysis)or add attributes that can elevate the system into implementation Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 23. Software Engineering Modeling and Design Attributes Types  Single- value attributes  Multiplicity or multivalue attribute  Reference to another object, or instance connection Object Oriented Design Mr. N. L. Shelake Department of Information Technology UMLAttributes Presentation Visibility name : type-expression = initial value  + public visibility  # protected visibility  - private visibility
  • 24. Software Engineering Modeling and Design Attributes Types  Single- value attributes  Attributes represent the state of an object.  When the state of the object changes, these changes are reflected in the value of attributes  Most common attribute type  It has only one value or state  Example – such as name, address or salary Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 25. Software Engineering Modeling and Design Attributes Types  Multiplicity or Multivalue attribute  Attributes is the opposite of the single value attribute, as its name implies  It can have a collection of many values at any point in time  Example – if we want to keep track of the names of people who have called a customer support line for help, we must use the multivalue attributes Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 26. Software Engineering Modeling and Design Attributes Types  Reference to another object, or instance connection  Attributes are required to provide the mapping needed by an object to fulfill its responsibilities  Instance connection model association  Example – A person might have one or more bank accounts. A person has zero to many instance connections to Accounts. Similarly, account can be assigned to one or more persons (i.e. joint account) therefore an account also has zero to many instance connections to Person(s). Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 27. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology UMLAttributes Presentation Where visibility is one of the following:  + public visibility (accessibility to all classes)  # protected visibility (accessibility to subclasses & operations of the class)  - private visibility (accessibility only to operations of the class)  TypeExpression – language dependent specification of the implementation  Initial Value – lang. dependent expression for initial value of newly created  Eg +size:length=100  OCL can be used during the design phase to define the class attributes.  Following is the attribute presentation suggested by UML visibility name : type-expression = initial value
  • 28. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Refining Attributes for the ViaNet bank objects A more complete UML class diagram for the ViaNet bank System Class ATMMachine  #addres:String (The address for this ATM Machine)  #State:String (The state of operation for this ATM Machine, Such as running, off, idle, out of Service, Out of Money)
  • 29.
  • 30. Software Engineering Modeling and Design Designing Methods and Protocols  To specify the algorithm for methods identified  Some formal structure such as UML activity diagrams with an OCL description, they can be converted programming language manually or in automated fashion  Class provide several types of methods  Constructor : Method that creates instance of the class  Destructor : Method can destroy instances  Conversion method : method that converts a value from one unit of measure to another Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 31. Software Engineering Modeling and Design Designing Methods and Protocols  Main goal of this activity is to specify the algorithm for methods identified so far.  Some formal structure such as UML activity diagrams with an OCL description, they can be converted programming language manually or in automated fashion  Class provide several types of methods  Constructor : Method that creates instance of the class  Destructor : Method can destroy instances  Conversion method : method that converts a value from one unit of measure to another Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 32. Software Engineering Modeling and Design Designing Methods and Protocols  Class provide several types of methods  Copy method : method that copies the contents of one instance to another instance  Attribute set : method that sets the values of one or more attributes  Attribute get : method that returns the values of one or more attributes  I/O methods : methods that provide or receive data to or from a device  Domain specific : method specific to the application Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 33. Software Engineering Modeling and Design Designing Methods and Protocols  Corollary 1 : uncoupled design with less information conetent  In designing methods and protocols you must minimize the complexity of message connections and keep as low as possible the number of messages sent and received by an object  Goal should be to maximize cohesiveness among objects and software components to improve coupling, because only a minimal amount of essential information should be passed between components  Abstraction leads to simplicity and straightforwardness and same time increase class versatility Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 34. Software Engineering Modeling and Design Designing Methods and Protocols  The requirement of simplification, while retaining functionality, seems to lead to increased utility, here are Five rules  If it looks messy, then it’s probably a bad design  If it is too complex, then it’s probably a bad design  If it is too big, then it’s probably a bad design  If people don’t like it, then it’s probably a bad design  If it doesn’t work, then it’s probably a bad design Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 35. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology UML Operation Presentation Visibility name : (parameter-list) : return-type-expression Where visibility is one of the following:  + public visibility (accessibility to all classes)  # protected visibility (accessibility to subclasses & operations of the class)  - private visibility (accessibility only to operations of the class)  Name is the name of operation  Parameter-list : list of parameters separated by commas,  Return-type-expression : lang. dependent specification  +getName():aName  +getAccountNumber (account:type) : account Number
  • 36. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Example
  • 37. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Account Class Deposit Method  An amount to be deposited is sent to an account object and used as an argument to the deposit service.  The account adjusts its balance to its current balance plus the deposit amount.  The object records the deposit by creating a transaction object containing the date and time, posted balance, and transaction type and amount.  We have discovered another method, update client
  • 38. Software Engineering Modeling and Design Object Oriented Analysis Mr. N. L. Shelake Department of Information Technology
  • 39. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Package and Managing Classes  A package groups and manages the modeling elements, such as classes their associations, and their structures.  Packages themselves may be nested within other package.  A package may contain both other packages and ordinary model elements  UML package is grouping of model elements  It can organize the modeling elements including classes
  • 40. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Package and Managing Classes  some packages may contain groups of classes and their relationships, subsystems or models  A package provides a hierarchy of different system components and can reference other packages  For example, the bank system can be viewed as a package that contains other packages such as account package, client package and so on  Classes can be packaged based on the services they provide or grouped into the business classes, access classes and view classes as shown fig.
  • 43. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Access Layer : Object Storage and Object Interoperability  A DBMS is set of programs that enables the creation and maintenance of a collection of related data.  A DBMS and associated program access, manipulate, protect and manage the data.  The fundamental purpose of a DBMS is to provide a reliable, persistent data storage facility and the mechanism for efficient, convenient data access and retrieval.  A database is supposed to represent a real-world situation as completely and accurately as possible
  • 44. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Access Layer : Object Storage and Object Interoperability  Persistence refers to the ability of some objects to outlive the programs that created them  Object lifetimes can be short as far local objects or long for objects stored indefinitely in a database.  Most OOL do not support serialization or object persistence, which is the process of writing or reading an object to and from a persistent storage medium, such as a disk file.  Persistence objects do not support query or interactive user interface facilities, as found in fully supported OODBMS.
  • 45. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Access Layer : Object Storage and Object Interoperability  Introduces the issues regarding object storage, relational and object- oriented database management systems, object interoperability and other technologies.  We then look at current trends to combine object and relational systems to provide a very practical solutions to object storage.  We conclude the with a discussion on how to design the access layer objects.
  • 46. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Database Management Systems  A DBMS is set of programs that enables the creation and maintenance of a collection of related data.  DBMS Contains not only the data but a complete definition of the data formats it manages  This description is known as the schema or meta-data  Contains a complete definition of the data formats, such as data structures, types and constraints.
  • 47. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Database Models  A database Model is a collection of logical constructs used to represent the data structure and data relationships within the database.  Database models grouped into conceptual and implementation models  The conceptual model is concerned with what is represented in the database  The implementation model is concerned with how it is represented  Hierarchical Model  Network Model  Relational Model
  • 48. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Relational Models  Has the simplest, most uniform structure and is the most commercially widespread  Primary concept in this database model is the relation  The columns of each table are attributes that define the data or value domain for entries in that column  The rows of each table are tuples representing individual data object being stored  A relational table should have only one primary key  A Primary Key is combination of one or more attributes whose value unambiguously locates each row in the table.
  • 49. Object Oriented Design Mr. N. L. Shelake Department of Information Technology Relational Model
  • 50. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Object oriented Databases  OODBMS allows to representation and storage of data in the form of objects  Own identity or object-ID  A large number of different datatypes  A large number of relationships between the objects  Objects with complex behaviours
  • 51. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Object Relational Systems  Even though many applications increasingly are developed in an object oriented programming technology,  chances are good that the data those applications need to access live in a very different universe- a relational database. The introduction of OOP creates a fundamental mismatch between the programming model (Object) and the way in which existing data are stored (relational tables)  To resolve the mismatch, a mapping tool between the application objects and the relational data must be established
  • 52. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Object Relational Systems  Creating an object model from an existing relational database layout (schema) often is referred to as reverse engineering  Conversely, creating a relational schema from an existing object model often is referred to as forward engineering  In practice, over the life cycle of an application, forward and reverse engg. both need to be combined in an iterative process to maintain the relationship between the object and relational data representations  Tools that can be used to establish the object-relational mapping processes have begun to emerge.
  • 53. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Object Relational Systems The main process in relational and object integration is defining the relationship between the table structures(schema) in the relational database with classes (representing classes) in the object model.  Sun’s Java Blend is an example of such tool  Java Blend allows the developer access to relational data as Java objects, thus avoiding the mismatch between the relational and object data models.  Java Blend also has mapping capabilities to define Java classes from relational tables or relational tables from the java classes
  • 54. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Object Relational Mapping  The schema is made up of tables, consisting of rows and columns, where each column has a name and a simple data type  In object model, the counterpart to a table is a class (or classes), which has a set of attributes (properties or data members).  Object classes describe behavior with methods  A tuple (row) of a table contains data for a single entity that correlates to an object (instance of class) in an OO system.
  • 55. Software Engineering Modeling and Design Object-Relation Mapping  A stored procedure is a module of precompiled SQL code maintained within the databases that executes on the server to enforce rules the business has set about the data.  The mappings essential to object and relational integration are between a table and a class, between columns and attributes, between a row and an object, and between a stored procedure and a method  How relational data maps to and from application objects  Table-class mapping  Table-Multiple classes mapping  Table-inherited classes mapping  Tables-inherited classes mapping
  • 56. Software Engineering Modeling and Design Object-Relation Mapping  In addition to mapping column values, the tool must be capable of interpretation of relational foreign keys.  The tool must describe both how the foreign key can be used to navigate among classes and instances in the mapped object model and how referential integrity is maintained.  Referential Integrity means making sure that dependent tables’s foreign key contains a value that refers to an exiting valid tuple in another relation.
  • 57. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Table-Class Mapping  Table-class mapping is simple one to one mapping of a table to a class and the mapping of columns in the table to properties in a class  In this mapping, a single table is mapped to a single class  In such mapping it is common to map all the columns to properties  However, this is not required and it may be more efficient to map only those columns for which an object model is required by the application Cost Color Make Model Car Cost Color Make model
  • 58. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Table-Class Mapping  Each row in the table represents an object instance and each column in the table corresponds to an object attribute.  This kind of mapping provides a literal translation between a relational data representation an application  It is apperaling in its simplicity Cost Color Make Model Car Cost Color Make model
  • 59. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Table-Multiple Classes Mapping Name Address custID empID Employee Name Address empID Customer Name Address custID Table-multiple classes mapping. The custID column provides the discriminant. if the value for custID is null, an Employee instance is created at run time; otherwise, a customer instance is created  A single table maps to multiple noninheriting classes  Two or more distinct, noninheriting classes have properties that are mapped to columns in a single table
  • 60. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Table-Inherited Classes Mapping  In table-inherited classes mapping, a single table maps to many classes that have a common superclass.  This mapping allows the user to specify the columns to be shared among the related classes.  The super class may be either abstract or instantiated
  • 61. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Name Address Ssn Wage Salary Employee Name ssn Address HourlyEmployee wage  Table-inherited classes mapping. Instance of SalariedEmployee can be created for any row in the person table that has a non null value for the salary column. If salary is null, the row is represented by an HourlyEmployee instance. SalariedEmployee salary Table-inherited classes mapping
  • 62. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Table-Inherited Classes Mapping  Which allows the translation of is-a relationship that exist among tables in the relational schema into class inheritance relationships that exist among tables in the relational schema into class inheritance relationships in the object model.  In a relational database, an is-a relationship often is modeled by primary key that acts as a foreign key to another table  In a object model, is-a is another term for an inheritance relationship  By using the inheritance relationship in the object model, the mapping can express a richer and clearer definition of the relationship than is possible in the relational schema
  • 63. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Tables-Inherited Classes Mapping Name Address Ssn Salary Person ssn Name Address Employee Dept Salary Customer Company Name Address Ssn Name Address company Person Table Employee Table Customer Table
  • 64. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes  We studied DBMS, distributed objects, OODBMS relational-object systems  The main idea behind creating an access layer is to create a set of classes that know how to communicate with the place where data actually reside  Regardless of where the data actually reside, whether it be a file, relational database, mainframe, Internet and so on  The access classes must be able to translate any data-related requests from the business layer into the appropriate protocol for data access
  • 65. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes  These classes also must be able to translate the data retrieved back into the appropriate business objects  The access layer’s main responsibility is to provide a link between business or view objects and data storage  Three-layer architecture, in essence, is similar to three-tier architecture  The view layer corresponds to the client tier  The business layer to the application server tier  The access layer to the database tier
  • 66. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes
  • 67. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes  The access layer performs two major tasks:  Translate the request  The access layer must be able to translate any data-related requests from the business layer into the appropriate protocol for data access  For example, if customer number 55552 needs to be retrieved, the access layer must be able to create the correct SQL statement and execute it  Translate the results  The access layer also must be able to translate the data retrieved back into the appropriate business objects and pass those objects back into the business layer
  • 68. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes  The main advantages of this approach is that the design is not tied to any database engine or distributed object technology  Easily can switch from one database to another with no major changes to the user interface or business layer objects  Access layer classes provide easy migration to emerging distributed object technology, such as CORBA and DCOM  These classes should be able to address the (relatively) modest needs of two-tier client server architectures as well as the difficult demands of fine- grained, peer
  • 69. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes : The Process  Mirror the Business class package  Define relationship  Simplify classes and relationships  Redundant class  Method classes  Iterate and refine  Store attributes and methods  Done by utilizing an OODBMS and Relational Database
  • 70. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes : The Process  Another Approach is to let the methods be stored in a program  Store only persistent attributes
  • 71. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes : The Process
  • 72. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes : The Process
  • 73. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing Access Layer Classes : The Process
  • 74. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology View Layer : Designing Interface object  Once analysis is completed, can start designing user interface for objects and determine how these objects are to be presented.  Goal of UI is to display and obtain needed information in an accessible, efficient manner.  For design to provide users information they need and clearly tell them how to successfully complete a task  A well Designed UI has visual appeal that motivates users to use your application
  • 75. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology View Layer : Designing Interface object  How to design the view layer by mapping the UI objects to the view layer objects  Will look at UI design rules based on the design corollaries  Finally, we look at the guidelines for developing a graphical user interface
  • 76. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology User Interface Design as a creative process  GUI uses icons to represent objects, a pointing device to select operations, and graphic imagery to represent relationships  Creative thinking is not confined to a particular field or a few individuals but is possessed in varying degrees by people in many occupations.  artist sketches, journalist promotes an idea, scientist develop a theory, the manager implements a new strategy and programmer develops a new s/w system or improve an existing system to create a better one.  Creativity implies newness, but often it is concerned with the improvement of old products as much as with the creation of a new one
  • 77. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology User Interface Design as a creative process  To view user interface design as a creative process, it is necessary to understand what the creative process really involves  The creative process is combination of the following  A curious and imaginative mind  A broad background and fundamentals knowledge of existing tools and methods  Desire to do complete and thorough job of discovering solutions once a problem has been defined  Being able to deal with uncertainty and ambiguity
  • 78. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing View Layer Classes The view layer objects are responsible for two major aspects of the applications:  Input –responding to user interaction  UI must be designed to translate an action by the user, such as clicking on a button or selecting from a menu, into an appropriate response  Response may be to open or close another interface or to send a message down into the business layer to start some business process  Business logic does not exist here, just the knowledge of which message to send to which business object.
  • 79. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing View Layer Classes The view layer objects are responsible for two major aspects of the applications:  Output- displaying or printing business object  Layer must paint the best picture possible of the business objects for the user  In one interface, this may mean entry fields and list boxes to display an order and its items  In another, it may be a graph of the total price of a customer’s orders
  • 80. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing View Layer Classes  The macro level UI design process  Identify view layer objects-main objectives of the macro process is to identify classes that interact with human actors by analyzing the use cases developed in the analysis phase  Each usecase involves actor and the task they want to do, these usecases should capture a complete, unambiguous and consistent picture of the interface requirements.  We need to address the issue of how the interface must be implemented  System view should be user perspective
  • 81. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing View Layer Classes  Micro level UI design activities:  Designing the view layer objects by applying design axioms and corollaries.  Decide how to use and extend the components  Provide most usable interface  Prototyping the view layer interface  After defining a design model, prepare a prototype of some of the basic aspects of design  Prototyping is particularly useful early in the design process
  • 82. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Designing View Layer Classes  Testing usability and user satisfaction  Must test the application to make sure it meets the audience requirements  To ensure user satisfaction, we must measure user satisfaction and its usability along the way as the UI design takes form  Usability experts believe that usability testing should be integrated into the development process rather than performed as a post-mortem or forensic activity.  Refining and iterating the design
  • 83. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Macro-Level Process: Identifying view classes by analyzing use cases  The interface object manages all interactions with the actor but does not perform any business rules or object storage operations.  The Interface object will essentially act as a buffer between the user and the rest of the business objects.  Example, A business object service is one that computes employee overtime. However, the employee's data input is an interface object.
  • 84. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Macro-Level Process: Identifying view classes by analyzing use cases  View layer macro process consist od two steps  For every class, determine if the class interacts with a human actor  Identify the view (interface) objects for the class.  Zoom in by utilizing sequence or collaboration diagram  Define the relationships among the view (interface) objects  For the most part, interfaces objects, like access classes, interact with business classes.  Iterate and refine
  • 85. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology The macro-level design process
  • 86. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Micro-Level Process
  • 87. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology The micro-level design process
  • 88. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Micro-Level Process:  Design of view layer objects must be user driven or user centered  A user-centered interface replicates the user’s view of doing things by providing the outcomes users expect for any action  example, the tool should be easy to use and natural if the purpose of the application is to automate a paper-based procedure.  Design your application so it allows users to apply their previous real-world knowledge of the paper process to the application interface  The main goal of view layer design is to address users needs
  • 89. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Micro-Level Process:  The following is the process of designing view (interface) objects:  For every interface object identified in the macro UI design process, Apply micro-level UI design rules and corollaries to develop the UI  Iterate and refine
  • 90. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Micro- Level Process
  • 91. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology UI Design Rule:  Making the interface Simple (Application of Corollary 2)  Your application's user interface should be so straightforward that users are unaware of the components and processes that make it operate.  Example of car engine (Complex), driver needs only a steering wheel and the brake pedals to operate a car  Application of Corollary 2 means, each class UI class must have a single, clearly defined purpose  Every additional feature potentially affects the performance, complexity, stability, maintenance and support costs of an application.  Harder to fix design problem after release bcz user become dependent
  • 92. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology UI Design Rule:  Making the Interface Transparent and Natural (Application of Corollary 4)  Users should be able to anticipate what to do next by using their prior experience performing things without a computer because the user interface should be so simple and natural.  Application of corollary 4 (strong mapping), implies that there should be strong mapping between the users view of doing things and UI classes
  • 93. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology UI Design Rule:  Allowing users to be in control of the Software(Application of Corollary 1)  Users always should feel in control of the software, rather than feeling controlled by the software  It has number of implications  Operational assumption, actions are started by the user rather than the computer or software  Widely varying skills and preferences, must be able to customize aspects of the interface  Software should be as interactive and responsive as possible  Avoid modes whenever possible, excludes general interaction or limits user specific interactions
  • 94. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Purpose of a view layer Interface  User interface can employ one or more windows  Each window should serve a clear, specific purpose  Forms and data entry windows  Provide access to data that users can retrieve, display and change in the application  Dialog Boxes  Display status information or ask user to supply information or make decision before continuing task (typical feature is OK button)  Application windows (main windows) – container of application objects or icons
  • 95. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Component Diagram  Component diagram model the physical component (such as source code, executable program, user interface) in a design  These high-level physical component may or may not be equivalent to the many smaller component you use in the creation of your application.  Example, a user interface may contain many other components purchased to put together a graphical user interface  Another way of looking at components is the concept of packages  A package is used to show how you can group together classes, which in essence are smaller scale components
  • 96. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Component Diagram  Package usually used to group logical components of application  Package could be a first approximation of what eventually will turn into physical grouping  A component diagram is a graph of the designs components connected by dependency relationships.  Dependency is shown as a dashed arrow  A component diagram in UML gives a bird’s-eye view of your software system.  Understanding the exact service behavior that each piece of your software provides will make you a better developer
  • 97. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Component Diagram : - Component diagrams are different in terms of nature and behavior. Component diagrams are used to model the physical aspects of a system Physical aspects are the elements such as executables, libraries, files, documents, etc. which reside in a node. component diagram is to show the relationship between different components in a system component-based development (CBD). component diagrams allow the planner to identify the different components so the whole system does what it's supposed to do.
  • 98. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Component Diagram : - Component diagrams may seem complex at first glance, they are invaluable when it comes to building your system. Component diagrams can help your team: Imagine the system’s physical structure. Pay attention to the system’s components and how they relate. Emphasize the service behavior as it relates to the interface.
  • 99. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Component Diagram Notations: - A component is a logical unit block of the system, a slightly higher abstraction than classes. It is represented as a rectangle with a smaller rectangle in the upper right corner with tabs A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. Draw dependencies among components using dashed arrows.
  • 100. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Component Diagram Notations: Artifacts are model elements that represent the physical entities in a software system Artifacts represent physical implementation units, such as executable files, libraries, software components, documents, and databases. Artifacts are commonly used in deployment diagrams, but you can also use them in component diagrams to show the model elements, such as components or classes, that are manifested in the artifact
  • 101. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Component Diagram Notations: - Some real life examples of UML artifacts are: text document source file script binary executable file archive file database table The UML Standard Profile defines several standard stereotypes that apply to artifacts: «file» A physical file in the context of the system developed.
  • 102. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Component Diagram Notations: Standard stereotypes - subclasses of «file»: «document» A generic file that is not a «source» file or «executable». «source»A source file that can be compiled into an executable file. «library» A static or dynamic library file. «executable» A program file that can be executed on a computer system. «script» A script file that can be interpreted by a computer system.
  • 103. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Interface Notations: - An interface (small circle or semi-circle on a stick) describes a group of operations used (required) or created (provided) by components.  A full circle represents an interface created or provided by the component. A semi-circle represents a required interface, like a person's input.
  • 104. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology Interface Notations: - Provided interface symbols with a complete circle at their end represent an interface that the component Required Interface symbols with only a half circle at their end represent an interface that the component requires (in both cases, the interface's name is placed near the interface symbol itself).
  • 105. Software Engineering Modeling and Design component diagrams Mr. N. L. Shelake Department of Information Technology A component diagram for an online shopping system
  • 106. Software Engineering Modeling and Design Deployment Diagram: - A deployment diagram is a UML diagram type that shows the execution architecture of a system, including nodes such as hardware or software execution environments, and the middleware connecting them. Deployment diagrams are typically used to visualize the physical hardware and software of a system.
  • 107. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Deployment Diagram  Deployment diagram show the configuration of run-time processing elements and the software components, processes, and objects that live in them  Software component instances represent run-time manifestations of code units  In most cases, component diagrams are used in conjunction with deployment diagrams to show how physical modules of code are distributed on various hardware platforms.  In many cases, component and deployment diagrams can be combined  A deployment diagram is a graph of nodes connected by communication association
  • 108. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Deployment Diagram  Nodes may contain component instances, which means that the component lives or runs at that node  Components may contain objects, this indicates that the object is part of the component  Component are connected to other component by dashed-arrow dependencies.  Each node or processing element in the system is represented by a three- dimensional box  Connections between the nodes (or platforms) themselves are indicated by solid lines
  • 109. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Deployment Diagram Notation  Nodes may contain component instances, which means that the component lives or runs at that node
  • 110. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Steps to draw Deployment Diagram  Identify the nodes and devices within the system  Figure out the relationships between the nodes and devices  Add the communication associations to the diagram  Identify what other elements like components, active objects, Artifacts you need to add to complete the diagram  Add dependencies between components and objects as required
  • 111. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology Example of Deployment Diagram
  • 112. Software Engineering Modeling and Design Object Oriented Design Mr. N. L. Shelake Department of Information Technology
  • 113. Object Oriented Design Mr. N. L. Shelake Department of Information Technology