Podcast
Questions and Answers
What is the primary input for an architecture design activity?
What is the primary input for an architecture design activity?
- Source code.
- Software Architecture Document (SAD).
- Detailed design documents.
- SRS document. (correct)
What is the main output of the architecture design activity?
What is the main output of the architecture design activity?
- A complete set of test cases.
- The final user manual.
- An abstract specification of the software. (correct)
- A detailed project budget.
Which of the following BEST describes the role of architectural design in the software development lifecycle?
Which of the following BEST describes the role of architectural design in the software development lifecycle?
- It primarily deals with the project's financial aspects.
- It focuses solely on coding the software application.
- It creates a blueprint for the software's structure, components, and their relationships. (correct)
- It handles user interface design exclusively.
In architecture design, what does the term "specification of the solution" primarily refer to?
In architecture design, what does the term "specification of the solution" primarily refer to?
Why is it difficult to cleanly separate architectural design activity from SRS analysis and detail design activities?
Why is it difficult to cleanly separate architectural design activity from SRS analysis and detail design activities?
During product design, assessing the viability of a particular architecture is related to which design principle?
During product design, assessing the viability of a particular architecture is related to which design principle?
What does the design principle of 'Adequacy' refer to in the context of architectural design?
What does the design principle of 'Adequacy' refer to in the context of architectural design?
In architectural design, what does 'Changeability' primarily address?
In architectural design, what does 'Changeability' primarily address?
When evaluating the 'Economy' of a design architecture, what factors are considered?
When evaluating the 'Economy' of a design architecture, what factors are considered?
What contributes to the variations observed in architectural designs?
What contributes to the variations observed in architectural designs?
How does the problem context influence the level of abstraction in an architectural design?
How does the problem context influence the level of abstraction in an architectural design?
How does the organizational context influence architectural design?
How does the organizational context influence architectural design?
Which of the following BEST describes the initial steps in the architectural design process based on the diagram?
Which of the following BEST describes the initial steps in the architectural design process based on the diagram?
According to the diagram, what process happens after "Analyzed SRS"?
According to the diagram, what process happens after "Analyzed SRS"?
What is the final step in the architectural design process depicted in the diagram?
What is the final step in the architectural design process depicted in the diagram?
What is the purpose of the Software Architecture Document (SAD)?
What is the purpose of the Software Architecture Document (SAD)?
Which of the following elements are commonly included in a Software Architecture Document (SAD)?
Which of the following elements are commonly included in a Software Architecture Document (SAD)?
What information does the 'Product Overview' section of a Software Architecture Document (SAD) typically provide?
What information does the 'Product Overview' section of a Software Architecture Document (SAD) typically provide?
What is the primary purpose of 'Architectural Models' in a Software Architecture Document (SAD)?
What is the primary purpose of 'Architectural Models' in a Software Architecture Document (SAD)?
What is the significance of 'Mapping between Models' in a Software Architecture Document (SAD)?
What is the significance of 'Mapping between Models' in a Software Architecture Document (SAD)?
What does the 'Architectural Rationale' section of a Software Architecture Document (SAD) explain?
What does the 'Architectural Rationale' section of a Software Architecture Document (SAD) explain?
How are major functional requirements typically addressed in architectural design?
How are major functional requirements typically addressed in architectural design?
What are the two main categories of quality attributes in software architecture?
What are the two main categories of quality attributes in software architecture?
What do 'Operational Attributes' primarily describe?
What do 'Operational Attributes' primarily describe?
Which of the following is an example of an 'Operational Attribute'?
Which of the following is an example of an 'Operational Attribute'?
In the context of software architecture, what does 'Availability' refer to?
In the context of software architecture, what does 'Availability' refer to?
In software architecture, what does 'Security' primarily ensure?
In software architecture, what does 'Security' primarily ensure?
What aspect of software quality does 'Reliability' address?
What aspect of software quality does 'Reliability' address?
Which quality attribute focuses on how easy the software is to understand and navigate?
Which quality attribute focuses on how easy the software is to understand and navigate?
What is the primary focus of 'Developmental Attributes' in software architecture?
What is the primary focus of 'Developmental Attributes' in software architecture?
Which of the following is a 'Developmental Attribute'?
Which of the following is a 'Developmental Attribute'?
What does 'Reusability' primarily refer to as a developmental attribute?
What does 'Reusability' primarily refer to as a developmental attribute?
In the context of the Fingerprint Matching example, what operational attribute is most directly related to the requirement of the system to "respond quickly"?
In the context of the Fingerprint Matching example, what operational attribute is most directly related to the requirement of the system to "respond quickly"?
For the Fingerprint Matching system, the requirement that it "must be available the entire time" is primarily related to which operational attribute?
For the Fingerprint Matching system, the requirement that it "must be available the entire time" is primarily related to which operational attribute?
Which operational attribute is MOST relevant to the Fingerprint Matching system continuously performing "matching at a reliable rate?"
Which operational attribute is MOST relevant to the Fingerprint Matching system continuously performing "matching at a reliable rate?"
If the Fingerprint Matching system "must resist attackers", which operational attribute is the focus?
If the Fingerprint Matching system "must resist attackers", which operational attribute is the focus?
In the context of the Fingerprint Matching system, which aspect relates most closely to the architectural concern of 'Cohesion'?
In the context of the Fingerprint Matching system, which aspect relates most closely to the architectural concern of 'Cohesion'?
What is the primary focus when considering organizational context in architectural design?
What is the primary focus when considering organizational context in architectural design?
What is a key aspect of architectural design rationale when deciding on architectural choices?
What is a key aspect of architectural design rationale when deciding on architectural choices?
Flashcards
Architecture Design
Architecture Design
A problem-solving activity with the SRS document as input and an 'abstract' specification of software as output.
Architecture Design (continued)
Architecture Design (continued)
Specifies major components, responsibilities, properties, and relationships among them.
Architectural Design Activity
Architectural Design Activity
It cannot be cleanly separated from SRS Analysis and Detail Design Activities.
Feasibility in Design
Feasibility in Design
Signup and view all the flashcards
Adequacy in Design
Adequacy in Design
Signup and view all the flashcards
Changeability in Design
Changeability in Design
Signup and view all the flashcards
Economy in Design
Economy in Design
Signup and view all the flashcards
Variations in Architectural Design
Variations in Architectural Design
Signup and view all the flashcards
Problem Context
Problem Context
Signup and view all the flashcards
Organizational Context
Organizational Context
Signup and view all the flashcards
Product Overview (in SAD)
Product Overview (in SAD)
Signup and view all the flashcards
Architectural Models (in SAD)
Architectural Models (in SAD)
Signup and view all the flashcards
Mapping between Models (in SAD)
Mapping between Models (in SAD)
Signup and view all the flashcards
Architectural Rationale (in SAD)
Architectural Rationale (in SAD)
Signup and view all the flashcards
Performance (Operational Attribute)
Performance (Operational Attribute)
Signup and view all the flashcards
Availability (Operational Attribute)
Availability (Operational Attribute)
Signup and view all the flashcards
Security (Operational Attribute)
Security (Operational Attribute)
Signup and view all the flashcards
Reliability (Operational Attribute)
Reliability (Operational Attribute)
Signup and view all the flashcards
Usability (Operational Attribute)
Usability (Operational Attribute)
Signup and view all the flashcards
Maintainability (Development Attribute)
Maintainability (Development Attribute)
Signup and view all the flashcards
Reusability (Development Attribute)
Reusability (Development Attribute)
Signup and view all the flashcards
"Respond Quickly" Attribute in Fingerprint Matching
"Respond Quickly" Attribute in Fingerprint Matching
Signup and view all the flashcards
"Must Be Available the Entire Time" Attribute in Fingerprint Matching
"Must Be Available the Entire Time" Attribute in Fingerprint Matching
Signup and view all the flashcards
"Must Perform Matching at a Reliable Rate" Attribute in Fingerprint Matching
"Must Perform Matching at a Reliable Rate" Attribute in Fingerprint Matching
Signup and view all the flashcards
"Must Resist Attacker" Attribute in Fingerprint Matching
"Must Resist Attacker" Attribute in Fingerprint Matching
Signup and view all the flashcards
Study Notes
- Architecture design is problem-solving that uses the SRS document as input.
- The output of architecture design is the abstract specification of software, with the aim of realizing the desired characteristics.
- The architecture design specifies the solution's components, their responsibilities, properties, relationship, and collaboration.
- Architectural design activity overlaps with SRS Analysis (Product Design) and Detail Design Activities.
- Overlap occurs because of the 4 design principles: Feasibility, Adequacy, Changeability, and Economy.
Feasibility
- During product design, feasibility of specific architecture may need understanding.
Adequacy
- To demonstrate the sufficiency of the solution, creation of an architectural prototype during Product Design or Design Analysis time may be needed.
Changeability
- Trade-offs of requirements may need to be based on the design architecture.
Economy
- May be necessary to explore schedule, cost, and resource impact based on the design architecture along with some detail design.
- All architectural designs vary in terms of their level of abstraction.
- Designs can vary in the number of components, description of components, and component relationships.
- Deciding on the correct level of architectural depth is a common problem.
Considerations
- Problem Context: The more the problem's size, the more of abstraction levels, components, and relationships among components are needed.
- Organizational context: More experienced and sophisticated organizations typically have more standards, tools, and skills, which can lead to predetermined design preferences or constraints in the architectural design,.
Architectural Design Process
- The Swift Engineering Design process begins with SRS.
- This leads to design analysis, then architectural design and detail design.
- This transforms into design documentation.
- The architectural design process involves developing and evaluating architectural alternatives.
- It also requires selecting an architectural resolution before finalizing the software architecture document (SAD).
Software Architecture Document (SAD)
- The SAD Template includes a product overview, architectural models, and mapping between models.
- Architectural design rationale is also included in the SAD.
Product Overview
- Summarizes the product, stakeholders, target market, assumptions, constraints, and basic business requirements.
Architectural Models
- Presents the architecture in terms of data models, functional decomposition, activities, system states, and transitions.
- It represents the aspects or views, often using the DeSCRIPTR framework as a guide.
Mapping between Models
- Presents and explains how the different models relate to each other.
Architectural Rationale
- It explains design decision criteria, investigated alternatives, and reasons for the architectural choice.
Non-Functional Requirements
- Functional requirements can be mapped into key architectural components.
- Non-functional requirements are quality attributes which include: operational attributes and development attributes.
Operational Attributes
- Performance includes time limits, space capacity, and transaction limits.
- Availability is the readiness for use.
- Security encompasses resistance to and protection from harm.
- Reliability is error resistance and performing to requirements.
- Usability involves being easy to understand and navigate.
Developmental Attributes
- Maintainability is easy to understand and modify.
- Reusability includes being portable, easy to modify, and having loose coupling.
Finger Print Matching
- An example program matches fingerprints from scanners against a database to control facility access.
- The program has to respond quickly, be available, perform matching reliably, and resist attackers.
- Input validation and fingerprint validation are key components.
Non-Functional Attribute Implementation
Performance
- "Respond quickly" is a performance attribute consideration.
- It must be determined which functionality, such as input validation or fingerprint validation, requires review.
- The scanner or database as a potential bottleneck must be considered.
- The speed criteria should be specified on the activity diagram.
Availability
- "Must be available the entire time" is an availability consideration.
- Redundancy on the activity diagram should be specified.
- A backup scanner needs to switch too.
- A redundant data base is required.
- A redundant processor would be required.
Reliability
- "Must perform matching at a reliable rate" is a reliability consideration.
- Input checking cannot accept incomplete or smeared fingerprints.
- Algorithms for digitizing fingerprints and comparing the database must be accurate, considering error rates.
- These aspects must be specified on the activity diagram.
Security
- "Must resist attacker" is a security consideration.
- The entire system must be physically protected without external connections.
- Security check functionality is needed for start-up, shut-down, and access.
- Security checking can be added as additional functionality to the activity diagram.
Cohesion
- Cohesion relates to issues with component functions.
- Input and fingerprint validation should each have single related functions.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.