Software Development Approaches Flashcards

1
Q

What are the five steps of the software development cycle

A

Defining and understanding the problem

Planning and designing

Implementation

Testing and evaluating

Maintenance

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

What are the factors that influence when choosing an approach

A

the size of the product

the nature of the product

the skills of the development personnel

the detail of the requirements

the finances available to fund the product development

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

what are the five common software development approaches

A

Structured Approach

Agile Approach

Prototyping Approach

RAD (Rapid Application Development) Approach

End User Development Approach

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

What is the Structured Approach

A

the structured approach is the traditional approach to software development, as the name suggests it involves a very structured, step-by-step stages. Each stage of the software development cycle must be completed before progressing the to the next step

the stages of the Structured approach

Defining and understanding the problem

Planning and designing

Implementation

Testing and Evaluation

Maintenance

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

What is another name for the Structured approach

A

The waterfall method

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

what is Structured approach best suited to

A

it is best suited to software developments where all the requirements of the product are, or can be defined and understood before any planning and designing commences.

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

what is a Driver (not debugging and testing technique)

A

It is the interface between a hardware device and an application

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

what is validation

A

the process of substantiating the requirements of a system.

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

where do most of the source of errors occur in the traditional approach

A

Defining and Understanding the problem (56%)

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

what is the relative cost of error corrections for errors originating at the defining and understanding the problem stage

A

Defining and understanding: 1

Planning and Designing: 5

Implementation: 10

Testing and evaluation: 40

Maintenace: 200

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

Characteristics of the Structured approach

A

it is the most formal approach

has 5 distinct stages (defining and understanding, Planning and Designing, Implementing, Test and Evaluating, Maintaining)

Requires a large time frame

There is very little room for error

Costs of developing with this software is expensive

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

what is the Agile development approach

A

Agile development approach is the quickest Software development cyle approach that creates apps in a short amount of time. It releases the product as fast as it can and continually releases update after update to keep up with the competition.

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

What are the characteristics of the Agile Approach

A

lack of formal stages

emphasis on collaboration and speed to market (development team and clients collaborate closely)

emphasis on the user’s experience

Emphasis on getting the product to the market

iteratively (continously) update and refine the product based on customer feedback

Responds well to changing specifications

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

what is the agile development approach best suited to

A

the Agile approach is best suited to web-based software development and other software applications that are modified reguluary (such that they can evolve and are updated over time)

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

What is are the stages of the Software development cycle for the Agile Approach

A

Defining and understanding initial problem

Plan, design and implement

Test and evaluate current solution

release working version to users

define and understand new requirements

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

What is a prototype

A

A prototype is an enactabled model or mock up of a software system that enables evaluation of features and functions in an operational scenario.

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

What is the prototyping approach

A

The prototyping approach creates re-tierations of a prototype leading up to the final prototype to progressively refine user requirements. This approach allows for interactions between the customers and the software developers.

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

what are the two major types of prototypes

A

Concept prototypes and Evolutionary Prototypes

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

what is a concept prototype

A

a concept prototype is prototype used to promote discussion and further enhance the developer’s knowledge of the customer’s requirements. This prototype is never meant to be the final product.

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

What is an evolutionary prototype

A

An evolutionary prototype is intended to be the intial prototype that will eventually become the final product. Each succesive generation of prototypes is an improvement on its predecessor to the eventually a level of functionality is reached where the prototype becomes the final product.

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

What is the RAD (Rapid Application Development) approach

A

The Rad approach is a software development approach that allows usable systems to be built within a small amount of time. It aims to get a working product up and operation as fast as possible even if some secondary requirements are not met.

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

What is API

A

API (Application Programmers Interface) is a set of functions and procedures built into the operating system that can be used by programmers

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

what are some disadvantages to using the RAD approach

A

buying modules may be more expensive than building from scratch

other software may be requried to be installed on customers’ devices

less efficient code because it is not specifically made for the particular job

Reliance on third party modules may sacrifice needed functionaliy and add unneeded functinoality

Using third party components may create legal problems

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

Characteristics of RAD Approach

A

Lacks formal stages

typically used for developing databases

Uses CASE Tools to assist development

Use of existing routines

Short time development period

small-scale project

low budget

Communication between developer and client

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

What are some advantages for using the RAD approach

A

Buying modules may save money compared with building them from scratch

greatly reduced manual coding

possibly fewer code errors as code is produced by CASE tools

Shorter software development cycle resulting in reduced costs

Standardised look and feel because of the use of APIs and other reusable components

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

What is an End User

A

the final person or persons who operates a software package

27
Q

what is the End User Development Approach

A

The End user approach is where a person, or business create their own products by customising other applications using wizards, automatic code generating devices and Custom Off-The-Shelf packages (COTS for short).

28
Q

what are the advantages of End User development

A

Adaptability to requirements

automate functions at low costs

29
Q

the characteristics of end user approach

A

Use of standard software packages

End user as the developer and maintainer

Small budget

short time period for development

lack of formal stages

29
Q

what are the disadvantages of End User development

A

the product will need to compormise between the requirements and the functionality

the product will not be as efficient compared to the product being developed from scratch

performance is often less than satisfactory

lower quality products are developed

29
Q

what are CASE tools

A

Computer Aided Software Engineering (CASE) tools are used to assist and coordinate the activities involved in the process of software development. Any software tool that is used to assiste developers can be classified as CASE tools.

29
Q

What are the four main methods of installation (or conversion)

A

Direct cut-over

Parallel

Phased

Pilot

29
Q

What does CASE stand for

A

Computer Aided Software Engineering (CASE)

30
Q

what is the consequence of using Direct cut-over method

A

The consequence is that the developers must be absolutely sure that new system is totally functional and operational before using this conversion and users must be fully trained in the operation of the new system before the conversion takes place.

30
Q

what are some of the functions that CASE tools provide

A

System modelling

Data dictionary creation

Product of documentation

Software versioning

Production of source code

30
Q

What is the Direct Cut-Over Installation method

A

This method involves the old system being completely dropped and the new system being completely installed at the same time. (The old system is no longer available).

31
Q

When do you use Direct Cut-over

A

when it is not feasible to operate two systems together.

32
Q

What is the parallel method of installation (or conversion)

A

The parallel installation involves operating both systems together for a period, which allows any major problems discovered in the new system to be corrected without the loss of data.

33
Q

When do you use Parallel methods of installation

A

This method of installation used when the product is of is crucial, meaning there would be dire consequences if the new system were to fail.

34
Q

characteristics of Parallel conversion

A

operates both systems together for a period

allows uses to have time to familiarise themselves with the new system

old system remains as backup

double workload for the users

35
Q

what is the phased method of installation (or conversion)

A

The phased installation is when converting from the old system to the new system involves a gradual introduction of the new features of the new system whilst replacing and turning off parts of the old system.

36
Q

When do you use Phased conversion

A

Phased conversions are used when the product as a whole is still under development.

37
Q

what is an advantage of using phased conversion

A

for large businesses the conversion process is more manageable.

38
Q

what is the pilot method of installation (or conversion)

A

The pilot installation method is when the new system is installed for a small number of users. These users learn, use and evaluate the new system and once they deem it to be performing at a satisfactorily level then the new system is installed and used by all.

39
Q

When do you use the Pilot installation method

A

Pilot installation method is used for new products, as it ensures functionality is at a level that can perform in a real operational setting.

40
Q

characteristics of Pilot conversion

A

a small number of users test the system

allows a base of users to learn the system and then can assist with the training of others when the new system is installed

the final testing of a product

both the developer and customer are able to evaluate the product in an operational environment prior to its full installation.

41
Q

what are Current Employment trends in Software Development

A

Outsourcing

Contract programmers

42
Q

what is outsourcing

A

Outsourcing is when a business hire the services of a specialist software developer.

43
Q

what are some reasons why businesses may choose to outsource software development

A

to reduce and control costs

higher quality results

to free internal resources for other purposes

resources not available internally

access to new technologies

faster developement times

and specialists respond better to change

44
Q

what is a Contract programmer

A

a contract programmers are where a programmer is employed for a short-term product to write particular software products

45
Q

what are the main trends in the software development

A

the Environment in which the developer works

Changing nature of applications

46
Q

what are the main changing in nature of applications categories

A

web-based software

learning objects

widgets

apps

appelts

web 2.0 tools

Cloud computing

Mobile phone technologies

Collaborative environments

47
Q

What is web-based software

A

it is a software that is runned on a web server on the World Wide Web.

48
Q

what is a learning object

A

A learning object is a collection of resources used to teach a specific chunk of knowledge (they are an actual collection of resources.)

49
Q

what is the difference between Learning Management systems and learning Content Management systems

A

Learning Management systems (LMS) are used to deliver the learning objects to the students whereas an Learning Content Management systems (LCMS) used to produce and publish the digital content.

50
Q

what is a widget

A

A widget is a graphical user interface (GUI) element, for example text boxes, menus, raido buttons and checkboxeses.

51
Q

What is an App

A

An App is an appliaction that is executed on mobile phones, due to restricted RAM and secondary storage they are generally much smaller applications compare to their desktop alternatives.

52
Q

What is an Applet

A

An applet is a small application

53
Q

What is Web 2.0 tools

A

Web 2.0 tools are about user participation and collaboration.

54
Q

What is Cloud Computing

A

Cloud Computer refers to software as a services.

55
Q

what does cloud mean in cloud computing

A

cloud refers to the unkown nature of devices providing this service.

56
Q

What are examples of Mobile Phone technologies

A

Digital cameras

internet connectivitiy

Bluetooth

GPS recievers

57
Q

What are Collaborative envrionements

A

is an environment that aims to allow distributed workers or friends to communicate as if they were working physically alongside each other.

58
Q

what is Voice Over IP

A

short for VoIP are systems that provide high quality audio between teams of workers.