1.
Which one of the following is an advantage of using an iterative development model rather than a sequential development model? An iterative model:
Correct Answer
D. Is more likely to discover errors early in the life-cycle.
Explanation
An iterative life cycle model begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements.
This process is then repeated, producing a new version of the software for each cycle of the model.
When to use iterative model:
- Requirements of the complete system are clearly defined and understood.
- When the project is big.
- Major requirements must be defined; however, some details can evolve with time.
2.
Read the following extract from a requirements specification and then decide which of the following are functional requirements. (Select all that apply). An e-commerce company want a mobile application that will allow users to view their products and make orders. The application needs to be finished by the end of June and should cost no more than £5,000 to develop.
Correct Answer(s)
C. Make an order.
D. View products.
Explanation
The official definition of ‘a functional requirement’ is that it essentially specifies something the system should do.
“add customer”, “make an order”, “view products” and “print invoice” are good examples.
3.
A software development company have launched a pre-release version of their latest application to a select group of users. These users may use the application for free but are asked to complete an online survey on the usability of the application.This type of testing is known as:
Correct Answer
B. Beta testing.
Explanation
A Beta Test is a test for an application prior to commercial release.
Beta testing is the last stage of testing, and normally can involve sending the product to beta test sites outside the company for real-world exposure or offering the product for a free trial download over the Internet.
4.
What type of testing requires knowledge of the internal logic of an application?
Correct Answer
D. White box testing.
Explanation
White-box testing is the careful testing of the application at the source code level to prevent any hidden errors later on.
White-box test design techniques include the following code coverage criteria:
- Control flow testing.
- Data flow testing.
- Branch testing.
- Path testing.
- Statement coverage and decision coverage as well as modified condition/decision coverage.
5.
The Unified Modelling Language (UML) is commonly used in current software development methodologies. What type of UML diagram shows who should be able to perform specific functional requirements?
Correct Answer
D. Use case diagram.
Explanation
Behavior diagrams are used to illustrate the behavior of a system, they are used extensively to describe the functionality of software systems.
A use case diagram at its simplest is a representation of a user's interaction with the system that shows the relationship between the user and the different use cases in which the user is involved. A use case diagram can identify the different types of users of a system and the different use cases and will often be accompanied by other types of diagrams as well.
6.
When planning a usability test for a small application, which of the following features should be taken into account? (Select all that apply).
Correct Answer(s)
C. The purpose of the test.
D. The scope of the test.
Explanation
When planning a usability test for a small application, it is important to consider the purpose of the test and the scope of the test. The purpose of the test helps to define the goals and objectives of the test, ensuring that it focuses on the specific aspects of usability that need to be evaluated. The scope of the test determines the extent and depth of the testing, including the number of users involved, the tasks they will perform, and the areas of the application that will be covered. These considerations help ensure that the usability test is effective in identifying and addressing any usability issues with the application.
7.
The advent in touch screen technology has led to the design experience idiom ‘focus on content, not chrome’.The meaning of this phrase can best be described as:
Correct Answer
C. The empHasis should be on the content displayed to the user rather than the user interface controls used to interact with the content.
Explanation
We design for the content not the other way around!!
8.
An Evolutionary Prototype:
Correct Answer
A. Gradually evolves into the finished application.
Explanation
The idea behind this is that an initial prototype is presented to the user.
They provide feedback and suggestions for improvement.
These are actioned by the developer who then presents a more refined prototype.
The user once more provides feedback. The process is repeated.
So at each stage the prototype 'evolves' towards the finished application.
9.
Rapid application development methodologies can best be categorised as methodologies that:
Correct Answer
A. Support iterative and incremental developments.
Explanation
Rapid Application Development (RAD) model focuses on iterative and incremental delivery of working models to the customer. This results in rapid delivery to the customer and customer involvement during the complete development cycle of product reducing the risk of non conformance with the actual user requirements.
10.
In the construction phase of a Software Development Life Cycle:
Correct Answer
A. Most of the time would be spent coding and testing the application.
Explanation
During the construction phase of the Software Development Life Cycle, the focus is on coding and testing the application. This is because the main goal is to actually build the software and ensure its functionality through testing. While discovering the requirements and identifying non-functional requirements are important steps in the overall development process, they are typically done in the earlier phases. Finalizing the project plan also usually occurs before the construction phase begins. Therefore, the majority of the time in the construction phase is dedicated to coding and testing the application.
11.
In Software Development Methodologies the term iteration refers to:
Correct Answer
A. Cycling through development activities.
Explanation
An Iteration is a single development cycle, usually measured as one week or two weeks.
An iteration may also be defined as the elapsed time between iteration planning sessions.
12.
Look at the following algorithm and decide what would happen if the variable 'shoppingTotal' contained the value 60. IF shoppingTotal > 80 THEN discount = ‘20%’ELSEIF shoppingTotal > 70 THEN discount = ‘10%’ELSEIF shoppingTotal > 60 THEN discount = ‘5%’ELSE discount = ‘No Discount’
Correct Answer
D. Discount would hold the value ‘No Discount’.
Explanation
If the variable 'shoppingTotal' contained the value 60, the algorithm would execute the last condition since none of the previous conditions are true. Therefore, the variable 'discount' would hold the value 'No Discount'.
13.
The following standard algorithm: Set temp to first value in a list For each value in the list IF value in the list is greater than temp set temp to value in list End loop is an example of a:
Correct Answer
B. Find maximum algorithm.
Explanation
The given standard algorithm iterates through a list of values and compares each value to a temporary variable called "temp". If a value is greater than "temp", it updates "temp" to that value. This process is repeated for each value in the list. Since the algorithm is designed to find the maximum value in the list by continuously updating "temp" with the maximum value found so far, it can be categorized as a "Find maximum algorithm".
14.
Which one of the following is an example of a logic operator?
Correct Answer
A. AND
Explanation
AND is an example of a logic operator because it is used to combine two or more conditions in a logical statement. It returns true only if all the conditions are true, otherwise it returns false. This operator is commonly used in programming and Boolean algebra to make decisions based on multiple conditions.
15.
In software development an array is:
Correct Answer
D. An indexed collection of data of the same type
Explanation
An array is an indexed collection of data of the same type. This means that it is a data structure that allows storing multiple values under a single variable name, where each value can be accessed using its index position. The values in an array are typically of the same data type, such as integers or strings. This allows for efficient storage and retrieval of data in a structured manner.
16.
Strongly typed programming languages are characterised:
Correct Answer
C. As languages where variables can only hold data of the type declared.
Explanation
Strongly typed programming languages are characterized by the fact that variables can only hold data of the type declared. This means that once a variable is declared with a specific data type, it cannot be assigned a value of a different type. This ensures type safety and helps prevent errors that can occur when trying to use variables of incompatible types. In contrast, weakly typed languages allow variables to hold data of any type, which can lead to more flexibility but also increases the risk of type-related errors.
17.
A form on a web page has been designed to allow the user to enter numeric values ranging from 0 to 100. Which one of the following sets of test data would be the best to use to test the form?
Correct Answer
C. ‘a’, -1, 0, 50, 100, 101
Explanation
The best set of test data to use to test the form would be 'a', -1, 0, 50, 100, 101. This set includes a non-numeric value ('a') to test the form's validation for non-numeric inputs. It also includes values below the range (such as -1), at the lower limit (0), within the range (50 and 100), and above the range (101) to test the form's validation for values outside the specified range.
18.
Programming languages for developing applications are determined during the planning phase.Which one of the following programming languages would be most suitable for writing an Android app?
Correct Answer
A. Java
Explanation
Java would be the most suitable programming language for writing an Android app because it is the primary language used for Android development. The Android operating system is built on Java, and the Android Software Development Kit (SDK) provides all the necessary tools and libraries for developing apps in Java. Additionally, Java has a large community of developers and a vast amount of resources and documentation available, making it easier for developers to learn and troubleshoot any issues they may encounter while developing Android apps.
19.
Which one of the following best describes the key workflows in a Software Development Life Cycle?
Correct Answer
C. Analysis, Design, Implementation and Testing.
Explanation
The key workflows in a Software Development Life Cycle include analysis, design, implementation, and testing. Analysis involves understanding the requirements and objectives of the software. Design is the process of creating a blueprint or plan for the software. Implementation involves coding and building the software based on the design. Testing is done to ensure that the software functions correctly and meets the requirements.
20.
Which one of the following software development methodologies would be the most suitable approach for developing a small scale application such as a mobile app?
Correct Answer
A. Agile approaches such as SCRUM.
Explanation
Agile approaches such as SCRUM would be the most suitable methodology for developing a small scale application like a mobile app. Agile methodologies are known for their flexibility, adaptability, and iterative approach, which are ideal for quickly developing and delivering software in a dynamic and rapidly changing environment. SCRUM, in particular, emphasizes collaboration, frequent communication, and incremental development, allowing for continuous feedback and improvement throughout the development process. This makes it well-suited for small scale projects where requirements may evolve and change over time, and where there is a need for quick delivery and responsiveness to user feedback.