object-oriented systems development:development
Post on 27-Oct-2021
2 Views
Preview:
TRANSCRIPT
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Chapter 4:Object-Oriented Methodologies
Object-Oriented SystemsObject-Oriented SystemsDevelopmentDevelopment:Using the Unified ModelingUsing the Unified ModelingLanguageLanguage
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Goals
•Object-Oriented Methodologies–The Rumbaugh et al. OMT–The Booch methodology– Jacobson's methodologies
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Goals (Con’t)
•Patterns•Frameworks•Unified Approach (UA)• layered Architecture
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Basic Definitions•A methodology is explained as the
science of methods.•A method is a set of procedures in
which a specific goal isapproached step by step.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Too Many Methodologies•1986: Booch came up with the
object-oriented design concept,the Booch method.•1987: Sally Shlaer and Steve
Mellor came up withthe concept of therecursive design approach.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Too Many Methodologies (Con’t)•1989: Beck and Cunningham came up
with class-responsibility-collaboration (CRC) cards.
•1990: Wirfs-Brock, Wilkerson, andWiener came up with responsibility-driven design.
•1991: Peter Coad and Ed Yourdondeveloped the Coad lightweight andprototype-oriented approach.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Too Many Methodologies (Con’t)•1991: Jim Rumbaugh led a team at
the research labs of General Electricto develop the object modelingtechnique (OMT).•1994: Ivar Jacobson introduced the
concept of the use case.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Survey of Some of the Object-Oriented Methodologies
•Many methodologies are available tochoose from for system development.• Here, we look at the methodologies
developed by Rumbaugh et al.,Booch, and Jacobson which are theorigins of the Unified ModelingLanguage (UML) and the bases of theUA.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Rumbaugh et. al.’s ObjectModeling Technique (OMT)
• OMT describes a method for theanalysis, design, and implementationof a system using an object-orientedtechnique.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OMT (Con’t)•OMT consists of four phases,
which can be performediteratively:–1. Analysis. The results are
objects and dynamic andfunctional models.–2. System design. The result is a
structure of the basicarchitecture of the system.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OMT (Con’t)
–3. Object design. This phaseproduces a design document,consisting of detailed objectsand dynamic and functionalmodels.–4. Implementation. This activity
produces reusable, extendible,and robust code.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OMT Modeling•OMT separates modeling into
three different parts:– 1. An object model, presented by the
object model and the datadictionary.– 2. A dynamic model, presented by
the state diagrams and event flowdiagrams.– 3. A functional model, presented by
data flow and constraints.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OMT Object Model
numberbalancedepositwithdrawcreateTransaction
Account
Withdraw
CheckingAccount
transDatetransTimetransTypeamountpostBalance
Transaction
AccountTransaction
firstNamelastNamepinCode
Client
ClientAccount
CheckingSavingAccountSavingsAccount
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OMT Dynamic Model
Nothing is selected
No account has been selected
Account has beenselected
Select Checkingaccount
Select Checking orsaving account
Select transactiontype (withdraw,
deposit, transfer)Enter the amount
Confirmation
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OMT Functional Model
Client Account
CardReader PIN Code Process PIN Code
Process
DataStore
DataFlow
ExternalEntity
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Booch Methodology•The Booch methodology covers
the analysis and design phases ofsystems development.•Booch sometimes is criticized for
his large set of symbols.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Booch Methodology (Con’t)•The Booch method consists of the
following diagrams:–Class diagrams–Object diagrams– State transition diagrams–Module diagrams– Process diagrams– Interaction diagrams
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Booch Methodology (Con’t)
Car
colormanufacturercost
Escort
Ford
Mustang Taurus
inherits
inherits
superclass
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Booch Methodology (Con’t)
Silenced Sounding
Disabled
Enabled
SoundAlarm
SilenceAlarm
Enable Disable
Operator::TurnOffAlarm
AlarmFixed
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Booch Methodology (Con’t)
•The Booch methodologyprescribes–A macro development process
–A micro development process.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Macro Development Process•The macro development process
consists of the following steps:– 1. Conceptualization– 2. Analysis and development of the
model.– 3. Design or create the system
architecture.– 4. Evolution or implementation.– 5. Maintenance.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Micro Development Process•The micro development process
consists of the following steps:– 1. Identify classes and objects.– 2. Identify class and object semantics.– 3. Identify class and object
relationships.– 4. Identify class and object interfaces
and implementation.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Jacobson et al. Methodologies•The Jacobson et al. methodologies
(e.g., OOBE, OOSE, andObjectory) cover the entire lifecycle and stress traceabilitybetween the different phases.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Use Cases•Use cases are scenarios for
understanding system requirements.•A use case is an interaction between
users and a system.•The use-case model captures the
goal of the user and theresponsibility of thesystem to its users.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•The use case description mustcontain:–How and when the use case begins
and ends.– The interaction between the use case
and its actors, including when theinteraction occurs and what isexchanged.
Use Cases (Con’t)
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Use Cases (Con’t)
–How and when the use case willstore data in the system.– Exceptions to the flow of events.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Library
Checking out books
Doing research
Reading books,NewspapersMember
SupplierPurchasing Supplies
Getting anInterlibrary loan
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented SoftwareEngineering: Objectory
•Object-oriented softwareengineering (OOSE), also calledObjectory, is a method of object-oriented development with thespecific aim to fit thedevelopment of large, real-timesystems.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Objectory (Con’t)•Objectory is built around several
different models:–Use case model.–Domain object model.–Analysis object model.
Implementation model.– Test model.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented BusinessEngineering (OOBE)
•Object-oriented businessengineering (OOBE) is objectmodeling at the enterprise level.• Use cases again are the central
vehicle for modeling, providingtraceability throughout thesoftware engineering processes.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Structured byRealized by
Implemented by
Tested inExpress in
Use-case model
Domain Objectmodel
Analysismodel
Design model Implementationmodel
Testing model
OKNOT OK
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
OOBE (Con’t)
•OOBE consists of :–Analysis phase–Design– Implementation phases and– Testing phase.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Patterns•A pattern is an instructive
information that captures theessential structure and insight of asuccessful family of provensolutions to a recurring problemthat arises within a certain contextand system of forces.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•The main idea behind usingpatterns is to providedocumentation to help categorizeand communicate about solutionsto recurring problems.• The pattern has a name to
facilitate discussion and theinformation it represents.
Patterns (Con’t)
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•A good pattern will do thefollowing:• It solves a problem. Patterns
capture solutions, not just abstractprinciples or strategies.• It is a proven concept. Patterns
capture solutions with a trackrecord, not theories or speculation.
Patterns (Con’t)
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•The solution is not obvious. Thebest patterns generate a solutionto a problem indirectly—anecessary approach for the mostdifficult problems of design.• It describes a relationship. Patterns
do not just describe modules, butdescribe deeper system structuresand mechanisms.
Patterns (Con’t)
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•The pattern has a significanthuman component.
•All software serves humancomfort or quality of life; the bestpatterns explicitly appeal toaesthetics and utility.
Patterns (Con’t)
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Capturing Patterns•Guidelines for capturing patterns:– Focus on practicability.–Aggressive disregard of originality.–Nonanonymous review.–Writers' workshops instead of
presentations.–Careful editing.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Frameworks•A framework is a way of
presenting a generic solution to aproblem that can be applied to alllevels in a development.•A single framework typically
encompasses several designpatterns and can be viewed as theimplementation of a system ofdesign patterns.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•Design patterns are more abstractthan frameworks.•Design patterns are smaller
architectural elements thanframeworks.•Design patterns are less specialized
than frameworks.
Differences Between DesignPatterns and Frameworks
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Unified Approach•The idea behind the UA is not to
introduce yet anothermethodology.•The main motivation here is to
combine the best practices,processes, methodologies, andguidelines along with UMLnotations and diagrams.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Documentation & Traceability
of use-cases,analysis,
design, UI,and past
ExperiencesPatterns
Repository
UML BasedModeling
ConstructionComponentBasedDevelopment
User satisfactionusability tests,quality assurancetest
Continuous Testing
RefineanditerateIdentify Actors
Develop Use-Cases, activitydiagrams
Developinteractiondiagrams
Identify classes,relationships,attributes &methods
Continuous Testing
Designv viewand accessLayers andprototypes
Apply DesignAxioms
Design classes,their attributes,methods,association,structure ...
User satisfaction &Usability tests based on use casesBuild UML class
diagram
O-O Analysis
O-O Design
LayeredApproach
prototyping
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Unified Approach (UA)•The unified approach to software
development revolves around (butis not limited to) the followingprocesses and components.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
UA Processes (Con’t)
•The processes are:–Use-case driven development.–Object-oriented analysis.–Object-oriented design.– Incremental development and
prototyping.–Continuous testing.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
UA Methods and Technology•The methods and technology
employed includes:–Unified modeling language (UML)
used for modeling.– Layered approach.–Repository for object-oriented
system development patterns andframeworks.– Promoting Component-based
development.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
UA Object-Oriented Analysis:Use-Case Driven
•The use-case model captures theuser requirements.•The objects found during analysis
lead us to model the classes.•The interaction between objects
provide a map for the designphase to model the relationshipsand designing classes.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
UA Object-Oriented Design• Booch provides the most comprehensive
object-oriented design method.•However, Booch methods can be
somewhat imposing to learn andespecially tricky to figure out where tostart.
• UA realizes this by combining Jacobsonet al.'s analysis with Booch's designconcept to create a comprehensive designprocess.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Iterative Development andContinuous Testing
•The UA encourages theintegration of testing plans fromday 1 of the project.•Usage scenarios or Use Cases can
become test scenarios; therefore,use cases will drive the usabilitytesting.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Modeling Based on the UnifiedModeling Language
•The UA uses the unified modelinglanguage (UML) to describe andmodel the analysis and designphases of system development.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The UA Proposed Repository•The requirement, analysis, design, and
implementation documents should bestored in the repository, so reports canbe run on them for traceability.•This allows us to produce designs that
are traceable across requirements,analysis, design, implementation, andtesting.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
The Layered Approach toSoftware Development
•Most systems developed withtoday's CASE tools or client-serverapplication developmentenvironments tend to lean towardwhat is known as two-layeredarchitecture: interface and data.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Two-Layer Architecture• In a two-layer system, user
interface screens are tied directlyto the data through routines thatsit directly behind the screens.
Data
Workstation
Owner
Name
TitleAddress
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Problem With the Two-LayerArchitecture
•This approach results in objectsthat are very specialized andcannot be reused easily in otherprojects.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Three-Layer Architecture•Your objects are completely
independent of how:– they are represented to the user
(through an interface) or– how they are physically stored.
Data
Workstation
Owner
Name
TitleAddress
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
User Interface layerThis layer is typically responsible
for two major aspects of theapplications:•Responding to user interaction•Displaying business objects.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Business Layer•The responsibilities of the
business layer are very straight-forward:•model the objects of the business
and how they interact toaccomplish the businessprocesses.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Business Layer: Real Objects(Con’t)
These objects should not beresponsible for:• Displaying details• Data access details
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Access Layer•The access layer contains objects
that know how to communicatewith the place where the dataactually resides,•Whether it be a relational
database, mainframe,Internet, or file.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Access Layer•The access layer has two major
responsibilities:• Translate request• Translate result
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Three-Layered Architecture
BusinessLayer
ViewLayer
Access Layer
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Summary•we looked at current trends in
object-oriented methodologies,which have been towardcombining the best aspects oftoday's most popular methods.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Summary (Con’t)•Each method has its strengths.
Rumbaugh et al. have a strong methodfor producing object models.• Jacobson et al. have a strong method
for producing user-driven requirementand object-oriented analysis models.•Booch has a strong method for
producing detailed object-orienteddesign models.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
•Each method has weakness, too. WhileOMT has strong methods for modelingthe problem domain, OMT modelscannot fully express the requirements.• Jacobson, although covering a fairly
wide range of the life cycle, does nottreat object-oriented design to the samelevel as Booch, who focuses almostentirely on design, not analysis.
Summary (Con’t)
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Summary (Con’t)•The UA is an attempt to combine
the best practices, processes, andguidelines along with UMLnotations and diagrams for betterunderstanding of object-orientedconcepts and object-orientedsystem development.
top related