18
Bringing OOAD&P Together: A Synthesis Approach Daniel Goulet Robert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point Stevens Point WI

Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Embed Size (px)

Citation preview

Page 1: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Bringing OOAD&P Together:

A Synthesis Approach

Daniel Goulet Robert DollingerDepartment of Mathematics and Computing

University of Wisconsin-Stevens PointStevens Point WI

Page 2: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Object-Oriented Concepts

Page 3: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Software Development Strategies

Page 4: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Software Development Concepts

Page 5: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Software Development Tools

Page 6: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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?

Page 7: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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

Page 8: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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

Page 9: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Our Pedagogical Approach

ToolsCarto

uch

es

Page 10: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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.

Page 11: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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

Page 12: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

The Organizational Structure:

Page 13: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

The Traditional Approach

Entity Data Access

DataSource

Each Entity class has its own Data Access class to interface

with the Data Source

Page 14: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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

Page 15: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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)

Page 16: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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

Page 17: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

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

Page 18: Bringing OOAD&P Together: A Synthesis Approach Daniel GouletRobert Dollinger Department of Mathematics and Computing University of Wisconsin-Stevens Point

Questions?

??