Course 1: Tổng hợp
1.Which of the following software development models can best respond to requirements changes? A. Agile models B. The Waterfall model C. The V-model
A
2.Which of the following is NOT an aspect of software design A. Cohesion B. Modularity C. Polymorphism D. Coupling
C
3.The ability to use a built-in function of a programming language to generate a random number is an example of which of the following? A. Coupling B. Modularity C. Cohesion D. Information hiding
D
5.When all of the responsibilities of a module are easily classified as being strongly related, this is an example of high what? A. Information hiding B. Coupling C. Modularity D. Cohesion
D
7.Which of the following is LEAST desirable? A. including functionality which relys on the same input B. including functionality which entirely encapsulates all the necessary function for a specific task C. including functionality which modifies an object's own attributes D. including functionality which occurs around the same time
D
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
The goal in low coupling is to ensure that changes don't cross the boundaries of modules. 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 purpose of the WRSPM model is to ensure that: A. Specifications meet the requirements. B. Requirements meet specifications. C. None of the above.
A
True or False: inheritance strengthens cohesion. A. False B. True
A
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. Data Encapsulation B. Information Hiding C. Coupling D. Cohesion
B
Product deployment should encapsulate three main focus areas. What are they? A. Description of the physical environment B. Problem areas C. Planned steps D. Plan for recovery in case of failure
B, C, D
Specifying requirements is difficult because (select three): A. There is no guideline for writing a software requirement specification document. B. Terminology can be interpreted in multiple ways depending on the person or the context in which it was used. C. Software is intangible, which makes it difficult to comprehend and communicate. D. The client or end users might not be clear about what they want.
B, C, D
Which of the following are examples of 'Write code for people not computers'? Select three. A. Do not code while sleep deprived. B. Let your code (variable names, function names, etc.) explain HOW it does what it does. C. In your comments, explain WHY the code does what it does. D. Choose informative variable names.
B, C, D
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
Components do similar but separate things. This is an example of what type of cohesion? A. Coincidental cohesion B. Procedural cohesion C. Logical association cohesion D. Temporal cohesion
C
Different pieces of code are activated at the same time. This is an example of what type of cohesion? A. Logical association cohesion B. Coincidental cohesion C. Temporal cohesion D. Procedural cohesion
C
10.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. blackboard C. layered D. event-based E. pipe-and-filter
E
3.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
4.Which of the following matches the terms to the correct definition? A. Requirements - solution properties designed to solve problem; Specification - user needs in user language B. Requirements - user needs in user language; Specification - solution properties designed to solve problem
b
8.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
2.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
7.What element(s) of the WRSPM model belong in the interface (i.e. the overlap between environment and system)? A. R,S,P B. P,M C. W,R,S D. W,R E. R,S F. W G. S H. S,P I. S,P,M J. M
c
Module A and B both rely on the same composite data structure. This is an example of what type of coupling? A. Medium data structure coupling B. Medium control coupling
A
Module A controls the logical flow of module B. This is an example of what type of coupling? A. Medium control coupling B. Medium data structure coupling
A
Modules A and B both rely on global data or a global variable. This is an example of what type of coupling? A. Tight common coupling B. Tight content coupling C. Tight external coupling
A
Modules rely on externally imposed format (or protocol or interface). This is an example of what type of coupling? A. Tight external coupling B. Tight content coupling C. Tight common coupling
A
One component's output provides the input to another component. This is an example of what type of cohesion? A. Sequential Cohesion B. Communicational Cohesion
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. Procedural cohesion C. Logical association 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 four types of weak cohesion are: A. Coincidental, temporal, procedural, logical association B. Coincidental, temporal, sequential, logical association C. Communicational, sequential, object, functional D. There is no such thing as loose cohesion
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
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
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. A user shall be able to use the online banking system securely. B. The user shall be able to check the current balance of the checking accounts that he/she own. 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. 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.
A, B
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.
A, B, C, D
Software quality attributes that we care about during software architecture are: A. Performance. B. Reliability. C. Testability. D. Security. E. Usability.
A, B, C, D, 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.
A, C
Check all that apply: The four aspects of modularity are... A. Data Encapsulation B. Data Hiding C. Information Hiding D. Components E. Cohesion F. Sort Functions G. Coupling
A, C, E, G
1.Where does software design fit in the traditional waterfall software development lifecycle? A. Between implementation and deployment B. Between architecture and implementation C. Before requirements D. Between specification and architecture
B
10.Which of the following is an example of validation? A. use of the software provides the correct results as documented B. software is well-received by the user C. ensuring the system locks out an account after three failed log-in attempts D. software recognizes incorrect inputs
B
2.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
4.Analyzing the extent to which other modules must change when a module is modified is an example of which of the following? A. Cohesion B. Coupling C. Information hiding D. Modularity
B
8.Which of the following are necessary before proper testing? A. inputs and expected output B. inputs, expected output, and an oracle C. inputs, expected output, an oracle, and the actual output D. inputs which cause issues
B
9.Which of the following is when the operation of a system differs from what the user expects? A. Fault B. Failure C. Latent error D. Effective error
B
9.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. layered B. blackboard C. client-server D. pipe-and-filter E. event-based
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
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. Sequential Cohesion B. Communicational Cohesion
B
Choose the most accurate answer: Cohesion describes... A. loose coupling. B. how well everything within a module fits together. C. decomposability. D. how changes do not cross boundaries of modules.
B
Deployment occurs in the end stage of active development. A. False B. True
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
Every part of a component is necessary for a single well-defined behavior. This is an example of what type of cohesion? A. Object Cohesion B. Functional 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
Modules only share parameters. This is an example of what type of coupling? A. Loose no coupling B. Loose data coupling C. Loose message coupling
B
Software architecture concerns itself with both estimation and quality but not partitioning. A. True. B. False.
B
The goal in real-life software development is to aim for object and functional cohesion and anything less than this should be justified. A. False B. True
B
The three types of loose coupling are: A. Control; Data Structure; Loose B. Data; Message; None C. Data; Message; Data Structure D. Content; Common; External
B
The two types of strong cohesion are: A. Coincidental, temporal B. Object, functional C. Object, strong D. Communicational, sequential
B
True or False: Every method can be written without side effects. 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
Which of the four aspects of modularity can be described as: Abstracting away implementation details. A. Coupling B. Information Hiding C. Data Encapsulation D. Cohesion
B
Which of the four aspects of modularity can be described as: How well a module meets a single well-defined goal. A. Data Encapsulation B. Cohesion C. Coupling D. Information Hiding
B
Which of the four aspects of modularity is defined as: How well modules work together. A. Data Encapsulation B. Coupling C. Cohesion D. Information Hiding
B
The following are requirements and specifications of an online banking service. Which of the following can be categorized as system specifications? 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 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. A user shall be able to use the online banking system securely.
B, C
Why is requirement specification important? Select two. A. Changing the requirement is not possible once the system is fully developed. B. Repairing a bug in the requirements can cost thousands of times less than in the later phases of the software development lifecycle. C. Spending time upfront in requirement specification can save time in the later phases of the software development lifecycle.
B, C
3.Which of the following are limitations of the waterfall model? Select three. A. It is not suitable for big projects. B. It is difficult to respond to requirements changes. C. Misinterpretations of requirements or design can remain undetected until the later development phases. D. Integration issues may remain undetected until the last phase.
B, C, D
Which of the following are true about requirements and specifications? (Choose all that apply) A. Requirements call for specification-level refinement. B. Requirements are for users; specifications are for developers. C. Specifications shall meet the requirements. D. Requirements shall be written in the user's language; system specifications shall be written in the system language.
B, C, D
12.When is testing complete? A. When you have completed all the tests in the test plan B. When you find the last bug C. When you run out of time D. When you have tested every input
C
6.Which of the following is NOT an example of a non-functional requirement. A. Communication between the client and server will be expressed in EBCDIC endoding. B. The developing team shall use the spiral model of software development lifecycle. C. The user shall be able to select the course number. D. The messages between the client and server shall be in YAML 1.2 format.
C
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. Information Hiding C. Data Encapsulation D. Coupling
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
One piece of code runs after the other. This is an example of what type of cohesion? A. Logical association cohesion B. Coincidental cohesion C. Procedural cohesion D. Temporal cohesion
C
The two types of medium cohesion are: A. Coincidental, temporal B. Sequential, logical association C. Communicational, sequential D. There is no such thing as medium cohesion
C
Three goals of ______ can be described as (1) Decomposability, (2) Composability, and (3) Ease of Understanding. A. Cohesion B. Coupling C. Modularity
C
Which of the following is considered the most difficult in the software development process? A. Testing the solution with users B. Developing a Java program to meet the designed solution C. Accurately identifying user needs D. Determining the accurate market price for the finished product
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
11.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. pipe-and-filter B. blackboard C. layered D. client-server E. event-based
D
6.Which of the following is most preferred? A. Allowing one module to affect the program flow of another via the use of a flag (control coupling) B. Having two modules rely on the same global information structure (common coupling) C. Having more than one module rely on the same version of the RSS standard (external coupling) D. Allowing one module to affect the program flow of another via the use of a state message (message coupling)
D
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
The two types of medium coupling are: A. Message; None B. Data; Message C. Content; Common D. Control; Data Structure
D
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 of solving the requirements. D. Requirement specification is a process to identify and specify the problem to solve.
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 the four aspects of modularity can be described as: Containment of constructs and concepts within a module. A. Cohesion B. Coupling C. Information Hiding D. Data Encapsulation
D
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. Blackboard Model. B. Layered Model. C. Event-based Model. D. Client-Server Model. E. Pipe-and-Filter Model.
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
The three types of tight coupling are: A. Data; Message; None B. Content; Common; External C. There is no such thing as tight coupling D. Control; Data Structure; Message
B
A constraint to only use Microsoft Project during the system development is a non-functional requirement. A. True. B. False.
A
11.In your current project, you have access to some intern development resources, which are not currently operating at full capacity. You also know that the testing timeline will be truncated, due to delays in critical-path module development. Which strategy should you employ? A. Utilize the intern resources to design and develop drivers and stubs, while work continues on critical-path module development B. Allow the testing team to work without (or with quick-to-develop) drivers and stubs, and utilize the intern resources to aid testing once all critical-path development is complete C. Allow the testing team to work without (or with quick-to-develop) drivers and stubs, while using intern resources to aid critical-path development D. Make no changes to the current project testing or development allocations, utilizing intern resources to create documentation.
A
12.Which of the following would be considered a sub-system, rather than a module? A. A set of classes which generates reports B. A class which represents the paying customer C. A class which provides a service (e.g. AccountCreationService) D. A set of classes which convert various values based on environment or parameter information
A
13.Which of the following is an example of black-box testing? A. Developing test cases based on typical user behavior B. Developing test cases to exercise error-prone constructs C. Developing additional tests when every if statement does not evaluate both true and false once given the current test suite D. Developing additional test cases to force a division by zero
A
5.Which of these is a user requirement? A. Allow the user to post a message to Facebook B. Allow an authorized user to post a message of no more than 136 characters to the Facebook POST API C. Retry posting the message up to 3 times every 5 minutes if the post is rejected by the server D. Use the MariaDB database for internal data persistance
A
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. False B. True
A
Abstract solutions do not require extensive domain knowledge and effectively reduce the costs during the software design phase. A. False B. True
A
Choose the most accurate answer: Low coupling aids in... A. ensuring that changes don't cross boundaries of modules. B. abstracting away complex information. C. lower corruption rate of data. D. decomposability.
A
Deployment without a rollback plan should occasionally occur. Especially when the installation involves deleting files. A. False B. True
A
It is often advised that abstract solutions do not provide optimization details regarding the implementation. A. True B. False
A
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
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