SlideShare a Scribd company logo
1 of 15
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

Final 622 Presentation
Final 622 PresentationFinal 622 Presentation
Final 622 Presentation
Sayali Jaitpal
 
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
 
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
 
Praveen cv performancetesting
Praveen cv performancetestingPraveen cv performancetesting
Praveen cv performancetesting
 
Five performance factors you need to know about in 2018
Five performance factors you need to know about in 2018Five performance factors you need to know about in 2018
Five performance factors you need to know about in 2018
 

More from Jason Rodrigues

Safety Presentation
Safety PresentationSafety Presentation
Safety Presentation
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

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 

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)