- 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
- 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.
- 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.
- 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
- 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
- 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
- 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
- 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
- Significantly reduced development time
- Encourages customer feedback
- Increases re-usability of components in the system
- 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
- Check out ITInfo's comparison of development methodologies here
- 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