Upload
steven-lang
View
214
Download
2
Embed Size (px)
Citation preview
Bringing OOAD&P Together:
A Synthesis Approach
Daniel Goulet Robert DollingerDepartment of Mathematics and Computing
University of Wisconsin-Stevens PointStevens Point WI
Object-Oriented Concepts
Software Development Strategies
Software Development Concepts
Software Development Tools
PROBLEM: How do we, as
faculty: Pull together all these
ideas?Make sense out of
these ideas?Give our students a
Cohesive and Coherent approach to software development?
Our Solution – Goulet/Dollinger
Information Systems Development
Software Modeling & Analysis Software Solution Construction
Analysis ofBusiness
Requirements
Analysis ofTechnical
Requirements
ComputationalIndependent
Model
PlatformIndependent
Model
Analysis of Platform
Requirements
PlatformSpecificModel
Code Design InTarget Platform
BusinessModel
RequirementsModel
AnalysisModel
DesignModel
[Iterative / Incremental / Documentable / Traceable] Problem Solution
Our Solution in Two Diagrams
3-Tier Model Example
Define the ProblemMDA’s CIMBusiness ModelRequirements Model
Prio
ritize
Re
qu
irem
en
ts
Elaborate RequirementsMDA’s PIMAnalysis ModelDesign Model
Implement RequirementsMDA’s PSMUML Model Synchronized
with Programming Language of Choice
Increment
Iterate
HP– AP – EEVP
Define the ProblemMDA’s CIMBusiness ModelRequirements Model
Prio
ritize
Re
qu
irem
en
ts
Elaborate RequirementsMDA’s PIMAnalysis ModelDesign Model
Implement RequirementsMDA’s PSMUML Model Synchronized
with Programming Language of Choice
Increment
Iterate
HP– AP – EEVP
Figure : Modified Unified Process Model
Define the ProblemMDA’s CIMBusiness ModelRequirements Model
Prio
ritize
Re
qu
irem
en
ts
Elaborate RequirementsMDA’s PIMAnalysis ModelDesign Model
Implement RequirementsMDA’s PSMUML Model Synchronized
with Programming Language of Choice
Increment
Iterate
HP– AP – EEVP
Define the ProblemMDA’s CIMBusiness ModelRequirements Model
Prio
ritize
Re
qu
irem
en
ts
Elaborate RequirementsMDA’s PIMAnalysis ModelDesign Model
Implement RequirementsMDA’s PSMUML Model Synchronized
with Programming Language of Choice
Increment
Iterate
HP– AP – EEVP
Figure : Modified Unified Process ModelModified Unified Process
User Interface Problem Domain
Data Source
Our Pedagogical Approach
ToolsCarto
uch
es
Cartouche: #4
Problem: How are events summarized in a graphical format?
Solver: Project Team
Primary Audience: Client / Sponsor
Secondary Audience: Project development team
Solution: Constructing a use case diagram modeling interactions /
events / requirements. Tool:
Use Case Diagram Product:
Use Case Diagram showing the required interactions between actors and the system.
Tool #10: Use Cases & Use Case Diagrams
Use case = a sequence of actions a system performs that yields an observable result of value to a particular actor.
Video Store Clerk
Rent Video
Add New Video
The Organizational Structure:
The Traditional Approach
Entity Data Access
DataSource
Each Entity class has its own Data Access class to interface
with the Data Source
Functions of the Data Access Class
The Data Access Class performs two types of tasks:
Entity specific and Data Source specific
Data Source(Relational,
XML,Flat Files,
Other)
Data AccessEntity
Retrieve
Delete
Modify
SaveConnect
Open
Close
Proposed Approach
Entity
DataSource
DataManager
One Data Manager Class that handles requests from all entities and can be
sub-typed for each particular Data Source type
(Relational, XML, Flat files or other)
How is done?The Data Manager is partly a code generator, and
partly a Data Source manager
DataManager
Use object reflection to
automatically generate entity specific code for
the:Save, Modify,Delete andRetrievemethods
Provide Data Source specific
code insub-classes of the
Data Manager:DBDataManger,
XMLDataManager,FlatFileDataMana
gerRetrieve
Delete
Modify
Save Connect
Open
Close
ConclusionsProposed methodology:
Used in classroom [3 years]
Proved a useful tool in helping students acquire a practical view on the application development process that is: Iterative Incremental Documentable Traceable
Questions?
??