Slides badge

Development Methodologies and Analysis

Learning Intentions

  • Describe and compare the development methodologies (iterative development, agile methodologies)

Success Criteria

  • Be able to create test data and explain why it is needed
  • Be able to identify errors and identify the cause of them

The Waterfall Model

  • Iterative development sometimes called the Waterfall Model is one method of development. It follows a linear approach to development and consists of 7 stages.

The Waterfall Model

  • Analysis involves studying the problem and understanding it.
  • Design involves working out the steps to solve the problem.
  • Implementation involves turning the design into code.
  • Testing ensures that there no bugs in the code.
  • Documentation is used for describing what each feature does
  • Evaluation is all about measuring how well the program has met the requirements
  • Maintenance is all about updating the software to ensure it works properly (for instance with a new operating system)

Agile development

  • Agile development is designed to be developed so much faster (RAD) than using the Waterfall Model. 
  • The client is involved at all stages and provides feedback as the software is developed. Documentation is scarce, as agile focuses more on the development.
  • Each individual client requirement is called a user story

Agile development

  • Team work in sprints to produce working prototypes quickly (usually 2 - 4 weeks per sprint)
  • Often by the time the project comes to an end, the full set of requirements have not been built. The developer then asks the client if they want the remaining features added or if they want to take the product 'as is'.

Advantages of the waterfall model

  • The Waterfall model is best suited to large project, whereas agile is better suited to smaller ones.
  • Requirements do not change, the requirements are established at the start (they sign an agreement)
  • The software tends to be tested more fully
  • Projects created tend to meet all the requirements and are finished on time and within the original budget.
  • Developers can easily track the progress of the product

Disadvantages of the waterfall model

  • Because of the linear approach to development as well as the lack of client involvement, if requirements are not stated clearly by the client, the whole process could be done incorrectly.
  • Testing can be expensive as developers may be needed to help redesign the whole software product.

Advantages of agile development

  • Agile development is better for smaller groups of developers
  • The client is involved at all stages and gives feedback regularly, thus the client is more likely to get a product they are happy with the finished product.
  • Clients can also change their minds on how they want a feature to be added

Disadvantages of agile development

  • Agile development also has problems, particularly related to requirements. 
  • As stated before, if the client is involved at all stages, they can change their mind half way through the development process and request something totally different. This is down to the fact there might not be a legally binding contract for development.
  • As well as this, the software may not be complete at the end of the development time and therefore the client is presented with two options: pay more to get the software finished or take what has been done

Past Paper Questions

Describe the role of the client when developing software using agile methodologies.

 

2 marks

A developer and their client are based in different time zones in the world.

 

Explain the impact that this can have when using an agile methodologycompared to an iterative one.

 

1 mark

2019 Q5

SQP Q2

  1. State what is meant by iteration
  2. State why the implementation stage may need to be revisited
  3. State the category of development methodologies that agile belongs to
  4. Describe what is meant by a user story
  5. How does the client know what is being developed in agile development?

Questions

aNALYSIS

  • Analysis is the first step of any software development problem.
  • It involves reading and understanding the problem.
  • At the analysis stage, a software requirements specification (know at Higher as a software specification) is created
  • The SRS describes what the software should do, but not how it does it
  • The purpose is clearly defined in this document and it explains what the software must do once completed. 

aNALYSIS - scope

  • Scope defines what the software must do. 
  • It should be very clear and concise (this is key because without it the client could return and tell the developers what they want was in the scope of the program)
  • The scope should also state start and end dates, the cost of the project and what deliverables are being created.

aNALYSIS - Boundaries

  • Boundaries help to clarify what the software should and shouldn't do. They should state any assumptions made by the developers
  • For example, a program is to be written to calculate the average of ten percentages. You could assume the following:
    • The minimum is 0
    • The maximum is 100
    • There should be no more and no less than 10 numbers
    • All numbers are whole numbers

aNALYSIS - Functional requirements

  • Functional requirements describe how the software should perform.
  • They involve identifying the inputs, processes and outputs of a problem (shown below)
Input Process Output
10 percentages between 0 and 100 Add the numbers together
Divide the numbers by 10
Display the average value
  1. Why is it important to create a legally binding contract with the client at the start and what can happen if it is not created?
  2. What could happen if the SRS document was not correct?
  3. Identify the purpose, scope and boundaries and functional requirements of the following programs:
    1. Write a program to take in two numbers and display the sum (+), product (×) and quotient (÷) of the two numbers.
    2. Write a program to take in a word and display it backwards
    3. Write a program to calculate how fast a cyclist is travelling by asking them to insert how long it took to travel 100 metres.

Questions

Past Paper Question

An app can be used to record two players’ scores on a 9 hole mini‑golf course. A player wins a hole if they have fewer shots than their opponent. For example, Claire has won the first hole taking only two shots compared to Tina’s four shots.

 

After nine holes, Claire has won four holes and Tina has won two.

Both players’ names and their nine scores are entered.

One boundary of this app is that the app is for games between exactly two players.

 

State two other boundaries for this app.

 

2 marks

Presentation Overview
Close
JB
Development Methodologies and Analysis
© 2020 - 2024 J Balfour
19:51 | 23-05-2024
Join Live Session
Start Remote
Save Progress
Slideshow Outline
Presenter Mode
Widget Screen
Canvas Controls
Random Selector
Timer
Volume Meter
Binary Converter
Python Editor
Show Knox 90
Provide Feedback
Help
!
Keywords
    DragonDocs Management
    Random selector
    Sections
      Binary conversion
      Denary to binary conversion
      Binary to denary conversion
      Feedback 👍
      Accessibility

      Apply a filter:

      ×
      All slideshow files