The following slide presentation is theproperty of Austin Software Foundry.
Duplication without the expressedpermission of Austin Software Foundry is
strictly prohibited.
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
Austin Software FoundryObject-Oriented Immersion
Powersoft User Conference1997
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ProcessProcessKnowledgeKnowledge
ArchitectureArchitecture
An iterativeapproach toapplicationdevelopment.
A hands onapproach foracquiringobject-orientedskills.
A solid foundationto provide theinfrastructurefor a componentbased architecture.
Business Driven ApplicationDevelopment
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
KnowledgeKnowledge
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
Classroom Instruction
• Object-Oriented Curriculum– OOAD using UML for PowerBuilder– Introduction to Rational Rose for PowerBuilder
– Architectures for Object-Oriented Development
– Process Management for Object-Oriented Development
• Java Curriculum– Java Progamming for Business Applications
– Fast Track to Java– Rapid Application Development with PowerJ
–
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
Mentoring
• Object-Oriented Immersion Certification– OO starter kit– Reading assignments
– Sample Application Development
• Pilot Project Services– Customized process definition– Pilot project development with hands on mentoring
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ProcessProcess
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP (Adaptive Solution Acceleration
Process)
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
1) Conduct Feasibility Study1) Conduct Feasibility Study2) Establish User Requirements2) Establish User Requirements
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP Process
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
3) Conduct Joint Requirements Planning 3) Conduct Joint Requirements Planning Workshop Workshop
• Produce Software Requirements Specification
• Produce Use Case Model
• Produce Business Object Model
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP Process
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
4) Cluster domain classes and4) Cluster domain classes and produce estimate produce estimate5) Produce Project Baselines5) Produce Project Baselines
• Software Requirements Baseline
• Project Plan Baseline
• Architectural Baseline• Infrastructure Baseline
• Database Baseline
• User Interface Baseline
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP Process
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
6) Enter Development Timebox6) Enter Development Timebox7) Develop7) Develop8) Integrate and Build8) Integrate and Build
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP Process
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
9) Integrate timebox 9) Integrate timebox deliverables and plan for deliverables and plan for next timebox next timebox10) Deliver timebox increment10) Deliver timebox increment
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP Process
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
Repeat steps 6 - 10 until thereRepeat steps 6 - 10 until thereare no more timeboxes.are no more timeboxes.
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ApplicationDelivery
Increment 1
ApplicationDelivery
Increment 2
ApplicationDelivery
Increment 3
Architecture: Coordinating Models
Infrastructure: Development and Deployment Environment
Clu
stering
Integ
ration
and
Review
Integ
ration
and
Review
Fin
alIn
tegratio
n
Development (C1)
Development (C2)
Development (C3)
Development (C1)
Development (C4)
Development (C5)
Development (C6)
Development (C6)
Development (C7)
ASAP Process
Management Framework
ProjectStart-Up
Bu
siness &
Req
uirem
ents
An
alysis
Timeboxed activity
11) System QA and packaging11) System QA and packaging12) Deliver and install12) Deliver and install
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ArchitectureArchitecture
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
Architecture-Driven Software
• Complex architectures are based on combinationsand sequences of patterns
• Architecture-Driven Software is based upon– Application partitioning and layering techniques
– Accepted “Visual patterns” that can be used to createconsistent, intuitive, easy to use applications
– Accepted “Domain patterns” that can be applied to manybusiness problems
– Accepted “Design patterns” for solving systeminfrastructure problems reliably and predictably
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
What is a “Business Architecture?”
• Business architecture is the combination/sequenceof business patterns that defines boundariesbetween business processes and entities
• Business architectures are expressed asinteractions between the organizational entities,structures, and processes that enable a business tocreate and deliver value to its customers
• A business architecture should use at least twostructural business (or domain patterns) to providea foundation business architecture– Use Case: event/entity/rule– Process: input/activity/output
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
What is a “BusinessArchitecture?”
Infrastructure
Domain
Application
Business Objects
Data Mgmt.
Business Events(Context)
Context Mgmt. Utilities
User Interface
Business Rules
Business Process
Foundation
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
Applying Domain Patterns
Business Entity
BusinessRule
Business Entity
BusinessControl
Business Entity
BusinessRule
Use CaseUse Case Pattern
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
What is an “ApplicationArchitecture?”
• Application architecture is the combination/sequence ofsystem patterns that defines boundaries betweenapplication elements (classes, components, frameworks)
• Boundaries are expressed as interfaces, including:– Conventions for invoking/ordering operations across boundaries– Descriptions of operations included in the interface to components and
frameworks
• Distributed systems must use at least two structuralsystems (or design patterns) to provide a foundationapplication architecture– Layers– Partitions
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
What is an “ApplicationArchitecture?”
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
Applying Design Patterns
windows Controller Business Control
Business Entities & Business Rules
(View) (Control)
(Model)
(Control)
AUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRYAUSTIN SOFTWARE FOUNDRY
ProcessProcessKnowledgeKnowledge
ArchitectureArchitecture
Building Applications Today -For Tomorrow