4.2 System Development

4.2 SYSTEM DEVELOPMENT

  • Overview of system development processes.

  • Focused on understanding the stages involved from conception to deployment.

STAGES OF SYSTEM DEVELOPMENT

  • System development is organized into distinct phases.

  • Key stages include:

    • Problem Definition

    • Feasibility Study

    • Requirements Elicitation

    • System Analysis

    • System Design

    • Testing

    • System Implementation

    • System Maintenance

    • Retirement

INTRODUCTION

  • Computer-Based System:

    • Functions to collect, process, store, and output information.

    • Aims for efficient and accurate handling of data, vital for decision-making.

COMPUTER-BASED SYSTEM TYPES

  • Types of Systems:

    • Transactional Systems: Handle daily business transactions.

    • Real-Time Systems: Provide immediate processing and output.

    • Embedded Systems: Integrated into larger devices, offering specific functions.

SYSTEM LIFE CYCLE

  1. Problem Definition: Identify and define the problem.

  2. Feasibility Study: Assess the project's viability.

  3. Requirements Elicitation: Gather detailed system requirements.

  4. System Analysis: Analyze needs for the system.

  5. System Design: Create the architecture of the system.

  6. Testing: Validate the system functionalities.

  7. System Implementation: Deploy the system in real environments.

  8. System Maintenance: Continuously support and update the system.

  9. Retirement: Phase out systems when obsolete.

PROBLEM DEFINITION

  • Importance: Establishes a clear and detailed definition of the problem.

    • Includes terms of reference, objectives, available resources, timelines, and potential limitations within the organization.

REASONS FOR DEVELOPING NEW SYSTEMS

  • Circumstances favoring new systems include:

    • Current systems are inadequate or outdated.

    • Technological advancements require updates.

    • Flexibility and cost issues with current systems.

    • Need for competitive advantages and enhanced customer service.

    • Economic pressures demanding innovations.

FEASIBILITY STUDY

  • Objective: Determine the necessity for a new system versus improving the existing one.

  • Results delivered in a Feasibility Report highlighting:

    • Goals of the new system.

    • Options with costs, pros, and cons.

    • Recommended options and anticipated impact.

    • Development and changeover plan.

CONSIDERATIONS FOR DEVELOPMENT

  • Technical, operational, timeliness, economic, legal, and social factors must be evaluated to justify the project.

REQUIREMENTS ELICITATION

  • A detailed requirements report must include:

    • Inputs, processing, outputs, and storage details.

    • Analysts must grasp the functionality of the current system, necessary documents, data flow, and existing user issues.

TECHNIQUES FOR REQUIREMENTS GATHERING

  • Interviews:

    • Gather in-depth insights through planned discussions (individual or group).

  • Questionnaires:

    • Efficient for collecting large quantities of data quickly, maintaining anonymity.

  • Inspection of Documents:

    • Review existing documents used for data input and output.

  • Observation:

    • Observing workflows to understand complexities, though behavior changes can occur.

OFF-THE-SHELF SOFTWARE CONSIDERATIONS

  • Assess if existing solutions can meet system needs or if bespoke development is necessary.

FORMULATION AND EVALUATION OF SOLUTIONS

  • Present and analyze multiple solutions for data handling, storage, and costs.

USE-CASE DIAGRAMS

  • Purpose: Illustrate the dynamic behavior of system functions, showing entities and their interactions with the system.

    • Enables communication of requirements in user-friendly terms.

  • Components:

    • Actors represent users; system boundary outlines limits; communication links establish interactions.

  • Relationships:

    • Include extend and include relationships, generalization links among use cases.

DATA FLOW DIAGRAMS (DFD)

  • Used for modeling how data moves through a system. Important components include:

    • Data processes, external entities, data stores, and data flows.

    • Levels of DFD provide varying detail, with Level 0 showing a high-level context and subsequent levels elaborating sub-processes.

SYSTEM ANALYSIS - DATA FLOW AND MODELLING

  • Focus on mapping data movement within business processes, utilizing DFDs to capture how data is manipulated, stored, and distributed.

SYSTEM DESIGN - DATA MODELLING

  • Involves breaking down the system using top-down or bottom-up approaches to manage complexity.

    • Modular design principles are emphasized to enhance parallel development and code reusability.

TESTING STRATEGIES

  • Integrated testing approach includes module, system, and acceptance testing, ensuring complete coverage of functional requirements.

  • Types of tests:

    • Black Box and White Box testing for functional validation versus code logic verification.

IMPLEMENTATION

  • Essential preparation steps prior to deployment include hardware/software installations and staff training.

  • Changeover Techniques: strategies such as direct, parallel, phased, or pilot deployment.

MAINTENANCE AND RETIREMENT

  • Importance of ongoing system reviews, adaptations (adaptive, corrective, perfective maintenance), and justifications for system retirement when costs become unfeasible.

PROJECT MANAGEMENT

  • Involves comprehensive management of scheduling, resource allocation, and progress tracking to ensure project goals are met effectively within allocated timelines and budgets.