SlideShare a Scribd company logo
A Brief Presentation on Designing
and Documenting the Architecture
Jason Rodrigues
Software Architecture
Evolutionary Delivery Lifecycle
Adventure Builder Reference Application
The system used as an example in this architecture document is an adapted version
of the Adventure Builder Reference application, which was developed in the context of
the Java BluePrints program at Sun Microsystems.
The system used as an example in this architecture document is an adapted version
of the Adventure Builder Reference application, which was developed in the context of
the Java BluePrints program at Sun Microsystems.
Adventure Builder is a fictitious company that sells adventure packages for vacationers
over the Internet. The system provides four basic use cases (UC):
UC1. The user can visit the Adventure Builder Web site and browse the catalog of travel
packages, which include flights to specific destinations, lodging options, and activities
that can be purchased in advance. Activities include mountain biking, fishing, surfing
classes, hot air balloon tours, and scuba diving. The user can select transportation,
accommodation, and various activities to build his/her own adventure trip.
UC2. The user can place an order for a vacation package. To process this order, the
system has to interact with several external entities. A bank will approve the customer
payment, airline companies will provide the flights, lodging providers will book the hotel
rooms, and businesses that provide vacation activities will schedule the activities
selected by the customer.
UC3. After an order is placed, the user can return to check the status of his/her order.
This is necessary because some interactions with external entities are processed in the
background and may take hours or days to complete.
UC4. The internal system periodically interacts with its business partners (transportation,
lodging, and activity providers) to update the catalog with the most recent offerings.
Adventure Builder is a fictitious company that sells adventure packages for vacationers
over the Internet. The system provides four basic use cases (UC):
UC1. The user can visit the Adventure Builder Web site and browse the catalog of travel
packages, which include flights to specific destinations, lodging options, and activities
that can be purchased in advance. Activities include mountain biking, fishing, surfing
classes, hot air balloon tours, and scuba diving. The user can select transportation,
accommodation, and various activities to build his/her own adventure trip.
UC2. The user can place an order for a vacation package. To process this order, the
system has to interact with several external entities. A bank will approve the customer
payment, airline companies will provide the flights, lodging providers will book the hotel
rooms, and businesses that provide vacation activities will schedule the activities
selected by the customer.
UC3. After an order is placed, the user can return to check the status of his/her order.
This is necessary because some interactions with external entities are processed in the
background and may take hours or days to complete.
UC4. The internal system periodically interacts with its business partners (transportation,
lodging, and activity providers) to update the catalog with the most recent offerings.
Adventure Builder Reference Application
Adventure Builder Reference Application
Quality Attribute Requirements
The quality attribute scenarios (QAS) are listed below, separated by quality attribute.
Modifiability
QAS1. A new business partner (airline, lodging, or activity provider) that uses its own web
services interface is added to the system in no more than 10 person-days of effort for the
implementation. The business goal is easy integration with new business partners.
Performance
QAS2. A user places an order for an adventure travel package to the Consumer Web site.
The user is notified on screen that the order has been successfully submitted and is being
processed in less than five seconds.
QAS3. Up to 500 users click to see the catalog of adventure packages following a random
distribution over 1 minute; the system is under normal operating conditions; the maximal
latency to serve the first page of content is under 5 seconds; average latency for same is
less than 2 seconds.
Reliability
Quality Attribute Requirements
The quality attribute scenarios (QAS) are listed below, separated by quality attribute.
Modifiability
QAS1. A new business partner (airline, lodging, or activity provider) that uses its own web
services interface is added to the system in no more than 10 person-days of effort for the
implementation. The business goal is easy integration with new business partners.
Performance
QAS2. A user places an order for an adventure travel package to the Consumer Web site.
The user is notified on screen that the order has been successfully submitted and is being
processed in less than five seconds.
QAS3. Up to 500 users click to see the catalog of adventure packages following a random
distribution over 1 minute; the system is under normal operating conditions; the maximal
latency to serve the first page of content is under 5 seconds; average latency for same is
less than 2 seconds.
Reliability
Adventure Builder Reference Application
Reliability
QAS4. The Consumer Web site sent a purchase order request to the order processing
center (OPC). The OPC processed that request but didn’t reply to Consumer Web site
within five seconds, so the Consumer Web site resends the request to the OPC. The
OPC receives the duplicate request, but the consumer is not double-charged, data
remains in a consistent state, and the Consumer Web site is notified that the original
request was successful in one hundred percent of the times.
Security
QAS5. Credit approval and payment processing are requested for a new order. In one
hundred percent of the cases, the transaction is completed securely and cannot be
repudiated by either party. The business goals are to provide customers and business
partners confidence in security and to meet contractual, legal, and regulatory obligations
for secure credit transactions.
QAS6. The OPC experiences a flood of calls through the Web Service Broker endpoint
that do not correspond to any current orders. In one hundred percent of the times, the
system detects the abnormal level of activity, notifies the system administrator, and
continues to service requests in a degraded mode.
Availability
QAS7. The Consumer Web site is available to the user 24x7. If an instance of OPC
application fails, the fault is detected and the system administrator is notified in 30
seconds; the system continues taking order requests; another OPC instance is created;
and data remains in consistent state.
Reliability
QAS4. The Consumer Web site sent a purchase order request to the order processing
center (OPC). The OPC processed that request but didn’t reply to Consumer Web site
within five seconds, so the Consumer Web site resends the request to the OPC. The
OPC receives the duplicate request, but the consumer is not double-charged, data
remains in a consistent state, and the Consumer Web site is notified that the original
request was successful in one hundred percent of the times.
Security
QAS5. Credit approval and payment processing are requested for a new order. In one
hundred percent of the cases, the transaction is completed securely and cannot be
repudiated by either party. The business goals are to provide customers and business
partners confidence in security and to meet contractual, legal, and regulatory obligations
for secure credit transactions.
QAS6. The OPC experiences a flood of calls through the Web Service Broker endpoint
that do not correspond to any current orders. In one hundred percent of the times, the
system detects the abnormal level of activity, notifies the system administrator, and
continues to service requests in a degraded mode.
Availability
QAS7. The Consumer Web site is available to the user 24x7. If an instance of OPC
application fails, the fault is detected and the system administrator is notified in 30
seconds; the system continues taking order requests; another OPC instance is created;
and data remains in consistent state.
Top level module usecase
Order Processing Center ApplicationOrder Processing Center Application
Module decomposition view
TOP Level SOA view (Information notation)
TOP Level SOA view (UML notation)
Component and connector view (Information
notation)
Component and connector view (UML)
Allocation View (Deployment view - Informal)
Allocation View (Deployment view - UML)
Allocation View (Install view - UML)

More Related Content

Similar to Design and documentation of software architectures

Deep dive into workflow of peer to peer lending software
 Deep dive into workflow of peer to peer lending software Deep dive into workflow of peer to peer lending software
Deep dive into workflow of peer to peer lending software
John Carol
 
tourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdftourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdf
chess188chess188
 
PRODUCTS
PRODUCTSPRODUCTS
PRODUCTS
Nirav Patel
 
Feasibility studytemplate
Feasibility studytemplateFeasibility studytemplate
Feasibility studytemplate
Umair Sarwer
 
TMCnet final
TMCnet finalTMCnet final
TMCnet final
Heather Tomlin
 
Limman’s Center Inn Online Reservation and Billing System
Limman’s Center Inn Online Reservation and Billing SystemLimman’s Center Inn Online Reservation and Billing System
Limman’s Center Inn Online Reservation and Billing System
Jason Castellano
 
IRJET- Survey on Web Application Vulnerabilities
IRJET- Survey on Web Application VulnerabilitiesIRJET- Survey on Web Application Vulnerabilities
IRJET- Survey on Web Application Vulnerabilities
IRJET Journal
 
Cruise Module, Cruise Booking Module Software
Cruise Module, Cruise Booking Module SoftwareCruise Module, Cruise Booking Module Software
Cruise Module, Cruise Booking Module Software
nishathram231
 
TechnoXander Confirmation of Payee Product Pack 1.pdf
TechnoXander Confirmation of Payee Product Pack 1.pdfTechnoXander Confirmation of Payee Product Pack 1.pdf
TechnoXander Confirmation of Payee Product Pack 1.pdf
richardwellington119
 
Authentication With Captive Portal
Authentication With Captive  PortalAuthentication With Captive  Portal
Authentication With Captive Portal
Wavecrest Computing
 
How to choose a payment service provider
How to choose a payment service providerHow to choose a payment service provider
How to choose a payment service provider
Ikajo International
 
IRJET-An Economical and Secured Approach for Continuous and Transparent User ...
IRJET-An Economical and Secured Approach for Continuous and Transparent User ...IRJET-An Economical and Secured Approach for Continuous and Transparent User ...
IRJET-An Economical and Secured Approach for Continuous and Transparent User ...
IRJET Journal
 
travelo.pptx
travelo.pptxtravelo.pptx
travelo.pptx
LixraInfotech
 
Programming.pdf
Programming.pdfProgramming.pdf
Programming.pdf
AjinkyaGorhe1
 
Chapter 8.pdf
Chapter 8.pdfChapter 8.pdf
Chapter 8.pdf
mila654861
 
Application on Know Your Customer Authentication
Application on Know Your Customer AuthenticationApplication on Know Your Customer Authentication
Application on Know Your Customer Authentication
IRJET Journal
 
Final 622 Presentation
Final 622 PresentationFinal 622 Presentation
Final 622 Presentation
Sayali Jaitpal
 
SMART ASSIST SERVICE AT YOUR DOOR STEPS
SMART ASSIST SERVICE AT YOUR DOOR STEPSSMART ASSIST SERVICE AT YOUR DOOR STEPS
SMART ASSIST SERVICE AT YOUR DOOR STEPS
IRJET Journal
 
main project doument
main project doumentmain project doument
main project doument
Sunil Kotthakota
 
Confirm Client Requirements
Confirm Client RequirementsConfirm Client Requirements
Confirm Client Requirements
Steven Cahill
 

Similar to Design and documentation of software architectures (20)

Deep dive into workflow of peer to peer lending software
 Deep dive into workflow of peer to peer lending software Deep dive into workflow of peer to peer lending software
Deep dive into workflow of peer to peer lending software
 
tourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdftourism-management-srs_compress-software-engineering.pdf
tourism-management-srs_compress-software-engineering.pdf
 
PRODUCTS
PRODUCTSPRODUCTS
PRODUCTS
 
Feasibility studytemplate
Feasibility studytemplateFeasibility studytemplate
Feasibility studytemplate
 
TMCnet final
TMCnet finalTMCnet final
TMCnet final
 
Limman’s Center Inn Online Reservation and Billing System
Limman’s Center Inn Online Reservation and Billing SystemLimman’s Center Inn Online Reservation and Billing System
Limman’s Center Inn Online Reservation and Billing System
 
IRJET- Survey on Web Application Vulnerabilities
IRJET- Survey on Web Application VulnerabilitiesIRJET- Survey on Web Application Vulnerabilities
IRJET- Survey on Web Application Vulnerabilities
 
Cruise Module, Cruise Booking Module Software
Cruise Module, Cruise Booking Module SoftwareCruise Module, Cruise Booking Module Software
Cruise Module, Cruise Booking Module Software
 
TechnoXander Confirmation of Payee Product Pack 1.pdf
TechnoXander Confirmation of Payee Product Pack 1.pdfTechnoXander Confirmation of Payee Product Pack 1.pdf
TechnoXander Confirmation of Payee Product Pack 1.pdf
 
Authentication With Captive Portal
Authentication With Captive  PortalAuthentication With Captive  Portal
Authentication With Captive Portal
 
How to choose a payment service provider
How to choose a payment service providerHow to choose a payment service provider
How to choose a payment service provider
 
IRJET-An Economical and Secured Approach for Continuous and Transparent User ...
IRJET-An Economical and Secured Approach for Continuous and Transparent User ...IRJET-An Economical and Secured Approach for Continuous and Transparent User ...
IRJET-An Economical and Secured Approach for Continuous and Transparent User ...
 
travelo.pptx
travelo.pptxtravelo.pptx
travelo.pptx
 
Programming.pdf
Programming.pdfProgramming.pdf
Programming.pdf
 
Chapter 8.pdf
Chapter 8.pdfChapter 8.pdf
Chapter 8.pdf
 
Application on Know Your Customer Authentication
Application on Know Your Customer AuthenticationApplication on Know Your Customer Authentication
Application on Know Your Customer Authentication
 
Final 622 Presentation
Final 622 PresentationFinal 622 Presentation
Final 622 Presentation
 
SMART ASSIST SERVICE AT YOUR DOOR STEPS
SMART ASSIST SERVICE AT YOUR DOOR STEPSSMART ASSIST SERVICE AT YOUR DOOR STEPS
SMART ASSIST SERVICE AT YOUR DOOR STEPS
 
main project doument
main project doumentmain project doument
main project doument
 
Confirm Client Requirements
Confirm Client RequirementsConfirm Client Requirements
Confirm Client Requirements
 

More from Jason Rodrigues

Johari WIndow in PPT.pptx
Johari WIndow in PPT.pptxJohari WIndow in PPT.pptx
Johari WIndow in PPT.pptx
Jason Rodrigues
 
Startup and incubation
Startup and incubationStartup and incubation
Startup and incubation
Jason Rodrigues
 
Paris Conference on Applied Psychology
Paris Conference on Applied PsychologyParis Conference on Applied Psychology
Paris Conference on Applied Psychology
Jason Rodrigues
 
Rodrigues
RodriguesRodrigues
Rodrigues
Jason Rodrigues
 
Safety Presentation
Safety PresentationSafety Presentation
Safety Presentation
Jason Rodrigues
 
Wrap up
Wrap upWrap up
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
Jason Rodrigues
 
A Sales Approach For Cloud Computing
A Sales Approach For Cloud ComputingA Sales Approach For Cloud Computing
A Sales Approach For Cloud Computing
Jason Rodrigues
 

More from Jason Rodrigues (8)

Johari WIndow in PPT.pptx
Johari WIndow in PPT.pptxJohari WIndow in PPT.pptx
Johari WIndow in PPT.pptx
 
Startup and incubation
Startup and incubationStartup and incubation
Startup and incubation
 
Paris Conference on Applied Psychology
Paris Conference on Applied PsychologyParis Conference on Applied Psychology
Paris Conference on Applied Psychology
 
Rodrigues
RodriguesRodrigues
Rodrigues
 
Safety Presentation
Safety PresentationSafety Presentation
Safety Presentation
 
Wrap up
Wrap upWrap up
Wrap up
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
 
A Sales Approach For Cloud Computing
A Sales Approach For Cloud ComputingA Sales Approach For Cloud Computing
A Sales Approach For Cloud Computing
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 

Design and documentation of software architectures

  • 1. A Brief Presentation on Designing and Documenting the Architecture Jason Rodrigues Software Architecture
  • 3. Adventure Builder Reference Application The system used as an example in this architecture document is an adapted version of the Adventure Builder Reference application, which was developed in the context of the Java BluePrints program at Sun Microsystems. The system used as an example in this architecture document is an adapted version of the Adventure Builder Reference application, which was developed in the context of the Java BluePrints program at Sun Microsystems. Adventure Builder is a fictitious company that sells adventure packages for vacationers over the Internet. The system provides four basic use cases (UC): UC1. The user can visit the Adventure Builder Web site and browse the catalog of travel packages, which include flights to specific destinations, lodging options, and activities that can be purchased in advance. Activities include mountain biking, fishing, surfing classes, hot air balloon tours, and scuba diving. The user can select transportation, accommodation, and various activities to build his/her own adventure trip. UC2. The user can place an order for a vacation package. To process this order, the system has to interact with several external entities. A bank will approve the customer payment, airline companies will provide the flights, lodging providers will book the hotel rooms, and businesses that provide vacation activities will schedule the activities selected by the customer. UC3. After an order is placed, the user can return to check the status of his/her order. This is necessary because some interactions with external entities are processed in the background and may take hours or days to complete. UC4. The internal system periodically interacts with its business partners (transportation, lodging, and activity providers) to update the catalog with the most recent offerings. Adventure Builder is a fictitious company that sells adventure packages for vacationers over the Internet. The system provides four basic use cases (UC): UC1. The user can visit the Adventure Builder Web site and browse the catalog of travel packages, which include flights to specific destinations, lodging options, and activities that can be purchased in advance. Activities include mountain biking, fishing, surfing classes, hot air balloon tours, and scuba diving. The user can select transportation, accommodation, and various activities to build his/her own adventure trip. UC2. The user can place an order for a vacation package. To process this order, the system has to interact with several external entities. A bank will approve the customer payment, airline companies will provide the flights, lodging providers will book the hotel rooms, and businesses that provide vacation activities will schedule the activities selected by the customer. UC3. After an order is placed, the user can return to check the status of his/her order. This is necessary because some interactions with external entities are processed in the background and may take hours or days to complete. UC4. The internal system periodically interacts with its business partners (transportation, lodging, and activity providers) to update the catalog with the most recent offerings.
  • 5. Adventure Builder Reference Application Quality Attribute Requirements The quality attribute scenarios (QAS) are listed below, separated by quality attribute. Modifiability QAS1. A new business partner (airline, lodging, or activity provider) that uses its own web services interface is added to the system in no more than 10 person-days of effort for the implementation. The business goal is easy integration with new business partners. Performance QAS2. A user places an order for an adventure travel package to the Consumer Web site. The user is notified on screen that the order has been successfully submitted and is being processed in less than five seconds. QAS3. Up to 500 users click to see the catalog of adventure packages following a random distribution over 1 minute; the system is under normal operating conditions; the maximal latency to serve the first page of content is under 5 seconds; average latency for same is less than 2 seconds. Reliability Quality Attribute Requirements The quality attribute scenarios (QAS) are listed below, separated by quality attribute. Modifiability QAS1. A new business partner (airline, lodging, or activity provider) that uses its own web services interface is added to the system in no more than 10 person-days of effort for the implementation. The business goal is easy integration with new business partners. Performance QAS2. A user places an order for an adventure travel package to the Consumer Web site. The user is notified on screen that the order has been successfully submitted and is being processed in less than five seconds. QAS3. Up to 500 users click to see the catalog of adventure packages following a random distribution over 1 minute; the system is under normal operating conditions; the maximal latency to serve the first page of content is under 5 seconds; average latency for same is less than 2 seconds. Reliability
  • 6. Adventure Builder Reference Application Reliability QAS4. The Consumer Web site sent a purchase order request to the order processing center (OPC). The OPC processed that request but didn’t reply to Consumer Web site within five seconds, so the Consumer Web site resends the request to the OPC. The OPC receives the duplicate request, but the consumer is not double-charged, data remains in a consistent state, and the Consumer Web site is notified that the original request was successful in one hundred percent of the times. Security QAS5. Credit approval and payment processing are requested for a new order. In one hundred percent of the cases, the transaction is completed securely and cannot be repudiated by either party. The business goals are to provide customers and business partners confidence in security and to meet contractual, legal, and regulatory obligations for secure credit transactions. QAS6. The OPC experiences a flood of calls through the Web Service Broker endpoint that do not correspond to any current orders. In one hundred percent of the times, the system detects the abnormal level of activity, notifies the system administrator, and continues to service requests in a degraded mode. Availability QAS7. The Consumer Web site is available to the user 24x7. If an instance of OPC application fails, the fault is detected and the system administrator is notified in 30 seconds; the system continues taking order requests; another OPC instance is created; and data remains in consistent state. Reliability QAS4. The Consumer Web site sent a purchase order request to the order processing center (OPC). The OPC processed that request but didn’t reply to Consumer Web site within five seconds, so the Consumer Web site resends the request to the OPC. The OPC receives the duplicate request, but the consumer is not double-charged, data remains in a consistent state, and the Consumer Web site is notified that the original request was successful in one hundred percent of the times. Security QAS5. Credit approval and payment processing are requested for a new order. In one hundred percent of the cases, the transaction is completed securely and cannot be repudiated by either party. The business goals are to provide customers and business partners confidence in security and to meet contractual, legal, and regulatory obligations for secure credit transactions. QAS6. The OPC experiences a flood of calls through the Web Service Broker endpoint that do not correspond to any current orders. In one hundred percent of the times, the system detects the abnormal level of activity, notifies the system administrator, and continues to service requests in a degraded mode. Availability QAS7. The Consumer Web site is available to the user 24x7. If an instance of OPC application fails, the fault is detected and the system administrator is notified in 30 seconds; the system continues taking order requests; another OPC instance is created; and data remains in consistent state.
  • 7. Top level module usecase Order Processing Center ApplicationOrder Processing Center Application
  • 9. TOP Level SOA view (Information notation)
  • 10. TOP Level SOA view (UML notation)
  • 11. Component and connector view (Information notation)
  • 13. Allocation View (Deployment view - Informal)