SOFTWARE ARCHITECTURE AND DESIGN DOCUMENTATION TEAM 3 – K15T1 Hanh Luong – Leader – T095095 Hao Tran – T094442 Huy Nguyen – T094016 Hieu Le – T093798 Quang Nguyen – T094193 Copyright © Team 3 – K15T1 Final project Version 2 Revision history Issue 1.0 Change Status Summary First I. version II. III. IV. V. VI. VII. VIII. IX. X. 2.0 Second version Writer(s) Execute overview Purpose Project overview Architecture driver overview Functional requirement Quality attribute requirement Constraints Prioritization Minimal acceptable delivery Reference Update VI. requriement Team 3 – K15T1 – VLU quality Date I. Hao Tran, Quang May 25, 2012 Nguyen II. Hao Tran III. Hao Tran, Quang Nguyen IV. Hao Tran, Hanh Luong, Quang Nguyen V. Hao Tran, Hanh Luong, Quang Nguyen, Hieu Le VI. Hao Tran, Hanh Luong, Quang Nguyen, Hieu Le VII. Hao Tran, Hanh Luong, Quang Nguyen, Hieu Le VIII. Hao Tran, Hanh Luong, Quang Nguyen, Hieu Le IX. Hao Tran, Hanh Luong, Quang Nguyen, Hieu Le X. Hanh Luong, Quang Nguyen attribute Quang Nguyen May 29, 2012 Hao Tran 1 Version 2 Contents Executive Overview .............................................................................................................................. 5 I. II. Purpose ............................................................................................................................................. 5 III. Project Overview .............................................................................................................................. 5 IV. Architectural Drivers Overview ....................................................................................................... 6 1) Architecture driver overview and their relative influence .............................................................. 6 2) Elicitation & Analysis process and Stakeholders............................................................................ 6 a. Process .......................................................................................................................................... 6 b. Stakeholders ................................................................................................................................. 7 Functional Requirements .................................................................................................................... 8 V. 1) Use case model ................................................................................................................................. 8 2) Use case description ...................................................................................................................... 14 3) Entity description .......................................................................................................................... 16 Quality Attribute Requirements ..................................................................................................... 20 VI. 1) Performance .................................................................................................................................. 20 2) Availability..................................................................................................................................... 21 3) Security .......................................................................................................................................... 22 4) Usability ......................................................................................................................................... 23 VII. Constraints ..................................................................................................................................... 24 VIII. IX. X. Prioritization............................................................................................................................... 24 Minimal Acceptable Delivery ......................................................................................................... 27 Reference ............................................................................................................................................ 27 Team 3 – K15T1 – VLU 2 Version 2 List of figures Figure IV.2.a 1) Elicitation process .............................................................................................................. 6 Figure IV.2.a 2) Analysis process ................................................................................................................. 7 Figure V.1 1) Overview of use case in Sale system of a retail chain using loyalty card point system ......... 8 Figure V.1 2) Use case of Manage member information .............................................................................. 9 Figure V.1 3) Use case of Manage staff’s account information in system ................................................... 9 Figure V.1 4) Use case of Manage store product .......................................................................................... 9 Figure V.1 5) Use case of Manage product ................................................................................................ 10 Figure V.1 6) Use case of Manage product type......................................................................................... 10 Figure V.1 7) Use case of Manage store ..................................................................................................... 11 Figure V.1 8) Manage system log ............................................................................................................... 11 List of table Table V.1 1) Use case note ......................................................................................................................... 12 Table V.1 2) Architecture driver: High functional requirement................................................................. 13 Table V.1 3) Entity table ............................................................................................................................. 14 Table V.2 1) Use case description: Use case UC3.1 Manage sale ............................................................ 16 Table V.2 2) Use case description: Use case UC11.1 Manage company statistic ..................................... 16 Table V.3 1) Entity E1 Head office administrator description ................................................................... 17 Table V.3 2) Entity E2 Cashier description ................................................................................................ 17 Table V.3 3) Entity E4 Member manager description ................................................................................ 18 Table V.3 4) Entity E5 Product manager description ................................................................................ 19 Table V.3 5) Entity E7 Company manager description .............................................................................. 19 Table VI 1) Architecture driver: Quality attribute ..................................................................................... 20 Table VI.1 1) Quality attribute Performance description: QP1 ................................................................. 20 Table VI.1 2) Quality attribute Performance description: QP2 ................................................................. 20 Table VI.1 3) Quality attribute Performance description: QP2 ................................................................. 21 Table VI.2 1) Quality attribute Availability description: QA1 ................................................................... 21 Table VI.2 2) Quality attribute Availability description: QA2 ................................................................... 21 Table VI.2 3) Quality attribute Availability description: QA3 ................................................................... 22 Table VI.3 1) Quality attributes Security description: QS1 ....................................................................... 22 Table VI.3 2) Quality attributes Security description: QS2 ....................................................................... 22 Table VI.3 3) Quality attributes Security description: QS3 ....................................................................... 23 Team 3 – K15T1 – VLU 3 Version 2 Table VI.4 1) Quality attributes Usability description: QU1 ..................................................................... 23 Table VI.4 2) Quality attributes Usability description: QU2 ..................................................................... 23 Table VI.4 3) Quality attributes Usability description: QU3 ..................................................................... 24 Table VII.3 1) Architecture driver: Business Constraints .......................................................................... 24 Table VII.3 2) Architecture driver: Technical Constraints ........................................................................ 24 Table VIII 1) Use case ranking................................................................................................................... 25 Table VIII 2) Quality attribute scenario ranking ....................................................................................... 26 Table VIII 3) Business constraints ranking................................................................................................. 26 Table VIII 4) Technical constraint ranking................................................................................................. 26 Team 3 – K15T1 – VLU 4 Version 2 I. Executive Overview 1. Project description The general project goal is to develop the architecture design of a realistic software system. A key objective of this project is practice key principles presented in the course and to foster deeper thinking about what motivates architectural design decisions, practice architectural reasoning, and architectural documentation 2. Architecture drivers specification description: This documentation focuses on 9 parts. All reader should read: Part II: Purpose, to understand overview about the meaning of this documentation. Part III: Project Overview, to understand overview about the project. Part IV: Architecture Drivers Overview, to understand overview about architecture driver and elicitation & analysis process that is used to elicit the raw architecture driver. Part V: Functional Requirements, to get more information about architecture driver: High functional requirement and know how the functional requirements are articulated in terms of use cases from information provided by the stakeholder community. Part VI: Quality Attribute Requirements, to get more information about architecture driver: Quality attribute requirement and know how they are articulated in terms of use case scenarios from information provided by the stakeholder community. Part VII: Constraints, to get more information about architecture driver: Constraints and know how they are premade design decisions, differences between business constraints and technical constraints and describe their relative impact on the system or product design. Part VIII: Prioritization, to know clearly how architecture driver is prioritized. Part IX: Minimal Acceptable Delivery, to know what acceptable deliverable must be delivery at the end of the project Part X: Reference, to know more information about reference of this documentation. 3. Overview of architectural drivers: Architectural drivers are not all of the requirements for a system, but they are the requirements that have architectural impact and significance. Architectural drivers consist of coarse-grained or high-level functional requirements; technical constraints, business constraints and quality attribute requirements. 4. Summary description of key functionality, quality attributes requirements, and constraints (focus on the highest-priority architectural drivers) Key Functionality: Manage sale and Statistic (Detail at part V. Functional requirement) Key Quality attributes requirements: Performance and Availability (Detail at part VI. Quality attribute requirement) Key Constraints: Time do deliver and framework. (Detail at part VII. Constraints) II. Purpose The purpose of this document is to describe Project overview, the architecture drivers in POST system and how Architecture design team elicit and analyze them. Besides, there’s the priority of architecture drivers and the minimal acceptable delivery. III. Project Overview Reference to K15T1_Team3_FinalProject_MasterDesignPlan.docx (Part III: Project description) Team 3 – K15T1 – VLU 5 Version 2 IV. Architectural Drivers Overview 1) Architecture driver overview and their relative influence According to part I.3 Overview of architecture driver, architectural drivers consist of high-level functional requirements; technical constraints, business constraints and quality attribute requirements. High-level functionality is an obvious architectural driver and refers to those general requirements for what the system must do. Technical and business constraints are fixed premade decisions that are in place before design begins. Quality attribute requirements are properties that the system must possess, such as availability, security, high performance, and so forth. 2) Elicitation & Analysis process and Stakeholders a. Process Elicitation process Project overview Stakeholders Join Plan for stage Review System Identify Functionality Create Initial Master Design Plan Architecture Driver Specification Master Design Plan Identify Quality Attribute Requirements Identify Technical Constraints Identify Business Constraints Stage 2 Notation Entity File/Database Process Flow Data I/O Figure IV.2.a 1) Elicitation process Elicitation process description This Data Flow diagram describes how to elicit architectural drivers by Architecture team. First, PM will plan for activities which take place in this stage. These activities are: Review system: Team will review project overview document to understand the system Create Master Design Plan: PM creates initial Master Design plan which is input for stage 2. Identify Functionality, Quality attribute, Technical and Business constraints: Architecture team will identify architectural drivers which are input for stage 2. Team 3 – K15T1 – VLU 6 Version 2 Analysis process Architecture Driver Specification Stage 1 Plan for Stage If have problems Analyze and Specify raw architecture driver Update Master Design Plan Master Design Plan Reviews Update Master Design Plan Stage 3 Notation File/Database Flow Process Data I/O Figure IV.2.a 2) Analysis process Analysis process description This diagram describes how to analyze and specify architectural drivers. PM will plan for this stage. Team will analyze and specify raw architecture driver, then they update architecture driver specification. If there are some problems, team will return to stage 1 again. Otherwise, team will review architecture driver specification to update Master Design Plan and come to stage 3. b. Stakeholders Hanh Luong – Managing engineer, Chief architect Requirements engineer, Quality process engineer. Hao Tran - Chief architect, Requirements engineer, Production engineers, Quality process engineer. Hieu Le - Chief architect, Requirements engineer, Production engineers: Huy Nguyen - Chief architect, Requirements engineer, Chief scientist, Production engineers Quang Nguyen – Support engineer, Requirements engineer, Chief architect, Production engineers Team 3 – K15T1 – VLU 7 Version 2 V. Functional Requirements 1) Use case model Figure V.1 1) Overview of use case in Sale system of a retail chain using loyalty card point system Team 3 – K15T1 – VLU 8 Version 2 Figure V.1 2) Use case of Manage member information Figure V.1 3) Use case of Manage staff’s account information in system Figure V.1 4) Use case of Manage store product Team 3 – K15T1 – VLU 9 Version 2 Figure V.1 5) Use case of Manage product Figure V.1 6) Use case of Manage product type Team 3 – K15T1 – VLU 10 Version 2 Figure V.1 7) Use case of Manage store Figure V.1 8) Manage system log Note: 1. Actor 2. Use case 3. Boundary of the system 4. Use 5. Extend Team 3 – K15T1 – VLU 11 Version 2 6. Generalization Table V.1 1) Use case note Use cases table: Use case ID Use case name Actor Member manager Cashier Head office administrator Product manager Company manager Member manager Cashier Head office administrator Product manager Company manager Member manager Cashier Head office administrator Product manager Company manager UC1.1 Log in UC1.2 Change pass UC1.3 Log out UC2.0 Manage member info Member manager UC2.1 View list member Member manager UC2.2 Create new member information Member manager UC2.3 Modify member information Member manager UC2.4 View detail member information Member manager UC2.5 Enable/Disable member information Member manager UC3.1 Manage sale Cashier UC3.2 Print bill Cashier UC4.0 Manage staff’s account information in system Head office administrator UC4.1 View list user group Head office administrator UC4.2 Add new account (to group) Head office administrator UC4.3 Modify user group information Head office administrator UC4.4 Assign access right Head office administrator UC4.5 Enable/Disable user group information Head office administrator UC4.6 View detail user group information Head office administrator UC4.7 View detail account information Head office administrator UC4.8 Enable/Disable account information Head office administrator UC4.9 Reset pass Head office administrator UC4.10 Add new group Head office administrator Team 3 – K15T1 – VLU 12 Version 2 UC4.11 Modify account information Head office administrator UC5.0 Manage store product Product manager UC5.1 View list store product Product manager UC5.2 Create new store product Product manager UC5.3 View detail store product Product manager UC5.4 Modify store product Product manager UC5.5 Enable/Disable store product Product manager UC5.6 Set retail price Product manager UC7.0 Manage product Product manager UC7.1 View list product Product manager UC7.2 Create new product Product manager UC7.3 View detail product Product manager UC7.4 Modify product Product manager UC7.5 Enable/Disable product Product manager UC8.0 Manage product type Product manager UC8.1 View list product type Product manager UC8.2 Create new product type Product manager UC8.3 View detail product type Product manager UC8.4 Modify product type Product manager UC8.5 Enable/Disable product type Product manager UC9.0 Manage store Company manger UC9.1 View list store categories Company manger UC9.2 Create new store categories Company manger UC9.3 View detail store categories Company manger UC9.4 Modify store categories Company manger UC9.5 Enable/Disable store categories Company manger UC11.1 UC12.0 UC12.1 Manage company statistic Company manger Mange system log Head office administrator View log Head office administrator Table V.1 2) Architecture driver: High functional requirement Entity table ID E1 Entity Head office administrator E2 E4 E5 E7 Cashier Member manager Product manager Company manager Team 3 – K15T1 – VLU Description Manage staff’s account information in system Manage system log Manage sale Manage member information Manage product, product type Manage company statistic Manage store 13 Version 2 Table V.1 3) Entity table 2) Use case description Use Case Title: Manage sale Use Case ID: UC3.1 General Use Case Description: Describe sale process Entities Involved: Cashier Preconditions: Log in with Cashier account successfully. The system connected to Web server. The system connected to Store database. Primary Use Case Flow of Events: Customer don’t have member card and choose paying by cash 1 Cashier scan product bar code 2 System display product’s info: Name, Cost 3 Cashier input quantity of product being scan 4 System determines and displays total cost … Loop [1-4] 5 Cashier chooses paying by cash 6 System display textbox to input money 7 Cashier inputs money 8 System calculates 9 System display residual cash 10 System saves the sale records Primary Use Case Post Conditions: System saved the sale records Alternative Use Case #1 Flow of Events: Customer have member card and choose paying by cash (Sequence of Primary Use Case Flow of Events from step 1 to step 4) Cashier inputs member ID 5 6 System display member information 7 Cashier chooses paying by cash 8 System display textbox to input money 9 Cashier inputs money 10 System calculates 11 System display residual cash and accrued point 12 System saves the sale records Alternative Use Case #1 Post Conditions: System saved the sale records and determined saved point for member Team 3 – K15T1 – VLU 14 Version 2 Alternative Use Case #2 Flow of Events: Customer have member card and choose paying by saved point (Sequence of Primary Use Case Flow of Events from step 1 to step 4) Cashier inputs member ID 5 6 System display member information 7 Cashier chooses paying by saved point 8 System calculates 9 System subtracts points from the number of saved point by the member 10 System saves the sale records 11 System display member point Alternative Use Case #2 Post Conditions: System saved the sale records and determined saved point for customer Alternative Use Case #3 Flow of Events: Customer have member card and choose paying by saved point with cash (Sequence of Primary Use Case Flow of Events from step 1 to step 4) Cashier inputs member ID 5 6 System display member information 7 Cashier chooses paying by saved point with cash Cashier chooses paying rate (50:50, 25:75, 75:25) 10 System calculates how many point, money customer need to pay and saved point and display (Member has enough points) Cashier inputs money 11 System calculates 12 System display residual cash 13 System saves accrued point. 14 System saves the sale records Alternative Use Case #3 Post Conditions: System saved the sale records and determined saved point for customer Alternative Use Case #4 Flow of Events: Cashier doesn’t scan bar code product and customer paying by cash Cashier import the bar codes of the products being purchased 1 2 Cashier input quantity of products 3 System determines and displays total cost … Loop [1-3] 4 Cashier chooses paying by cash 5 Cashier inputs money Team 3 – K15T1 – VLU 15 Version 2 6 System calculates 7 System display residual cash 8 System saves the sale records Alternative Use Case #4 Post Conditions: System saved the sale records Table V.2 1) Use case description: Use case UC3.1 Manage sale Use Case ID: UC11.1 Use Case Title: Manage company statistic General Use Case Description: Describe statistic process Entities Involved: Company manager Preconditions: Log in with Company manager account successfully. The system connected to Web server. The system connected to Head office database. Primary Use Case Flow of Events: Company manager want to see revenues 1 Company manager chooses statistic revenues 2 System displays combo-box to choose month 3 Company manager choose month 4 System displays total sales revenues in month Primary Use Case Post Conditions: System displays total sales revenues in month Alternative Use Case #1 Flow of Events: Company manager want to see best-selling products. 1 Company manager chooses statistic best-selling products 2 System displays combo-box to choose month and top X best-selling product 3 Company manager choose month and top X best-selling product 4 System displays list best-selling products in month Alternative Use Case #1 Post Conditions: System displays list best-selling products in month Table V.2 2) Use case description: Use case UC11.1 Manage company statistic 3) Entity description Entity name: Head office administrator Entity ID: E1 Description: The role this entity in the system is to manage staff’s account information in system and manage system log Provides assumption: This entity will provide user group and account information for staffs who work in the system. Require assumption: When the system begin to work, this entity need an default account to log in to the system with the following account information Team 3 – K15T1 – VLU 16 Version 2 Account name: Administrator Password: Administrator This entity can manage its account information by itself. Identified use case Use case ID Use case name UC1.1 UC1.2 UC1.3 UC4.0 UC4.1 UC4.2 UC4.3 UC4.4 UC4.5 UC4.6 UC4.7 UC4.8 UC4.9 UC4.10 UC4.11 UC12.0 UC12.1 Log in Change pass Log out Manage staff’s account information in system View list user group Add new account (to group) Modify user group information Assign access right Enable/Disable user group information View detail user group information View detail account information Enable/Disable account information Reset pass Add new group Modify account information Manage system log View log Table V.3 1) Entity E1 Head office administrator description Entity name: Cashier Entity ID: E2 Description: The role of this entity is to manage sale operations in the system Provides assumption: This entity will provide information about payment what member purchase, print bill, product information and member information for the system Require assumption: This entity need a fixed account to log in to the system, work and can change its password by itself. Identified use case Use case ID Use case name UC1.1 UC1.2 UC1.3 UC3.1 UC3.2 Log in Change pass Log out Manage sale Print bill Table V.3 2) Entity E2 Cashier description Team 3 – K15T1 – VLU 17 Version 2 Entity name: Member manager Entity ID: E4 Description: The role of this entity is to manage member information in the system Provides assumption: This entity will provide member’s information, who was registered to be the member in the business system. Include some basic info: Full name, address, phone number, saved point Require assumption: This entity need a fixed account to log in to the system, work and can change its password by itself. Identified use case Use case ID Use case name Log in Change pass Log out Manage member information View list member Create new member information Modify member information View detail member information Enable/Disable member information UC1.1 UC1.2 UC1.3 UC2.0 UC2.1 UC2.2 UC2.3 UC2.4 UC2.5 Table V.3 3) Entity E4 Member manager description Entity name: Product manager Entity ID: E5 Description: The role of this entity is to Manage product, product type, manage store product in the system of each store Provides assumption: This entity will be providing information about product and store and have the highest access at store Require assumption: This entity need a fixed account to log in to the system, work and can change its password by itself. Identified use case Use case ID Use case name UC1.1 Log in UC1.2 Change pass UC1.3 Log out UC5.0 Manage store product UC5.1 View list store product UC5.2 Create new store product UC5.3 View detail store product UC5.4 Modify store product UC5.5 Enable/Disable store product UC5.6 Set retail price UC7.0 Manage product Team 3 – K15T1 – VLU 18 Version 2 UC7.1 View list product UC7.2 Create new product UC7.3 View detail product UC7.4 UC7.5 Modify product Enable/Disable product UC8.0 Manage product type UC8.1 UC8.2 View list product type Create new product type UC8.3 View detail product type UC8.4 UC8.5 Modify product type Enable/Disable product type Table V.3 4) Entity E5 Product manager description Entity name: Company manager Entity ID: E7 Description: The role of this entity is to manage company statistic and manage store Provides assumption: This entity will provide information about store categories Require assumption: This entity need a fixed account to log in to the system, work and can change its password by itself. Identified use case Use case ID Use case name UC1.1 UC1.2 UC1.3 UC9.0 UC9.1 UC9.2 UC9.3 UC9.4 UC9.5 UC11.1 Log in Change pass Log out Manage store View list store categories Create new store categories View detail store categories Modify store categories Enable/Disable store categories Manage company statistic Table V.3 5) Entity E7 Company manager description Team 3 – K15T1 – VLU 19 Version 2 VI. Quality Attribute Requirements According to part IV.1) Architecture driver overview and their relative influence, quality attribute requirements are properties that the system must possess, such as availability, security, high performance, and so forth. The information about quality attributes requirement of this project is showed as the following: ID Quality attribute Reference to use case UC2.1, UC3.1, UC11.1 QP Performance UC3.1, UC11.1 QA Availability UC1.1, UC1.2 QS Security UC2.1, UC3.1, UC11.1 QU Usability Table VI 1) Architecture driver: Quality attribute 1) Performance Context: Member manager tries to view member list from the system at Head office in normal mode. The system responds within 2s. Scenario ID QP01 Member manager Source Display member list Stimulate System (Head office) Artifact Normal mode Environment Load member list from Database Response within 2s Response Measure Table VI.1 1) Quality attribute Performance description: QP1 Context: Cashier tries to implement a payment for member by point at store in environment normal mode. The system responds within 1s. Scenario ID QP02 Cashier Source Display member point Stimulate System (POS terminal) Artifact Normal mode Environment Load member point from Database Response within 1s Response Measure Table VI.1 2) Quality attribute Performance description: QP2 Context: Company manager tries to view revenue statistic from the system at Head office in environment normal mode. The system responds within 3s. Scenario ID QP03 Source Team 3 – K15T1 – VLU Company manager 20 Version 2 Display revenue statistic Stimulate System (Head office) Artifact Normal mode Environment Analyze data and display revenue statistic Response within 3s Response Measure Table VI.1 3) Quality attribute Performance description: QP2 2) Availability Context: Cashier tries to implement a payment for member by point at store in when connection to head office is error. The system shows error message within 1s. Scenario ID QA01 Source Internal to the system Stimulate Cashier choose: Pay by point Artifact Sale process Environment Response Degrade mode (Connection to Head office is error) Show error message Response Measure Within 1s Table VI.2 1) Quality attribute Availability description: QA1 Context: When network of store is failed, other store still normally. Scenario ID QA02 Source Internal to the system Stimulate Artifact Fail Network at store Environment Response Degrade mode (network of 1 store is failed) Other store still normally Response Measure No downtime Table VI.2 2) Quality attribute Availability description: QA2 Context: The system update price for each store product when store products have no available retail price within 2s. Scenario ID QA03 Source Internal to the system Stimulate System update price for each store product Artifact Persistent storage Environment Normal mode (No available retail price) Response System save standard price of each store product Team 3 – K15T1 – VLU 21 Version 2 Response Measure Within 2s Table VI.2 3) Quality attribute Availability description: QA3 3) Security Context: User login failed 3 times within 5 minutes when system connects to database. The system will lock user account in 15 minutes. Scenario ID QS01 Source Users Stimulate Try to login Artifact System services Environment Response System connects to Database, Users login failed 3 times within 5 minutes. System locks user account Response Measure 15 minutes Table VI.3 1) Quality attribute Security description: QS1 Context: User changes password 3 times within 1 day. To ensure security, the system will lock the user account within 24 hours. Scenario: ID QS02 Source Users Stimulate Try to change password Artifact System services Environment Response System connect to Database, user change password 3 times within 1 day System locks user account Response Measure 24 hours Table VI.3 2) Quality attribute Security description: QS2 Context: User tries to login with account which is being used by another user in normal mode. To ensure security, the system uses will prevent this and show error messenger in 1s. Scenario ID QS03 Source Users Stimulate Try to login with used account Artifact System services Environment Response Normal mode (Account is used by another user) Show message “Access denied” Response Measure 1s Team 3 – K15T1 – VLU 22 Version 2 Table VI.3 3) Quality attributes Security description: QS3 4) Usability Context: Cashier inputs invalid barcode into the system at POS terminal in normal mode. The system shows notice about that error and barcode format within 1s. Scenario ID QU01 Source Cashier Stimulate Input invalid barcode Artifact System (POS terminal) Environment Normal mode Response Show notice about that error and barcode format Response Measure Within 1s Table VI.4 1) Quality attributes Usability description: QU1 Context: Member manager search member information easily in the system at Head office in normal mode. The system will provide 3 search options: Member ID, Member name, Address. Scenario ID QU02 Source Member Manager Stimulate Search member information easily Artifact System (Head Office) Environment Normal mode Response Provide 3 search options: Member ID, Member name, Address Response Measure 3 ways Table VI.4 2) Quality attributes Usability description: QU2 Context: Company manager selects way to present company statistic in the system in normal mode. The system provides 2 statistic options: Overview (all store) and Detail (Each store) Scenario ID QU03 Source Company Manager Stimulate Select way to present company statistic Artifact System Environment Normal mode Response Provide 2 statistic options: Overview (all stores) and Detail (each store) Response Measure 2 ways Team 3 – K15T1 – VLU 23 Version 2 Table VI.4 3) Quality attributes Usability description: QU3 VII. Constraints 1) General description According to part IV.1) Architecture overview, technical and business constraints are fixed premade decisions that are in place before design begins. Business constraints are indirect, premade design decisions with dramatic impact to the design and can severely limit the permissible design choices available to the architect. Technical constraints are direct, premade design decisions that become like load-bearing walls in the design space that can have dramatic impact on the permissible design choices that the architect can make when designing a system 2) Differentiate and their relative impact Business constraints have indirect influence on the design, although the impact can be as deep as any technical constraint. Business constraints can include schedule, cost, and procedural demands that will impact how the system is designed or implemented or influence the design decisions that an architect makes. Technical constraints have direct influence on the design because they specify that a particular product, tool, language, OS, platform, network, protocol, algorithm, and so forth must be used in the system. They are design decisions that are made before the system design commences. 3) Constraint list ID Business constraint B1 Deploy the architecture system in 10 weeks (Draft report: June-25-2012 and Final report: July-52012) Human resource: 5 team members B2 Table VII.3 1) Architecture driver: Business Constraints ID Technical constraint T1 The system consists of a head office server, located at the head office, and the POS terminals placed at store cashiers The head office server and the store are connected to each other via a network T2 T3 Company A decided to choose the Web solution using ASP.NET MVC 3 framework, only Web browser, no local Database needed for any POS terminal. Table VII.3 2) Architecture driver: Technical Constraints VIII. Prioritization Levels of stakeholder priority: - Low: Nice to have - Medium: Should have - High: Must have Team 3 – K15T1 – VLU 24 Version 2 Levels of difficulty ranking: - Easy: Satisfying the architectural driver presents little scientific or engineering challenges or unknowns. The architecture design team clearly understands how to satisfy this architectural driver. This is a routine requirement or constraint, and copious scientific and technical information exists about how to satisfy it. The team has extensive experience and expertise with the domain or problem to satisfy the architectural driver. - Challenging: Satisfying the architectural driver presents some scientific or engineering challenges and unknowns. Although challenging, the architecture design team generally understands how to satisfy this architectural driver. They understand the associated difficulties. There exists sufficient scientific and technical information about how to satisfy the architectural driver, or the team has sufficient experience and expertise with the domain or problem to satisfy the architectural driver. - Difficulty: Satisfying the architectural driver presents significant scientific or engineering challenges and unknowns. The architecture design team is unsure about how to satisfy this architectural driver or if they can satisfy it. They have little or no experience or expertise with the problem or domain. Little or no information exists about how to satisfy the architectural driver Title: Use case ID UC1.1 Stakeholder Priority Medium Difficulty Ranking Easy Comments Prototype UC1.2 Medium Easy Prototype UC1.3 Medium Easy Prototype UC2.0 High Challenging UC3.1 High Difficulty UC4.0 Medium Challenging UC5.0 Medium Challenging UC7.0 Medium Easy UC8.0 Medium Easy UC9.0 Low Easy UC11.1 High Challenging UC12.0 Low Easy Prototype Prototype Table VIII 1) Use case ranking Title: Quality attribute scenario ID Stakeholder Priority Difficulty Ranking QP01 Medium Easy QP02 Medium Easy QP03 High Challenging Prototype QA01 High Challenging Prototype QA02 High Challenging Prototype Team 3 – K15T1 – VLU Comments 25 Version 2 QA03 High Challenging Prototype QS01 Low Easy Prototype QS02 Low Easy QS03 Low Easy QU01 Medium Easy QU02 Low Easy QU03 Low Easy Prototype Table VIII 2) Quality attribute scenario ranking Constraints are not prioritized in terms of importance—by definition, constraints are inflexible and are the highest priority (They are all assumed to be must-haves in the system context). So, constraint is prioritizes by difficulty ranking Title: Business Constrains Description Difficulty Ranking Comments Deploy the architecture system in 11 weeks High (Draft report: June-25-2012 and Final report: July-10-2012) Human resource: 5 team members Medium Table VIII 3) Business constraints ranking Title: Technical Constrains Description Difficulty Ranking The system consists of a head office server, Medium located at the head office, and the POS terminals placed at store cashiers The head office server and the store are Low connected to each other via a network Comments Company A decided to choose the Web High solution using ASP.NET MVC 3 framework, only Web browser, no local Database needed for any POS terminal. Table VIII 4) Technical constraint ranking Team 3 – K15T1 – VLU 26 Version 2 IX. Minimal Acceptable Delivery Reference to K15T1_Team3_FinalProject_MasterDesignPlan, part III.4.b) Deliverables X. Reference (Anthony J.Lattanze book) Architecting.Software.Intensive.Systems.A.Practitioners.Guide.Nov.2008.eBook-DDU [Page 231] K15T1_Team3_FinalProject_MasterDesignPlan.docx Team 3 – K15T1 – VLU 27