Development Methodologies Flashcards

1
Q

State two reasons you would develop a computerised system

A

<ul>
<li>Able to complete tasks in shorter time</li>
<li>Employ fewer people</li>
</ul>

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

State the three personnel involved in the software development process

A

Project Manager
System Analyst
Programmer

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

What are the seven steps in the waterfall method?

A
A nalysis
D esign 
I mplementation 
T esting
D ocumentation 
E valuation 
M aintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the two steps in the analysis stage of the waterfall method?

A

Requirement Elicitation

Software Specification

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

Describe one way the system analyst can get information off the client about what they want the program to do

A

Interviews
Observing current system
Inspection of Information Sources

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

Define the <em>‘Software Specification’</em>

A

Software specification is a legally binding document that states EXACTLY what the software should do

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

Apart from legally protecting the client and the programmer, what else should the software specification do?

A

State exactly what program should do

Set out the budget and time scale for the project

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

Explain what the role of a system analyst is

A

To determine the scope of the project and what the software needs to do

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

State three design methodologies for software design

A

Wireframe
Structured Diagram
Pseudocode
Flow Chart

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

Define a ‘Wireframe’ and two considerations when designing a wireframe

A
Wireframe - visual guide that represents the program interface
Considerations
<ul>
<li> Navigation</li>
<li>User Interface</li>
<li>How the data is presented</li>
</ul>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why should a wireframe be created early on?

A

To allow the client to comment and refine the user interface of their software

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

Describe an advantage of using a
a) Structured Diagram
b) Flow Chart
to design your software

A

a) Structured Diagram - shows how different modules are connected
b) Shows flow of data around system

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

Describe Stepwise Refinement

A

Stepwise refinement is the process of breaking down larger problems into smaller problems that are easier to code and solve

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

Give an advantage of top down design

A
  • Developer only concerned with small chunks at a time
  • Problem can be shared
  • Makes it easier to solve individual blocks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Describe two advantages of using pseudocode as your design methodology

A
  • Closer to source code, easier to transfer

- Shows which variables are used in code

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

State some good programming principles

A
  • Meaningful Identifiers
  • Internal Commentary
  • Modular Coding
  • Indentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is a structured listing?

A

Formatted printout of the program

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

State some factors that influence the choice of programming language for developing the software

A
<ol>
<li>Expertise of Programmers</li>
<li>Data Types used</li>
<li>Operating System to be installed on</li>
</ol>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the difference between breakpoints and watchpoints?

A

Breakpoints - stop at a specific line and report values of variables
Watchpoint - stop when variable has specific value

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

What is the purpose of testing?

A

To ensures it meets the software specification
To ensure the program is robust
To ensure the program is reliable

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

What are the three types of test data?

A

Normal, Extreme, Exceptional

22
Q

Apart from Analysis, state two other parts of the waterfall method where the Software Specification is used

A

Design - guidance to ensure that what the programmers are coding meets the specification
Testing - to ensure that the software produces the right output and does everything required

23
Q

Describe ‘Comprehensive’ testing

A

Comprehensive - tests every possible scenario

24
Q

What are the three types of errors?

A

Syntax
Logic
Execution (Run-time)

25
Q

What are the three stages in Alpha Testing?

A

Component
Module
System

26
Q

Describe an advantage of Beta Testing

A
  • will test more thoroughly as not biased towards code, so will try to break it more than the programmer will do
27
Q

What are the three types of testing?

A

Alpha
Beta
Acceptance

28
Q

In Acceptance testing, where should it be carried out and what should the user get?

A

It should be carried out in the location of use (client use)

They should get full unrestricted access to system

29
Q

Describe the ‘Documentation’ phase

A

Documentation is where the programmer formally writes up documents about software

30
Q

What three essential pieces of software should be produced in the documentation phase?

A

User guide
Technical guide
EULA

31
Q

What is EULA?

A

A legally binding document that states the copyright regulations of the software

32
Q

In what guide from the documentation phase would you expect to find the typical system requirements?

A

Technical Guide

33
Q

What are the three types of maintenance?

A

Corrective
Adaptive
Perfective

34
Q

Describe the difference between adaptive and perfective maintenance

A

Adaptive is changing the software to adapt to a new environment
Perfective is changing the software to add new features that the user has requested

35
Q

What are the factors that affect maintenance?

A
Staff Mobility(Whether the original programmers are still with company)
Amount of Documentation
36
Q

What is the main question asked in the evaluation phase?

A

Does the software meet software specification?

37
Q

What are the list of criteria for the evaluation phase?

A
F it for purpose 
R eliability 
R obustness 
E fficiency 
U ser interface
R eadability 
P ortability
38
Q

Define what is meant by software that is ‘Robust’

A

It is able to cope with unexpected input(outside normal range) without crashing

39
Q

What describes a good user interface?

A
  • Consistent
  • Customisable
  • Accessible for all
40
Q

Define Portability of software

A

Portability of software is how adaptable it is to running on other systems that the one it was designed for with little or no change

41
Q

Define what is meant by <em>‘Software development is an iterative process’</em>

A

An iterative process is one in which stages of the process may have to be repeated
Software development is an iterative process because many steps may have to be repeated in order to refine the end product

42
Q

Who would be responsible for producing the project timescale plan?

A

Project Manager

43
Q

Describe what happens in the ‘Rapid Application Development’ Methodology

A

RAD involves building lots of prototypes and refining those prototypes until an end product is reached

44
Q

Describe two advantages of the RAD methodology

A
  • Users are much more involved, and are involved in all stages allowing to comment on and refine the design
  • Shorter development time
  • Able to change design at multiple points
45
Q

If a company was looking at designing a website what design methodology would you recommend and why?

A

Agile because

  • flexible
  • suited to small projects and web design
46
Q

Describe two advantages of agile

A
  • Increased responsiveness

- Reduced costs due to smaller groups of developers

47
Q

Describe a disadvantage of agile

A
  • Too extreme

- Encourages change to software specification

48
Q

What are the three types of test data?

A

Normal
Extreme
Expectional

49
Q

What is the cost of developing a new system?

A

Hardware

Developing Software

50
Q

What does fit for purpose mean in relation to software evaluation?

A

It does required job and does what it is meant to do