Essentials of Software Engineering, Fourth Edition
Frank Tsui, Orlando Karam, and Barbara Bernal
Knowledge Checks
Essentials of Software Engineering, Fourth Edition
Ch6
True/False
1. All requirements activities are needed in the same degree for all software projects.
True/False
2. A software engineering team must plan requirements engineering activities for all software projects.
Multiple Choice
3. Requirements elicitation must have a set of organized questions to ask the:
[1] clients.
[2] users.
[3] business.
[4] All of these are correct.
[5] clients and users.
True/False
4. During the requirements elicitation, the list of what the customer wants as the functions for the new software is not elicited, just what the business needs to do.
Multiple Choice
5. The requirements gathered are clustered by:
[1] individual functionality.
[2] business flow.
[3] data and data format.
[4] All of these are correct.
True/False
6. A use case contains requirement information.
True/False
7. Requirements definition involves formally spelling out the requirements.
Multiple Choice
8. Graphically depicting a system’s data flow is done with the:
[1] Unified Modeling Language (UML).
[2] data flow diagram (DFD).
[3] entity-relationship (ER) diagram.
[4] All of these are correct.
True/False
9. SRS is the artifact that spells out the final specific software requirements from the requirements engineering activities.
Multiple Choice
10. The pages of documentation in the SRS depend on:
[1] size, complexity, and customer support activities for the project.
[2] plan releases of the project.
[3] software engineering’s knowledge of the project’s subject area.
[4] All of these are correct.
Chapter 6
Multiple Choice
1. The set of statements that describe the user’s needs and desires are the:
[1] plans.
[2] requirements.
[3] designs.
[4] All of these are correct.
[5] plans and requirements.
2. Incomplete requirement specification will always contribute to:
[1] project development time.
[2] project costs.
[3] project failures.
[4] All of these are correct.
[5] project development time and project costs.
3. Subject matter experts are used instead of users and customers when the software project:
[1] is large and complex.
[2] is small and simple.
[3] is developed with an Agile process.
[4] has a high level of requirements.
[5] has a low level of requirements.
4. Analysis of the requirements consists of:
[1] categorizing the requirements.
[2] clustering the requirements.
[3] prioritizing the requirements.
[4] All of these are correct.
[5] categorizing and clustering the requirements.
5. All requirements must be enumerated uniquely. Why?
[1] Traceable
[2] Identifiable
[3] Categorized
[4] All of these are correct.
6. The SRS has a recommended standard guideline from _____.
A. IEEE
B. EIA
C. ACM
D. All the above
E. A and B only
True/False
1. Requirements are the “what” and design is the “how.”
2. The requirements engineering activities include review and validation, which are the testing of the requirements.
3. High-level requirements elicitation serves as the opportunity, needs, and justification for the software project in the client’s business world.
4. Low-level requirements elicitation uncovers constraints for the software project to be developed.
5. Collection of the detail level information pertaining to data and their formats includes the input and output data of the software system.
6. The requirements are ordered once they are elicited and collected.
7. The detailed requirements section of the SRS is the shortest section.
Ch7:
KCQU ch. 7
True/False
1. The design phase is accomplished by creating the detailed “micro” view, then determining the architectural “macro” view for the software project.
True/False
2. Software engineering teams will usually create a design module for each requirement.
True/False
3. Architecture focuses on the inner details of each module to determine the architecture components needed for the software projects.
Multiple Choice
4. The representation of a system’s architecture structure is a:
[1] view.
[2] flow.
[3] format.
[4] All of these are correct.
True/False
5. A software engineering design team can partition their software project modules in only one unique decomposition.
Multiple Choice
6. Software engineering design teams use which of the following, which are grounded in mathematical concepts of sets and relations, for their software projects?
[1] Module decomposition diagrams
[2] Object-oriented programming languages
[3] Relational databases
[4] All of these are correct.
[5] Module decomposition diagrams and object-oriented programming languages
Multiple Choice
7. The design example in section 7.4 uses which of the following architectural styles?
[1] Pipes-and-filters
[2] Event-driven
[3] Client-server
[4] Model-view-controller
[5] All of these are correct.
Multiple Choice
8. The design example in section 7.4 uses a DBMS, which is a:
[1] database model and database access.
[2] data flow diagram (DFD).
[3] database management system.
[4] All of these are correct.
Ch7
Multiple Choice
1. Defining the components of the system and how these components are related to each other is the:
A) architectural design phase.
B) detailed design phase.
C) requirements phase.
D) All of these are correct.
E) architectural design phase and detailed design phase.
2. An example of an architectural style is:
A) pipes-and-filters.
B) event-driven.
C) client-server.
D) model-view-controller.
E) All of these are correct.
9. Two types of prototypes can be done in design. They are:
A) Architecture Design, Detailed Design
B) Low-fidelity, High-fidelity
C) Logical View, Process View
D) Logical View, Detailed Design
10. Java API has the architectural style: _________________________.
A) Pipes-and-filters
B) Event-driven
C) Client-server
D) Model-view-controller
E) Layered
11. Event-driven systems are modelled with _________________.
A) state modeling
B) state transition diagram
C) UML sequence diagram
D) All these are correct.
E) state modeling and state transition diagram
1. The phase that determines how the user’s needs and desires will be achieved is the:
[1] planning phase.
[2] requirements phase.
[3] design phase.
[4] All of these are correct.
3. Defining the components of the system and how these components are related to each other is part of the:
[1] architectural design phase.
[2] detailed design phase.
[3] requirements phase.
[4] All of these are correct.
9. The view representing the run-time components (processes) and how they communicate with each other is:
[1] logical view.
[2] process view.
[3] subsystem decomposition view.
[4] All of these are correct.
[5] logical view and process view.
10. An example of an architectural style is:
[1] pipes-and-filters.
[2] event-driven.
[3] client-server.
[4] model-view-controller.
[5] All of these are correct.
True/False
1. Each architectural component will be mapped into a module in the detailed design.
2. Architecture deals with the interaction between the important modules of the software system.
3. HTML-Script-SQL design example is a common web application system.
4. Each functional requirement will be mapped into a module in the detailed design.
5. Each architectural component will be mapped into a module in the detailed design.
6. Not all software systems have an architecture.
7. Large software systems may have different ways the system is structured.
8. Architecture deals with the interaction between the important modules of the software system.
9. A software engineering design team that does not have any views of an architecture structure means there is not a structure in their software project.
10. A module decomposition is to group smaller units together.
1