Chapter 11 Software Development Flashcards

Methods used to develop software on a big or small scale. Also there is a small focus on testing,prototyping and cycle stages.

1
Q

What is software developement?

A

The process of encompassing the entire project, covering reasons for developement, audience and functionality.

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

What do you need to know before tackling software developement.

A

The client objectives, the stakeholders, services and constrains(functionality goals), expectation of quality and expectiation of time and budget.

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

What is a prototype?

A

Prototype is a version of a system that lacks full functionality, but shows feature implementation

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

What does a prototype give us ?

A

A prototype means the target audience gets a look and feel and can therefore make comments and suggest improvements to better fit the specification

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

What are the 2 methods of prototyping ?

A

Piloting and Modelling

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

What does piloting mean ?

A

Using a prototype to test the feasibility of desing proporsal or requirement

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

What does modelling mean ?

A

Built in order to develop further understanding of requirements.

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

What types of prototypes is there?

A

THROWAWAY OR EVOLUTIONARY

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

What is throwaway prototype?

A

A prototype where only knowledge gained from it is used.

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

What is an evolutionary prototype ?

A

A prototype that is actually a system under developemtn which keeps getting closer to solution.

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

What is a waterfall life cycle?

A

A method of development which consists of a sequence of stages/milestones. The project is being completed by flowing down those stages, where the next stage can only be entered once previous has been completed.

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

Stages of the waterfall method?

A
Determine requirements  
Analysis 
Design 
Coding 
Testing 
Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the advantages of the waterfall cycle?

A

Simple and easy to manage
Everyone can be clear on responsibilities and output is expected at each stage
Clear to see if project is on time / forces plannning

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

Disadvantages of the waterfall method?

A

Only at the testing stage problems willl show up
Misunderstanding the requirements may lead to issues which have to rectified once money has already been spent
Cant be adapted and cannot go back on stages

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

What kind of projects suit the waterfall method ?

A

Simpler projects which have clear requirements. It is also best if the projects have a fixed scope and fixed price.

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

What does RAD stand for ?

A

Rapid Application Developement

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

What is RAD.

A

A software developemtn process which relies heavily on programming and doesnt go much into the requirements or planning. It consists of cycles of prototyping+evaluation until functionality is validated by user.

18
Q

Advantages of RAD.

A

Requirements or goals do not have to be fully clear

With constant and good feedback teh prtoduct is likely to have excellent functionality.

19
Q

Disadvantages of RAD.

A

Very hard to accomplish if the user isnt commited to giving feedback.
Chance of havaing limited features since the application is pushed to the latest version for release.
Reduced scalability

20
Q

What kind of projects is RAD best suited for?

A

Projects with unclear requirements and qucik completion time.

21
Q

What is the spiral method ?

A

Often called an extension of the waterfall method, however it is designed so that risks are evaluated and reviewed regularly. It consists of 3 stages.

22
Q

What are the three stages of the spiral method and what happens in each?

A

IDENTIFICATION - requirements are determined for the following rotation, chosen based on risks
DESIGN - risks are identified a nd alternatives are presented after a prototype is made( usually )
BUILD - a prototype with original requirement is made

23
Q

Advanatges of the spiral method ?

A

Ideal for projects with high risks.

Strong approval and documentation control

24
Q

Disadvantages of the spiral model?

A

Risk analysis is only as good as the person who does it
Can be very costly
Doesnt work well on smalller projects
May continue idefinitely

25
What is agile development ?
A group of methodologies, designed to cope with changing requirements. Teams produce software which is produced in an iterative manner, where improvements are built upon previous versions.It means the client gets to see results sooner and is able to provide adaptive feedback to fully meet objective.
26
What is SCRUM?
Scrum is an agile framework for managing knowledge work, with an emphasis on software development. It is designed for teams of three to nine members, who break their work into actions that can be completed within timeboxed iterations, called "sprints", no longer than one month and most commonly two weeks, then track progress and re-plan in 15-minute stand-up meetings, called daily scrums.
27
Advantages of agile development ?
Software is deployed quicker,so customer can get value Less resources are wasted since it is always up to date You can adapt to changes bettter Immediate feedback Low costs Issues are detected earlier and fixed
28
Disadvantages of agile development?
Difficult to measure progress with all those cycles Requires a lot of employee energy since constant communication is required. No clear end No overall design No fixed cost Bigger features are avoided since they dont fit the cycles With time the software can become disjointed
29
What is extreme programming ?
A methodology where a client or their representative becomes part of the team to decide 'user stories', decide tests and answer questions.It is an agile method where the focus is upon the code.
30
How does extreme programming work ?
It has iterations where a program is coded,tested and imporved repeatedly. This is done in pairs and under strict standarts to ensure quality
31
Advantages of extreme programming ?
Quality of code is likely to be very high Can be adapted t changing requirements Makes development simple and fast
32
Disadvantages of extreme programming ?
Programmmers must be able to collabrate together and be near each other Client needs to stay commited
33
What are the three types of errors?
SYNTAX LOGIC RUN-TIME
34
What is a syntax error?
An error occurring when a statement breas the rules of the programming language, which makes it impossible to understand for the machine
35
What is a logic error ?
An error which is a mistake in the algorithm leding the function to do something that wasnt intended by the user. This can only be seen after execution
36
What is a run-time error?
An error occurring due to an unexpected situation with the data being processed or another factor, which causes the program to crash during execution.This si split into OVERFLOW,STAKC OVERFLOW and LIBRARY.
37
What is OVERFLOW?
A variable is too big to store
38
What is STACK OVERFLOW?
Not enough space to store operations
39
What is LIBRARY error?
No library implemented
40
What are the types of testing we have to know about?
- Alpha - Beta - Unit - Integration - White Box - Black Box - Destructive
41
What is testing?
An action which ensures lack of errors in the program.