Programming Flashcards

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

What are the characteristics of a Waterfall Model?

A

Simple to use
Allows the mapping of every step of the development process
Tasks are completed in sequential
Incremental approach
Process is repeated until the system is completed

After the product is developed, it must be tested
If bugs occur, they should be removed
After deployment, continue observing the system
Make adjustments in order to improve the software

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

Advantages of Waterfall Model

A

Easy to understand and use
Quite easy to manage
Minimise time spend
Easy to meet deadlines
Best suited for bigger teams and projects as there is heavy documentation involved
With Waterfall, everything is made to be simple and straightforward

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

Disadvantages of Waterfall Model

A

Changes can be extremely costly or even impossible to make
May take a while for working software to appear
Can become quite risky if on a tight budget and end result does not meet expectations
Research time may get excessive (not good for small teams)
Quite difficult to measure the progress made as there is no working software delivered until late in the development cycle

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

What are the characteristics of an Iterative Model?

A

There isn’t typically a lot of planning involved in the initial stages of building the new system
Needs to break down the entire project into smaller components - product builds, known as iterations
Each iteration goes through the typical stages of the software development life cycle - planning, design, implement, test, and deploy
Each cycle builds on the others

Once the product build is completed, it can be deployed immediately
Thus, working software can be seen as of the beginning of the development process
Can work on a couple of iterations at once
Allows slight changes along the way during development to adjust the software to meet needs
Cost of making adjustments is lower compared to the Waterfall model

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

Advantages of Iterative Model

A

Can make slight changes to the software (system can evolve in the future)
There’s not as thorough planning involved in the initial stages as it is in the Waterfall method
Working software is released as soon as possible
Can measure the progress made
Can work on a couple of iterations simultaneously
Better suited for bigger teams and projects

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

Disadvantages of Iterative Model

A

Lot of management involved
No clear image of how the end system should look like
Highly skilled engineers/ programmers are needed to adopt
There might be architecture bugs and design issues along the way due to the lack of specific requirements

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

Uses of Iterative Model

A

Use this method if team is skilled enough to adapt to new technologies
Iterative model is also a bit rigid and follows some strict guidelines
Better suited for bigger teams and projects

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

What are the characteristics of a Rapid Application Development (RAD) Model?

A

Consists of iterations, known as prototypes where each prototype is a functioning part of the overall software
Allows deployment of each prototype separately, thus valuable feedback can be collected throughout development
Prototypes developed are reusable for future projects
No need to create laborious documents to get your team started
Embraces change

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

Advantages of RAD Model

A

Stresses on developing reusable prototypes that saves time and money for future projects
Focuses on delivering working prototypes
Collecting feedback from the market with constant prototype releases
Measures the progress easily by delivering working prototypes continuously
Works great when the team is smaller (around 8 people)

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

Disadvantages of RAD Model

A

Requires highly skilled and committed team members
Requires that the software to be broken down into smaller chunks - prototypes (otherwise it will be very difficult to use)
Considerable management is needed that can make the work process more difficult
End user must be constantly involved in the developmentstage

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

Uses of Iterative Model

A

The RAD method is perfect for projects where the productcan be broken down into prototypes and then reuse these prototypes for future software releases
The RAD model also encourages changes and iterations
RAD method is not suited for projects where well-defined requirements are needed as there is a lack of documentation

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

Why would corrective maintenance be used?

A

Necessary when a fault or bug is found in the operation of the new system
These are software bugs which were not picked up at the formal testing stage
A technician or the original programmers will be needed to correct the error

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

Why would adaptive maintenance be used?

A

Necessary when conditions change from those that existed when the original system was created
This may be because of a change in the law (e.g. tax rates may change
Or the hardware may be changed, so that changes need to be made to the software for it to remain functional

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

Why would perfective maintenance be used?

A

Required to “tweak” the system so that it performs better
E.g. searching for a particular stock item may be quite slow
The technician decides that supplier details should be stored in another file rather than with the details of the stock
Size of the stock file is reduced and it is far quicker to search
This has not changed how the system operates as far as the user is concerned but the performance improves

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

What are the three major types of error in programs?

A
  • Syntax errors (incorrect use of the programming language/incorrect spelling of commands)
  • Logic errors (the program does not do what was intended/program does not do what the programmer wants)
  • Run-time(or executable) errors (ones that are only discovered when the program runs)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

White-box Testing

A

Test code line-by-line
Examine for correct logic and accuracy
Can be done manually by drawing up a table to record the values of the variables after each instruction is executed
E.g. Test every possible condition of selection statements (If and Case Select)
E.g. Use debugging software to run the program step bystep and then display the values of the variables

17
Q

Black-box Testing

A

Testing considers the inputs and the outputs they produce only
Use test data and compare the results with the expected ones (already calculated)
Does not check the individual code
Code is viewed as being inside a “black box”

18
Q

Alpha α-testing

A

Alpha testing done within developer’s company
Follows testing done by programmers
Done by employees not involved in the development
May still not identify all errors
Beta testing follows

19
Q

Beta β-testing

A

Software is made available to a selected and limited number of testers, such as:
- Invited customers
- Magazine reviewers
- Authors of books about the use of the software
- Other developers of software and hardware
Testers provide constructive criticism
Users agree to provide feedback on the new product

20
Q

Acceptance Testing

A

End product (program) delivered to customer
Some errors may still exist
Surface on client’s hardware and operating system platform
Developers must prove that program does everything was developed for

21
Q

Stub Testing

A

Stub is a dummy program or component, whose code is not ready for testing

22
Q

What are suitable test data?

A

Normal data (reasonable, within range)
Borderline (boundary) data
Invalid data

23
Q

What is a dry run/trace?

A

Testing an algorithm using test data values

24
Q

Integrated Development Environment (IDE)

A

Break points
Underline/highlight syntax errors as the code is typed
Debugging tools
Certain words/phrases are coloured