Level 10 Level 12
Level 11

1.2.3 - Software Development

72 words 0 ignored

Ready to learn       Ready to review

Ignore words

Check the boxes below to ignore/unignore words, then click save at the bottom. Ignored words will never appear in any learning session.

All None

the future
At the analysis stage, system requirements must be established, which may include data (origin, uses, volume), procedures, problems (with an existing system) and ...
technical feasibility
Feasibility Study Component: does the technology exist to accomplish the task? Can it be done?
economic feasibility
Feasibility Study Component: how much will it cost? Can it be done within the budget?
legal feasibility
Feasibility Study Component: can the problem be solved within laws?
operational feasibility
Feasibility Study Component: will the solution actually solve the problem the client is presenting?
schedule feasibility
Feasibility Study Component: can it be completed on time, according to schedules?
Systems Design Consideration: the algorithms and appropriate modular structure for the solution, specifying modules with clear documented interfaces
possible data structures
Systems Design Consideration: how data will be held and accessed, i.e. a queue/tree or database
Systems Design Consideration: such as content, format, sequence, frequency, medium etc.
System Design Consideration: such as volume, frequency, documents used, input methods
user interface
System Design Consideration: such as screens and dialogues, menus, special-purpose requirements
System Design Consideration: how the data is to be kept secure from accidental corruption or deliberate tampering or hacking
hardware needed
System Design Consideration: the selection of an appropriate configuration
single well-defined task
A problem must be broken down into individual modules and these are broken down until they each perform a ...
black box testing
Software Testing: done by testing given inputs and comparing the outputs to the expected ones
white box testing
Software Testing: uses the program to identify all possible paths through the program, and these paths are compared to the ones specified in the design stage, and each one is tested at least once
alpha testing
Software Testing: when the in-house testing team test the program, and this can identify any errors or when specification was not met
beta testing
Software Testing: when the software package is given out to users who agree to use it and report errors to the developers, exposing the product to real use and allowing problems and errors to be detected which may not have been anticipated
at this stage of software development, the software is installed on the user's system, which is likely to then cause other weaknesses or omissions of requirements to surface
the evaluation stage allows users to air their views and discuss improvements, based on their previous few months of using the system; evaluation should focus on effectiveness, usability and ...
Waterfall Model
software development methodology where each step must be completed fully before the next step may be carried out; to go back to a stage, every step in between must be revisited
evaluation stage
In the waterfall model, the customer is involved in the analysis stage but then has little input until the ...
utilise it
Advantage of Waterfall Model: it is very simple, so is easy to understand and use, thus allowing more people to ...
be produced
Advantage of Waterfall Model: as there are clear, distinct steps in this model, it is easy to manage a project, as it is easier to determine time-scales, and each step requires a specific outcome to ...
Advantage of Waterfall Model: there is a great deal of documentation by the end of the project, allowing for the client or company to easily refer or reference to, as each stage has to be ...
part of the software
Disadvantage of Waterfall Model: there are no prototypes and as working software is only produced in the later part of the model, it will take a long time for the client to be able to see any ...
feasibility circumstances
Disadvantage of Waterfall Model: as all analysis is done at the beginning of the model, and usually never at any later stages, it creates a lot of risk because ... may change
fundamental flaw
Disadvantage of Waterfall Model: when at a later stage in the cycle, it is very difficult to go back and change part of the concept design, if it doesn't meet client satisfaction, or has a ...
Spiral Model
the idea of developing software in iterative stages, requirements are defined and an initial prototype is created initially, and each loop generates a refined prototype
risk analysis
Quadrant 1 of Spiral Model: analyse the requirements and carry out ...
new prototype
Quadrant 2 of Spiral Model: design the next version of the ...
coded and tested
Quadrant 3 of Spiral Model: implementation; the new prototype is ...
next iteration
Quadrant 4 of Spiral Model: evaluate the prototype, which thus generates a plan for the ...
Advantage of Spiral Model: the client can see the product early on, and as more prototypes are created, they will continuously be able to see the product's ...
requirements change
Advantage of Spiral Model: the objectives and requirements are consistently reviewed, meaning that this model can deal with situations where the ...
too much damage
Advantage of Spiral Model: due to the continuous and large amounts of risk analysis, a lot of risk is avoided, meaning that many projects are more likely to be successful or be ended before they cause ...
less efficient
Disadvantage of Spiral Model: as the focus of this model is on risk analysis, programmers do not focus on writing good, efficient code, but rather, just working code, which can lead to the product becoming ...
Disadvantage of Spiral Model: management of projects that follow this development methodology is a lot more difficult as the process is more complicated and there is more to be done and to be ...
smaller budgets
Disadvantage of Spiral Model: risk analysis requires very skilled analysts, and so will have higher salaries, meaning it is not so suited for smaller projects with ...
Agile Models
in this methodology, software is aimed to be delivered to the client early and continuously (achieved by incremental versions, which are released in small time frames)
with short timescales
Advantage of Agile Models: Software that works and runs properly is delivered quickly and often, so is good for small projects ...
effective workforce
Advantage of Agile Models: Interaction between the people involved in the project (ie. the client, developers and testers) is prioritised, allowing for mutual understanding and making a more ...
easily integrated
Advantage of Agile Models: Allows for good client satisfaction as software is continuously delivered in releases, where adaptations are ...
design and documentation
Disadvantage of Agile Models: there is little emphasis on the ... of the software and project
self-organising teams
Disadvantage of Agile Models: experienced / senior programmers are required to make decisions within the ...
Disadvantage of Agile Models: it is difficult to assess the amount of work and effort required, and a lack of risk-analysis could make these projects riskier, as these factors could be ...
Extreme Programming
software development methodology which intends to improve software quality and responsiveness to changing user requirements
continuous testing
Advantage of Extreme Programming: due to paired programming, regular integration and refactoring, code quality is often very high and there is ...
Advantage of Extreme Programming: it provides a sustainable pace, so programmers can work to realistic time scales and not get so ...
Advantage of Extreme Programming: saves money as the teams use very little documentation, and saves time as software is delivered ...
geographic location
Disadvantage of Extreme Programming: for paired programming to work, programmers must be in the same ...
duration of the project
Disadvantage of Extreme Programming: the client must provide a representative to work with the team on a daily basis for the entire ...
occurrence of a bug
Disadvantage of Extreme Programming: there is a lack of documentation, which could potentially lead to issues such as repetitive ...
Rapid Application Development
software development methodology, promising faster completion of major projects by using iteration and prototypes
focus groups
RAD will often use workshops and ... to gather requirements rather than using a formal requirement document
amended requirements
Advantage of RAD: if the requirements of a project change for some reason, this model can deal with it well, as the prototype can simply be improved and adapted until it meets the new or ...
client satisfaction
Advantage of RAD: this model utilises client feedback to ensure ...
spent on testing
Advantage of RAD: as the prototype is continuously improved, errors are usually fixed while programming or when the cycle goes round again, so less time is ...
hard to predict
Disadvantage of RAD: difficult to manage projects which follow this sort of model, as time-scales are ...
Disadvantage of RAD: as the model is based around customer feedback, it requires the client to spend quite a lot of time on the ...
efficient code
Disadvantage of RAD: programmers often do not focus on or prioritise writing ...
valid inputs
Property of a good algorithm - has clear and precisely stated steps, which produce the correct output for any set of ...
invalid inputs
Property of a good algorithm - should allow for ...
Property of a good algorithm - it should always eventually ...
Property of a good algorithm - it should execute a task in as few steps as possible, to be ...
modify it
Property of a good algorithm - other people should be able to understand it and if necessary, ...
Type of Algorithm - used to manage and manipulate the huge amount of data stored on the internet, e.g. search engines
Type of Algorithm - determining the shortest or best route between two given points, e.g. maps applications or transmitting data packets
Type of Algorithm - to make data files smaller so they can be transmitted faster or take up less storage space
Type of Algorithm - masking data sent over the internet so it cannot be read if intercepted, e.g. needed for online shopping
meaningful variable names
to make an algorithm easy to understand, the programmer should write useful comments, split complicated algorithms into separate modules and use ...
trace table
used in dry-runs to note down when a variable changes and its new value as an algorithm is followed through