1What is architectural design concerned with?
Understanding how a software system should be organized and designing its overall structure.
2What is the first stage in the software design process?
Architectural design.
3What is the link between design and requirements engineering?
Architectural design.
4What does an architectural model describe?
How a system is organized as a set of communicating components.
5What are block diagrams used for in architectural models?
Supporting communications between people involved in the software design process.
6What is a key advantage of designing and documenting software architecture?
Stakeholder communication.
7What is another advantage of designing and documenting software architecture?
System analysis.
8What does an architectural model support?
Large-scale software reuse.
9What should the architecture focus on if performance is a critical requirement?
Localizing critical operations within a small number of components.
10How should security be handled in architectural design?
Using a layered structure with the most critical assets protected in the innermost layers.
11What should the architecture prioritize if safety is a critical requirement?
Co-locating safety-related operations in a single or small number of components.
12How should availability be ensured in system architecture?
Including redundant components to allow updates without stopping the system.
13What view shows key abstractions in the system as objects or object classes?
Logical view.
14What does a process view show?
How the system is composed of interacting processes at runtime.
15What does a development view display?
How the software is decomposed for development.
16What is the focus of a physical view?
The system hardware and distribution of software components across processors.
17What is an architectural pattern?
A means of reusing knowledge about generic system architectures.
18What does the layered architecture pattern achieve?
Separation and independence with different functionalities.
19What is the repository architecture model suited for?
Applications that use large amounts of data organized around a shared database.
20What does the client-server architecture involve?
A set of services and associated servers with clients accessing services via remote procedure calls.
21What does the pipe and filter architecture model?
The runtime organization of a system where functional transformations process data in sequence.
22What is a transaction processing system designed to do?
Process user requests for information or updates from a database.
23What is the purpose of an information system?
To allow controlled access to a large base of information.
24What does a language processing system do?
Translates one language into an alternative representation of that language.
25Why is software testing important?
To demonstrate that the software meets its requirements and to find defects.
26What is validation testing?
Validation testing checks if the system performs correctly using test cases that reflect expected use.
27What is defect testing?
Defect testing uses test cases to expose defects in the system.
28What factors influence confidence in a software system?
Software purpose, user expectations, and the marketing environment.
29What is software inspection?
The process of analyzing and checking requirements, design models, source code, and tests.
30What are the three stages of testing in a commercial software system?
Development testing, release testing, and user testing.
31What is development testing?
Testing done during development to find bugs and defects.
32What are the three stages of development testing?
Unit testing, component testing, and system testing.
33What is unit testing?
Testing individual program units or object classes for functionality.
34What is component testing?
Testing interfaces of integrated units in composite components.
35What is system testing?
Testing interactions between integrated system components.
36What is debugging?
The process of fixing errors found during testing.
37What is test-driven development (TDD)?
An approach where testing and coding are interleaved, ensuring each increment passes all tests before proceeding.
38What is release testing?
Testing a system release intended for use outside of the development team to ensure it's ready for customers.
39What are the three types of release testing?
Requirements-based testing, scenario testing, and performance testing.
40What is user testing?
A process where users provide input on system testing by experimenting with the software.
41What are the three types of user testing?
Alpha testing, beta testing, and acceptance testing.
42What is alpha testing?
Testing by a small group of users working closely with the development team.
43What is beta testing?
Testing by a larger group of users experimenting with a software release.
44What is acceptance testing?
Testing by customers to decide if a system is ready for deployment.