Upgrade to remove ads
STK-CH Software Development Process
Terms in this set (52)
Describe how stepwise refinement can be used to help produce a detailed design.
Breaks problem into smaller problems
Continuing to break down sub problems
Until they can be solved easily/trivially/simply
Design is the second stage of the software development process.
Explain the importance of the design stage for one of the later stages in the software development process. Your answer should refer to the name of the stage that you have chosen.
Implementation − Program must be planned to show how program is to be coded
Testing - Used to create test data/To help identify errors
Evaluation − Design is used to ensure that all requirements in software specification are met
Documentation is produced at each stage of the software development process.
Name one item of documentation that is produced at the implementation stage.
Printout/hardcopy of program/source code
One purpose of creating documentation at each stage is to provide a starting point for the next stage.
State one other purpose of documentation.
Provides a record of work done (required by project manager/client)
Aids maintenance (by keeping a record of changes made)
Describe the role that the programmer might play in the production of the technical guide during the documentation stage.
To give advice on:
• how the parts of the program work
• the memory/processor/system requirements/specifications
• potential software/hardware clashes
Software can be described as efficient if it does not waste memory.
Describe one way of making software efficient in terms of memory usage.
If compiled version of program is used, meaning translator is not needed during execution
• Use of local variables where possible, allowing memory to be reused when it goes out of scope
• Software is modular/has no unnecessary code/variables saving on memory used for duplicate/unnecessary code
Describe what is meant by the term "portability".
Software can run on any other platform/processor/"type of computer" OR other than the one it was designed for
with little or no change
The software development process is described as an iterative process.
Explain how the iterative nature of the software development process is used in the production of software.
• Stages are revisited/repeated
• As a result of new information/information gained later in the process
• In order to improve the solution
The software specification can act as part of the legal contract between the client and the software development company.
State two other purposes of this document.
States boundaries & scope of problem
• Fix timescale and total budget of project
• States exactly what the software is required to do/functional specification
Name one type of personnel involved in the documentation stage.
Client OR Programmer OR Document/Technical writer OR Project Manager
Explain what is meant by the term 'robustness'
Program can cope with unexpected input/conditions without failing
Explain what is meant by the term 'reliability'.
• Software will not stop due to design flaws
Software may require adaptive maintenance when a new operating system is installed.
Describe one further example of when adaptive maintenance would be required.
A new item of hardware is installed which the program must interact with
The software is written using modules. Describe two benefits to the programmer of writing modular code.
Maintenance is helped by improved readability
• Modules can be allocated to programmers to work on simultaneously
• Testing can be carried out at module level first, reducing errors later
• Errors are more easily traced in a modular structure
"Testing should be planned in advance with the creation of a test plan containing the test data to be used and the expected
State the aspect of testing being described here.
"Testing should be as thorough and complete as possible covering every part of the program with all kinds of test data and
State the aspect of testing being described here.
State one reason why portability of software is an important factor for developers to consider.
Greater range of hardware platforms means
• the larger the potential sales market
• a greater risk of potential hardware/software conflicts
One task of the evaluation stage of the software development process is to ensure the program meets the software specification.
State two other criteria used to evaluate software.
Reliability, robustness, portability, efficiency, maintainability, user interface, readability
Describe what is meant by the phrase "the software development process is an iterative process".
It revisits earlier stages of the software development process (in the light of new information)
A holiday booking website includes a currency
converter which asks for the amount in pounds sterling and converts it to euros. Here is the top-level algorithm,
1. Get Amount of Pounds
2. Calculate Euros
3. Display Conversion
Name the design methodology that is being used.
Describe what is meant by "portability".
Program will run with little/no alteration (1 mark) on a computer system other than the one it was designed for
Describe what is meant by an "independent test group".
Their testing is independent since:
• they are not the actual programmers of the code
• they are not part of the client company or software development company.
Explain why the software development company prefers to use an independent test group.
Test the program more objectively/without bias.
• More likely to apply range of test cases.
• Programmers are more likely to miss errors that they created.
Maintainability is an important characteristic of software. State two characteristics of program code that improve maintainability.
The software company appoints a project manager. Describe two aspects of the role of the project manager.
• Identify costs/resources
• Provide technical guidance to client
• Liaise with systems analyst, client
Name and describe a document that the systems analyst will produce as a result of the analysis stage.
Software specification (1 mark)
Formal/technical specification of the problem (with boundaries) OR forms a legal contract
Describe two ways in which this document could be used later in the software development process.
Reference in any dispute at evaluation/maintenance stages
• Guidance for design to inform that stage
• Validate the design
• Validate the software during evaluation stage
The software company uses stepwise refinement. Describe what happens during stepwise refinement.
Problem broken down into steps and these steps are further broken down until the subtasks are able to be coded
The software is released to customers but the golfers complain that distances are very inaccurate.
Which type of maintenance is required? Give a reason for your answer.
Corrective , since the program is producing the wrong results that were not identified at testing.
Explain why documenting the testing stage of the software development process will aid maintenance.
If test reports are available then previously tested cases need not need to be retested.
Name the document produced at the end of the analysis stage.
Explain why the production of the software specification could be an iterative process.
Problem not fully specified at the first meeting with the client so you have to go back and meet with them again.
Further refinement/modification/clarification of the problem may be necessary.
Other than data flow, state two benefits, to a programmer, of a design written in pseudocode.
Easy to understand/it uses English words
Easy to convert into program code/line by line translation
Structure of pseudocode reflects structure of modular code
State how the use of subprograms increases the maintainability of a program.
Sections/subprograms are easily identified/implemented/tested/de-bugged/edited
Sections/subprograms increase readability
Readability of code affects maintainability. Other than using subprograms, state one way to improve readability of code.
Meaningful variable names
Effective use of white space/indentation/blank lines
Once the software has been written RightIT carry out systematic testing.
Explain how systematic testing is carried out.
Testing is planned in advance/creation of a test plan which includes test data to be used and the expected results
State what is meant by comprehensive testing.
Testing is as thorough as possible and covers a wide/full range of possibilities
Several months after the software has been in use, the bank asks RightIT to include another option in the menu. This option should allow customers to withdraw cash in Euros.
Name the type of maintenance required and justify your answer.
A new feature is being added that was not originally required
Define the term "reliable".
Software will not stop due to design flaws
Describe one example of how a programming team can ensure they will work together effectively.
Programmers will each be writing individual subprograms for the software required, reducing implementation time OR so they must collaborate via meetings/project manager/detailed plan
The software development process is iterative. Explain how the word iterative applies to this process.
The process may revisit an earlier stage in the light of experience/information gained
Many software development projects use top-down design. Explain the process of top-down design.
A problem is broken down into smaller/easier to solve subproblems.
Name one graphical design notation.
Explain the terms "reliable" and "robust".
Reliable - Will not stop due to design flaws/errors
Robust - will not crash when invalid data is entered
State one way in which documentation produced at the testing stage of the software development process will be used during corrective maintenance.
Will detail test data originally used so that re-testing on that data will not need to be done again
State two characteristics of programming code that improve maintainability.
Use of meaningful variable names
Use of internal comments
Effective use of white space
Martin is a systems analyst. He has just been given a new project to work on. Explain why Martin will interview the client during the analysis stage.
Interview client to establish precisely what is needed/elicit details
State two techniques that Martin may use during the analysis.
Make observation notes/observe current practice
Examine sources of information/company documentation
State two reasons why the system specification has to be agreed with the client before it is finalised.
Formalises the details of the software to be produced
It will form part of a legal agreement/contract
Explain how a systems analyst could be involved in the testing stage of a project.
Validate test results against specification
Contribute to the provision of test data
Effective testing of the software needs to be both systematic and comprehensive. Explain the terms "systematic" and "comprehensive".
Tests individual subroutines, then modules, up to whole system testing
Methodical/logical/planned checking of software
Uses normal/extreme/exceptional data
Test software in as many cases as possible/full range
State the job title of the person who has the responsibility for the project budget.
THIS SET IS OFTEN IN FOLDERS WITH...
PMI Lexicon of Project Management Terms
PMP 1: Project Management Framework
Chapter 3-4 Software Process Models
YOU MIGHT ALSO LIKE...
Computer Science #4
Midterm Preparation (Lectures 1-10)
OCR A2 ICT Chapter 1-The Systems Lifecycle
OTHER SETS BY THIS CREATOR
STK N5 - Web Design 2019
STK N5 - Computer Systems 2019
STK N5 - Software Design and Development 2019