Systems Development Life Cycles

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/23

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

24 Terms

1
New cards

Systems

A collection of interrelated parts that form a whole

The collection has some purpose

A change in any part can lead to a change in other part(s)

2
New cards

Systems Development Life Cycle

The process of determining how a system can support business needs, designing the system, building it, and delivering it to users

Stages:

  1. Planning

  2. Analysis

  3. Design

  4. Implementation

3
New cards

Planning

  • Understanding why a system should be developed and creating plan for how it will be developed and delivered

  • Often involves a feasibility analysis – technical feasibility, economic feasibility and organisational feasibility - how much revenue is this going to bring in

  • Working out the resources required and capacity to deliver; making a business case

cost-benefit analysis and outputs

4
New cards

Cost-Benefit Analysis

  • Part of stage 1 economic feasibility

  • Development costs (one-time costs)

  • Operational costs (ongoing costs)

  • Tangible benefits (e.g., revenue) 

  • Intangible benefits (predicted benefits, that may be harder to quantify)

5
New cards

Outputs

  • Goals for new system

  • Definition of project’s scope

  • Assessment of feasibility

  • Initial work plan

6
New cards

Analysis

Understanding who will use the system, what the system will do, and where/when it will be used

  1. Understand the existing situation

  2. Identify improvements

  3. Define requirements

7
New cards

Problem Analysis

  • Breaking a whole into its parts to understand the parts’ functions and inter-relationships - 

  • May involve rich pictures; images that attempt to capture everything that is relevant to a complex situation or system

    • Mental tool to understand a scenario

    • Useful for discussing with other people – can cut across jargon, etc.

    • Helpful for identifying stakeholders

    • Suitable for any domain

8
New cards

Requirements Determination

  • Changes high level strategic objectives into more precise statements of what a system should do

  • Requirements are simply statements of what the system should do and characteristics the system should have

9
New cards

Requirements Gathering

Getting more insight into the requirements for the system by gathering data from users

10
New cards

PACT Questions

  • People – what are the intended users’ characteristics and skills?

  • Activities – how is the activity currently carried out? Why? What can be improved?

  • Context – what is the environment of the activity?

  • Technology – what tools are being used currently? How might new developments be used

11
New cards

People

  • Language

  • Levels of skill and expertise

  • Cognitive characteristics – attention, perception, memory

  • Physical characteristics – physical abilities, accessibility

  • Emotions – satisfaction, frustration, things being aesthetically pleasing

  • Infrequent vs. frequent users

12
New cards

Activities

  • Goals, tasks and actions

  • Frequent or infrequent tasks?

  • Well-defined or vague goals

  • Continuous or interrupted?

  • Individual or cooperative?

  • Time requirements (e.g., how fast a response is needed)

  • Error tolerance

13
New cards

Context

  • Physical environment 

  • Social environment

  • Organisational context

  • When and where activities happen

14
New cards

Technology

  • Input – data, commands

  • Output 

  • Communications (between people, between devices, speed, etc.)

  • Size of screen 

  • Networked?

15
New cards

Design

System design is the determination of the overall system architecture that will satisfy the system’s essential requirements

  • How will the system operate; deciding how to build it

  • Involves design of architecture and interface, development of database and file specifications

  • Output: system specification

16
New cards

User Interface Design

  • Defines how users will interact with the system and what kind of inputs and outputs the system accepts and produces

  • Navigation mechanisms: how user gives instructions to the system (e.g., buttons, menus) 

  • Input mechanisms: how the system captures information (e.g., forms)

  • Output mechanism: how the system provides information to the user (e.g., reports)

17
New cards

Implementation

  • Actually building the system

  • Testing the system

  • System construction, installation and support plan (maintainability)

  • Sometimes maintenance is identified as a separate phase 

    • Not just about maintaining existing functionality; may often involve building new functionality

18
New cards

Types of Testing

  • Unit testing – testing of each unit or program module separately

  • Integration testing – checking that things that should work together do so without error

  • Acceptance testing – does the system meet requirements

  • User testing - system tested with users

19
New cards

Waterfall Development Advantages

  • Requirements identified at the start; limited changes to requirements as project goes on

  • Well suited to systems that have high security needs

  • Clear deliverables

  • Easy to arrange tasks as thing progress one phase at a time

20
New cards

Waterfall Development

  • Time consuming

  • Inflexible/not dynamic

  • No working software until end stage

  • Doesn’t adjust to changing requirements

  • Difficult to measure progress within stages

  • High overheads

21
New cards

Rapid Application Development (RAD)

An alternative approach to waterfall 

Examples include:

  • Iterative development

  • System prototyping

  • Throwaway prototyping

  • Agile – e.g., XP, Scrum

22
New cards

Agile - RAD

  • Feature oriented not activity oriented

  • Rapid development and delivery

  • Work in small iterations

  • Deliver in each iteration

  • Review and adapt

  • Make changes 

23
New cards

Advantages of RAD

  • Cheaper and easier to make changes during process

  • Flexible

  • Requirements can change and be more adaptive

  • Often useful when users struggle to articulate requirements

  • Get user feedback earlier

  • Quicker delivery of working software

24
New cards

Disadvantages of RAD

  • Can be more challenging to integrate at the end

  • Planning can be difficult

  • Can be harder to manage

  • Less control

  • Can be difficult to sc