Software Development Approaches Flashcards

(64 cards)

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
What are some advantages for using the RAD approach
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
26
What is an End User
the final person or persons who operates a software package
27
what is the End User Development Approach
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
what are the advantages of End User development
Adaptability to requirements automate functions at low costs
29
the characteristics of end user approach
Use of standard software packages End user as the developer and maintainer Small budget short time period for development lack of formal stages
29
what are the disadvantages of End User development
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
what are CASE tools
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
What are the four main methods of installation (or conversion)
Direct cut-over Parallel Phased Pilot
29
What does CASE stand for
Computer Aided Software Engineering (CASE)
30
what is the consequence of using Direct cut-over method
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
what are some of the functions that CASE tools provide
System modelling Data dictionary creation Product of documentation Software versioning Production of source code
30
What is the Direct Cut-Over Installation method
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
When do you use Direct Cut-over
when it is not feasible to operate two systems together.
32
What is the parallel method of installation (or conversion)
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
When do you use Parallel methods of installation
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
characteristics of Parallel conversion
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
what is the phased method of installation (or conversion)
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
When do you use Phased conversion
Phased conversions are used when the product as a whole is still under development.
37
what is an advantage of using phased conversion
for large businesses the conversion process is more manageable.
38
what is the pilot method of installation (or conversion)
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
When do you use the Pilot installation method
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
characteristics of Pilot conversion
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
what are Current Employment trends in Software Development
Outsourcing Contract programmers
42
what is outsourcing
Outsourcing is when a business hire the services of a specialist software developer.
43
what are some reasons why businesses may choose to outsource software development
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
what is a Contract programmer
a contract programmers are where a programmer is employed for a short-term product to write particular software products
45
what are the main trends in the software development
the Environment in which the developer works Changing nature of applications
46
what are the main changing in nature of applications categories
web-based software learning objects widgets apps appelts web 2.0 tools Cloud computing Mobile phone technologies Collaborative environments
47
What is web-based software
it is a software that is runned on a web server on the World Wide Web.
48
what is a learning object
A learning object is a collection of resources used to teach a specific chunk of knowledge (they are an actual collection of resources.)
49
what is the difference between Learning Management systems and learning Content Management systems
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
what is a widget
A widget is a graphical user interface (GUI) element, for example text boxes, menus, raido buttons and checkboxeses.
51
What is an App
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
What is an Applet
An applet is a small application
53
What is Web 2.0 tools
Web 2.0 tools are about user participation and collaboration.
54
What is Cloud Computing
Cloud Computer refers to software as a services.
55
what does cloud mean in cloud computing
cloud refers to the unkown nature of devices providing this service.
56
What are examples of Mobile Phone technologies
Digital cameras internet connectivitiy Bluetooth GPS recievers
57
What are Collaborative envrionements
is an environment that aims to allow distributed workers or friends to communicate as if they were working physically alongside each other.
58
what is Voice Over IP
short for VoIP are systems that provide high quality audio between teams of workers.