Software Development Flashcards

(41 cards)

1
Q

agile methodologies definition

A

an iterative process that produces incremental prototypes of software over short, fast-paced sprints

each prototype is user tested and any feedback and change in requirements will be accounted for in future sprints

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

extreme programming

A

a type of agile methodology that is more responsive to changing user needs with short development cycles and very frequent software releases

checkpoints are incorporated to change or add new user requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

rapid application development definition

A

a method capable of speedy responses to changes in technologies and user requirements through repeated prototyping, continual evaluations, and strict time limits

the user will quickly receive a reduced-functionality mock up of the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

spiral model definition

A

an iterative version of the Waterfall model where stages are refined and repeated until the final product is complete

the first cycle works towards an initial prototype, and each successive cycle produces a refined prototype

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

waterfall lifecycle definition

A

each stage of the development is completed one at a time in linear order

results from a completed stage are input into the next

any previous stage can be returned to in light of feedback, however the stages that follow need to be worked through again

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

identify the common stages of software development life cycles (SDLCs)

A

analysis, design, development, testing, implementation, evaluation and maintenance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

define white box testing

A

a form of testing carried out by software development teams in which the test plan is based on the internal structure of the program

all of the possible routes through the program are tested

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what is TELOS?

A

a method of analysis used by designers to evaluate the feasibility of a project

it considers technical, economic, legal and operational aspects of the project, as well as scheduling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what are agile methodlogies

A

a collection of methodologies which aim to improve the flexibility of software development

they respond quickly to changes in user requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

identify the advantages of waterfall programming methodologies

A
  • straightforward to manage
  • clear structure
  • clearly documented
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

give three disadvantages of extreme programming methodologies

A
  • high cost due to two people working on one project
  • teamwork and good communication is essential
  • end-user must be present throughout the duration of the project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what type of projects are spiral programming methodologies suited to

A

large, risk-intensive projects with high budget

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what type of projects are Rapid Application Development (RAD) programming methodologies suited to

A

projects where high usability is required and user requirements may not be clear from the outset or are continually changing

suited to projects of a small to medium size with a relatively low budget and short time-frame

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

define an algorithm

A

a set of instructions used to solve a problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

state three key qualities or considerations good algorithms should make

A
  • inputs must be clearly defined - what is valid and what is invalid?
  • must always produce a valid output for any defined input
  • must be able to deal with invalid inputs
  • must always reach a stopping condition
  • must be well-documented for reference
  • must be well-commented so modifications can easily be made
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

what happens in analysis

A

stakeholders state what they require from the finished product

this information is used to clearly define the problem and the system requirements

requirements may be defined by:
- analysing strengths and weaknesses with current way this problem is being solved
- considering types of data involved including inputs, outputs, stored data and amount of data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what happens in design

A

the different aspects of the new system are designed, such as:
- inputs: volumes, methods, frequency
- outputs: volume, methods, frequency
- security features: level required, access levels
- hardware set-up: compatibility
- user interface: menus, accessibility, navigation

a test plan may also be designed at this stage

17
Q

what happens in development

A

the design from the previous stage is used to split the project into individual self-contained modules, which are allocated to teams for programming

18
Q

what happens at testing

A

the program is tested against the test plan formed in the design stage

there are various types of testing that can be carried out:
- alpha testing
- beta testing
- white box testing
- black box testing

19
Q

what is alpha testing

A

alpha testing is carried out in-house by the software development teams within the company

bugs are pinpointed and fixed

20
Q

what is beta testing

A

beta testing is carried out by end-users after alpha testing has been completed

feedback from users is used to inform the next stage of development

21
Q

what is black box testing

A

this is a form of testing where the software is tested without the testers being aware of the internal structure of the software and can be carried out both within the company and by the end-users

the test plan traces through inputs and outputs within the software

22
Q

what is implementation

A

once the testing stage has been used to make the appropriate changes to the software, it is installed onto the users’ systems

23
Q

what happens in the evaluation section

A

after the implementation stage, the effectiveness of the software is evaluated against the system requirements defined at the analysis stage to evaluate it suitability in solving the problem

different criteria are considered, including robustness, reliability, portability and maintainability

24
what is maintenance
any errors or improvements that could be made to the software are flagged by the end-users programmers will regularly send out software updates to fic any bugs, security issues or make any needed improvements
25
waterfall merits
- straightforward to manage - clearly documented
26
waterfall drawbacks
- lack of flexibility - no risk analysis - limited user involvement
27
waterfall uses
static, low-risk projects which need little user input such as a piece of general-purpose software
28
agile merits
- produces high quality code - flexible to changing requirements - regular user inputs
29
agile drawbacks
- poor documentation - requires consistent interaction between user and programmer
30
agile uses
small to medium projects with unclear initial requirements
31
extreme programming merits
- produces high quality code - constant user involvement means high usability
32
extreme programming drawbacks
- high cost of two people working on one project - teamwork is essential - end-user may not be able to be present
33
extreme programming uses
small to medium projects with unclear initial requirements requiring excellent usability
34
spiral merits
- thorough risk-analysis and mitigation - caters to changing user needs - produces prototypes throughout
35
spiral drawbacks
- expensive to hire risk accessors - lack of focus on code efficiency - high costs due to constant prototyping
36
spiral uses
large, risk-intensive projects with a high budget
37
RAD merits
- caters to changing user requirements - highly usable finished product - focus on core features, reducing development time
38
RAD drawbacks
- poorer quality documentation - fast pace may reduce code quality
39
RAD uses
small to medium, low-budget projects with short time-frames
40
FINISH ADVANCED NOTES ON HERE