Papers in this syllabus

Paper 10

PROGRAMMING AND SYSTEMS ANALYSIS AND DESIGN

Read study notes

To equip the candidate with the knowledge, skills and attitudes that will enable him/her to analyse and design information systems and develop object-oriented programs using Java.

On completion, a candidate should be able to

  • Analyse information systems problems and design solutions using Java
  • Write programs using object-oriented software development methodology
  • Test, debug and handle error in object-oriented programs
  • Describe conventional methodologies in systems analysis and design
  • Integrate and deploy information systems

Content

  1. 1

    Information Systems Concept and Technology

    1. 1.1

      Information systems overview and concepts

    2. 1.2

      Systems theory

    3. 1.3

      Systems thinking and applications

    4. 1.4

      Components of an information system

    5. 1.5

      Types of information systems

    6. 1.6

      Overview of programming languages

    7. 1.7

      Types of programming languages

    8. 1.8

      Characteristics of a good information system

    9. 1.9

      Personnel involved in Systems Analysis and Design

  2. 2

    Systems Development Life Cycle (SDLC)

    1. 2.1

      Definition of systems development life cycle

    2. 2.2

      Phases of SDLC

    3. 2.3

      Advantages and disadvantages of SDLC

    4. 2.4

      Software development Methodologies

  3. 3

    Requirements Elicitation

    1. 3.1

      Stakeholder analysis

    2. 3.2

      Need for requirements gathering

    3. 3.3

      Strategies and process for requirements gathering

    4. 3.4

      Requirements gathering tools and techniques

    5. 3.5

      Gap analysis

    6. 3.6

      Prioritisation of requirements

    7. 3.7

      Systems specifications

  4. 4

    Systems Analysis

    1. 4.1

      Overview of systems analysis concepts

    2. 4.2

      Information systems project initiation

    3. 4.3

      Feasibility and risk analysis

    4. 4.4

      Stages in system analysis

    5. 4.5

      Techniques in system analysis (27)

    6. 4.6

      Tools for systems analysis

    7. 4.7

      System analysis report

    8. 4.8

      Using software tool to assist in systems analysis

  5. 5

    Systems Design

    1. 5.1

      Overview of system design and concepts

    2. 5.2

      System design approaches

    3. 5.3

      Logical and physical design

    4. 5.4

      Modelling techniques and applications

    5. 5.5

      User interface design

    6. 5.6

      Business logic design

    7. 5.7

      Database design

    8. 5.8

      Case tools

    9. 5.9

      Designing test cases

    10. 5.10

      Writing and documenting design specification

    11. 5.11

      Using software tools to assist in systems design

  6. 6

    Systems Implementation

    1. 6.1

      Systems implementation and concepts

    2. 6.2

      Assessing the platform for the system to be implemented

    3. 6.3

      User training

    4. 6.4

      Data conversion methods

    5. 6.5

      System changeover

    6. 6.6

      System Evaluation and Optimization

  7. 7

    System Testing and Deployment

    1. 7.1

      Software testing approaches

    2. 7.2

      Black box and white box testing

    3. 7.3

      Software testing strategies

    4. 7.4

      Systems deployment and configuration

    5. 7.5

      User Documentation and Training

  8. 8

    System Maintenance

    1. 8.1

      Overview of software maintenance

    2. 8.2

      Software maintenance approaches

    3. 8.3

      Legacy systems

    4. 8.4

      Systems management and support

  9. 9

    Other Software Development Methodologies

    1. 9.1

      Waterfall

    2. 9.2

      Prototype

    3. 9.3

      Agile Software Development

    4. 9.4

      Rapid Application development

    5. 9.5

      Extreme Programming

    6. 9.6

      Spiral

    7. 9.7

      LEAN

    8. 9.8

      SCRUM (28)

  10. 10

    Overview of Programming Techniques and Paradigms

    1. 10.1

      Introduction to programming and concepts

    2. 10.2

      High level and low-level languages

    3. 10.3

      Translators and program translation

    4. 10.4

      Source Code and object code

    5. 10.5

      Generation of Programming Languages

    6. 10.6

      Programming approaches

    7. 10.7

      Strengths of object-oriented programming over other paradigms

  11. 11

    Introduction to Java Programming Language

    1. 11.1

      Java language specification

    2. 11.2

      Java JDK, IDE and API

    3. 11.3

      Java program structure

    4. 11.4

      Identifiers, data types, variables and constants

    5. 11.5

      Statements and blocks

    6. 11.6

      Expressions and operators

    7. 11.7

      Control structures

    8. 11.8

      Memory management

    9. 11.9

      Arrays

    10. 11.10

      Dictionaries

  12. 12

    Object-Oriented Programming

    1. 12.1

      Methods and messages

    2. 12.2

      Abstract data types

    3. 12.3

      Classes

    4. 12.4

      Objects

    5. 12.5

      Class relationships

    6. 12.6

      Setters and getters

    7. 12.7

      Constructors and destructors

    8. 12.8

      Scope and access control

    9. 12.9

      Encapsulation

    10. 12.10

      Abstraction

    11. 12.11

      Inheritance

    12. 12.12

      Polymorphism

    13. 12.13

      Interfaces

  13. 13

    Functions / Methods

    1. 13.1

      Function declaration

    2. 13.2

      Function prototype and type checking

    3. 13.3

      Arguments and parameters

    4. 13.4

      Parameter passing

    5. 13.5

      Inline functions

    6. 13.6

      Function overloading

    7. 13.7

      Recursion

    8. 13.8

      Pure virtual functions

    9. 13.9

      Reference and argument passing

    10. 13.10

      Writing programs using functions (29)

  14. 14

    File Input / Output

    1. 14.1

      Streams and files

    2. 14.2

      Input and output streams

    3. 14.3

      File streams

    4. 14.4

      Object streams

    5. 14.5

      Object serialization

    6. 14.6

      Readers and writers

    7. 14.7

      Writing programs using Input / Output streams