1.2.3 Software development Flashcards

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

What are the key stages of a software lifecycle?

A

Analysis, design, implementation, installation, evaluation

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

What happens during the analysis stage of a SDLC?

A

The requirements of the system that solves the problem must be established.

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

What data will be captured during analysis?

A
  • What data will be required in the program e.g. users
  • Procedures that the program will need e.g. what where when how + error handling
  • Future - development plans
  • Problems with any existing system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What happens during the design stage of an SDLC?

A

Designs are created for data input, storage, processing, GUI, security and output.

Hardware that the system will need must also be considered

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

How could data for the analysis section be collected?

A
  • Questionnaires

- Interviews

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

How would processing be designed?

A

The algorithms and modules of the solution designed and explained

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

How would data storage be designed?

A

Identifying a structure that willl be used to hold the data such as tree or queue, or a file or database.

How this data will be accessed, how program will interact with structure

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

How would the input and output be designed?

A

What data is to be input / output
How frequently data will be input / output
Method used to input / output data

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

What happens during the implementation stage of an SDLC?

A

The program is coded. The problem is split into multiple modules which each perform a single task and combine to make the full program.

Technical guides are also created.

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

What happens during the testing stage of an SDLC?

A

The program is vigorously tested for bugs against a test plan. Any errors that are found can be corrected.
Valid, invalid and boundary data must be tested.

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

What is black box testing?

A

Testing independent of the code.

Looking at the program specification and designing a series of inputs that will test each feature based on the spec.

Tests how well the solution fits its requirements

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

What is white box testing?

A

Testing dependent on code.

The code is studied and data is input that will test each possible path at least once.

Tests the functionality of the code

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

What is a benefit of black box testing?

A

It can test functions that are not present in the code whereas white box can only test what is in the code.

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

What is alpha testing?

A

Carried out by developer’s team. Finds large errors such as omission of system requirements.

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

What is beta testing?

A

When a pre release version of the program is sent out to a number of potential users who report back any issues they have with the program. Exposes the product to real life use and can detect small issues and issues that were not anticipated by developers.

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

What happens during the evaluation stage of an SDLC?

A

Post implementation review, often after the system has been active for a while. This is feedback from the end users which covers:
The systems performance against anticipated objectives
Assessment of each aspect against criteria
Errors
Unexpected benefits and problems

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

What happens during the maintainence stage of an SDLC?

A

The program is changed to fix issues or to adapt to a user’s changing requirements

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

What is perfective maintenance?

A

When you assume that a program always has room for improvement and constantly work on updates - e.g. Microsoft

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

What is adaptive maintenance?

A

When a system must adapt based on changing needs within a company

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

What is corrective maintenance?

A

When you correct problems that surface after the system has been running for a short time

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

Describe the waterfall lifecycle model.

A

Each SDLC step is completed, one at a time from beginning to end.

Each step leads onto the next.

User is involved at the start of the process but has no more input until evaluation stage

Possible to go back one stage at a time but must then work down again

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

Describe the spiral lifecycle model.

A

Uses SDLC steps iterative stages. User involved in analysis and evaluation only.

Once first analysis has been complete, steps are followed to produce prototype.

Prototype evaluated and changed with more evaluation each time until final product is finished.

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

When is the spiral model most commonly used?

A

For large projects that take years to deliver.

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

Describe the agile model.

A

SDLC steps not completed in linear order. Similar to spiral model.

Enough requirement gathering done at beginning for developers to understand the end product.

Involves creating lots of prototypes and constantly evaluating and gathering input from user.

e.g. analysis for one section, design and evaluate then move onto next section

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

What does the success of using the agile model depend on?

A
  • Simple model - don’t try to incorporate too many features at once
  • Rapid feedback from user
  • User requirements may change
  • Incremental changes
26
Q

What is extreme programming?

A

Using agile model where frequent releases are made in short cycles. Sets checkpoints at which new customer requirements are adopted.

Improves software quality and responsiveness to changing customer requirements

27
Q

What is rapid application development?

A

Focuses on completing project as fast as possible to get around changing user requirements.

  • Uses workshops and focus groups to gather requirements quickly
  • Prototyping to refine system in line with requirements
  • Producing within strict time limit - may not be perfect but is good enough
  • Reusing software components
28
Q

What is an advantage of the waterfall method?

A

Suitable for very small projects where supervision is required, for example by students or trainees.

29
Q

What is a drawback of the waterfall method?

A

Little user involvement means that solution cannot adapt to changing requirements. This means that for larger projects, the user may not be fully satisfied with the end product

30
Q

What is a benefit of the spiral model and the agile model?

A

Both methodologies allow for changing user requirements as they use prototypes to refine down to what the user wants.

Agile is better than the spiral model at this.

31
Q

What is a drawback of the agile model?

A

For large projects it can get bogged down with the constant changing as the developers will go back and keep changing what they have done.

32
Q

What is a benefit of extreme programming and rapid application development?

A

Good for very large projects as they use set time frames to evaluate prototypes and move onto next section.

33
Q

What is an algorithm?

A

A set of steps that are followed to get to a desired solution.

34
Q

What are the properties of a good algorithm?

A
  • Clear and precise steps
  • Correct output for any valid inputs
  • Allows for invalid inputs
  • Must terminate at some point
  • Execute efficiently, in as few steps as possible
  • Easy to understand and modify if necessary
35
Q

What is a programming paradigm?

A

A style of computer programming

36
Q

What are the four main programming paragidms?

A

Procedural
Object oriented
Declarative
Functional

37
Q

What is procedural programming?

A

A series of instructions that are executed in order to solve the problem. Can use programming constructs such as sequence, iteration, selection and recursion.

38
Q

What is a benefit of procedural programming?

A

It is very simple and easy to learn - applicable to a wide variety of problems.

39
Q

What is object-oriented programming?

A

A style of programming that uses interacting objects (instances of classes) which are each responsible for their own data and the operations on that data.

40
Q

What are some features of object oriented programming?

A

Inheritance, Polymorphism, Encapsulation

41
Q

How could a hospital be abstracted using object oriented paradigm.

A

Ward Class:
Attributes = name, no_of_beds, no_of_patients, location, type
Behaviours = admit_patient, discharge_patient

Object = instance of ward class:
name - Bramford, 6 beds, 4 patients, type = Childrens

42
Q

What is inheritance?

A
Inheritance is when a subclass takes on the methods
and attributes of a parent (super) class.
43
Q

What is polymorphism?

A

The ability to use the same code to process different objects according to their type.

e.g. All objects in subclasses of a superclass can carry out the same methods, however the methods could be overwritten for each subclass to carry out different actions

44
Q

What is encapsulation?

A

When attributes of a class cannot be accessed directly but only changed through methods.

45
Q

What is a class?

A

A template defining methods and attributes used to make objects.

46
Q

What is an object?

A

An instance of a class.

47
Q

What is a method?

A

A subroutine associated with an object.

48
Q

What is an attribute?

A

A variable contained withing and associated to an object.

49
Q

Why is encapsulation important?

A

It means that attributes cannot be altered in ways that they should not be.

For example, a switch may hold the value on or off, which can only be changed by a switching method. We do not want the switch to be edited to hold a value such as “inbetween” as this could cause errors.

50
Q

What is overwriting?

A

When a class inherits attributes and methods from a superclass, these can be changed to make them unique to the subclass by simply redefining them.

New attributes and methods can also be added.

51
Q

What is instantiation?

A

The creation of a new object.

52
Q

Why is inheritance useful?

A

It means that code does not have to be rewritten - where objects are related the methods and attributes can simply be inherited.

53
Q

Give some advantages of object oriented programming

A
  • Extensive planning phase so better designs with fewer weaknesses
  • Once an object is created, programmers can use its methods without having to know how they work
  • Objects can be easily reused
54
Q

What is a constructor in OOP?

A

A procedure with the name “new” that creates a new object.

55
Q

What is declarative programming?

A

When you write a statement which describes the problem to solve and the language implementation decides the best way to solve it.

56
Q

What languages support procedural programming?

A

Python, Pascal

57
Q

What languages support object-oriented programming?

A

Java, Python

58
Q

What language uses declarative programming?

A

SQL

59
Q

What is OOP used for?

A

To abstract details of implementation away from the programmer and make code reusable and programs easy to maintain.

60
Q

What is declarative programming used for?

A

To query databases.

61
Q

What is procedural programming used for?

A

Often for educational purposes.