Syllabus Detail

  • Types of system development methods; Prototyping, SDLC. 11 ATAR, 12 GEN
  • Types of system development methods; Linear (waterfall, cascade), iterative (Rapid Application Development), Ads and disads of each. 12 ATAR

 

Background

  • In system development, you find different methods of creating a system. These are the different phases of the work involved.
  • Each methodology has its own advantages and disadvantages, so its important to pick one that suits your intended outcome.

 

Prototyping

  • A prototype is an early model or sample that is used to test functions of a product, to be replicated from or to be learned from.
  • Prototyping is when we use an early build of a product or system to demonstrate how it will function with live results.
  • Prototyping is effective as we use a real system for testing as opposed to a theoretical one.

    • Advantages:
      • It's easy to see what functionality is missing from the demo
      • It encourages innovation and flexible minds as new ideas can be easily tested
      • It requires validation to work, hence discrepencies can be easily identified

    • Disadvantages:
      • Requirements for the product may change significantly after reach build, creating more work
      • Identified non-functional elements may be difficult to document from the demo
      • The client may be unaware or uncertain about what they're looking at or what they want 

SDLC

  • The System Development Life Cycle (SDLC) is a process commonly used for planning, creating, testing and deploying an information system
  • It can apply to software, hardware, or a combination of both
  • The SDLC is defined by a number of clearly grouped activities, known as phases used to develop a finished project or product
  • Click here to read the page dedicated to the SDLC

 

11ATAR and 12 GEN  STOP HERE

 

Linear Methodology (Waterfall, Cascade)

  • The waterfall / cascade model is a sequential design process in which progress is seen flowing down through the stages, like a waterfall.
  • Each phase must be completed before the next phase can begin, hence being easy and simple to understand
  • A review is conducted at the end of each phase to make sure the project is being carried out correctly

    • Advantages:
      • Very simple and easy to understand
      • Phases do not overlap, which allows us to prioritize each phase as it happens
      • Great for smaller projects where the requirements are well understood

    • Disadvantages:
      • Once in the testing stage, going back is virtually impossible if it was not thought out in the concept stage
      • High amounts of risk and uncertainty due to large amounts of planning
      • Poor model for larger and ongoing projects
      • Not suitable for projects that are likely to change

Iterative (Rapid Application Development [RAD])

  • Rapid Application Development (or RAD) is sometimes used as a general term used to describe an alternative to the waterfall method
  • It can also be used to describe a methodology created by James Martin
  • In this methodology, less emphasis is put on planning and more on development
  • Components (or functions) are developed simultaneously as if they were mini projects
  • Each component is given a deadline, after which all components are gathered and made in to a working prototype
  • The prototype is used to assess the user's feedback regarding requirements and expectations from the project

    • Advantages:
      • Significantly reduced development time
      • Encourages customer feedback
      • Increases re-usability of components in the system

    • Disadvantages:
      • Requires highly skilled designers and developers
      • High dependency on modelling skills
      • Depends on a strong team to identify requirements

  • When would we use RAD?
    • When we need to have a system built in a short time frame (e.g. 2 - 3 months)
    • When we have a high availability of designers that are able to design the product, and...
    • When our budget is high enough to supply numerous designers and tools needed for automated code generation

 

Further Research

  1. Check out ITInfo's comparison of development methodologies here
  2. A list of software development models and methods here

 

Step 6 - Worksheet and Practice (yet to be added)

Found an error or have an enhancement? Please let us know via this contact form