Anda di halaman 1dari 0

Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.

Presented by:
E-Mail - bill@williamnazzaro.com
Phone - (610) 831-1151
William F. Nazzaro
Nazzaro & Associates
Object-Oriented
Methodology 101
Ver. 1.0 Page - 2 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Object-Oriented
Methodology 101
Premises
OO is becoming critical as systems become more
Complicated
Complex
Distributed
Organizations are
No longer investigating OO as a possibility
Investigating how to use OO competitively
Objectives
Discuss reasons/benefits of OO
Discuss the essential linchpin to realize those benefits
Ver. 1.0 Page - 3 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What to Expect
Object-orientations first impact at your company
Can be a tremendous success, or
A complete blunder
Need awareness of this technology's
Power
Impact
Shortcomings
Potential
Ver. 1.0 Page - 4 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Benefits come from careful analysis, design,
and development practices that exploit the OO paradigm!
Benefits of
Object-Orientation
Faster development
Reduced cost
Reuse
Higher quality systems
Improved architecture
More adaptable
More scalable
Its
not
magical!
Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Methodology
The Quintessential Linchpin!!!
Ver. 1.0 Page - 6 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Methodology
A specification of a process
through which software can
be developed
A set of generic software
development techniques
together with a set of
guidelines defining how and
when those techniques
should be applied
Though there is madness, there is a method int.
- Hamlet, William Shakespeare
Ver. 1.0 Page - 7 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What Should an
OO Methodology Do?
Define
Project roles
Software lifecycle
Deliverables to be created
Standards for documenting those deliverables
Techniques for creating those deliverables
Dependencies among deliverables
Ensure consistent application of techniques
Facilitate staff transitions between phases and projects
Needs to be reasonable, pragmatic,
and most of all flexible
Ver. 1.0 Page - 8 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What Should an
OO Methodology Do?
Provide
An experience base in the following areas
Estimating guidelines and templates
Techniques for analyzing models
Depth of coverage for life cycle phases
Guidance for
Object-Oriented Applications
Distributed Object Applications
Quality examples
Stress iterative and incremental development
Needs to be reasonable, pragmatic,
and most of all flexible
Ver. 1.0 Page - 9 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Methodology
Misconceptions
Notation is not methodology
Unified Modeling Language (UML)
Object Modeling Technique (OMT)
Booch
0..*
1
Person
AdjunctInstructor
0..* 1
0..*
Degree
1
0..*
0..* 1..*
0..*
Track
0..* 1
1
1..* 1..*
1
College
0..* 1
offers
0..*
0..*
Course
0..*
0..*
pre-reqs
1..*
0..*
requires
0..*
1
Instructor
1
1..*
employs
0..*
1
Location
1..*
1
controls
1
CourseOffering
0..*
0..*
offers
0..*
1
teaches
0..*
1
holds
0..*
1
FullTimeInstructor
0..*
0..*
CourseEnrollment
1
0..*
fills seat in
1
Student
1
0..*
advise
registers for
A
Person
Adjunct
Instructor
0..n 1
0..n
Degree
1
0..n
0..n 1..n
0..n
Track
0..n 1
1
1..n 1..n
1
College
0..n 1
offers
0..n
0..n
Course
0..n
0..n pre-reqs 1..n
0..n
requires
0..n
1
Instructor
1
1..n
employs
0..n
1
Location
1..n
1
controls
1
Course
Offering
0..n
0..n
offers
0..n
1
teaches
0..n
1 holds
0..n
1 FullTime
Instructor
0..n
0..n
Course
Enrollment
1
0..n
fills seat in
1
Student
1
0..n
advise
0..n
1
registers for
Person
AdjunctInstructor
Degree
1+
Track
1+ 1+
College offers
Course
pre-reqs
1+
requires
Instructor
1+
employs
Location
1+
controls
CourseOffering
offers
teaches
holds
FullTimeInstructor
CourseEnrollment
fills seat in
Student
advise
registers for
Ver. 1.0 Page - 10 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Methodology
Misconceptions
Language is not methodology
C++
Smalltalk
Java
Eiffel
Visual Basic
Tools are not methodology
Rational Rose
Paradigm Plus
Select OMT
GUI Builder
// FullTimeInstructor
#include "FllTmnst.h"
//## begin module.additionalDeclarations preserve=yes
//## end module.additionalDeclarations
// Class FullTimeInstructor
FullTimeInstructor::FullTimeInstructor()
//## begin FullTimeInstructor::FullTimeInstructor%.hasinit
//## end FullTimeInstructor::FullTimeInstructor%.hasinit
//## begin FullTimeInstructor::FullTimeInstructor%.initialization
//## end FullTimeInstructor::FullTimeInstructor%.initialization
{
//## begin FullTimeInstructor::FullTimeInstructor%.body preserve=yes
//## end FullTimeInstructor::FullTimeInstructor%.body
}
FullTimeInstructor::FullTimeInstructor(const FullTimeInstructor &right)
//## begin FullTimeInstructor::FullTimeInstructor%copy.hasinit
//## end FullTimeInstructor::FullTimeInstructor%copy.hasinit
//## begin FullTimeInstructor::FullTimeInstructor%copy.initialization
//## end FullTimeInstructor::FullTimeInstructor%copy.initialization
{
//## begin FullTimeInstructor::FullTimeInstructor%copy.body preserve=yes
//## end FullTimeInstructor::FullTimeInstructor%copy.body
}
Ver. 1.0 Page - 11 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Tools Are Not Smart
So We Have to Be
Ver. 1.0 Page - 12 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What to Look For
in a Methodology
Ver. 1.0 Page - 13 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
*
Adapted from: Grady, B., Object Solutions.
Process
*
Predictability vs. Creativity
Management needs predictability,
Essential for
Team organization and
assignments
Incremental build plans
Risk mitigation
Proactive management
Development team thrives on
creativity
Essential for creation of solutions
Innovative
Unique
Problem - Need to establish a
balance between these two extremes
Answer - Distinguish the macro/micro
elements of the development process
Macro Development Process
Micro Development Process
Ver. 1.0 Page - 14 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Macro Development Process
Overview
Overall concern is planning
Three key elements
Continuous integration
Executable releases that grow in
functionality
Releases enable management to measure
progress and actively identify risks and
mitigate them
Macro process
Represents the project managers needs
Controlling framework for the micro
process
Time frame measured in weeks/months
Analysis
Analysis Analysis
Conceptual-
ization
Conceptual Conceptual- -
ization ization Design
Design Design
Maintenance
Maintenance Maintenance
Evolution
Evolution Evolution
Project managers can only control things they can see
Ver. 1.0 Page - 15 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Micro Development Process
Overview
Class
Discovery
Class Class
Discovery Discovery
Class
Implementation
Class Class
Implementation Implementation
Responsibility
Distribution
Responsibility Responsibility
Distribution Distribution
Relationship
Discovery
Relationship Relationship
Discovery Discovery
Agenda
Select the correct abstractions
Determine proper distribution of responsibility
Create a set of of mechanisms that regulate
these abstractions (e.g., semantic dependencies)
Concretely represent these abstractions and
mechanisms
Micro process
Represents the development teams needs
Carries on throughout the macro process, but
each iteration has a different emphasis
depending upon the projects current macro
process
Time frame measured in weeks/days
Ver. 1.0 Page - 16 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What Can I Expect
on My First OO Project?
Lessons Learned
Project management
Duration
Staffing
Reuse strategy
Project estimating
Analysis and design
Technology
How does and OO Methodology Help?
Ver. 1.0 Page - 17 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Project Management - Duration
First project
Will take longer than using
your traditional approach
Mostly learning curve
Little or no reuse
Second project
Will take longer than using
your traditional approach
Learning curve still exists for
design and architecture
Maybe some reuse
Third project (payback)
*
Duration of a project is approximately 6 months
Ver. 1.0 Page - 18 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Project Management - Staffing
Few skilled and experienced staff
Options
Hire an experienced staff
Subcontract
Mentor
Strip mining vs. investment
On the job learning doesnt work
Grow your experts
Realize everyone will not be
capable of making the paradigm
shift to OO
Ver. 1.0 Page - 19 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Project Management - Reuse Strategy
Incorrect belief that reuse is guaranteed
because we are object-oriented
Must plan for reuse
Takes time and money
Need
Specific procedures
Dedicated resources
Investment in re-use
Diligently select candidate classes to
make reusable
Every class does not have to be reusable
More reuse is not always better
Examine cost/benefit trade-offs
Corporate
Corporate
Division
Division
Project
Project
Ver. 1.0 Page - 20 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Project Management - Estimating
Original estimates were based upon
Classic development approach
Few object technology projects as
models
Had to learn by experience
Rework necessary but valuable
Project plans need to include time for
Prototypes and evaluations
Walk-throughs and inspections
Ver. 1.0 Page - 21 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Analysis and Design - 1
Be aware of creating object-free
applications
Seduction by the dark side of OO
Empower a chief architect or architecture
team
Illusion of rapid progress during
development
Essentially the Universal Studio

Effect
Do not underestimate analysis and design
Need
Difficulty
Ver. 1.0 Page - 22 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Analysis and Design - 2
*
0
10
20
30
40
50
60
70
80
90
100
Percetage of
Development
Effort
Analysis/Design Coding/Unit Testing Integration, System and
Acceptance Testing
Pre-Objects
With Objects
* Source: Gartner Group
Development Life Cycle
Ver. 1.0 Page - 23 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons Learned
Technology - Maturity?
Individual technologies have matured but new technologies
continue to develop and gain mindshare
For example,
Internet/intranet applications
Object Request Brokers (ORBs)
Object-oriented databases
Major risk - vendors failed to deliver products on time
Software Development Environment
Must be managed
Upgrades frequent
Upgrades not 100% compatible with earlier versions
Ver. 1.0 Page - 24 Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
In Summary
Five Guidelines for Success
Organization must understand
their problem
Upper management
commitment
Stand by the project
Accurate expectations
Select/implement a
methodology
Must be able to answer the question -
Why are we transitioning to OO?
Effective education/mentoring
Multiple levels of education
Front-end lifecycle education
Requirements
Analysis
Design
Language education
Testing
Select a pilot project and set
accurate expectations
Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Presented by:
E-Mail - bill@williamnazzaro.com
Phone - (610) 831-1151
William F. Nazzaro
Nazzaro & Associates
Object-Oriented
Methodology 101

Anda mungkin juga menyukai