1/45
46 question-and-answer flashcards covering use-case diagrams, requirements, UML basics, architecture, ATM design, and a broad range of software-testing concepts for Software Engineering I Exam 2 review.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
From whose perspective is a use-case diagram primarily designed?
The end user’s perspective.
Inputs, outputs, and service exceptions are classified as what type of requirement?
Functional requirements.
In a UML activity diagram, which symbol represents a decision node with alternate paths?
A diamond.
Name three common causes of software-development failure.
Misunderstanding problems, unrealistic budgets, and poor communication (all of the above).
Software architecture is the higher-level structure of a software system. (True/False)
True.
A class represents a collection of __.
Similar objects.
CRC modeling is a simple yet powerful tool for collaborative _.
Object-oriented modeling.
Non-functional requirements are also known as __.
Quality attributes.
Non-functional requirements are useful for identifying a system’s quality attributes. (True/False)
True.
What is one key advantage of Philippe Kruchten’s 4+1 architectural view model?
All views are supported by IEEE standards, UML, and practical logical flows (all of the above).
The ability of a solution to adapt to future requirement changes is called .
Flexibility.
Modern software systems are typically rather than monolithic.
Non-monolithic.
Which approach studies the interactions between people and technology in the workplace?
The socio-technical approach.
An instance of a class is called a(n) .
Object.
An activity diagram is an advanced form of a that models control flow.
Flowchart.
Which UML diagram shows the operations and attributes of classes?
A class diagram.
In a UML class diagram, saying that operations are processes a class should NOT carry out is .
False—operations describe what the class does.
Generalization relationships in class diagrams are also known as .
Inheritance (statement is True).
In UML, a strong whole-part relationship where the part cannot exist without the whole is called .
Composition (represented with a filled diamond).
Which diagram shows interactions between objects in time sequence?
A sequence diagram.
Sequence diagrams support both forward and reverse engineering. (True/False)
True.
Which of the following is NOT typically an architectural design issue: product lifetime, software reuse, number of users, or software development?
Number of users.
Give five classes you would identify for the bank system case study.
Bank, Branch, Account, Loan, and Customer.
Provide one typical property of the Bank class in the case study.
BankName (other examples: BankCode, etc.).
What overall architecture style best fits an ATM that talks to a bank database?
Client–server architecture.
A complete class diagram for an ATM would include ATM, hardware components like CardReader, and data entities like Account. (True/False)
True—All of the above would appear.
What is the primary goal of development testing?
To find and fix defects during development.
Requirement testing is a formal stage in the testing life-cycle. (True/False)
False.
Defect testing focuses mainly on __.
Exposing software faults and errors.
Validation testing ensures that the software __.
Meets the user’s requirements.
Automated testing completely removes the need for manual testing. (True/False)
False.
Which of the following is NOT part of an automated test: setup, call, compilation, assertion?
Compilation.
Equivalence partitioning designs test cases that .
Represent groups of input data with common characteristics.
Component testing primarily evaluates .
The behavior of integrated software modules via their interfaces.
A common interface testing error is .
Misusing parameter orders in method calls.
Use-case testing derives its cases from random inputs. (True/False)
False.
Performance testing is intended to .
Evaluate the system under expected and extreme workloads.
Test-Driven Development (TDD) integrates best with which development approach?
Agile development.
Which type of user testing lets real users test software at the developer’s site?
Alpha testing.
Regression testing is used to evaluate system behavior under extreme load. (True/False)
False—its goal is to check that changes haven’t broken existing functionality.
One advantage of TDD is .
All of the above—improved coverage, simpler debugging, and built-in regression tests.
What is the primary goal of release testing?
To validate the software for external use.
Which testing technique employs deliberately obscure or extreme cases?
Defect testing.
Stress testing measures .
System performance under extreme workloads.
Alpha testing is performed by external users. (True/False)
False—it’s performed in-house with user participation.
Regression testing ensures that .
Previous functionality remains intact after code changes.