1 Understanding+the+Domain
1 Understanding+the+Domain
http://acloudfan.com/
Contact: [email protected]
*
1 What is a domain?
2 Domain experts?
www.ACloudFan.com
Business perspective of Domain
www.ACloudFan.com
Technology perspective of Domain
Business
Data
Layer
eCommerce Logic | Rules | Flow
Media Resource
eCommerce Social Media
Streaming Planning
www.ACloudFan.com
Sub-Domains
Banking
www.ACloudFan.com
Domain Experts a.k.a. Subject Matter Experts or SME
Banking
Accounts Expert
www.ACloudFan.com
Domain Experts a.k.a. Subject Matter Experts or SME
Banking
Travel Advisor
www.ACloudFan.com
ACME Travel There are multiple experts within a domain !!!
Accounts
Customer Support ……
www.ACloudFan.com
Quick Exercise
*
1 Conceptual Models
2 Architectural Models
www.ACloudFan.com
Conceptual Models
208 HP
14 Gallon tank
70 kWH battery
Objective of Conceptual Models
208 HP
14 Gallon tank
70 kWH battery
Software : Conceptual Models
Architectural Model
www.ACloudFan.com
Architecture Vs. Design
www.ACloudFan.com
Architecture & Design for a Rideshare System
www.ACloudFan.com
Drivers & Customers - Mobile Phones
5K Rides/Hour
Notification System
Driver
100 K Customer Ride Request Processor
Active Users Tracker
Geo Spatial Services
Customer Data
2 TB / Year Ride Data Payment Transactions
Driver Data
www.ACloudFan.com
Quick Exercise
www.ACloudFan.com
Drivers & Customers - Mobile Phones
5K Rides/Hour
www.ACloudFan.com
Quick Review
*
1 Modelling techniques
2 Architectural Styles
www.ACloudFan.com
Model Diagrams
• Purpose
• Perspective | Viewpoint
• Level of Details
www.ACloudFan.com
Models are NOT mutually exclusive i.e.; you may create multiple models for the same system
4+1 Architectural View Model
www.ACloudFan.com
4 +1 Architectural View Model
Process View +1
(Requirements)
Physical View
www.ACloudFan.com
Stakeholder Interests | Concerns
Architect
Executives Developer
www.ACloudFan.com
Business Expert
Network Engineer
Quick Exercise
www.ACloudFan.com
http://www.omg.org/uml
www.ACloudFan.com
Please go through basic UML notation & diagrams on your own
http://www.omg.org/uml
www.ACloudFan.com
Please go through basic UML notation & diagrams on your own
A standard set of diagrams (14)
http://www.omg.org/uml
State Component
diagram diagram
Class Package
diagram diagram
Sequence
diagram Deployment
diagram
Activity Use Case
diagram diagram
www.ACloudFan.com
Software Architecture Styles
www.ACloudFan.com
Architectural Styles
• Layered architectures
Structure
• Object Oriented Architecture & Design
www.ACloudFan.com
Architectural Styles
• Client Servers
Deployment
• 3 Tier Architecture
www.ACloudFan.com
Architectural Styles
www.ACloudFan.com
Data Centric Architecture
Develops
Software Team
www.ACloudFan.com
Process Centric Architecture
Develops
Software Team
www.ACloudFan.com
Services Centric Architecture (SOA | REST)
Develops
Software Team
www.ACloudFan.com
Object Oriented Architecture (OOA)
Software Team
www.ACloudFan.com
Domain Driven Design
Software Team
www.ACloudFan.com
Review
*
1 Domain model
www.ACloudFan.com
WHY do businesses invest in software?
www.ACloudFan.com
WHY do businesses invest in software?
What
Reduce manual labor Automation; Machine Learning
is
Increase Efficiency Workflow engines; Tools
the Real
Competitive Edge Reasons
Customer loyalty; Business Intelligence
for these
…… … needs
www.ACloudFan.com
WHY do businesses invest in software?
• To Solve
fulfill some
someneed(s)
BusinessofProblem(s)
the business | enterprise
…… …
www.ACloudFan.com
Business Problems
www.ACloudFan.com
To understand the problem, architects MUST understand the domain first !!!
Domain Model
www.ACloudFan.com
May contain additional knowledge
Review
*
1 Knowledge crunching
www.ACloudFan.com
WHO in your Organization REALLY understands your
Org's Business Processes?
www.ACloudFan.com
Domain Experts a.k.a. Subject Matter Experts or SME
Banking
Accounts
Customer Support
www.ACloudFan.com
Knowledge Crunching
www.ACloudFan.com
Knowledge Crunching
Technology Team
www.ACloudFan.com
Technology Team
www.ACloudFan.com
Knowledge Crunching
Software
Development
Team
Account
<<Abstract>>
Banking Experts
Savings A/c Loan A/c
Checking A/c
www.ACloudFan.com
Enterprise Models
www.ACloudFan.com
Enterprise Models
www.ACloudFan.com
Challenges with Unified models
1 Complexity
2 Ownership
3 Linguistic
www.ACloudFan.com
1 Complexity
Model falls behind the reality and over time loses its value
3 Linguistic
Software
Development
Team
Technical
Code
Design
Product
www.ACloudFan.com
Aggregate Domain Models a.k.a. Holistic/Enterprise Domain Model
Banking
Loans Management
… …
Knowledge
www.ACloudFan.com
Addressing the Challenges
www.ACloudFan.com
Review