Unit I ObjectorientedmethodologiesandUML
Unit I ObjectorientedmethodologiesandUML
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
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
11
UNITS I OBJECT ORIENTED METHODOLOGIES, UML
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
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
14
UNITS III INTERACTION AND BEHAVIOR MODELING
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
16
UNITS IV OBJECT ORIENTED DESIGN
17
UNITS IV OBJECT ORIENTED DESIGN
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
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
Chapter 4
Object Oriented System
Introduction to Patterns Development by
Ali Bahrami
Tata McGraw Hill
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?
-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:
-Analysis phase
-Implementation phase
-Testing
The Jacobson Methodologies
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