1.2.3 Software Development Flashcards

1
Q

What are the main stages of software development?

A

Analysis, Design, Implementation, Evaluation and maintenance.

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

What happens during the analysis stage of software development?

A

The stakeholders state what they require from the project. This is used to define the system requirements.

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

How could system requirements be defined?

A

Strengths and weaknesses that exist in the current ways that the problem is being solved.
How the project will be used in the future.
Data that’s expected/required.

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

What happens in the design phase of software development?

A

The different aspects of the new system are designed and planned for.

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

What might be designed and planned in the design phase of software development?

A

Inputs and outputs (volumes, methods and frequency).
Hardware requirements.
User interface.
Data structures.
Security features.
Testing.

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

What happens in the implementation stage of software development?

A

Coding and testing takes place. Errors are traced and corrected.
Any user and technical documentation is written.
Once complete, software is installed on the users computer.
It is likely that new issues will arise from this point and will require further development.

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

What happens in the testing stage of software development?

A

Programs are tested against those outlined in the design phase. Some testing will take place during development (iterative) and some after (post development).

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

What are the different types of testing?

A

Black box.
White Box.
Alpha.
Beta.

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

What is black box testing?

A

Testing that’s carried out independently of the code. Uses test data that covers the inputs outputs and functions of the program.

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

What is white box testing?

A

Testing the codes logic. Tests are devised so that each path through the program is tested.

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

What is alpha testing?

A

Testing carried out by the software development team.

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

What is beta testing?

A

Software is given to a selection of the end users who can report any faults to inform the next stages of development. Real users, who don’t understand the code, may try and do things that the developer didn’t anticipate.

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

What happens in the evaluation stage of software development?

A

The effectiveness of the software is evaluated against the system requirements. To see if it solves the problem outlined in analysis, how effective, usable, reliable, portable and maintainable the solution is.

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

What happens in the maintenance stage of software development?

A

Any errors or improvements to the system are flagged up. Programmers then issue updates to fix any bugs, security issues or to add improvements.

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

What are the types of maintenance?

A

Corrective.
Adaptive.
Perfective.

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

What is corrective maintenance?

A

Correcting bugs that are found once releaced

17
Q

What is adaptive maintenance?

A

User requirements may change so the software will have to adapt to meet the new needs.

18
Q

What is perfective maintenance?

A

Making improvements to the software.
Even if the software works there could be ways of improving it - making it easier to use, faster or adding more functuallity.

19
Q

What happens in the waterfall lifecycle model?

A

Each stage of the software development cycle is completed and documented before the next stage is started. Customers don’t see the end product until it is finished as there isn’t too much to show until its done. Any changes to the project often mean starting again or redoing lots.

20
Q

What are the advantages of the waterfall lifecycle model?

A

Simple to understand and use.
Each stage is separate and self-contained with well defined outcomes.
Makes project management quite straight forward.

21
Q

What are the disadvantages of the waterfall lifecycle model?

A

Not much user involvement after the analysis stage once the specification document is made.
No working software is made until late into the cycle.
User is presented with a finished product and if its not exactly what is needed then its typically too late to make any changes.

22
Q

When is the waterfall lifecycle model best used?

A

When the requirements are clear and fixed (no ambiguities).
The technology is well understood.
The project is short.

23
Q

What is the spiral model of software development?

A

The project passes through each stage of the cycle repeatedly. Each successive loop of the spiral produces a more refined prototype until the software meets all of the requirements.

24
Q

What are the advantages of the spiral model?

A

Well defined steps make the project easy to manage.
Software is produced early on in the process so problems can be identified and dealt with early.
The user gives feedback on each prototype and any required changes are made earlier in the process.
Functionality can be added during the process.
End result is more likely to be what the user wants.

25
Q

What are the disadvantages of the spiral model?

A

Takes longer to produce an outcome.
makes it more costly to develop due to the time involved.
Doesn’t work for smaller projects

26
Q

When is the spiral model used for software development?

A

Medium to high risk projects.
Projects where the user is unsure of what they need and what the possibilities are.
Projects with complex requirements.
Large projects that may take years to develop - as technologies may change during the process, meaning the project also has to change.

27
Q

What is the Agile method of software development?

A

Where software is made in rapid incremental cycles where each version builds on the functionality of the previous. Allows for non-sequential development so all the stages of the cycle can happen at once. Each version being thoroughly tested. The end user is hevily involved with the process and provides feedback at the end of each cycle. Each cycle produces a prototype so there is working code early on in development.

28
Q

What are the advantages of of the agile method for software development?

A

Rapid and continuous delivery of useful software leads to customer satisfaction.
Customers, developers and testers constantly interact with each other.
Working software is delivered frequently - weeks instead of months.
Software can be easily adapted to changing circumstances - even late changes to requirements can be implemented.

29
Q

What are the disadvantages of the agile method of software development?

A

Lack of emphasis on design and documentation.
Project could fail to deliver if the customer isn’t clear on what they want.
Not suitable for novice programmers as they need to make good decisions quickly and independently.

30
Q

When would the agile method be used?

A

For small incremental changes that can be made quickly and cheaply. Good for expanding or developing businesses where a user needs are continually changing.

31
Q
A