Font size
WorksheetsHIgher - Development Methodologies
Total questions: 73
Worksheet time: 37mins
Which stage of the software development process is missing? Analysis, Design, Testing, Documentation, Evaluation, Maintenance
Fixing
Implementation
Re-analysis
Specification
During the design stage, which of the following would not be done?
Wireframing a user interface.
Creating a structure diagram of the program modules.
Agreeing the functional requirements with the users.
Deciding on variables and arrays required to store data.
What is the traditional software development process often called?
Agile model
V-model
Waterfall model
Spiral model
Why has the waterfall model evolved over time?
To increase the complexity of applications
To reduce the time and money spent creating and maintaining applications
To make the process less structured
To decrease software quality
What characteristic of the traditional software development process makes it an iterative process?
Constant revision and evaluation at every phase
Lack of documentation
Single phase development
No team collaboration
What ensures quality and efficiency in the final product of the traditional software development process?
The complexity of the applications
The iterative nature of the process
The use of a single developer
The reduction of team collaboration
What is the purpose of following the traditional software development process as far as possible in large scale commercial software projects?
To create a successful product
To complicate the development process
To reduce the need for maintenance
To avoid documentation
What is the role of a Systems Analyst in the analysis stage of software development?
To program the software according to the client's needs
To communicate with the client and discover the exact problem to be solved
To test the software for bugs
To maintain the software after it has been developed
Why might it be difficult for a Systems Analyst to accurately describe what needs to be produced?
The client may not be able to describe the problem they want solved accurately enough
The Systems Analyst usually lacks the technical skills to understand the problem
The software development team does not need a precise description of the software
The Systems Analyst is typically not involved in the communication with the client
Which of the following is a challenge that a Systems Analyst may face when dealing with a large organisation?
There is usually only one person who knows how every part of the system operates
The information flow within the organisation is always clear and well understood
There is often no single person who knows exactly how every part of the system operates
Large organisations do not have complex information systems
What is the first stage of software development process?
Design
Implementation
Analysis
Testing
Which stage follows the 'Testing' stage in software development?
Maintenance
Design
Documentation
Evaluation
Why is the analysis stage of software development important?
It helps in marketing the software.
It is only necessary for large software projects.
It ensures that the software specification accurately describes what the software will be able to do and is a legally binding document.
It is the final step in software development.
What is a software specification?
A document that outlines the software's color scheme and design elements.
A legally binding document that describes exactly what the software will be able to do, how long it will take to build, and how much it will cost.
A preliminary sketch of the software's user interface.
A list of software components and their functions.
What is the responsibility of the people who undertake the design stage of software development?
To collect as much information as they can about the organization and the problem they want solved.
To ensure that the software specification is a legally binding document.
To describe how the software will be able to do what it is supposed to do.
To fix errors made during the analysis stage.
What can be the consequence of errors made or shortcuts taken during the analysis stage of software development?
Increased marketing potential.
Reduced development costs.
No significant impact.
Disastrous effects on subsequent stages.
What is the process called that involves breaking down software problems into smaller, more easily managed problems?
Bottom Up Design
Horizontal Refinement
Top Down Design and Stepwise Refinement
Modular Programming
What is usually created at the design stage to show how different sub-problems relate to each other?
A flowchart
A structure diagram
A Gantt chart
A use case diagram
What is the benefit of spending more time on the design stage of software development?
It increases the overall development time.
It requires more programmers.
It decreases the time needed to be spent on the next stage.
What is the term used to describe the process of breaking down a complex problem into smaller, more manageable sub-problems that can be worked on separately?
Stepwise refinement
Data flow diagramming
Modular design
Pseudocode development
What is the benefit of having different modules in a system that can be worked on simultaneously?
Increases complexity
Reduces the need for testing
Allows for separate programming teams to work on different parts
Eliminates the need for pseudocode
What is the purpose of a data flow diagram?
To outline the detailed logic of each component using pseudocode
To represent the flow of data around a system
To describe the stepwise refinement process
What is stepwise refinement?
A method to test modules independently
The process of designing the logic of each module by breaking it down into smaller steps
A technique to reuse modules in different applications
The initial phase of creating a data flow diagram
What does the implementation stage depend upon in the software development process?
The quality of the maintenance
How clear the design is
The effectiveness of the testing
The detail in the documentation
What may be necessary if problems are identified during the implementation stage?
Revisiting and possibly re-examining the original design
Skipping to the maintenance stage
Ignoring the problems and continuing with the implementation
Completing the documentation first
What makes the software development process iterative?
The need for constant testing
The use of detailed documentation
The process of looking back to previous stages to solve problems
The implementation stage being a straightforward process
If the design has been written in enough detail, what should the implementation stage be?
A matter of using the design to create the source code for the application
A time to evaluate the effectiveness of the design
A stage to test the software for the first time
A process to document the software's features
What is one of the purposes of testing a piece of software?
To ensure the software is expensive
To confirm the software meets the specification
To make the software less reliable
To reduce the software's robustness
What is an attribute of software that testing should verify?
Its color scheme
Its user interface design
Its robustness
Its brand recognition
What is a limitation of software testing?
It can only demonstrate the presence of errors, not their absence
It can only be done in the initial stages of development
It can only be performed by the original developers
It can only be conducted on open-source software
Testing should be systematic and what else?
Expensive
Quick
Comprehensive
Optional
What is the correct sequence of stages in the development process?
Analysis, Design, Implementation, Testing, Documentation, Evaluation, Maintenance
Design, Analysis, Implementation, Testing, Evaluation, Documentation, Maintenance
Analysis, Implementation, Design, Testing, Documentation, Evaluation, Maintenance
Implementation, Analysis, Design, Testing, Documentation, Evaluation, Maintenance
What type of data is expected to be dealt with by a program under normal circumstances?
Data that is invalid
Normal data
Extreme data
Exceptional data
Which type of data represents values at the boundaries of the range a program should accept?
Normal data
Extreme data
Exceptional data
Invalid data
Exceptional data should include which of the following?
Only data within the program's normal operational range
Data that is just outside the boundaries of the range of data it should accept
Data that the program has been built to process
Data that is completely unrelated to the program's function
What is alpha testing within an organization designed to detect?
Performance issues
Logical errors in the code
User interface design flaws
Network connectivity problems
When can alpha testing be performed on an application?
Only after the application is fully developed
At any stage, even when parts of the application are still being developed
Only before the application development starts
After the application has been released to the public
Which of the following statements are true of alpha testing of an application?
Testing is done by the users.
Testing is done by the programmers responsible for the application.
Testing is done by specialist companies.
Testing is done by the client.
Testing may be done on parts of the application.
Which one of the following statements describe beta testing?
The testing is performed by the clients.
The testing is more rigorous than alpha.
The testing is for market research.
The testing is performed by specialist companies.
What is the purpose of the documentation stage in software development?
To create a comprehensive guide to the menu options and how each one functions.
To produce guides for using and installing the software.
To specify the platform and operating system versions which the software is compatible with.
All of the above.
What should the user guide for the software include?
Details of the minimum specification of hardware required.
A comprehensive guide to the menu options and how each one functions.
Information on how to license the software.
Software specification and test history.
What should the technical guide for the software include?
A comprehensive guide to the menu options and how each one functions.
Details of the minimum specification of hardware required.
Software specification and test history.
Guides for using and installing the software.
What information is collected together during the documentation stage to be referred to in case of changes or problems discovered at a later date?
User guide and technical guide.
Software specification and test history.
Menu options and their functions.
Platform and operating system versions compatibility.
What is the single most important criterion for evaluating software?
The software's usability
The software's efficiency
Whether the software is fit for purpose
The software's maintainability
Which of the following is NOT listed as a criterion for evaluating software?
Robustness
Maintainability
Scalability
Usability
Why is the evaluation stage useful to the client?
It ensures the software is robust.
It guarantees the software's efficiency.
It confirms that they have the software they need.
It improves the developer's future performance.
How can an evaluation help the developer?
By ensuring the software is maintainable
By finding problems that can save work later on
By confirming the software's usability
By verifying the software's robustness
What type of maintenance is concerned with errors that were not detected during testing?
Corrective
Adaptive
Perfective
Preventive
Which type of maintenance is necessary when the program's environment changes?
Corrective
Adaptive
Perfective
Preventive
What might require a program to have its code adapted to run on a new system under adaptive maintenance?
A change of computer system
A detected error during testing
A new version of the program
A change in the development team
What type of maintenance occurs when the client requests changes or improvements to the program which were not in the original software specification?
Corrective
Adaptive
Perfective
Preventive
Which phase of the Waterfall model involves "Creating a structure diagram and pseudocode"?
Documentation
Design
Analysis
Implementation
During which phase of the Waterfall model is the source code written?
Documentation
Design
Analysis
Implementation
What is the main criticism of the waterfall model in software development projects?
It is too flexible and changes cannot be made once the project starts.
It has been criticized for being too rigid and too slow a process.
It allows for too much user involvement at all stages of the development process.
It is unrealistic because it is too fast and too flexible.
What does Rapid Application Development (RAD) emphasize compared to traditional models?
Less user involvement throughout the development process.
No changes to the design after the project has started.
User involvement at all stages and the ability to make design changes at any time.
A slower and more rigid development process.
How does the Rapid Application Development model improve the development process?
By making the process slower and less flexible.
By following a strict sequence of stages without deviation.
By making the development process faster and more flexible.
By eliminating user feedback and reducing the number of stages.
What is the emphasis of Rapid Application Development?
Creating software slowly and meticulously
Creating software quickly and efficiently
Focusing solely on large software projects
Developing software without user involvement
Which development methodology is considered more appropriate for smaller software projects?
Waterfall development
Agile development
Rapid Application Development
Incremental development
Agile software development is seen as more adaptable and responsive compared to which other development model?
Spiral model
V-model
Waterfall model
What type of environment is Agile development particularly suitable for?
Large corporations with fixed requirements
Environments using large teams of generalists
Environments using small teams of experts such as web development
Static environments with no change in requirements
What are the benefits of the Agile method? (Choose two)
Reduced development time
Increased responsiveness to changing circumstances
Larger teams required
More rigid process
What is a common feature of agile development mentioned in the text?
Rare updates to the software
Frequent appearance of updates with sequential version numbers
Use of large development teams
Fixed project specifications from the beginning
According to the text, what does agile development encourage the client to do?
To avoid making changes to the specification throughout the development process
To think clearly about what they require at the beginning
To make changes to the specification throughout the development process
To use a rigid planning structure
Which of the following is a strength of the Iterative Methodology (traditional) as compared to Agile Methodology?
Copes well with little cumulative changes as the project progresses
Good for small-scale projects like most Apps
Helps to plan and track large software projects
Ongoing involvement of client allows changes to be agreed quickly
What is a weakness of the Iterative Methodology (traditional) according to the table?
Works best with small teams
Can over-complicate simple projects
Changes cause less delay or can be tackled in the next version
Usually no legally binding agreement at the start
Which of the following is a weakness of Agile Methodology as mentioned in the text?
Good for large teams
Rigid planning structure
Can be difficult to determine the full scope of the project in the early stages
Clear agreement on outcomes at start of project
What is the purpose of the design stage in software development?
To create and debug the program code
To examine the software for reliability and user-friendliness
To turn the software specification into structure diagrams, pseudocode, and data structures
To test the code using normal, extreme, and exceptional test data
What is Rapid Application Development (RAD) primarily used for?
To fix problems and adapt the software to new circumstances
To streamline the waterfall model by involving the client more and using prototyping
To produce user and technical guides
To test the software using clients or individuals outside the development team
What is Agile programming designed to do?
Adapt to new circumstances and add features
Be as flexible as possible and reduce development time and costs
Create and debug program code
Examine software for reliability and robustness
Which one of these would not be found in the technical guide?
Operating system required
Hardware requirements
Memory requirements
Tutorial
During the software development process, which one of the following is responsible for converting the design into actual program code?
Programmers
Systems Analyst
Independent test group
Client
Which one of these is NOT an advantage of agile software development?
Reduced development time
Responsiveness to changed circumstances
Reduced costs
Reduced time spent on analysis
Which of the following is a strength of Agile Development?
High level of involvement of the client/customer.
Lack of feedback from customers.
Easy for large teams to work on an agile project.
Clear scope and boundaries from the start of the project.
