High Level Analysis and Design
High Level Analysis and Design
Agenda
1
Introduction
Architecture Blueprinting
Textbooks:
Software Engineering: A Practitioners Approach
Roger S. Pressman
McGraw-Hill Higher International
ISBN-10: 0078022126, ISBN-13: 978-0078022128, 8th Edition (01/23/14)
Recommended:
Code Complete: A Practical Handbook of Software Construction, 2nd Edition
The Mythical Man-Month: Essays on Software Engineering, 2nd Edition
Icons / Metaphors
Information
Common Realization
Knowledge/Competency Pattern
Governance
Alignment
Solution Approach
55
Agenda
1
Introduction
Architecture Blueprinting
Architecture Models
An Architecture provides the organizing logic for
mapping business onto IT capabilities
Creating models to describe an Architecture is a complex
exercise as various levels of abstractions may need to
be considered to effectively cover all requirements in
increasing levels of detail
Architecture Models are typically based on an integration
of existing reference architecture styles
e.g., OMA and SOA, SOA and BPM, etc.
Reference Architecture
A Reference Architecture consists of foundational principles, an
organizing framework, a comprehensive and consistent method,
and a set of governing processes and structures.
Principles provide the foundation upon
Reference Architecture
Principles
Framework
Method
Plan
Business
Information
Process
People
Application
Technical
Deliver
Operate
Governance
10
11
High Coordination
Shared customers / products / product data /
suppliers
Operationally autonomous and unique business
units
Transactions impact other business units
Shared
customers
Shared data
Integrating
technology
Linked
processes
Diversification
Few, if any, shared customers or suppliers
Operationally autonomous and unique business
units
Independent transactions
Low
Required
Unification
Customers and suppliers may be local or global
Business units with similar or overlapping
operations
Globally integrated business processes supported
by Enterprise systems
Key
customers
Linked and
standard
(core)
processes
Shared
data
Linking and
automating
technologies
Replication
Few, if any, shared customers
Operationally similar business units
Independent transactions aggregated at a higher
level
Autonomous business units with limited discretion
over processes
Business process
standardization
High
Optional
12
Business
Architecture
Data
Architecture
Application
Architecture
Technical
Architecture
Level of
Abstraction
Presentation
Enterprise
Conceptual
Portfolio /
Domain
Logical
Physical
System
(Project)
Technology
Product
Implementation Analysis/Design
Information
Deployment
Business
15
Sales and
Marketing
Product
Development
Underw riting
Claim
Processing
Servicing
Business
Capabilities
Business
Users
Bond
Agents/
Business B2B Partners Customers Public
Users
Bond
Business
Users
Bond
Agents/
Business B2B Partners
Users
Bond
Agents/
Business B2B Partners
Users
$
$
Bond
Agents/
Business B2B Partners Customers
Users
Bond
Agents/
Business B2B Partners Customers Public
Users
Business
Events
Business
Channels
BPM
Processes
Process
metrics
BRM
Rules
Business
Services
Business
Entities
Surety
Management Liability
Enterprise
Claims
Business Unit
16
Value Chain
Business
Capabiliti
es
Business
Users
Agents/
B2B Partners
Agents/
B2B Partners
Business
Events
Product
Selection
Submission
Rate Quote*
Bind
Submission UI
Agent Portal
Bind UI
eDoc delivery UI
Business
Channels
BPM
Processe
s
Process
metrics
Fulfillment
New Business
Product browser UI
Agents/
B2B Partners
Agents/
B2B Partners
Submission counts
by agents/products
BRM
Rules
Product category,
Related product
rules
Submission
validation
Form selection
Business
Services
Product selector,
Product info
publisher
Business
Entities
Agent profile,
Product catalogue
Count of ratings
delivered
Count of exceptions
Count of
successful bids
Number of policies
issued
Rating
Binding
Billing,
Delivery routing
Rating service
Quote publisher
Binding service
Electronic
signature capture
ePOA
Billing configuration
Delivery manager
Form templates,
Form metadata,
Submission data
Binding data,
Policy data
Policy/Bond data,
Power of Attorney
data, Billing data
17
Agenda
1
Introduction
Architecture Blueprinting
18
What is Blueprinting?
19
What is a Blueprint?
Blueprinting and UML are intended to be used together on the same project
Blueprint artifacts are used to document the end-to-end high-level designs
for projects
Blueprints are analogous to the city-planning level in the building construction industry
They enable architects to communicate the overall design of a city (project) as opposed to
the design of the individual buildings (applications) that make up the city
UML artifacts are used for software engineering tasks (e.g., architecting the
buildings)
UML
Blueprinting
Focus
Software development
Application integration
Use
Level of detail
High to low-level
High-level
Central Element of
Granularity
System of systems
Learning Curve
Significant
Minimal
23
Legend Box
Sample Legend Box
Architecture Domain:
Blueprint Type:
State:
Revision Date:
Revised By:
Approved By:
Application
Info Flow Diagram
As-Is
06/14/09
John Doe Architect
Jane Doe Architect
Scope: Project
Abstraction: Logical
Status: Working Draft
The Legend Box is a text box that must appear on all blueprints. It
is used to denote important information that is needed by the reader
to correctly interpret a blueprint. The following information is
included in the Legend Box:
Business Architecture specify this when the model depicts the companys business
capabilities, business processes, organizational structure, major locations, or relationships
with partners and customers
Application Architecture specify this when the model depicts the application assets that
support business capabilities and processes
Data Architecture specify this when the model depicts the companys business rules,
business data and/or information types, along with their interrelationships
Technical Architecture specify this when the model depicts hardware and facilities, system
software, data storage resources, networks, and other underlying technologies
Technical architecture provide the platform that supports the activities and interfaces of the other
domains
25
Scope - Defines the breath (or scope of authority) for a blueprint. Several different
scopes are recognized:
Abstraction - Refers to how far the model is removed from practical considerations
such as application servers, programming languages, etc
Four different levels are recognized: Presentation, Conceptual, Logical and Physical
State Used to answer the question: Does this model represent the current state or
some proposed future state? Three different states are typically recognized:
As-is - the current state.
To-be - the desired future state that is to be achieved in a specified time period (typically 12
24 months). In reality, the to-be state is a moving target that generally represents an
aspiration, as opposed to a fixed target that will be achieved
Transition - a planned landing point between the current state and the to-be state
26
Lots
Application Architecture
App Portfolio A
App Portfolio B
Scope =
Enterprise
App Portfolio C
App
D
Daily
Extract
App
A
Tran
DB
App
B
XYZ
Com
p
Scope =
Portfolio
Pgm 1
Scope =
System/Project
Map Analogy
Scope =
United
States
Scope =
State of
Minnesota
Scope = City
of
Minneapolis
Scope =
Subsystem/
program
Little
Scope =
Downtown
Minneapolis
27
Agenda
1
Introduction
Architecture Blueprinting
28
29
30
31
32
Participants
Infrastructure
Prospect
Contract Holder
Financial Professional
Employ ee
Firm
Clearinghouse
Middleware
Interaction Medium
Forms
View
Browser
Contract
Holder
Financial
Prof essional
Phone PDA
Serv ice
Electronic
Business
Gatew ay
Text Message
Sales
Other
Interaction
Serv ices
Process
Serv ices
Transaction
Serv ices
Inf ormation
Serv ices
Processes
Spousal
Continuance
Death
Programmed
Reallocation
Remittance
Software
Vendors
Valuation
Security Services
Functional
Components
IT
Integration
Serv ices
New Business
Form Based
Services
Sourcing
Process
Serv ices
Get Book
Atomic Services
Check Appoint
Application
Software
Providers
Composite Services
Get FP Detail
Contract Setup
Mov e Money
Virtualization Services
Rules
Party
Product
Contract
Activ ities
Commissions
Other
Build
Test
Prod
Business
Process
Outsource
Nav igation
Process
Support
Components
Data
Knowledge
Document
General
Ledger
Reporting
Transactional
Party
Activ ities
Human
Resources
Product
Hardware
Authorization
Other
Operational
Product
Contract
Commission Documents
L&A
Data Warehouse
Other
Data Marts
Reporting
and
Analysis
Client
Serv er
Network
33
Client and
Channel Mgmt
Risk and
Financial Mgmt
Product
Pr oduct Por tfolio
Planning
Mar ket
Resear ch
Pr oduct
Conceptualization
Mar ket
Segmentation
Pr oduct Definition
and Design
Regulator y
Filing
Channel
Management
Pr oduct
Deployment
Risk
Management
Investment
Management
Regulator y and
Compliance
Sales
Pr omotion and
Br and Mgmt
Contr actholder
Relationship Mgmt
Fir m
Relationship Mgmt
Legal
Licensing and
Appointments
Commissions
FP
Relationship Mgmt
Campaign
Management
Financial Risk
Management
Suitability
Financial
Management
Financial Repor ting
and Metr ics
Service
Client
Pr ofile
Contr act
Setup
Money-In
Contr act
Financial Ser vicing
Reallocations
Asset
Retention
Annuitization
Payments
V aluation
Cor r espondence
Management
V alue Added
Ser vices
Business
Continuity
Human
Resour ces
Infor mation
Technology
Accounting
Tr aining and
Knowledge Mgmt
Auditing
Document and
Content Mgmt
Facilities
Management
34
Client Focus
Product
Sales
Risk and
Financial Mgmt
Service
35
36
Views
Forms
Contract
Holder
New Business
Form based
Financial
Professional
Death
Browser
Contract Holder
Business
Services
Process
Serv ices
Get Contract
Get FP Detail
Spousal
Continuance
Party
Product
Product
Contract
Contract Setup
Check Appoint.
Sales
Data
Party
Financial
Professional
Phone PDA
Components
External
Media
Serv ices
Custom
Processes
Existing Assets
Prospect
I nteraction
Package
Participants
Contract
Activ ities
Remittance
Other Services
Employee
Activ ities
Text
Message
Other
Views
Programmed
Reallocation
Firm
Electronic Business
Gatew ay
Valuation
Commissions
Atomic
Serv ices
Commissions
Composite
Serv ices
Other
Components
Clearinghouse
Other
Stores
Rules
I ntegration (Application Bus)
Navigation
Process
Vendor / Partner
Systems
Security
Serv ices
Session
Management
Technical
Serv ices
Ev ent
Management
Connection
Management
Product
Security
37
Transactional
Data Stores
Operational
Data Store
Data
W arehouse
Data
Marts
Reporting
and Analysis
Operational
Reports
Activities
Commissions
Contr act
Activities
Commissions
Actuar ial
Cor r espond
Documents
Fund
Tr ades
Hedging
Contr act
Fund
Tr ades
Call
Statistics
HR
Illustr ations
Licensing
& Appt
Plan
Investments
Knowledge
Mar keting
Par ty
Payment
Pr oduct
Pr oduct
Per for mance
Reser ve
BU
Warehouse
Gener al
Ledger
Par ty
Sales by
Ter r itory
Pr oduct
Ser vice
Sales
Penetr ation
Sales
Planning
Secur ity
Slippage
Suspense
Valuations
Value Add
Ser vices
Tax
Analytic
Reports
eCommerce &
Interface Files
eCommer ce &
Inter faces
Valuations
Sales
Comp
Mgmt
Reports
Extract
Services
Transport
Services
Integration
(Data Bus)
Transform
Services
Load
Services
Enterprise
Technical Services
Contr act
Holder
Gener al
Ledger
Tax
Scheduler
Services
Cleansing
Services
Security
Services
Enrichment
Services
MetaData
Services
38
Brow ser
Client
Thick
Client
IVR
Process
Business
Rules
Intranet
Web
Serv er
Brow ser
Client
Internet
Internet
Web
Serv er
Party
Product
Interaction
Contract
I ntegration
Perv asive
Client
Security
Public or
Private
Network
Application
&
Data Bus
Activ ities
Gatew ay
Registry
Commissions
Partner
Serv ices
Ev ent
Mgmt
Other
Components
Document
Mgmt
Content
Mgmt
Information
Mgmt
Reporting
39
Agenda
1
Introduction
Architecture Blueprinting
40
Levels of abstraction
Breadth (i.e., architectural domain)
Depth (i.e., services/facilities needed)
Specialization (i.e., styles and related pattern)
Integration of various patterns results in
integration variants/hybrids
Mapping relies on the selection of standards and
products that implement that standard
e.g., JEE IBM WebSphere Application Server
41
Channels
Interaction Integration
Interaction Services
Security
Application Integration
Application Services
Service Integration
Qualities
Services
Data Integration
Data Services
Infrastructure Integration
Operating System Services
Security
Services
Monitoring
Management
Qualities
Business Processes
Build-Time Services
Monitoring
Management
Separation of
concerns through
layering enables
high cohesion and
low coupling
across the
application
components
Network Services
Network
Hardware
Qualities
Interaction
Integration
Bus. Process
Integration
Application
Integration
Service
Integration
Data
Integration
Infrastructure
Integration
42
Fax
USPS/Phone Networks
Access Control
Presentation
Citrix Server
Components
Authentication
Server
(LDAP or SSO)
Email Server
IM Server
IP PBX
Web Server
Citrix Client
B2B
Intranet
B2B Bridge
Agent HQ Website
Translation
Services
UW
Workbench
UW Rules
Configuration
Applications
Billing
Workbench
Rating
Workbench
Rating
Configuration
Applications
Claims
Workbench
Collaboration
Validation Rules
User Interface
Search
Content Store
Integration Services
Claims
Configuration
Applications
Billing
Configuration
Applications
BPM Workspace
Sales & Marketing
(shared across Bond)
Product Development
Underwriting
Servicing
(some shared across Bond)
Claim Processing
Process Mgmt
Manage Work
(some shared across Bond)
BPM Core Processes
Audit
Search / Look-ups
Reporting
Agent/Employee Maintenance
(some shared across Bond) (some shared across Bond) (some shared across Bond)
(shared across Bond)
Bond Finance
(shared across Bond)
Actuarial
(shared across Bond)
Legal Compliance
(shared across Travelers)
Product Maintenance
Rule Engine
Service Bus
Product Selector
Sample Services for Underwriting
Product Information
(New Business Product Selection):
Publisher
Transformation,
Routing,
Notification,
Augmentation,
Service Invocation/
Integration Rules,
Side Effect Operations
XML
Transform.
Logging Service
COTS
Services
Reporting
System
Scanning
System
Investment Mgmt.
Exception
Handling
Batch Service
Req. Status
Tracking Svc.
3rd Party
Services
Security
DMS
Business Partner
Mgmt.
Shared Services
Supporting Systems
Translation Services
Policy
Objects
External/
Corporate
Applications
Interface
Dependent
Protocols
COMPASS
Lotus Notes
Systems
DNA
SVoC
RDBMS
DM/DW/BI/KM
External Feeds
ChoicePoint
Advisen
Moodys
CheckFree
DNB
AON
SurePath
etc.
Information Mgmt
Information Bus
(Object-Relational Mapping from BOM to EDM)
Data
Data
ECM
EDM
Dictionary Archival
Repository
Reporting
Data Integration
IM Capabilities
Process Manager
Dowstream
Applications
Portal Server
Remote Servers
Bond
Desktop
Prod/Ext
Reporting
Portal DB
Content Repository
CAMS
CSAMS
Express
Polaris
Acturial
Workbench
Image Service
Translation
Services
Product
Workbench
Thick Client
Intranet
Protocol Handlers
Process Mgmt
Thin Client
Internet
Portlets
Instant Messaging
Redirect Link
Product
Configuration
Applications
Information Mgmt
VOIP
Interaction Mgmt
Scanner
IVR Server
Fax Server
Digitization Services
Interaction Mgmt
Business
Event
Portal UI
Framework
Business
Event
(OMA/SOA Hybrid)
43
Phone
Fax
USPS/Phone Networks
Scanner
Access Control
IVR Server
Presentation
Citrix Server
Components
Fax Server
Digitization Services
Interaction Mgmt
Business
Event
Authentication
Server
(LDAP or SSO)
Email Server
IM Server
IP PBX
Web Server
Citrix Client
B2B
Intranet
B2B Bridge
Agent HQ Website
Translation
Services
UW
Workbench
UW Rules
Configuration
Applications
Billing
Workbench
Rating
Workbench
Rating
Configuration
Applications
Claims
Workbench
Collaboration
Validation Rules
User Interface
Search
Content Store
Integration Services
Claims
Configuration
Applications
Billing
Configuration
Applications
BPM Workspace
Sales & Marketing
(shared across Bond)
Product Development
Underwriting
Servicing
(some shared across Bond)
Claim Processing
Process Mgmt
Manage Work
(some shared across Bond)
BPM Core Processes
Audit
Search / Look-ups
Reporting
Agent/Employee Maintenance
(some shared across Bond) (some shared across Bond) (some shared across Bond)
(shared across Bond)
Bond Finance
(shared across Bond)
Actuarial
(shared across Bond)
Legal Compliance
(shared across Travelers)
Product Maintenance
Rule Engine
XML
Transform.
Exception
Handling
Batch Service
Transformation,
Routing,
Notification,
Augmentation,
Service Invocation/
Integration Rules,
Side Effect Operations
Service Bus
Product Selector
Sample Services for Underwriting
Product Information
(New Business Product Selection):
Publisher
Logging Service
COTS
Services
Reporting
System
Scanning
System
Investment Mgmt.
Req. Status
Tracking Svc.
3rd Party
Services
Security
DMS
Business Partner
Mgmt.
Shared Services
Supporting Systems
Translation Services
Policy
Objects
External/
Corporate
Applications
Interface
Dependent
Protocols
COMPASS
Lotus Notes
Systems
DNA
SVoC
RDBMS
DM/DW/BI/KM
External Feeds
ChoicePoint
Advisen
Moodys
CheckFree
DNB
AON
SurePath
etc.
Information Mgmt
Information Bus
(Object-Relational Mapping from BOM to EDM)
Data
Data
ECM
EDM
Dictionary Archival
Repository
Reporting
Data Integration
IM Capabilities
Process Manager
Dowstream
Applications
Portal Server
Remote Servers
Bond
Desktop
Prod/Ext
Reporting
Portal DB
Content Repository
CAMS
CSAMS
Express
Polaris
Acturial
Workbench
Image Service
Translation
Services
Product
Workbench
Thick Client
Intranet
Protocol Handlers
Process Mgmt
Thin Client
Internet
Portlets
Instant Messaging
Redirect Link
Product
Configuration
Applications
Information Mgmt
VOIP
Portal UI
Framework
Interaction Mgmt
JEE Standard
IBM
WebSphere
Product Family
Various Third
Party Products
(as indicated)
Business
Event
Sample Product
Mapping:
(OMA/SOA Hybrid)
44
Agenda
1
Introduction
Architecture Blueprinting
45
Specialization Hierarchy
of Architectures
46
47
Objectives:
A catalog with a scope comprehensive enough to hold all
reference architectures blueprints in a meaningful and wellunderstood structure (i.e. be able to accommodate different types
of reference architectures blueprints)
A set of processes to access and maintain the catalog as well as
the reference architectures in the catalog, so the reference
architecture blueprints could be easily preserved and reused,
providing the following functions:
Retrieve a specific reference architecture at any time, given the
dimension specifications
Searchable given any dimension specifications
Allow adding variants to any existing reference architecture
Extendable in terms of new options (attributes) in each
dimensions
48
Architectural Styles
(Integration Patterns, etc.)
Although we show only 3 basic dimensions here, one could extend this to n dimensions
- An architecture in this catalog will have coordinates (x1, x2, x3,, xn)
49
50
51
52
Agenda
1
Introduction
Architecture Blueprinting
53
54
Course Assignments
Individual Assignments
Reports based on case studies / class presentations
Project-Related Assignments
All assignments (other than the individual assessments) will
correspond to milestones in the team project.
As the course progresses, students will be applying various
methodologies to a project of their choice. The project and related
software system should relate to a real-world scenario chosen by each
team. The project will consist of inter-related deliverables which are
due on a (bi-) weekly basis.
There will be only one submission per team per deliverable and all
Team Project
Project Logistics
Teams will pick their own projects, within certain constraints: for instance,
all projects should involve multiple distributed subsystems (e.g., webbased electronic services projects including client, application server, and
database tiers). Students will need to come up to speed on whatever
programming languages and/or software technologies they choose for their
projects - which will not necessarily be covered in class.
Students will be required to form themselves into "pairs" of exactly two (2)
members each; if there is an odd number of students in the class, then one
(1) team of three (3) members will be permitted. There may not be any
"pairs" of only one member! The instructor and TA(s) will then assist the
pairs in forming "teams", ideally each consisting of two (2) "pairs", possibly
three (3) pairs if necessary due to enrollment, but students are encouraged
to form their own 2-pair teams in advance. If some students drop the
course, any remaining pair or team members may be arbitrarily reassigned
to other pairs/teams at the discretion of the instructor (but are strongly
encouraged to reform pairs/teams on their own). Students will develop and
test their project code together with the other member of their programming
pair.
56
Problem description
High-level specification details
High-level implementation details
Proposed high-level timeline
58
Readings
Slides and Handouts posted on the course web site
Textbook: Part Two-Chapter 5
59
Any Questions?
60
61