SWE201c
Looking at the difference between user requirements and system specifications in the ATM example, we know that swiping the card and prompting for a PIN are requirements, while reading the card details and a 4-digit PIN are specifications. A. True. B. False.
A
Module A relies directly on local data of module B. This is an example of what type of coupling? A. Tight content coupling B. Tight common coupling C. Tight external coupling
A
Partitioning of a large system into smaller subsystems helps the buy-or-build decision because we can examine each subsystem and reason about possible buy-or-build options for each. A. True. B. False.
A
Parts of modules are together in the same file. This is an example of what type of cohesion? A. Coincidental cohesion B. Logical association cohesion C. Procedural cohesion D. Temporal cohesion
A
Software design is the process of transforming the stated problem into a ready-to-use implementation. A. False B. True
A
The difference between subsystems and modules are: A. Subsystems can independently comprise the business logic by itself while modules can't. B. Subsystems can communicate with other subsystems while modules cannot communicate with other modules. C. All of the above.
A
The goal in low coupling is to ensure that changes don't cross the boundaries of modules. A. True B. False
A
The goal in real-life software development is to aim for object and functional cohesion and anything less than this should be justified. A. True B. False
A
The loosest type of coupling; components only communicate through parameters or message passing. This is an example of what type of coupling? A. Loose message coupling B. Loose data coupling C. Loose no coupling
A
The oracle uses information provided from test cases to decide the correctness of the software under test A. True B. False
A
The purpose of the WRSPM model is to ensure that: A. Specifications meet the requirements. B. Requirements meet specifications. C. None of the above.
A
The three types of loose coupling are: A. Data; Message; None B. Content; Common; External C. Data; Message; Data Structure D. Control; Data Structure; Loose
A
The three types of tight coupling are: A. Content; Common; External B. Control; Data Structure; Message C. There is no such thing as tight coupling D. Data; Message; None
A
The two types of strong cohesion are: A. Object, functional B. Communicational, sequential C. Object, strong D. Coincidental, temporal
A
Three goals of ______ can be described as (1) Decomposability, (2) Composability, and (3) Ease of Understanding. A. Modularity B. Cohesion C. Coupling
A
When it comes to software design, it is always best to follow a solution that is widely popular in the industry A. False B. True
A
Which of the following is considered the most difficult in the software development process? A. Accurately identifying user needs B. Developing a Java program to meet the designed solution C. Determining the accurate market price for the finished product D. Testing the solution with users
A
Which of the following matches the terms to the correct definition? A. Requirements - user needs in user language; Specification - solution properties designed to solve problem B. Requirements - solution properties designed to solve problem; Specification - user needs in user language
A
Which of the four aspects of modularity can be described as: Abstracting away implementation details. A. Information Hiding B. Data Encapsulation C. Cohesion D. Coupling
A
While a solution coming from software design does not include implementation details, there are still common cases where pseudocode may be provided to correctly capture the sense of a complex algorithm. A. True B. False
A
A benefit to using ______ is that you know if your data is corrupted, then it must have been corrupted by the module. A. Cohesion B. Data Encapsulation C. Information Hiding D. Coupling
B
A rollback is the reversal of actions completed during deployment with the intent to never revert a system back to its previous working state. A. True B. False
B
A vehicle identification and tracking system, where each moving vehicle is tracked and monitored through a shared program, is best modeled by: A. Pipe-and-Filter Model. B. Blackboard Model. C. Layer Model D. Client-Server Model E. Event-based Model
B
Based on the NASA statistics on budget and schedule overrun vs. time spent on requirements process, what is the recommended amount of time to spend on the requirements stage? A. 0% of the total time spent on the project B. 5-10% of the total time spent on the project C. 20% of the total time spent on the project D. The same amount as you expect to spend on testing.
B
Choose the most accurate answer: Low coupling aids in... A. abstracting away complex information. B. ensuring that changes don't cross boundaries of modules. C. decomposability. D. lower corruption rate of data.
B
Deployment without a rollback plan should occasionally occur. Especially when the installation involves deleting files. A. True B. False
B
Each operation in a module is provided to allow object attributes to be modified or inspected. This is an example of what type of cohesion? A. Functional Cohesion B. Object Cohesion
B
Fill in the blank. Write ____, _____, and _____ before writing functional code. A. Comments; Benchmarks; Tips for Use. B. Comments; Tests; Exception Handling. C. System Specifications; User Guide; Exception Handling.
B
If you need to have a cutover strategy where the replacement machine is running and ready for installation, then you would choose which of the following cutover strategies? A. Hot failover B. Warm standby C. Cold failover D. Cold backup
B
In which of the following software development models are the software development activities performed sequentially rather than in iterations? A. Agile models B. The Waterfall model
B
Manual oracles are sufficient and effective for the majority of real-world applications A. True B. False
B
Module A and B both rely on the same composite data structure. This is an example of what type of coupling? A. Medium control coupling B. Medium data structure coupling
B
Module A controls the logical flow of module B. This is an example of what type of coupling? A. Medium data structure coupling B. Medium control coupling
B
Modules A and B both rely on global data or a global variable. This is an example of what type of coupling? A. Tight content coupling B. Tight common coupling C. Tight external coupling
B
Modules rely on externally imposed format (or protocol or interface). This is an example of what type of coupling? A. Tight common coupling B. Tight external coupling C. Tight content coupling
B
One component's output provides the input to another component. This is an example of what type of cohesion? A. Communicational Cohesion B. Sequential Cohesion
B
One piece of code runs after the other. This is an example of what type of cohesion? A. Coincidental cohesion B. Procedural cohesion C. Logical association cohesion D. Temporal cohesion
B
Software architecture concerns itself with both estimation and quality but not partitioning. A. True. B. False.
B
Software testing can be used to prove the absense of failures in a module, but not the absense of faults A. True B. False
B
There is no difference between load balancing and hot failover. A. true B. false
B
True or False: Every method can be written without side effects. A. True. B. False.
B
True or False: inheritance strengthens cohesion. A. True B. False
B
WRSPM stands for: A. Wide, Requirement, Software, Planning and Model. B. World, Requirement, Specification, Program and Machine. C. None of the above.
B
What element(s) of the WRSPM model belong in the system (including the overlap between environment and system)? A. S B. W,R,S C. S,P,M D. S,P E. W F. R,S G. W,R H. R,S,P I. P,M J. M
B
Which of the following is NOT an example of a non-functional requirement. A. The messages between the client and server shall be in YAML 1.2 format. B. The user shall be able to select the course number. C. Communication between the client and server will be expressed in EBCDIC endoding. D. The developing team shall use the spiral model of software development lifecycle.
B
Which of the four aspects of modularity can be described as: Containment of constructs and concepts within a module. A. Information Hiding B. Data Encapsulation C. Cohesion D. Coupling
B
Which of the four aspects of modularity can be described as: How well a module meets a single well-defined goal. A. Information Hiding B. Cohesion C. Coupling D. Data Encapsulation
B
Which of the four aspects of modularity is defined as: How well modules work together. A. Information Hiding B. Coupling C. Cohesion D. Data Encapsulation
B
Which of these is proper definition of software architecture? A. integrating small systems with no individual business value into larger ones B. partitioning large systems into smaller ones that can be created seperately, have individual business value, and can be easily integrated C. planning and pricing the resources involved with developing a large-scale software system, including presenting such plans and budgets to senior level executives for funding D. all of the above
B
You have a sort function that provides no details on which sorting algorithm is used. This is an example of which aspect of modularity? A. Cohesion B. Information Hiding C. Data Encapsulation D. Coupling
B
An online banking system is best modeled by: A. Pipe-and-Filter Model. B. Blackboard Model. C. Client-Server Model. D. Event-based Model.
C
Choose the most accurate answer: Cohesion describes... A. decomposability. B. how changes do not cross boundaries of modules. C. how well everything within a module fits together. D. loose coupling.
C
If you need to have a cutover strategy where the replacement machine is ready for a full setup and install, then you would choose which of the following cutover strategies? A. Hot failover B. Warm standby C. Cold backup D. Warm failover
C
If you need to have a cutover strategy where the replacement services are ready for the redirection of data with no installation, then you would choose which of the following cutover strategies? A. Hot backup B. Cold backup C. Hot failover D. Warm standby
C
If you write the same code more than once... A. It's okay. B. You did something wrong. C. Put that code into a method.
C
Modules only share parameters. This is an example of what type of coupling? A. Loose no coupling B. Loose message coupling C. Loose data coupling
C
Test data represents possible inputs that are provided to the _____ for the purposes of testing. A. system B. oracle C. both the system and the oracle
C
The four types of weak cohesion are: A. There is no such thing as loose cohesion B. Communicational, sequential, object, functional C. Coincidental, temporal, procedural, logical association D. Coincidental, temporal, sequential, logical association
C
The two types of medium cohesion are: A. There is no such thing as medium cohesion B. Coincidental, temporal C. Communicational, sequential D. Sequential, logical association
C
The two types of medium coupling are: A. Content; Common B. Data; Message C. Control; Data Structure D. Message; None
C
What element(s) of the WRSPM model belong in the environment (including the overlap between environment and system)? A. W B. W,R C. W,R,S D. R,S E. R,S,P F. S G. S,P H. S,P,M I. P,M J. M
C
What is a Requirements Specification? A. A process, how the requirements are written (specified) B. A product, a written specification of the requirements C. Both D. Neither
C
Which is the right description about the requirement specification process? A. Requirement specification is a process to design the solution to the problem. B. Requirement specification is a process that identifies and specifies the problem and possible solutions to the problem. C. Requirement specification is a process to identify and specify the problem to solve. D. Requirement specification is a process of solving the requirements.
C
Which of the following models is best suited for a system that benefits from the separation of complexity and processing between work which can be done locally and that which should be completed on a shared, remote service? A. layered B. pipe-and-filter C. client-server D. blackboard E. event-based
C
Which of the following models is best suited for a system that includes several subsets of functionality that are used in more than one area of the system? A. client-server B. event-based C. pipe-and-filter D. blackboard E. layered
C
Which of the following models is best suited for a system with significant shared data that needs to be shared across a variety of components or sub-systems, somewhat like global variables, but with better data integrity? A. pipe-and-filter B. layered C. blackboard D. event-based E. client-server
C
Which of the following software development models can best respond to requirements changes? A. The V-model B. The Waterfall model C. Agile models
C
Which of the following would be considered a sub-system, rather than a module? A. A set of classes which convert various values based on environment or parameter information B. A class which represents the paying customer C. A set of classes which generates reports D. A class which provides a service (e.g. AccountCreationService)
C
Why should you program when you are alert? A. Sleep deprivation leads to mistakes. B. Output falls drastically after working 50+ hours per week. C. All of the above
C
A subsystem in an architecture must: A. be created separately and can operate individually. B. have business value. C. be integrated with one another or with existing subsystems. D. All of the above.
D
Components do similar but separate things. This is an example of what type of cohesion? A. Coincidental cohesion B. Procedural cohesion C. Temporal cohesion D. Logical association cohesion
D
Test cases are composed of _______ A. test data B. system (actual) outputs C. expected outputs D.AC
D
Which of the following are non-functional requirements: A. Some product requirements, like using a specific encryption protocol, are non-functional requirements. B. Organization requirements imposed by the company, like a specific coding style, are non-functional requirements. C. External requirements imposed by external organization, like using a specific development style, are non-functional requirements. D. All of the above.
D
Which of these is a user requirement? A. Allow an authorized user to post a message of no more than 136 characters to the Facebook POST API B. Use the MariaDB database for internal data persistance C. Retry posting the message up to 3 times every 5 minutes if the post is rejected by the server D. Allow the user to post a message to Facebook
D
Why is requirement specification important? Select two. A. Spending time upfront in requirement specification can save time in the later phases of the software development lifecycle. B. Changing the requirement is not possible once the system is fully developed. C. Repairing a bug in the requirements can cost thousands of times less than in the later phases of the software development lifecycle. D.A C
D
A good software architecture is important because: A. It helps organize the workforce and resources. B. It allows for parallelization in development. C. It helps build-or-buy decisions. D. It helps with funding decisions. E. ALL OF THE OTHERS
E
Product deployment should encapsulate three main focus areas. What are they? A. Description of the physical environment B. Plan for recovery in case of failure C. Planned steps D. Problem areas E.BCD
E
Specifying requirements is difficult because (select three): A. Software is intangible, which makes it difficult to comprehend and communicate. B. Terminology can be interpreted in multiple ways depending on the person or the context in which it was used. C. The client or end users might not be clear about what they want. D. There is no guideline for writing a software requirement specification document. E.A B C
E
The following are requirements and specifications of an online banking service. Which of the following can be categorized as system specifications? Select two. A. A user shall be able to use the online banking system securely. B. Activate a login session when a user logs in, and maintain the session for 60 minutes unless the user who logged in has been inactive for more than 120 seconds. C. At the time a query is made to check the current balance of a checking account, the owner of the checking account shall be logged in. D. The user shall be able to check the current balance of the checking accounts that he/she own. E. BC
E
The following are the requirements and specifications of an online banking service. Which of the following can be categorized as (user) requirements? Select two. A. The user shall be able to check the current balance of the checking accounts that he/she own. B. Activate a login session when a user logs in, and maintain the session for 60 minutes unless the user who logged in had remained inactive for more than 120 seconds. C. A user shall be able to use the online banking system securely. D. At the time a query is made to check the current balance of a checking account, the owner of the checking account shall be logged in. E.A C
E
What are some reasons why you would need a rollback plan? Select two. A. Installation doesn't go as expected. B. It is the end goal in product deployment. C. Fixing the problem ends up taking longer than the window allows. D. Database management in complex systems. E.AC
E
Which of the following are examples of 'Write code for people not computers'? Select three. A. Do not code while sleep deprived. B. In your comments, explain WHY the code does what it does. C. Choose informative variable names. D. Let your code (variable names, function names, etc.) explain HOW it does what it does. E.BCD
E
Which of the following are limitations of the waterfall model? Select three. A. Integration issues may remain undetected until the last phase. B. Misinterpretations of requirements or design can remain undetected until the later development phases. C. It is not suitable for big projects. D. It is difficult to respond to requirements changes. E.A,B,D
E
Which of the following are true about requirements and specifications? (Choose all that apply) A. Specifications shall meet the requirements. B. Requirements shall be written in the user's language; system specifications shall be written in the system language. C. Requirements call for specification-level refinement. D. Requirements are for users; specifications are for developers. E.A B D
E
Which of the following statements about cohesion is true? A. Cohesion measures how well everything within a module fits together. B. Describes the implementation of a single logical entity or function. C. Represents a desirable design attitude. D. High cohesion is the aim in software development. E. All of the above
E
Which of the following statements about coupling are true? A. Coupling measures the strength of connections between components. B. Loose coupling makes it unlikely that changes will be propogated across components. C. Shared variables and control information leads to tight coupling. D. Loose coupling is partly achieved through message passing. E. All of the above
E
Software quality attributes that we care about during software architecture are: A. Performance. B. Reliability. C. Testability. D. Security. E. Usability. F.ALL OF THE OTHER
F
The three cutover strategies are... A. Warm failover B. Hot failover C. Cold failover D. Warm standby E. Cold backup F. Hot standby G.BDE
G
Check all that apply: The four aspects of modularity are... A. Data Encapsulation B. Sort Functions C. Components D. Information Hiding E. Data Hiding F. Cohesion G. Coupling H.ADFG
H
Concerns to address in your deployment plan include: A. Physical environment requirements B. Hardware requirements C. Documentation D. 3rd party software requirements E. Training F. Software being deployed G. Database-related activities H. All of the above
H
A UNIX program where the output of one program is the input of another, is an example of which of the software architecture models below: A. Pipe-and-Filter Model. B. Event-based Model. C. Layered Model. D. Client-Server Model. E. Blackboard Model.
A
A constraint to only use Microsoft Project during the system development is a non-functional requirement. A. True. B. False.
A
Abstract solutions do not require extensive domain knowledge and effectively reduce the costs during the software design phase. A. False B. True
A
All elements of a component operate on the same input or produce the same output. This is an example of what type of cohesion? A. Communicational Cohesion B. Sequential Cohesion
A
Choose the correct True-False pair: An error is the manifestation of a failure. A failure is the manifestation of an error. A. False, True B. True, False C. False, False D. True, True
A
Deployment occurs in the end stage of active development. A. True B. False
A
Different pieces of code are activated at the same time. This is an example of what type of cohesion? A. Temporal cohesion B. Coincidental cohesion C. Procedural cohesion D. Logical association cohesion
A
Every part of a component is necessary for a single well-defined behavior. This is an example of what type of cohesion? A. Functional Cohesion B. Object Cohesion
A
It is often advised that abstract solutions do not provide optimization details regarding the implementation. A. True B. False
A
It is possible for errors to remain undiscovered as long as the erroneous ________ is never used A. component B. test data C. test case D. output
A