1.2.3 Software Development

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/18

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

19 Terms

1
New cards

Describe the waterfall method

  • includes analysis, design, implementation/programming, test, evaluation,

  • each phase is moved down in linear process

  • phases can be revisted back in turn

2
New cards

Advantages and disadv of the waterfall method?

advantages

  • Model is simple to understand and use (1)

  • Each stage is separate and self-contained with well-defined outcomes and written documentation (1)

  • This makes the project relatively straightforward to manage (1)

disadvantages

  • There is not much user involvement after the Analysis stage, when the Specification document is agreed (1)

  • No working software is produced until late in the cycle (1)

  • The user is presented with the finished product and if it is not quite what was required, it is generally too late to make changes (1)

3
New cards

describe the spiral method

  • incremental design

  • includes planning, design, programming and evaluation

  • at the end of all 4 phases it repeats

  • each phase usually adds a new element to the problem

  • is used to manage risk

  • prioritises riskiest elements first

4
New cards

advantages of the spiral model?

  • Software is produced at an early stage so problems and issues can be identified early

  • The user gives feedback on each prototype and any required changes can be made early in the process

  • Added functionality can be added during the process

  • The end result is more likely to be what the user wants

5
New cards

disadvantages of the spiral model?

  • The process of developing prototypes, getting feedback and refining the prototypes is time-consuming so the finished product takes longer to develop

  • A system is more costly to develop because of the time involved

6
New cards

explain RAD

  • iterative approach to software development.

  • emphasis is on developing prototypes rather than extensive 'requirements documentation' up-front.

  • no formal analysis, design stages

  • faster development

  • more feedback used to influence future stages

7
New cards

advantages to RAD

  • Caters to changing user requirements

  • Highly usable finished product

  • Focus on core features, reducing development time

8
New cards

disadvantages to rad

  • Poorer quality documentation

  • Fast pace may reduce code quality

9
New cards

define agile methodology

  • It combines a sequential and iterative approach.

  • the problem is broken down into sections which are developed in parallel

  • adapt to changes in user requirements faster.

10
New cards

advantages of agile methodology

  • Produces high quality code

  • Flexible to changing requirements

  • Regular user input

11
New cards

disadvantages of agile methodology

  • Poor documentation

  • Requires consistent interaction between user and programmer

12
New cards

define extreme programming

agile model in which the development team consists of a pair of programmers alongside a representative end-user.

13
New cards

advantages of extreme programming

  • Produces high quality code

  • Constant user involvement means high usability

14
New cards

disadvantages of extreme programming

  • High cost of two people working on one project

  • Teamwork is essential

  • End-user may not be able to be present

15
New cards

define an algorithm

An n algorithm is a set of instructions used to solve a problem.

16
New cards

what functions are needed for an algorithm to be valid

  • Must be able to deal with invalid inputs

  • Must always reach a stopping condition

  • Must be well-documented for reference

  • Must be well-commented so modifications can easily be made

17
New cards

define alpha and beta testing

  • Alpha testing is carried out in-house by the software development teams within the company.

  • Beta testing is carried out by end-users after alpha testing has been completed. Feedback from users is used to inform the next stage of development.

18
New cards

Describe 3 features of an Object oriented language.

  • programs split into object which are used to build a complex system

  • uses encapsulation to hide data within objects

  • inheritance is when a class inherits an attribute

  • self contained object contains routines / methods / attributes / data

19
New cards

Describe two benefits of using an object oriented paradigm rather than a procedural paradigm

  • code can be easily reused

  • classes can be used in other programs

  • easier to maintain

  • as classes can be modified or extended

  • debugging can be easier as encapsulation limits how attributes are changed