1.2.3: Software Development Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is the Waterfall Lifecycle based on?

A
  • A series of stages completed in sequence, start to finish
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does the analysis stage of the Waterfall Lifecycle include?

A
  • A study in which designers evaluate the practicality of the project using ‘TELOS’
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does the ‘T’ in ‘TELOS’ stand for and mean?

A
  • Technical: Is the project possible considering the technology available and accessible?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the ‘E’ in ‘TELOS’ stand for and mean?

A
  • Economic: Can the project be financed in the short-term and long-term?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does the ‘L’ in ‘TELOS’ stand for and mean?

A
  • Legal: Can the project be solved within the law?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does the ‘O’ in ‘TELOS’ stand for and mean?

A
  • Operational: Can the project be successfully implemented and maintained?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does the ‘S’ in ‘TELOS’ stand for and mean?

A
  • Scheduling: Can the project be completed given the time available?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What happens if a change needs to be made within a project being developed by the Waterfall Model?

A
  • Programmers must revisit all levels between the current stage and the stage at which a change needs to be made
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a disadvantage of the Waterfall Lifecycle?

A
  • The model is inflexible and unsuitable to projects with changing requirements
  • Users have little input as they are only involved at the very beginning and end of the Waterfall Lifecycle, during the analysis and evaluation stage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the Agile Methodologies?

A
  • A collection of methodologies aiming to improve the flexibility of software development and adapt to changes in user requirements faster
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is an advantage of using Agile Methodologies?

A
  • It is easier to make improvements or changes to the software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the process of developing a program using Agile Methodologies?

A
  • The problem is broken down into sections developed in parallel, the design and analysis phases often occurring together
  • Different sections of software can be at different stages of development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does using an Agile Methodology work?

A
  • A working prototype is delivered early on and prototypes are built upon and improved in an iterative manner so that new prototypes are delivered regularly throughout the dev cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is an advantage and a disadvantage of using Agile Methodologies?

A
  • Less focus on documentation and more priority is given to user satisfaction
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Extreme Programming?

A
  • An agile model in which the dev team consists of a pair of programmers alongside a representative end-user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Extreme Programming built upon?

A
  • The model is built on ‘user stories’
  • System requirements are specified by the end-user when designing the program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the aim of the ‘paired programming’ during Extreme Programming?

A
  • To produce high-quality code, as the code is written by one person and critiqued by the other so it is improved as it is written
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is an advantage of Extreme Programming?

A
  • Programmers work no longer than 40 hours a week, with the aim that quality is not compromised
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

How does Extreme Programming work?

A
  • Each iteration through the cycle generates what is called a ‘working version’ of the program that could function as the final product
20
Q

What is a disadvantage of Extreme Programming?

A
  • The iterative nature of the development means that it is hard to produce high quality documentation, which is less of a priority
21
Q

What is required in order for Extreme Programming to be effective?

A
  • The ability for the pair of programmers to communicate effectively
22
Q

What are the four key stages of the Spiral Model?

A
  • Analysing system requirements
  • Pinpointing and mitigating risks
  • Development, testing and implementation
  • Evaluating to inform the next iteration
23
Q

What does the Spiral Model focus on?

A
  • Effectively managing risk-heavy projects
24
Q

What are the disadvantages of the Spiral Model?

A
  • If the project is found to be too risky at any point, the project is terminated
  • Hiring risk assessors to analyse the risks can be expensive, making the Spiral Methodology suited to only large-scale projects
25
Q

What is Rapid Application Development?

A
  • An iterative methodology that uses particularly functioning prototypes which are continually built upon
26
Q

When are the user requirements for Rapid Application Development gathered?

A
  • Upon using focus groups
  • Used to develop an ‘incomplete’ version of the solution, given to the user to trial
  • User feedback is used to generate the next, improved prototype
  • The feedback loop is continued until the prototype matches the requirements of the end-users, at which point the product becomes the final product
27
Q

When is Rapid Application Development used?

A
  • Commonly used where user requirements are incomplete or unclear at the start and change over the course
28
Q

What types of projects is the Waterfall Lifecycle used for?

A
  • Static, low-risk projects which need little user input, such as a piece of general purpose software
29
Q

What are the benefits of using the Waterfall Lifecycle for a project?

A
  • Straightforward to manage
  • Clearly documented
30
Q

What are the drawbacks of using the Waterfall Lifecycle for a project?

A
  • Lack of flexibility

-No risk analysis

  • Limited user involvement
31
Q

What types of projects are Agile Methodologies used for?

A
  • Small to medium projects with unclear initial requirements
32
Q

What are the benefits of using Agile Methodologies for a project?

A
  • Produces high quality code
  • Flexible to changing requirements
  • Regular user input
33
Q

What are the drawbacks of using Agile Methodologies for a project?

A
  • Poor documentation
  • Requires consistent interaction between user and programmer
34
Q

What types of projects is Extreme Programming used for?

A
  • Small to medium projects with unclear initial requirements requiring excellent usability
35
Q

What are the benefits of using Extreme Programming for a project?

A
  • Produces high quality code
  • Constant user involvement means high usability
36
Q

What are the drawbacks of using Extreme Programming for a project?

A
  • High cost of two people working on one project
  • Teamwork is essential
  • End-user may not be able to be present
37
Q

What types of projects is the Spiral Model used for?

A
  • Large, risk-intensive projects, with a high budget
38
Q

What are the benefits of using the Spiral Model for a project?

A
  • Thorough risk-analysis and mitigation
  • Caters to changing user needs
  • Produces prototypes throughout
39
Q

What are the drawbacks of using the Spiral Model for a project?

A
  • Expensive to hire risk assessors
  • Lack of focus on code efficiency
  • High costs due to constant prototyping
40
Q

What types of projects is Rapid Application Development used for?

A
  • Small to medium, low-budget projects with short time-frames
41
Q

What are the benefits of using Rapid Application Development for a project?

A
  • Caters to changing user requirements
  • Highly usable finished product
  • Focus on core features, reducing development time
42
Q

What are the drawbacks of using Rapid Application Development for a project?

A
  • Poorer quality documentation
  • Fast pace may reduce code quality
43
Q

What is Black Box Testing (Functional Testing)?

A
  • Carried out independently of the code used in the program
  • Involves looking at program spec and creating a set of test data that covers all the inputs, outputs, and program functions
  • Black Box Testing is where the code is not known
44
Q

What is White Box Testing (Structural Testing)?

A
  • Dependent on the code logic, derives from program structure rather than function
  • Program code is studied, tests devised that test each possible path at least once
  • White Box Testing is where the code is known
45
Q

What is a weakness of White Box Testing (Structural Testing)?

A
  • Will not detect missing functions as what is not present cannot be tested
46
Q

What is Alpha Testing?

A
  • Carried out by the in-house team
  • Often reveals errors and omissions in system requirements
  • User may discover system does not have required functionality as requirements not specified clearly enough/ developer overlooked/ misunderstood spec
47
Q

What is Beta Testing?

A
  • Giving package to a number of potential users who agree to use system to report any problems
  • Exposes product to real use and detects problems and errors not anticipated by developers
  • Product can be modified and sent out for further testing until the developer is confident to put the product on the market