ICT|系統發展生命周期(SDLC)的各個階段 Phases of Systems Development Life Cycle (SDLC)

  1. System analysis
  2. System design
  3. System implementation
  4. System testing
  5. System conversion
  6. System maintenance

Overview: Tasks involved in each phase

System analysis

  • System analysts collect users requirements and write system requirement specifications

System design

  • System analysts design user interfaces and draw flowcharts for the system

System implementation

  • Programmers write the source codes of the system

System testing

  • Unit testing, system testing and users acceptance testing are performed

System conversion

System maintenance

System Analysis

The following should be done in the system analysis:

  • Collecting users’ requirements [DSE 2015 P2D Q2(b)(i), DSE 2018 P2D Q2(c)]
  • Conducting feasibility study

Collecting users’ requirements

A system analyst needs to collect the following information:

  • The function of the system
  • The users of the system
  • Major dataflow of the system
  • Existing hardware and software of the system
  • Process time and capacity

There are different ways to collect user requirements [DSE 2015 P2D Q2(b)(i), DSE 2018 P2D Q2(c)]

  • Interviews
  • Questionnaires
  • Observation
  • Documentation reviews (e.g., documentation of the existing system)

Feasibility study

  • It is used to assess the effectiveness of various solutions

Three are three aspects of the feasibility study:

Technical feasibility

  • Evaluate whether the objectives can be achieved using the current level of technologies

Operational feasibility

  • Evaluate the effects of the system on employees and customers

Economic feasibility

  • Evaluate using cost and benefit analysis
  • Estimating the costs and the benefits of the system
  • If marginal benefit ≥ marginal cost then implement, else not implement

System Requirement Specifications (SRS)

Requirements include:

  • Business requirement
  • Functional requirement
  • Non-functional requirement

Functions

Business requirement

  • Requirements that company needs / functions that the company expected

Functional requirement

  • What the system must do to fulfill business requirements
  • Emphasizes functions provided by the system e.g., input / output methods

Non-functional requirement

  • About other aspects of the system apart from the functions
  • e.g., system performance, costs, reliability, security, portability

System Design

Components of a computer-based system

  • Hardware platform
  • Software
  • Inputs
  • Outputs
  • User interface
  • Data (e.g., Database, Data processing, Data control, Data security)
  • System security

Types of user interface

  • Command Line Interface (CLI)
  • Graphical User Interface (GUI)

System design tools

  • System flowchart
  • Structure chart
  • Data flow diagram (DFD)
  • Data dictionary

Data Flow diagram (DFD) [DSE 2013 P2D Q3(c), DSE 2015 P2D Q4(a)]

  • Showing the main requirements of a system
  • Showing the process, information/data flow in, and out of the system
  • Showing what data will be stored

Gantt Chart [DSE 2019 P2D Q3(a)(iii), DSE 2021 P2D Q2(d)]

Usage

  • Project management

Clarifies the project schedule by illustrating multiple tasks and timelines into a single document[DSE 2019 P2D Q3(a)(iii)]
→ helping project managers to make a realistic assessment of the progress / the completion of time

Showing the dependencies between various tasks and concurrent activities/tasks that are going [DSE 2019 P2D Q3(a)(iii)]

Supports critical path analysis [DSE 2019 P2D Q3(a)(iii)]

What is critical path?

  • A critical path is a sequence of tasks in a project that must be completed in order to ensure that the project is finished on time

System Testing

Function

Done by who?

Unit test

  • To ensure that a particular module performs its function as defined in specification / does not contain error
  • Implemented by developers who write the modules

System test

  • Implemented by developers who write the modules
  • Done by developers

Acceptance test

  • To ensure the system meet the company's users’ requirements
  • Test the system with authentic data
  • Done by ultimate users to test the system with authentic data

Order of system testing (from the first to the end): [DSE 2017 P2D Q3(c)]

Unit test → System test → Acceptance test


Supplementary notes: There are three types of system test

Volume test

  • Functions
    To determine whether the system can handle the volume of activities that occur during the peak of processing demands

Storage test

  • Functions
    To test whether the storage capacity of a system can store all transaction data

Performance time test

  • Functions
    To test the length of time used by the system to process data

System Conversion

Direct cutover conversion

Parallel conversion

Phased conversion

Pilot conversion

Characteristics

[DSE 2018 P2D Q2(d)]

  • The original system is instantly changed to the new system on a given date

[DSE 2018 P2D Q2(d)]

  • Both systems run for some periods at the same time
  • Different modules of the new system are replaced in different phases
  • The new system is installed in specific places (pilots, a subset of an organization)

When this conversion should be implemented?

  • System cannot be run in parallel
  • System is not critical
  • Insufficient resources
  • The system that cannot tolerate failure / risks made by conversion
  • Important resources for the system are available
  • Suitable for a large and complex system which is difficult to be implemented in one single phase
  • Higher risks of the new system and its impacts on the organization are hard to predict

Advantages

[DSE 2012 P2D Q2(c)(ii), DSE 2018 P2D Q2(d), DSE 2020 P2D Q4(c)]

  • Lowest cost of conversion (money, manpower, time) within all conversion
  • No need to manage two systems at the same time

[DSE 2019 P2D Q3(a)(iv)]

  • The risks of conversion is low [The old system can act as a backup, if the new system cannot be operated, operation will not be disrupted]
  • Compare the results / outputs of two systems
    easier to find out bugs / errors in the new system
  • As the conversion is done in parts, time is available for adjustment
  • Lower risks of conversion
    → impacts of the. failure of new phase will be limited

[DSE 2020 P2D Q4(c), DSE 2022 P2D Q3(f)]

  • Minimizes the impacts on changes
    Errors are contained to the first implemented locations only, with limited harmful effects on other places
    → Reducing the risks of conversion
  • Other places can learn from the experience from pilots, especially in terms of operations

Disadvantages

[DSE 2012 P2D Q2(c)(i)]

  • If there is any problem in the new system
    → disrupt the operation
    the entire system will be affected
    → higher risks
  • Parallel run is not feasible under some scenarios
  • Extra resources are needed for running two systems at the same time
  • If the components of a system is very dependent/integrated, implementing phased conversion will be difficult due to difficulties in dividing into different phases
    → Increasing the complexity of conversion
  • Even if the system is run successfully in pilots, it does not mean that other places can be run successfully too

Factors affecting the choice of conversion

  • Risks
  • Costs

System maintenance

Why is system maintenance needed? [DSE 2020 P2D Q4(d)]

  • Adding / improving more functions/features
  • Fixing program bugs
  • Improving security
  • Improving efficiency

System Documentation

  • System documentation should be done throughout different stages

System documentation [DSE 2015 P2D Q2(b)(ii), DSE 2022 P2D Q4(d)(ii)]

Audience

Function

User manual

Users

Teach users how to use the system

Technical documentation

Developers

Enabling them to understand the system and do the maintenance

Alternative Approaches in System Development


When to use?

Advantages

Disadvantages

Waterfall model

  • User requirements are fixed / completed
    → waterfall model is more systematic

More systematic (Need to complete the previous stage before going to the next stage)

  • Longer development time
  • Only applicable to projects with clear and frozen requirements

Prototype Approach

  • Creating a prototype first for a complex system
    → allowing feedback and insight to be incorporated into the future system

Reducing development time

  • The prototype may not able to accurately reflect the performance of the actual system

RAD (Rapid application development)

  • Design and implementation processes are done in an interleave, iterative manner (alternatively)
  • User requirements are not completed / changing
    more flexible

Reducing the development time

[DSE 2016 P2D Q1(a)(iv)]

  • Requires sufficient resources (e.g. highly skilled developers) to create the right number of RAD teams
  • If the system cannot be properly modularized, building components for RAD will be problematic
  • Requires user involvement during implementation
  • Lower program re-usability

[DSE Practice Paper P2D Q4(e), DSE 2019 P2D Q3(a)]

  • Project manager
  • System analyst
  • Programmer
  • Database administrator
  • Computer operator
  • Technical support staff

Main duties

Project managers

  • Assign resources and roles to members of the development team
  • Set essential milestones of the development plan

System analyst

  • Communicate with users e.g., collect user requirements
  • Write user requirement specifications
  • Doing system design

Programmer

  • Code the program
  • Carry out testing

封面圖:Image by Freepik