SlideShare a Scribd company logo
1 of 69
CS8592 – OBJECT ORIENTED
ANALYSIS AND DESIGN
(III YEAR/V SEM)
(ANNA UNIVERSITY – R2017)
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
1
Vision and Mission
Vision:
“ To achieve a prominent position among the top
technical
institutions ”
Mission:
 To bestow standard technical education par
excellence through state of the art infrastructure,
competent faculty and high ethical standards.
 To nurture research and entrepreneurial skills
among students in cutting edge technologies.
 To provide education for developing high-quality
professionals to transform the society 8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
2
Program Outcome (PO’s)
 Engineering Knowledge
 Problem Analysis
 Design or Development of solutions
 Conduct investigation of complex problems
 Modern Tools Usage
 The engineer and society
 Environment and Sustainability
 Ethics
 Individual and Team work
 Communication
 Project management and finance
 Life long learning
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
3
Program Specific Outcome
(PSO’s)
 To analyze, design and develop computing
solutions by applying foundation concepts of
computer science and engineering
 To apply software engineering principles and
practices for developing quality software for
scientific and business applications
 To adapt to emerging information and
communication technologies (ICT) to innovate
ideas and solutions for existing / novel problems.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
4
Course Outcomes (Cos)
 Express software design with UML diagrams
(PO1,PO3, PO6)
 Design software applications using OO Concepts
(PO1,PO2,PO3, PO6)
 Identify various scenarios based on software
requirements (PO1,PO2)
 Transform UML based software design to pattern
based design using design patterns(PO1,PO3)
 Understand the various testing methodologies for
OO Software (PO1,PO6)
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
5
Blooms taxonomy levels
 K1 – Remembering
 K2-Understanding
 K3-Apply
 K4-Analyze
 K5-Evaluate
 K6-Create
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
6
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
7
UNIT I
UNIFIED PROCESS AND USE CASE
DIAGRAMS
Introduction to OOAD
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
8
Object Orientated System Development:
 Object oriented method of building software
 Software is a collection of discrete objects that
encapsulates their data and the functionality that
manipulates the data
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
9
In OO System,
 Everything is an object(Any real world entity).
Example: Customer, Car, Book, Hotel, Pilot, etc…
 Each object is responsible for itself.
 Each object has an attributes(data) and methods (functions).
Example: Car has an attributes such as model no, color, speed,
cost. It has methods start(), accelerate(), turnright(), turnleft(),
gearup(), geardown(), stop().
 Objects are grouped into classes
 Interactions through message passing (A sender object sends a
request (message) to another object (receiver) to invoke a
method of the receiver object’s)
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
Example
Class Car
Attributes
 Model
 Location
 #Wheels = 4
Operations
 Start
 Accelerate
<<instanceOf>>
<<instanceOf>>
<<instanceOf>>
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
11
Why Object Orientation? (Benefit of object orientation)
 Higher levels of abstraction
 Objects encapsulates data (attributes) and functions(methods). So
internal details are hidden from outside.
 Support abstraction at object level.
 Seamless transition among different phases of software development
 Reduce the level of complexity and redundancy makes for clearer
and robust system development.
 Encouragement of good programming techniques
 Easy to produce more modular and reusable code through classes
and inheritance using OO language (C++,java…)
 Promotion of reusability
 Classes are designed generically with reuse as a constant
background goal in OO system using inheritance.
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
12
Object-Oriented Analysis
An investigation of the problem (rather than
how a solution is defined)
During OO analysis, there is an emphasis on
finding and describing the objects (or concepts)
in the problem domain.
For example, concepts in a Library Information
System include Book, and Library.
Also called domain objects, entities.
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy 13
Object-Oriented Design
Emphasizes a conceptual solution that fulfills the
requirements.
Need to define software objects and how they
collaborate to meet the requirements.
For example, in the Library Information System, a Book
software object may have a title attribute and a
getBookDetails() method.
• What are the methods needed to process the
attributes?
Designs are implemented in a programming language.
In the example, we will have a Book class in Java.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 14
Book
Title : string
public class Book {
private String title;
public void getBookDetails()
{...}
}
Book
(concept)
Analysis
investigation
of the problem
Design
logical solution
Construction
code
Domain concept Visual Representation of
Domain concepts
Representation in an
object-oriented
programming language.
getBookDetails(
)
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
15
 Analysis: - investigate the problem and the
requirements.
 What is needed? Required functions? Investigate
domain objects.
 Problem Domain
 The Whats of a system.
 Do the right thing (analysis)
 Design:
 Conceptual solution that meets requirements.
 Not an implementation
 E.g. Describe a database schema and software objects.
 The Solution Domain
 The ‘Hows’ of the system
 Do the thing right (design)
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
16
 OOA: we find and describe business objects or
concepts in the problem domain
 OOD: we define how these software objects
collaborate to meet the requirements.
 Attributes and methods.
 OOP: Implementation: we implement the design
objects in, say, Java, C++, C#, etc.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
17
Unified Process (UP)
• The Unified Process is a popular iterative
software development process for building
object oriented system.
• Iterative and evolutionary development
involves relatively early programming and
testing of a partial system, in repeated cycles.
• It typically also means that development starts
before the exact software requirements have
been specified in detail;
• Feedback (based on measurement) is used to
clarify, correct and improve the evolving
specification
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
18
 Iterative and Incremental
 Architecture Centric
 Risk focussed
Phases of Unified process
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
19
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
20
Inception
 Communication and Planning
 Feasibility study
 Establish the business case for the project
 Establish the project scope and boundary condition
 Outline the usecases and key requirements
 Outline the rough architecture
 Identify risks
 Prepare rough project schedule and cost estimation.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
21
Elaboration
 Planning and Modelling
 Refines and expands the preliminary use cases that were
developed as part of the inception phase.
 Expands the architectural representation to include five
different views of the software such as Use case model,
Requirements model, Design model, Implementation
model and Deployment model.
 Establish and validate system architecture through
implementation of executable architecture base line (Partial
implementation of the system contains only core functionality) .
Its built in series of small time boxed iterations.
 Final elaboration phase deliverable is plan for construction
phase (include cost and schedule)
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
22
Construction
 Remainder of the system is built on foundation laid
in elaboration phase
 System features are implemented in series of short
time boxed iterations.
 Each iteration results in executable release of
software
 As components are being implemented, unit tests
are designed and executed for each and Integration
activities are conducted.
.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
23
Transition
 System is deployed to target users
 Feedback received from initial release may result in further
refinement.
 The software team creates the necessary support information
(e.g., User manuals, Troubleshooting guides, installation
procedures) that is required for the release.
 At the conclusion of the transition phase, the software increment
becomes a usable software release
Production
 The ongoing use of the software is monitored, support for the
operating environment (infrastructure) is provided, and defect
reports and requests for changes are submitted and evaluated.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
24
UML Diagrams
(Unified Modeling Language )
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 25
 A language for visualizing, specifying, constructing, and
documenting the artifacts of a software-intensive system
 The UML is a very important part of developing object
oriented software and the software development
process.
 UML is a modeling language to express and design
documents, software.
 Particularly useful for OO design
 Independent of implementation language
Goals in design of UML
 Provide users a ready – to use expressive visual modeling
language so they can develop and exchange meaningful models.
 Provide extensibility and specialization mechanism to extend the
core concepts.
 Be independent of particular programming language and
development process.
 Provide a formal basis for understanding the m7. odeling
language.
 Encourage the growth of the OO tools market.
 Support higher – level development concepts.
 Integrate best practices and methodologies.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
26
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
27
 Three ways to apply UML
 UML as a sketch – informal and incomplete diagram to explore
difficult parts of problem
 UML as blueprint – Detailed design diagrams used either for
reverse engineering(Code to diagram) and forward
engineering(diagram to code).
 UML as programming language – complete executatble
specification of software system in UML. Executable code will
be automatically generated.
 Three perspectives to apply UML
 Conceptual Perspectives
 Describing things in the domain of interest
 Specification Perspectives
 Describing software abstractions, but no commitment to a
particular implementation
 Implementation Perspectives
 Describing implementations in a particular technology
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
28
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
29
UML Diagrams
 Static diagrams (Structural Diagram)
 Class Diagram
 Object Diagram
 Component Diagram
 Deployment Diagram
 Package Diagram
 Behaviour diagrams
 Use case Diagram
 Activity Diagram
 Interaction Diagram
 Sequence Diagram
 Collaboration Diagram
 State Chart Diagram
Usecase Diagram:
Use case diagram shows an interaction between users (Actors) and system
Usecase - Scenarios in which your system or application interacts with people,
organizations, or external systems
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
30
Example use case diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
31
submit details
applicant
check status
regional
administrator
issue passport
passport
administrator
login
get details
verify
police
store verification
Class Diagram:
Class Diagram gives the static view of an application.
A class can refer to another class. A class can have its objects or may inherit from
other classes.
UML Class Diagram gives an overview of a software system by displaying classes,
attributes, operations, and their relationships.
This Diagram includes the class name, attributes, and operation in separate designated
compartments.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
32
Example Class Diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
33
Object Diagram
Object diagrams are derived from class diagrams so object diagrams are
dependent upon class diagrams.
Object diagrams represent an instance of a class diagram.
Object diagrams also represent the static view of a system but this static view is a
snapshot of the system at a particular moment
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
34
Activity Diagram:
Activity diagram describe the dynamic aspects of the system. Activity diagram is
basically a flowchart to represent the flow from one activity to another activity.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
35
Example activity diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
36
login
submit
details
get details
verification
penalty as
per law
issue
passport
Sequence Diagram: (Interaction Diagram)
Sequence Diagrams depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place
It shows timeline which show the order of the interaction visually by using the vertical
axis of the diagram to represent time what messages are sent and when.
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
38
Example sequence diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
39
applicant passport
administrator
regional
administrator
police database
1: login
2: give details
3: store the details
4: verify the details
5: update the details
6: send details
7: verify details
8: send verification
9: update the details
10: send details
11: verify the details
12: send verification
13: update the details
14: issue passport
Collaboration Diagram (Interaction Diagram)
A collaboration diagram is a type of interaction diagram that shows how various
software objects interact with each other within an overall IT architecture and how
users can benefit from this collaboration. It shows clear view of interaction between
objects. Messages are sequentially numbered. Its generated from sequence diagram
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
40
Example collboration diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
41
applican
t
passport
administrator
regional
administrator
police
databas
e
4: verify the details
7: verify details
11: verify the details
1: login
2: give details
14: issue passport
3: store the details
5: update the details
9: update the details
13: update the details
6: send details
8: send verification
10: send details
12: send verification
State Chart Diagram
State chart Diagram describes different states of a component in a system. The
states are specific to a component/object of a system. It describes state machine.
It models dynamic behaviour of class.
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
42
Example state chart diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
43
login give
details
get
details
verificati
on
issue
Component Diagram
Component diagram is to show the relationship between different components in a
system.
It model the physical aspects of a system. Physical aspects are the elements such as
executables, libraries, files, documents, etc. which reside in a node.
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
44
Example component diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
45
PASSPORT
AUTOMATION
APPLICANT
PASSPORT
ADMINISTRATOR
REGIONAL
ADMINISTRATOR
POLICE
Deployment Diagram
Deployment diagrams are used to visualize the topology of the physical components of a
system, where the software components are deployed.
Deployment diagrams are used to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
46
Example deployment diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
47
passport automation
system
applicant passport
administrator
regional
administrator
police
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
48
Package Diagram
Package diagrams are used to structure high level system elements.
Packages are used for organizing large system which contains
diagrams, documents and other key deliverables.
Package Diagram can be used to simplify complex class diagrams, it
can group classes into packages.
Example package diagram for passport automation system
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
49
web
applicant passport
administrator
police
regional
administrator
DOMAIN
give and get
details
verification
issue
technical details
login database1
Case study: Hospital management system
A system to manage the activities in a hospital:
Patients request for appointment for any doctor. The details of the
existing patients are retrieved by the system. New patients update
their details in the system before they request for appointment with
the help of assistant. The assistant confirms the appointment based
on the availability of free slots for the respective doctors and the
patient is informed. Assistant may cancel the appointment at any
time.
Construct Actors, Use cases, class diagram, Sequence
Diagram and state chart diagram.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
50
Case Study: The NextGen POS System
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy
51
• A POS system is a computerized application used
to record sales and handle payments;
• it is typically used in a retail store.
• It includes hardware components such as a
computer and bar code scanner, and software to run
the system.
• It interfaces to various service applications, such as
a third-party tax calculator and inventory control.
• These systems must be relatively fault-tolerant. That is, even if remote
services are temporarily unavailable (such as the inventory system), they
must still be capable of capturing sales and handling at least cash
payments.
• A POS system must support multiple and varied client-side terminals and
interfaces. These include a thin-client Web browser terminal, a regular
personal computer with something like a Java Swing graphical user
interface, touch screen input, wireless PDAs, and so forth.
• we are creating a commercial POS system that we will sell to different
clients with disparate needs in terms of business rule processing.
Therefore, we will need a mechanism to provide this flexibility and
customization.
• Using an iterative development strategy, we are going to proceed through
requirements, object-oriented analysis, design, and implementation. 8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
52
Logging Database Access
User
interface
Application
Logic and
Domain object
layer
Technical
Services layer
minor focus
Explore how to
connect to
other layers
Primary focus of
case study
Explore how to
design objects
Sale Payment
Secondary focus
Explore how to
design objects
Item ID
Quantity
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
53
Use Case Modelling
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
54
 Use Case Model describes the proposed functionality of the new system. It is a
pictorial representation of interaction between user and system.(Usecase
Diagram)
 Use Case represents a discrete unit of interaction between a user (human or
machine) and the system. Example :login to system, register with system and
create order are all Use Cases. It is also called scenarios.
 Each Use Case has a description which describes the functionality that will be
built in the proposed system.
 A Use Case may 'include' another Use Case's functionality or 'extend' another
Use Case with its own behavior.
 Use Cases are typically related to 'actors'. An actor is a human or machine entity
that interacts with the system to perform meaningful work.
 Actors An Actor is a user of the system. This includes both human users and
other computer systems. An Actor uses a Use Case to perform some piece of
work which is of value to the business.
8/19/2023
Department of CSE, K.Ramakrishnan College of
Engineering, Trichy 55
Components of Use case Diagrams
 Use cases: A use case describes a sequence of actions
that provide something of measurable value to an
actor and is drawn as a horizontal ellipse.
 Actors: An actor is a person, organization, or external
system that plays a role in one or more interactions
with your system. Actors are drawn as stick figures.
 Associations: Associations between actors and use
cases are indicated by solid lines. An association
exists whenever an actor is involved with an
interaction described by a use case.
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 56
Notations
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 57
Actors
• An actor models an external entity which communicates
with the system:
– User
– External system
– Physical environment
• An actor has a unique name and an optional description.
• Examples:
– Passenger: A person in the train
– GPS satellite: Provides the system with GPS coordinates
Passenger
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 58
Use Case
• A use case represents a class of functionality provided by
the system as an event flow.
A use case consists of:
• Unique name
• Participating actors
• Entry conditions
• Flow of events
• Exit conditions
• Special requirements
PurchaseTicket
Example :Use case Modelling – NextGenPOS System
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
59
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
60
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
61
Use Case: Process Sales
 Customer arrives at POS checkout with goods to purchase.
 Cashier starts a new sale.
 Cashier enters item identifier.
 System records sale line item and presents item description, price, and
running total. Price calculated from a set of price rules.
 Cashier repeats step 3-4 until done with all items.
 System presents total with taxes calculated.
 Cashier tells Customer the total, and asks for payment.
 Customer pays and System handles payment.
 System logs completed sale and sends sale and payment information to
the external Accounting system (for accounting and commissions) and
Inventory system (to update inventory).
 System presents receipt.
 Customer leaves with receipt and goods.
Relating Use Cases
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
62
There are three other types of relationship
between usecases.
 Extends
 Includes
 Generalization
<<extends>> Association (Relationship)
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 63
• <<extends>> relationship
represent exceptional or
seldom invoked cases.
• The exceptional event
flows are factored out of
the main event flow for
clarity.
• Use cases representing
exceptional flows can
extend more than one use
case.
• The direction of a
<<extends>> relationship is
to the extended use case
<<includes>>Association(Relationship) or
<<uses>> relationship
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy 64
• <<includes>> relationship
represents behavior that
is factored out of the use
case.
• <<includes>> behavior is
factored out for reuse,
not because it is an
exception.
• The direction of a
<<includes>> relationship
is to the using use case
(unlike <<extends>>
relationships).
Generalization relationship
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
65
 Use case generalization can be used when one use case that is similar to
another, but does something slightly differently or something more.
 Generalization works the same way with use cases as it does with
classes.
 The child use case inherits the behavior and meaning of the parent use
case.
 Base and the derived use cases are separate use cases and should have
separate text descriptions
 Represented by a line and a hollow arrow from child to parent
Child use case Parent use case
Example of Relationships
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
66
Applications`
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
67
 Software development
 Solving any real world problems
 Understanding the essential requirements of the
customer to ss.atisfy their business need
NPTEL Videos and References
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
68
https://nptel.ac.in/courses/nptel_download.php?subjectid=106105153
8/19/2023
Department of CSE, K.Ramakrishnan College
of Engineering, Trichy
69

More Related Content

Similar to 421215833-UNIT-1-OOAD-ppt.ppt

WebEngLab_In-YoungKo_201807
WebEngLab_In-YoungKo_201807WebEngLab_In-YoungKo_201807
WebEngLab_In-YoungKo_201807KAISTWebEng
 
Optimizing Building Plan for a (9m X 12m) House Using Learning Systems
Optimizing Building Plan for a (9m X 12m) House Using Learning SystemsOptimizing Building Plan for a (9m X 12m) House Using Learning Systems
Optimizing Building Plan for a (9m X 12m) House Using Learning SystemsIJCSIS Research Publications
 
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
 
vtu data structures lab manual bcs304 pdf
vtu data structures lab manual bcs304 pdfvtu data structures lab manual bcs304 pdf
vtu data structures lab manual bcs304 pdfLPSChandana
 
N_Sampath_Structural-2016
N_Sampath_Structural-2016N_Sampath_Structural-2016
N_Sampath_Structural-2016Sampath N
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
 
Accelerated Prototyping of Cyber Physical Systems in an Incubator Context
Accelerated Prototyping of Cyber Physical Systems in an Incubator ContextAccelerated Prototyping of Cyber Physical Systems in an Incubator Context
Accelerated Prototyping of Cyber Physical Systems in an Incubator ContextSreyas Sriram
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimationgrandhiprasuna
 
MK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMohammed Ali Khan
 
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...ijseajournal
 
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...ijseajournal
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}Mumbai B.Sc.IT Study
 
Evolutionary Architecture And Design
Evolutionary Architecture And DesignEvolutionary Architecture And Design
Evolutionary Architecture And DesignNaresh Jain
 
Augmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer ScienceAugmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer ScienceMelinda Watson
 
Hi Navish,Here I attached the feedback form. I personally feel.docx
Hi Navish,Here I attached the feedback form. I personally feel.docxHi Navish,Here I attached the feedback form. I personally feel.docx
Hi Navish,Here I attached the feedback form. I personally feel.docxpooleavelina
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 
Advances In Engineering Education Instructional Strategies To Promote Student...
Advances In Engineering Education Instructional Strategies To Promote Student...Advances In Engineering Education Instructional Strategies To Promote Student...
Advances In Engineering Education Instructional Strategies To Promote Student...Amber Ford
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Reverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature ReviewReverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature ReviewEditor IJCATR
 

Similar to 421215833-UNIT-1-OOAD-ppt.ppt (20)

WebEngLab_In-YoungKo_201807
WebEngLab_In-YoungKo_201807WebEngLab_In-YoungKo_201807
WebEngLab_In-YoungKo_201807
 
Optimizing Building Plan for a (9m X 12m) House Using Learning Systems
Optimizing Building Plan for a (9m X 12m) House Using Learning SystemsOptimizing Building Plan for a (9m X 12m) House Using Learning Systems
Optimizing Building Plan for a (9m X 12m) House Using Learning Systems
 
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
 
vtu data structures lab manual bcs304 pdf
vtu data structures lab manual bcs304 pdfvtu data structures lab manual bcs304 pdf
vtu data structures lab manual bcs304 pdf
 
N_Sampath_Structural-2016
N_Sampath_Structural-2016N_Sampath_Structural-2016
N_Sampath_Structural-2016
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal Models
 
Accelerated Prototyping of Cyber Physical Systems in an Incubator Context
Accelerated Prototyping of Cyber Physical Systems in an Incubator ContextAccelerated Prototyping of Cyber Physical Systems in an Incubator Context
Accelerated Prototyping of Cyber Physical Systems in an Incubator Context
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimation
 
MK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updated
 
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
 
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
 
Evolutionary Architecture And Design
Evolutionary Architecture And DesignEvolutionary Architecture And Design
Evolutionary Architecture And Design
 
Augmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer ScienceAugmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer Science
 
Hi Navish,Here I attached the feedback form. I personally feel.docx
Hi Navish,Here I attached the feedback form. I personally feel.docxHi Navish,Here I attached the feedback form. I personally feel.docx
Hi Navish,Here I attached the feedback form. I personally feel.docx
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Advances In Engineering Education Instructional Strategies To Promote Student...
Advances In Engineering Education Instructional Strategies To Promote Student...Advances In Engineering Education Instructional Strategies To Promote Student...
Advances In Engineering Education Instructional Strategies To Promote Student...
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Reverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature ReviewReverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature Review
 

Recently uploaded

VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
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
 
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
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 

Recently uploaded (20)

POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
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...
 
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
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
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
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 

421215833-UNIT-1-OOAD-ppt.ppt

  • 1. CS8592 – OBJECT ORIENTED ANALYSIS AND DESIGN (III YEAR/V SEM) (ANNA UNIVERSITY – R2017) 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 1
  • 2. Vision and Mission Vision: “ To achieve a prominent position among the top technical institutions ” Mission:  To bestow standard technical education par excellence through state of the art infrastructure, competent faculty and high ethical standards.  To nurture research and entrepreneurial skills among students in cutting edge technologies.  To provide education for developing high-quality professionals to transform the society 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 2
  • 3. Program Outcome (PO’s)  Engineering Knowledge  Problem Analysis  Design or Development of solutions  Conduct investigation of complex problems  Modern Tools Usage  The engineer and society  Environment and Sustainability  Ethics  Individual and Team work  Communication  Project management and finance  Life long learning 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 3
  • 4. Program Specific Outcome (PSO’s)  To analyze, design and develop computing solutions by applying foundation concepts of computer science and engineering  To apply software engineering principles and practices for developing quality software for scientific and business applications  To adapt to emerging information and communication technologies (ICT) to innovate ideas and solutions for existing / novel problems. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 4
  • 5. Course Outcomes (Cos)  Express software design with UML diagrams (PO1,PO3, PO6)  Design software applications using OO Concepts (PO1,PO2,PO3, PO6)  Identify various scenarios based on software requirements (PO1,PO2)  Transform UML based software design to pattern based design using design patterns(PO1,PO3)  Understand the various testing methodologies for OO Software (PO1,PO6) 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 5
  • 6. Blooms taxonomy levels  K1 – Remembering  K2-Understanding  K3-Apply  K4-Analyze  K5-Evaluate  K6-Create 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 6
  • 7. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 7 UNIT I UNIFIED PROCESS AND USE CASE DIAGRAMS
  • 8. Introduction to OOAD 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 8 Object Orientated System Development:  Object oriented method of building software  Software is a collection of discrete objects that encapsulates their data and the functionality that manipulates the data
  • 9. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 9 In OO System,  Everything is an object(Any real world entity). Example: Customer, Car, Book, Hotel, Pilot, etc…  Each object is responsible for itself.  Each object has an attributes(data) and methods (functions). Example: Car has an attributes such as model no, color, speed, cost. It has methods start(), accelerate(), turnright(), turnleft(), gearup(), geardown(), stop().  Objects are grouped into classes  Interactions through message passing (A sender object sends a request (message) to another object (receiver) to invoke a method of the receiver object’s)
  • 10. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy Example Class Car Attributes  Model  Location  #Wheels = 4 Operations  Start  Accelerate <<instanceOf>> <<instanceOf>> <<instanceOf>>
  • 11. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 11 Why Object Orientation? (Benefit of object orientation)  Higher levels of abstraction  Objects encapsulates data (attributes) and functions(methods). So internal details are hidden from outside.  Support abstraction at object level.  Seamless transition among different phases of software development  Reduce the level of complexity and redundancy makes for clearer and robust system development.  Encouragement of good programming techniques  Easy to produce more modular and reusable code through classes and inheritance using OO language (C++,java…)  Promotion of reusability  Classes are designed generically with reuse as a constant background goal in OO system using inheritance.
  • 12. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 12 Object-Oriented Analysis An investigation of the problem (rather than how a solution is defined) During OO analysis, there is an emphasis on finding and describing the objects (or concepts) in the problem domain. For example, concepts in a Library Information System include Book, and Library. Also called domain objects, entities.
  • 13. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 13 Object-Oriented Design Emphasizes a conceptual solution that fulfills the requirements. Need to define software objects and how they collaborate to meet the requirements. For example, in the Library Information System, a Book software object may have a title attribute and a getBookDetails() method. • What are the methods needed to process the attributes? Designs are implemented in a programming language. In the example, we will have a Book class in Java.
  • 14. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 14 Book Title : string public class Book { private String title; public void getBookDetails() {...} } Book (concept) Analysis investigation of the problem Design logical solution Construction code Domain concept Visual Representation of Domain concepts Representation in an object-oriented programming language. getBookDetails( )
  • 15. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 15  Analysis: - investigate the problem and the requirements.  What is needed? Required functions? Investigate domain objects.  Problem Domain  The Whats of a system.  Do the right thing (analysis)  Design:  Conceptual solution that meets requirements.  Not an implementation  E.g. Describe a database schema and software objects.  The Solution Domain  The ‘Hows’ of the system  Do the thing right (design)
  • 16. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 16  OOA: we find and describe business objects or concepts in the problem domain  OOD: we define how these software objects collaborate to meet the requirements.  Attributes and methods.  OOP: Implementation: we implement the design objects in, say, Java, C++, C#, etc.
  • 17. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 17 Unified Process (UP) • The Unified Process is a popular iterative software development process for building object oriented system. • Iterative and evolutionary development involves relatively early programming and testing of a partial system, in repeated cycles. • It typically also means that development starts before the exact software requirements have been specified in detail; • Feedback (based on measurement) is used to clarify, correct and improve the evolving specification
  • 18. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 18  Iterative and Incremental  Architecture Centric  Risk focussed
  • 19. Phases of Unified process 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 19
  • 20. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 20 Inception  Communication and Planning  Feasibility study  Establish the business case for the project  Establish the project scope and boundary condition  Outline the usecases and key requirements  Outline the rough architecture  Identify risks  Prepare rough project schedule and cost estimation.
  • 21. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 21 Elaboration  Planning and Modelling  Refines and expands the preliminary use cases that were developed as part of the inception phase.  Expands the architectural representation to include five different views of the software such as Use case model, Requirements model, Design model, Implementation model and Deployment model.  Establish and validate system architecture through implementation of executable architecture base line (Partial implementation of the system contains only core functionality) . Its built in series of small time boxed iterations.  Final elaboration phase deliverable is plan for construction phase (include cost and schedule)
  • 22. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 22 Construction  Remainder of the system is built on foundation laid in elaboration phase  System features are implemented in series of short time boxed iterations.  Each iteration results in executable release of software  As components are being implemented, unit tests are designed and executed for each and Integration activities are conducted. .
  • 23. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 23 Transition  System is deployed to target users  Feedback received from initial release may result in further refinement.  The software team creates the necessary support information (e.g., User manuals, Troubleshooting guides, installation procedures) that is required for the release.  At the conclusion of the transition phase, the software increment becomes a usable software release Production  The ongoing use of the software is monitored, support for the operating environment (infrastructure) is provided, and defect reports and requests for changes are submitted and evaluated.
  • 24. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 24
  • 25. UML Diagrams (Unified Modeling Language ) 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 25  A language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system  The UML is a very important part of developing object oriented software and the software development process.  UML is a modeling language to express and design documents, software.  Particularly useful for OO design  Independent of implementation language
  • 26. Goals in design of UML  Provide users a ready – to use expressive visual modeling language so they can develop and exchange meaningful models.  Provide extensibility and specialization mechanism to extend the core concepts.  Be independent of particular programming language and development process.  Provide a formal basis for understanding the m7. odeling language.  Encourage the growth of the OO tools market.  Support higher – level development concepts.  Integrate best practices and methodologies. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 26
  • 27. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 27  Three ways to apply UML  UML as a sketch – informal and incomplete diagram to explore difficult parts of problem  UML as blueprint – Detailed design diagrams used either for reverse engineering(Code to diagram) and forward engineering(diagram to code).  UML as programming language – complete executatble specification of software system in UML. Executable code will be automatically generated.  Three perspectives to apply UML  Conceptual Perspectives  Describing things in the domain of interest  Specification Perspectives  Describing software abstractions, but no commitment to a particular implementation  Implementation Perspectives  Describing implementations in a particular technology
  • 28. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 28
  • 29. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 29 UML Diagrams  Static diagrams (Structural Diagram)  Class Diagram  Object Diagram  Component Diagram  Deployment Diagram  Package Diagram  Behaviour diagrams  Use case Diagram  Activity Diagram  Interaction Diagram  Sequence Diagram  Collaboration Diagram  State Chart Diagram
  • 30. Usecase Diagram: Use case diagram shows an interaction between users (Actors) and system Usecase - Scenarios in which your system or application interacts with people, organizations, or external systems 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 30
  • 31. Example use case diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 31 submit details applicant check status regional administrator issue passport passport administrator login get details verify police store verification
  • 32. Class Diagram: Class Diagram gives the static view of an application. A class can refer to another class. A class can have its objects or may inherit from other classes. UML Class Diagram gives an overview of a software system by displaying classes, attributes, operations, and their relationships. This Diagram includes the class name, attributes, and operation in separate designated compartments. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 32
  • 33. Example Class Diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 33
  • 34. Object Diagram Object diagrams are derived from class diagrams so object diagrams are dependent upon class diagrams. Object diagrams represent an instance of a class diagram. Object diagrams also represent the static view of a system but this static view is a snapshot of the system at a particular moment 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 34
  • 35. Activity Diagram: Activity diagram describe the dynamic aspects of the system. Activity diagram is basically a flowchart to represent the flow from one activity to another activity. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 35
  • 36. Example activity diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 36 login submit details get details verification penalty as per law issue passport
  • 37.
  • 38. Sequence Diagram: (Interaction Diagram) Sequence Diagrams depicts interaction between objects in a sequential order i.e. the order in which these interactions take place It shows timeline which show the order of the interaction visually by using the vertical axis of the diagram to represent time what messages are sent and when. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 38
  • 39. Example sequence diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 39 applicant passport administrator regional administrator police database 1: login 2: give details 3: store the details 4: verify the details 5: update the details 6: send details 7: verify details 8: send verification 9: update the details 10: send details 11: verify the details 12: send verification 13: update the details 14: issue passport
  • 40. Collaboration Diagram (Interaction Diagram) A collaboration diagram is a type of interaction diagram that shows how various software objects interact with each other within an overall IT architecture and how users can benefit from this collaboration. It shows clear view of interaction between objects. Messages are sequentially numbered. Its generated from sequence diagram 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 40
  • 41. Example collboration diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 41 applican t passport administrator regional administrator police databas e 4: verify the details 7: verify details 11: verify the details 1: login 2: give details 14: issue passport 3: store the details 5: update the details 9: update the details 13: update the details 6: send details 8: send verification 10: send details 12: send verification
  • 42. State Chart Diagram State chart Diagram describes different states of a component in a system. The states are specific to a component/object of a system. It describes state machine. It models dynamic behaviour of class. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 42
  • 43. Example state chart diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 43 login give details get details verificati on issue
  • 44. Component Diagram Component diagram is to show the relationship between different components in a system. It model the physical aspects of a system. Physical aspects are the elements such as executables, libraries, files, documents, etc. which reside in a node. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 44
  • 45. Example component diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 45 PASSPORT AUTOMATION APPLICANT PASSPORT ADMINISTRATOR REGIONAL ADMINISTRATOR POLICE
  • 46. Deployment Diagram Deployment diagrams are used to visualize the topology of the physical components of a system, where the software components are deployed. Deployment diagrams are used to describe the static deployment view of a system. Deployment diagrams consist of nodes and their relationships 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 46
  • 47. Example deployment diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 47 passport automation system applicant passport administrator regional administrator police
  • 48. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 48 Package Diagram Package diagrams are used to structure high level system elements. Packages are used for organizing large system which contains diagrams, documents and other key deliverables. Package Diagram can be used to simplify complex class diagrams, it can group classes into packages.
  • 49. Example package diagram for passport automation system 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 49 web applicant passport administrator police regional administrator DOMAIN give and get details verification issue technical details login database1
  • 50. Case study: Hospital management system A system to manage the activities in a hospital: Patients request for appointment for any doctor. The details of the existing patients are retrieved by the system. New patients update their details in the system before they request for appointment with the help of assistant. The assistant confirms the appointment based on the availability of free slots for the respective doctors and the patient is informed. Assistant may cancel the appointment at any time. Construct Actors, Use cases, class diagram, Sequence Diagram and state chart diagram. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 50
  • 51. Case Study: The NextGen POS System 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 51 • A POS system is a computerized application used to record sales and handle payments; • it is typically used in a retail store. • It includes hardware components such as a computer and bar code scanner, and software to run the system. • It interfaces to various service applications, such as a third-party tax calculator and inventory control.
  • 52. • These systems must be relatively fault-tolerant. That is, even if remote services are temporarily unavailable (such as the inventory system), they must still be capable of capturing sales and handling at least cash payments. • A POS system must support multiple and varied client-side terminals and interfaces. These include a thin-client Web browser terminal, a regular personal computer with something like a Java Swing graphical user interface, touch screen input, wireless PDAs, and so forth. • we are creating a commercial POS system that we will sell to different clients with disparate needs in terms of business rule processing. Therefore, we will need a mechanism to provide this flexibility and customization. • Using an iterative development strategy, we are going to proceed through requirements, object-oriented analysis, design, and implementation. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 52
  • 53. Logging Database Access User interface Application Logic and Domain object layer Technical Services layer minor focus Explore how to connect to other layers Primary focus of case study Explore how to design objects Sale Payment Secondary focus Explore how to design objects Item ID Quantity 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 53
  • 54. Use Case Modelling 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 54  Use Case Model describes the proposed functionality of the new system. It is a pictorial representation of interaction between user and system.(Usecase Diagram)  Use Case represents a discrete unit of interaction between a user (human or machine) and the system. Example :login to system, register with system and create order are all Use Cases. It is also called scenarios.  Each Use Case has a description which describes the functionality that will be built in the proposed system.  A Use Case may 'include' another Use Case's functionality or 'extend' another Use Case with its own behavior.  Use Cases are typically related to 'actors'. An actor is a human or machine entity that interacts with the system to perform meaningful work.  Actors An Actor is a user of the system. This includes both human users and other computer systems. An Actor uses a Use Case to perform some piece of work which is of value to the business.
  • 55. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 55 Components of Use case Diagrams  Use cases: A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse.  Actors: An actor is a person, organization, or external system that plays a role in one or more interactions with your system. Actors are drawn as stick figures.  Associations: Associations between actors and use cases are indicated by solid lines. An association exists whenever an actor is involved with an interaction described by a use case.
  • 56. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 56 Notations
  • 57. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 57 Actors • An actor models an external entity which communicates with the system: – User – External system – Physical environment • An actor has a unique name and an optional description. • Examples: – Passenger: A person in the train – GPS satellite: Provides the system with GPS coordinates Passenger
  • 58. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 58 Use Case • A use case represents a class of functionality provided by the system as an event flow. A use case consists of: • Unique name • Participating actors • Entry conditions • Flow of events • Exit conditions • Special requirements PurchaseTicket
  • 59. Example :Use case Modelling – NextGenPOS System 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 59
  • 60. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 60
  • 61. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 61 Use Case: Process Sales  Customer arrives at POS checkout with goods to purchase.  Cashier starts a new sale.  Cashier enters item identifier.  System records sale line item and presents item description, price, and running total. Price calculated from a set of price rules.  Cashier repeats step 3-4 until done with all items.  System presents total with taxes calculated.  Cashier tells Customer the total, and asks for payment.  Customer pays and System handles payment.  System logs completed sale and sends sale and payment information to the external Accounting system (for accounting and commissions) and Inventory system (to update inventory).  System presents receipt.  Customer leaves with receipt and goods.
  • 62. Relating Use Cases 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 62 There are three other types of relationship between usecases.  Extends  Includes  Generalization
  • 63. <<extends>> Association (Relationship) 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 63 • <<extends>> relationship represent exceptional or seldom invoked cases. • The exceptional event flows are factored out of the main event flow for clarity. • Use cases representing exceptional flows can extend more than one use case. • The direction of a <<extends>> relationship is to the extended use case
  • 64. <<includes>>Association(Relationship) or <<uses>> relationship 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 64 • <<includes>> relationship represents behavior that is factored out of the use case. • <<includes>> behavior is factored out for reuse, not because it is an exception. • The direction of a <<includes>> relationship is to the using use case (unlike <<extends>> relationships).
  • 65. Generalization relationship 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 65  Use case generalization can be used when one use case that is similar to another, but does something slightly differently or something more.  Generalization works the same way with use cases as it does with classes.  The child use case inherits the behavior and meaning of the parent use case.  Base and the derived use cases are separate use cases and should have separate text descriptions  Represented by a line and a hollow arrow from child to parent Child use case Parent use case
  • 66. Example of Relationships 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 66
  • 67. Applications` 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 67  Software development  Solving any real world problems  Understanding the essential requirements of the customer to ss.atisfy their business need
  • 68. NPTEL Videos and References 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 68 https://nptel.ac.in/courses/nptel_download.php?subjectid=106105153
  • 69. 8/19/2023 Department of CSE, K.Ramakrishnan College of Engineering, Trichy 69