3. Software Development Approaches Flashcards

1
Q

What is software development?

A

The process of creating new software solutions.

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

Identify the characteristics of the structured approach (x5)

A
  • Characterised by distinct formal stages
  • The coding of the solution cannot commence until the solution has been thoroughly planned in its entirety
  • Generally used for large-scale projects where performance and reliability are vital requirements
  • Since a large audience will use the final product, extra time and money is spent to ensure the final product is of the highest quality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Defining and understanding the problem (x5)

A
  • Problem requirements must be understood precisely
  • System analysts are experts in determining and defining requirements; they commence by compiling a list of outputs and test them to determine the exact inputs
  • Existing systems should be studied to ensure the new system will accomplish all existing requirements
  • All elements of the system should be considered
    Includes catering to the needs of users, which may involve the creation of screen designs to document user requirements
  • Development plans are constructed, which provide an overview of the steps required to develop the solution and the relative timing allocated to each step
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Planning and designing (x5)

A
  • The structures that will hold the data during processing will be designed
  • The project is broken down into modules; each module solving a particular aspect of the problem, known as top down design
  • Methods of solving each problem are described using an algorithm description language such as pseudocode and flow charts
  • These algorithms form the templates for the programmers who will code the solution in a programming language
  • Data structures are designed and design standards are discussed and created
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Implementing (x4)

A
  • The solution is coded in a programming language
  • Programmers are allocated specific modules to code
  • They are given system models and algorithms
  • This documentation ensures each programmer adheres to the planned solution and assists each module will operate correctly with other modules
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Testing and evaluating (x4)

A
  • Software must be tested before it can be used
  • Large software development companies have teams of testers whose sole function is to check products against original requirements
  • This stage involves testing for errors and performance of the product under real conditions
  • Selections of potential users are often used to evaluate the solution and ensure it meets the user’s requirements, and is particularly important in regard to the user interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Maintaining

A

Maintenance programmers are employed to perform upgrades to include new functionality and improve existing functionality

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

Identify the characteristics of the agile approach (x8)

A
  • Places emphasis on the team developing the system rather than following predefined structured development processes
  • They encourage cooperation and teamwork; they are particularly well suited to web-based software development
  • Small teams of developers are used, they are able to share ideas and work on solutions together
  • Often team members are multi-skilled so all are actively contributing to all development activities
  • Basic functionality is included initially so operational software can be released as soon as possible
  • Working versions are regularly delivered
  • Responds well to changing specifications
  • Development team and clients collaborate closely throughout development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Identify the disadvantages of the agile approach (x3)

A
  • A significant issue is how to construct agreements when outsourcing the development
  • Traditionally a strict set of detailed requirements together with the total cost and time for completion is negotiated
  • No detailed specifications exist
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define prototype

A

An enactable 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
11
Q

Identify the characteristics of the prototyping approach (x5)

A
  • Users are more able to express their needs when they see a realistic model of the final system
  • Feedback based on prototypes of the final system uncovers many issues that would be difficult to determine using traditional meetings and text based documents
  • Software prototypes can be used purely to assist in the formulation of requirements or they can be evolutionary
  • Concept prototypes are produced to assist in the determination of requirements, they are then discarded
  • Evolutionary prototypes develop over time and finally become the final operational product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe the RAD approach (x4)

A
  • The main aim of RAD is to create a usable software solution in the shortest time possible at the lowest possible cost to the client
  • Maximum use is made of existing code and software solutions
  • CASE tools (computer aided software engineering) tools are used to further streamline the design and development process
  • The software produced is limited to the capabilities of the software used during development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Identify the characteristics of the RAD approach (x6) :-)

A

Lack of formal stages - needs of individual clients and the individual product determine the manner in which the product is developed. As the scope is limited each team member is able to have an intimate knowledge of the entire system

Appropriate applications to develop RAD solutions - many RAD applications are developed using the scripting language built into larger software packages, such as VBA (visual basic for applications). A graphical integrated development environment (IDE) greatly improves the productivity of most RAD programmers

Communications between the developer and client - work together as a team. Often a single developer will use RAD to create an application for use by a specific client. Responding to changing and new specifications occurs quickly

Short time period - requirements are compromised in the interests of convenience

Small scale project - suited to small-scale projects; client is often a small business and the developer an individual

Low budget - RAD allows quality applications to be developed at low cost (due to existence of modern 4GLs). Encourages reuse of software components or modules

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

Describe the end user approach

A

When the end user develops their own software solution; they’re the developer. They usually have little to no experience in programming or software development
User makes extensive use of wizards and existing solutions

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

Describe the characteristics of the end user approach (x4)

A

Use of standard software packages - software is produced by packages already owned by the user. Experience as a user gives them sufficient knowledge to customise the product to suit their particular needs

End user as developer and maintainer - develop software with familiar tools. The solution focuses on solving the problem with little regard to testing or usability issues. No communication issues.

Small budget and/or short period for development - often zero development cost, an incentive for many users to develop their own software applications

Lack of formal stages - unstructured, informal developed, often undertaken with very little planning. No formal attempt is made to document the solution

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