oo methodology 101
Post on 13-Apr-2018
220 Views
Preview:
TRANSCRIPT
-
7/27/2019 OO Methodology 101
1/25
Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Presented by:
E-Mail - bill@williamnazzaro.comPhone - (610) 831-1151
William F. Nazzaro
Nazzaro & Associates
Object-Oriented
Methodology 101
-
7/27/2019 OO Methodology 101
2/25
Ver. 1.0 Page - 2Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Object-OrientedMethodology 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
-
7/27/2019 OO Methodology 101
3/25
Ver. 1.0 Page - 3Copyright 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
-
7/27/2019 OO Methodology 101
4/25
Ver. 1.0 Page - 4Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Benefits come from careful analysis, design,and development practices that exploit the OO paradigm!
Benefits ofObject-Orientation
Faster development Reduced cost
Reuse Higher quality systems Improved architecture
More adaptable More scalable
Itsnot
magical!
-
7/27/2019 OO Methodology 101
5/25
Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
MethodologyThe Quintessential Linchpin
-
7/27/2019 OO Methodology 101
6/25Ver. 1.0 Page - 6Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Methodology
A specification of a processthrough which software canbe developed A set of generic software
development techniquestogether with a set ofguidelines defining how andwhen those techniquesshould be applied
Though there is madness, there is a method int.
- Hamlet, William Shakespeare
-
7/27/2019 OO Methodology 101
7/25Ver. 1.0 Page - 7Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What Should anOO 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
-
7/27/2019 OO Methodology 101
8/25Ver. 1.0 Page - 8Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What Should anOO 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
-
7/27/2019 OO Methodology 101
9/25Ver. 1.0 Page - 9Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
MethodologyMisconceptions
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..*
Track0..*1
1
1..* 1..*
1
College0..*1
offers
0..*
0..*
Course0..*
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
teaches0..*
1holds
0..*
1
FullTimeInstructor
0..*
0..*
CourseEnrollment
1
0..*
fills seat in
1
Student
1
0..*
advise
registers for
A
Person
AdjunctInstructor
0..n1
0..n
Degree
1
0..n
0..n 1..n0..n
Track0..n1
1
1..n 1..n
1
College
0..n1
offers
0..n
0..n
Course
0..n
0..npre-reqs 1 ..n0..nrequires
0..n
1
Instructor
1
1..n
employs
0..n
1
Location
1..n
1
controls
1
CourseOffering
0..n
0..n
offers
0..n
1
teaches0..n
1 holds
0..n
1 FullTimeInstructor
0..n
0..n
CourseEnrollment
1
0..nfills seat in
1
Student
1
0..n
advise
0..n
1
registers for
Person
AdjunctInstructor
Degree
1+
Track
1+ 1+
College offers
Course
pre-reqs1+
requires
Instructor 1+
employsLocation
1+
controls
CourseOffering
offers
teaches
holds
FullTimeInstructor
CourseEnrollment
fills seat in
Student
advise
registers for
-
7/27/2019 OO Methodology 101
10/25Ver. 1.0 Page - 10Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
MethodologyMisconceptions
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
}
-
7/27/2019 OO Methodology 101
11/25Ver. 1.0 Page - 11Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Tools Are Not SmartSo We Have to Be
-
7/27/2019 OO Methodology 101
12/25Ver. 1.0 Page - 12Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What to Look Forin a Methodology
-
7/27/2019 OO Methodology 101
13/25Ver. 1.0 Page - 13Copyright 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 andassignments Incremental build plans Risk mitigation Proactive management
Development team thrives oncreativity Essential for creation of solutions
Innovative Unique
Problem - Need to establish abalance between these two extremesAnswer - Distinguish the macro/microelements of the development process
Macro Development Process Micro Development Process
-
7/27/2019 OO Methodology 101
14/25Ver. 1.0 Page - 14Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Macro Development ProcessOverview
Overall concern is planning Three key elements
Continuous integration Executable releases that grow infunctionality Releases enable management to measureprogress and actively identify risks andmitigate them
Macro process Represents the project managers needs Controlling framework for the microprocess Time frame measured in weeks/months
AnalysisAnalysisAnalysis
Conceptual-
ization
ConceptualConceptual--izationization Design
DesignDesign
MaintenanceMaintenanceMaintenance
EvolutionEvolutionEvolution
Project managers can only control things they can see
-
7/27/2019 OO Methodology 101
15/25Ver. 1.0 Page - 15Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Micro Development ProcessOverview
Class
Discovery
ClassClass
DiscoveryDiscovery
Class
Implementation
ClassClass
ImplementationImplementation Responsibility
Distribution
ResponsibilityResponsibility
DistributionDistribution
Relationship
Discovery
RelationshipRelationship
DiscoveryDiscovery
Agenda Select the correct abstractions Determine proper distribution of responsibility Create a set of of mechanisms that regulatethese abstractions (e.g., semantic dependencies) Concretely represent these abstractions andmechanisms
Micro process Represents the development teams needs Carries on throughout the macro process, buteach iteration has a different emphasisdepending upon the projects current macroprocess Time frame measured in weeks/days
-
7/27/2019 OO Methodology 101
16/25Ver. 1.0 Page - 16Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
What Can I Expecton My First OO Project?
Lessons Learned Project management
Duration Staffing Reuse strategy Project estimating
Analysis and design Technology
How does and OO Methodology Help?
-
7/27/2019 OO Methodology 101
17/25Ver. 1.0 Page - 17Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedProject Management - Duration
First project Will take longer than usingyour traditional approach Mostly learning curve Little or no reuse
Second project Will take longer than usingyour traditional approach Learning curve still exists fordesign and architecture Maybe some reuse
Third project (payback)*Duration of a project is approximately 6 months
-
7/27/2019 OO Methodology 101
18/25Ver. 1.0 Page - 18Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedProject 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 becapable of making the paradigmshift to OO
-
7/27/2019 OO Methodology 101
19/25Ver. 1.0 Page - 19Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedProject Management - Reuse Strategy
Incorrect belief that reuse is guaranteedbecause 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 tomake reusable Every class does not have to be reusable More reuse is not always better Examine cost/benefit trade-offs
CorporateCorporate
DivisionDivision
ProjectProject
-
7/27/2019 OO Methodology 101
20/25Ver. 1.0 Page - 20Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedProject Management - Estimating
Original estimates were based uponClassic 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
-
7/27/2019 OO Methodology 101
21/25Ver. 1.0 Page - 21Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedAnalysis and Design - 1
Be aware of creating object-freeapplications Seduction by the dark side of OO
Empower a chief architect or architectureteam Illusion of rapid progress duringdevelopment
Essentially the Universal Studio Effect Do not underestimate analysis and design
Need Difficulty
-
7/27/2019 OO Methodology 101
22/25Ver. 1.0 Page - 22Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedAnalysis and Design - 2*
0
10
20
30
40
50
60
70
80
90
100
Percetage ofDevelopment
Effort
Analysis/Des ign Coding/Unit Testing Integration, System and
Acceptance Tes ting
Pre-Objects
With Objects
* Source: Gartner Group
Development Life Cycle
-
7/27/2019 OO Methodology 101
23/25Ver. 1.0 Page - 23Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
Lessons LearnedTechnology - Maturity?
Individual technologies have matured but new technologiescontinue 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
-
7/27/2019 OO Methodology 101
24/25
Ver. 1.0 Page - 24Copyright 1995 2005 by Nazzaro & Associates. All Rights Reserved.
In SummaryFive Guidelines for Success
Organization must understandtheir problem Upper managementcommitment
Stand by the project Accurate expectations
Select/implement amethodology
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 setaccurate expectations
-
7/27/2019 OO Methodology 101
25/25
Presented by:
E-Mail - bill@williamnazzaro.comPhone - (610) 831-1151
William F. Nazzaro
Nazzaro & Associates
Object-Oriented
Methodology 101
top related