KEMBAR78
Unit I ObjectorientedmethodologiesandUML | PDF | Unified Modeling Language | Use Case
0% found this document useful (0 votes)
32 views61 pages

Unit I ObjectorientedmethodologiesandUML

Uploaded by

Sonal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views61 pages

Unit I ObjectorientedmethodologiesandUML

Uploaded by

Sonal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 61

Software Design And

Modeling

1
The Structure…
Teaching Scheme: Examination Scheme:
3 Hours / Week In-Semester : 30 Marks
Total Hrs. 42 Hrs End-Semester: 70 Marks

Credits : 03
Prerequisites:
Problem Solving & Object Oriented
Programming
Software Engineering and Project Management
Database Management System

2
Practical
414459: Computer Laboratory VIII
Teaching Scheme: Practical:04 Hours/Week
Credits:02
Examination Scheme: TW:50 Marks
OR: 50 Marks
Prerequisites:
1. Problem Solving & Object-Oriented Programming.
2. Software Engineering and Project Management.
Course Objectives
 To teach the student the fundamental aspects of
different object oriented methodologies and Unified
Approach along with Unified Modeling Language (UML),
in terms of “how to use” it for the purpose of specifying
and developing software.
 Explore and analyze use case modeling, domain / class
modeling.
 To teach the student Interaction and behavior modeling.
 Aware students with design process in software
development.
 Orient students with the software design principles and
patterns.
 Enable students to learn the architectural design
guidelines in various type of application development.

4
Course Outcomes
By the end of the course, students should be able to
 Understand object oriented methodologies, basics
of Unified Modeling Language (UML).
 Understand analysis process, use case modeling,
domain/class modeling
 Understand interaction and behavior modeling.
 Understand design process and business, access
and view layer class design
 Get started on study of GRASP principles and GoF
design patterns.
 Get started on study of architectural design
principles and guidelines in the various type of
application development.

5
SL-VIII-Objectives
1. To teach the student Unified Modeling Language
(UML 2.0), in terms of “how to use” it for the
purpose of specifying and developing software.
2. To teach the student how to identify different
software artifacts at analysis and design phase.
3. To explore and analyze use case modeling.
4. To explore and analyze domain/ class modeling.
5. To teach the student Interaction and Behavior
Modeling.
6. To Orient students with the software design
principles and patterns.

6
SL-VIII Outcomes
By the end of the course, students should be able to
1. Draw, discuss different UML 2.0 diagrams, their
concepts, notation, advanced notation, forward and
reverse engineering aspects.
2. Identify different software artifacts used to develop
analysis and design model from requirements.
3. Develop use case model.
4. Develop, implement analysis model and design model.
5. Develop, implement Interaction and behavior Model.
6. Implement an appropriate design pattern to solve a
design problem.

7
List of Assignments
1.Write Problem Statement for System / Project
2.Prepare Use Case Model
3.Prepare Activity Model
4. Prepare Analysis Model-Class Model
5. Prepare a Design Model from Analysis Model
6. Prepare Sequence Model
7. Prepare a State Model
8. Identification and Implementation of GRASP pattern
9. Identification and Implementation of GOF pattern
Road Map…

9
UNITS…
UNIT – I OBJECT ORIENTED METHODOLOGIES,
UML
UNIT – II OBJECT ORIENTED ANALYSIS
UNIT – III INTERACTION AND BEHAVIOR
MODELING
UNIT - IV OBJECT ORIENTED DESIGN
UNIT – V DESIGN PRINCIPLES AND PATTERNS
UNIT – VI ARCHITECTURAL DESIGN

10
UNITS I OBJECT ORIENTED METHODOLOGIES, UML

Topic Reference / Text

Chapter 1
Views of Software Developments:
Object Oriented System
Traditional System Development Methodology and Object
Development by
Oriented Analysis and Design, Importance Object –Orientation
Ali Bahrami
Tata McGraw Hill

Some of the object Oriented Methodology:-


Chapter 4
Object Oriented Design –Booch, Object Modeling Techniques –
Object Oriented System
Rumbaugh, Object – Oriented Analysis - Cood Yourdon, Object
Development by
– Oriented Software Engineering – Ivar Jacobson
Ali Bahrami
(Just provide Introduction to all these Approaches)
Tata McGraw Hill

Unified Approach: Chapter 4


Object Oriented Analysis, Object Oriented Design, Iterative Object Oriented System
Development & Continuous Testing, Modeling Based on UML, Development by
Layered Approach, Ali Bahrami
Tata McGraw Hill

11
UNITS I OBJECT ORIENTED METHODOLOGIES, UML

Topic Reference / Text

Chapter 1
UML 2 and The Unified
Process
Unified Modeling Language:
Practical Object Oriented
Introduction to Modeling & UML, MDA, UML Structure, UML
Analysis and Design
Building Blocks, UML Common Mechanisms, 4+1 View.
By
Jim Arlow
Ila Neustadt
Pearson

Chapter 5
Object Oriented System
Introduction to all UML Diagram Notational Techniques,
Development by
Ali Bahrami
(Here just give introduction all UML Diagram and syntax used
Tata McGraw Hill
in UML)

12
UNITS II OBJECT ORIENTED ANALYSIS

Topic Reference / Text


Object Oriented Analysis Process,
Chapter 6
Use Case Modeling: Object Oriented System Development
Actor Identification, Actor Classification, Actor by
Generalization, Use Cases Identification, Ali Bahrami
Communication, Uses/Include and Extend Tata McGraw Hill
Associations,

Chapter 6
Software Engineering
Writing a Formal Use Cases A Practitioner Approach (7e) by
Roger S. Pressman
McGraw Hill

Chapter 12
UML 2 and The Unified Process
Practical Object Oriented Analysis and
Use Case realizations.
Design
By Jim Arlow
Ila Neustadt (Pearson)
13
UNITS II OBJECT ORIENTED ANALYSIS
Topic Reference / Text

Domain / Class Modeling:


Approaches For Identifying Classes Chapter 7
(Noun-Phase Approach, Object Oriented System
Common Class Pattern Approach, Development by
Class Responsibilities Collaboration Approach), Ali Bahrami
Naming Classes, Tata McGraw Hill

Class Associations and Identification of Associations, Chapter 8


Generalization/Specialization Relationship, Object Oriented System
Aggregation and Composition Relationships, Development by
Attributes and Methods Identification. Ali Bahrami
Tata McGraw Hill

14
UNITS III INTERACTION AND BEHAVIOR MODELING

Topic Reference / Text

Activity Diagram :
Activity and Actions, Initial and Final Activity, Activity Edge,
Chapter 13
Decision and Merge Points, Fork and Join, Input and Output
UML 2 Bible
Pins, Activity Group, Activity Partitions, Constraints on Action,
By Tom Pender
Swim Lanes.

Sequence Diagram:
Context, Objects and Roles, Links, Object Life Line, Message
or stimulus, Activation/Focus of Control, Modeling Chapter 9
Interactions. UML 2 Bible
Collaboration Diagram: Objects and Links, Messages and By Tom Pender
stimuli, Active Objects, Communication Diagram, Iteration
Expression, Parallel Execution, Guard Expression, Timing
Diagram.

15
UNITS III INTERACTION AND BEHAVIOR MODELING

Topic Reference / Text

State Diagram: Chapter 11


State Machine, Triggers and Ports, Transitions, Initial and Final UML 2 Bible
State, Composite States, Submachine States. By Tom Pender

16
UNITS IV OBJECT ORIENTED DESIGN

Topic Reference / Text


Chapter 9
Object Oriented System
Object Oriented Design Process Development by
Ali Bahrami
Tata McGraw Hill

Designing Business Layer :


Object Oriented Constraints Language (OCL), Chapter 10
Designing Business Classes : Object Oriented System
The Process, Designing Well Defined Class Visibility, Attribute Development by
Refinement, Method Design Using UML Activity Diagram, Ali Bahrami
Packaging and Managing Classes. Tata McGraw Hill

17
UNITS IV OBJECT ORIENTED DESIGN

Topic Reference / Text

Chapter 11
Object Oriented System
Development by
Designing Access Layer:
Ali Bahrami
Object Relational Systems, Object Relation Mapping,
Tata McGraw Hill
Table Class Mapping, Table – Inherited Classes Mapping,
Or
Designing the Access Layer Classes: The Process,
Chapter 15
Software Modeling and Design
by Hassan Gomaa

Designing View Layer: Chapter 12


View Layer Classes Design, Identifying View Classes by Object Oriented System
Analyzing Use Cases, Macro-Level Design Process, and Development by
Prototyping the User Interface. Ali Bahrami
Tata McGraw Hill

Chapter 15 and 17
Component and Deployment Design using Component UML 2 Bible
and Deployment Diagram. By Tom Pender
18
UNITS V DESIGN PRINCIPLES AND PATTERNS

Topic Reference / Text

Chapter 4
Object Oriented System
Introduction to Patterns Development by
Ali Bahrami
Tata McGraw Hill

General Responsibility Assignment Software Patterns


Chapter 17 and 25
(GRASP) :
Applying UML and Pattern
Introduction, Creator , Information Expert, Low coupling,
(3e)
Controller, High Cohesion, Polymorphism , Pure fabrication,
Craig Larman
Indirection, Protected Variations.
Pearson Education

Chapter 1 ,3,4 & 5


Gang of Four (GoF):
Design Patterns by
Introduction, Categories of Patterns (Creational, Structural
Erich Gamma
and Behavioral Patterns),
Richard Helm
Singleton, Adapter, State, and Strategy.
Ralph Jonson
John Vlissides

19
UNITS VI ARCHITECTURAL DESIGN
Topic Reference / Text
Chapter 12
Overview of software Architecture Software Modeling and
Design by Hassan Gomaa
Chapter 15
Designing Client / Server Software Architectures Software Modeling and
Design by Hassan Gomaa
Chapter 16
Designing Service Oriented Software Architectures Software Modeling and
Design by Hassan Gomaa

20
UNITS VI ARCHITECTURAL DESIGN
Topic Reference / Text
Chapter 17
Designing Component Based Software Architectures Software Modeling and
Design by Hassan Gomaa
Chapter 18
Designing Concurrent and Real-Time Software Architectures
Software Modeling and
Design by Hassan Gomaa
Chapter 19
Designing Product Line Architectures Software Modeling and
Design by Hassan Gomaa

21
Text Books & Reference Books
Text Books
 Ali Bahrami, Object Oriented System Development: Using Unified Modeling Language,
McGraw-Hill, International Editions 1999,ISBN:0-07-116090-6.
 Craig Larman, Applying UML and Patterns, Pearson Education, Second Edition,ISBN:978-
0130925695.
 Erich Gamma et al, Design Patterns: Elements of Reusable Object, Pearson, First
Edition,ISBN:9789332555402, 9332555400.

Reference Books
Martin Fowler, UML Distilled, Pearson, Third Edition, ISBN:978-81-317-1565-9
 Dan Pilone, Neil Pitman, UML in Nutshell, O’reilly Pub.,ISBN:8184040024,
9788184040029.
 Roger S. Pressman, Software Engineering: A Practitioner’s Approach, McGraw Hill,
Seventh Edition,ISBN: 9339212088, 9789339212087.
 Hassan Gomaa, Software Modeling And Design UML, Use Cases, Pattern, & Software
Architectures, Cambridge University Press, ISBN: 978-0-521-76414-8.
JIM Arlow, Ila Neustadt, UML 2 and the Unified Process, Pearson, Second Edition, ISBN:
9788131700549
Tom Pender, UML 2 Bible, Wiley India, ISBN: 9788126504527.

22
Unit-I
Object Oriented Methodologies, UML
What is Software?
Software is the term associated with the
programs that are written to manage the various
resources of a computer system and perform
certain designated useful tasks.
What is software design?
Software design is the process of defining
software methods, functions, objects, and the
overall structure and interaction of your code
so that the resulting functionality will satisfy
your users requirements
Software development
Analysis
Modeling
Design
Implementation
Testing
Maintenance
What is software modeling?

A model is an abstract representation of a


system, constructed to understand the system
prior to building or modifying it.

Software modeling should address the entire


software design including interfaces, interactions
with other software, and all the software
methods.
What is Model?
Reduced version of system.
Removes irrelevant details of the system.
Helps detect errors and omissions in
requirements, before committing the resources.
Helps communicate with the stake holders
[Clients, Users, Implementers, Testers].
Helps implementation
Characteristics of Models
Abstract
Understandable
Accurate
Predictive
Inexpensive
Why Modeling ?

Testing a physical entities before


building it.
Communication with customers.
Visualization.
Reduction of complexity.
Why Object oriented?
1.Higher level abstraction
2.Focus on data
3.Encouragment of good programming
techniques
4.Reuse code
Object Oriented Methodologies
1. OMT-Rumbaugh
2. Object Oriented design-Booch
3. Object Oriented Analysis-Cood Yourdon
4. OOSE-Jacobson
OMT-Rumbaugh
Describe methods for:
-Analysis
-Design
-Implementation
Four phases in OMT-Rumbaugh
-Analysis
-System Design
-Object Design
-Implementation
OMT
Three parts
-Object model
-data dictionary

-dynamic model
-state diagram

-functional model
-Data flow
Object Oriented design-Booch
Describe methods for:
-Analysis
-Design
-large set of symbols
Booch methodology
Two development process:
1.Macro
2.Micro
Macro development process:

-Conceptualization
-Analysis and development of
model
-Design the system architecture
-Implantation
-maintenance
Micro development process:

-Identify class and object


-Identify semantics of class and
object
-class and object relationship
-interface of class and object
Object Oriented Analysis-Cood Yourdon

-Analysis phase
-Implementation phase
-Testing
The Jacobson Methodologies

-1.Object oriented Business Engineering


(OOBE)
-- enterprise level development

2.Object oriented Software Engineering


(OOSE)
-ood at large real time system

--Use case driven design


Three Models
Class Model
It describes the static structure of the objects in the
system and their relationships
State Model
It describes the aspects of an object that change
over time.
Interaction Model
It describes how the objects in the system co-
operate to achieve broader results.
Unified Approach
The main motivation here is to combine the
best practices, processes, methodologies,
and guidelines along with UML notations
and diagrams for better
understanding of object-oriented concepts
and system development.
The unified approach to software development
revolves around to the following processes and
concepts. The processes are:
1. Use-case driven development
2. Object-oriented analysis
3. Object-oriented design
4. Incremental development and prototyping
5. Continuous testing
Technology and Methods
-UML
-layered architecture
-repository for OO pattern and
framework
-Component based development
Object-Oriented Analysis

OOA process consists of the following steps:


1. Identify the Actors.
2. Develop a simple business process model
using UML Activity diagram.
3. Develop the Use Case.
4. Develop interaction diagrams.
5. Identify classes.
Object-Oriented Design
OOD Process consists of:
1. Designing classes, their attributes, methods,
associations, structures and protocols, apply design
axioms.
2. Design the Access Layer
3. Design and prototype User interface
4. User Satisfaction and Usability Tests based on the
Usage/Use Cases
5. Iterated and refine the design
-Iterative Development and Continuous Testing

-Modeling based on the Unified Modeling Language:


UA use UML to describe and model the analysis
and design phase of system development
Layered Approach to Software Development:
Three layered approaches
Business Layer:
 The business layer contains all the objects that represent
the business.
The responsibilities of business layer are very
straightforward.
“Model the objects of the business and how they interact
to accomplish the business processes.”
A business model captures the static and dynamic
relationships among a collection of business objects.
These objects should not be responsible for Displaying
details and Data Access details.
View Layer / User Interface Layer:
 It consists of objects with which the user interacts as well
as the objects needed to manage or control the interface.
 There objects are identified during the object oriented
design phase.
This layer is responsible for 2 major aspects. They are,
Responding to user interaction and displaying business
objects.

Access Layer:
It contains objects that know how to communicate with the
place where the data actually reside, whether it be a relational
database, mainframe, Internet or file.
It has two major responsibilities, Translate
request and Translate result.
Component based development
Component-based software engineering
(CBSE) is an approach to software
development emerged in the 1990's that
relies on the reuse of entities called
'software components'.
Unified Modeling Language
Early forms began to appear between mid-
1970 and the late 1980s
Increased from 10 to 50+ between 1989 to
1994.
Roots go back to three distinct methods
“Booch method” by Grady Booch
“Object Modeling Technique” coauthored by
James Rambaugh
“Objectory” by Ivan Jacobson.
UML
Overview
1.A language
2.For visualizing
3.For specifying
4.Constructing
5.documenting
Goals of UML as stated by the designers are
-To model systems using OO concepts
-To establish an explicit coupling to conceptual as
well as executable artifacts
-To address the issues of scale inherent in
complex, mission-critical systems
-To create a modeling language usable by
humans and machine
To model systems using OO concepts
Specifying the structure and behavior of
a system
 Visualizing a system as it is or as we
want it to be
 Constructing a system from the
template provided by the model
 Documenting the decisions made
State
State
Diagrams
Class
Use Case Diagrams
Diagrams
Use Case State
Use Case Diagrams
Use Case State
Use Case Diagrams
Diagrams Diagrams
Object
Diagrams
Sequence Diagrams
Diagrams
Diagrams
Diagrams

Scenario State
Scenario State
Diagrams
Collaboration Diagrams
Component
Diagrams
Diagrams Diagrams
Diagrams
Models

Scenario Component
Scenario Component
Diagrams
Deployment
Diagrams
Statechart
Diagrams
Diagrams
Diagrams Diagrams
Activity

Diagrams
Three part of system’s model
1. Functional model
-Use case diagram
2. Object model
-Class diagram
3.Dynamic model
-sequence, Activity, State

You might also like