Programming and Systems Analysis and Design notes

PAPER NO.10 PROGRAMMING AND SYSTEMS ANALYSIS AND DESIGN
UNIT DESCRIPTION
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.

LEARNING OUTCOMES
A candidate who passes this paper 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. Information Systems Concept and Technology
1.1 Information systems overview and concepts
1.2 Systems theory
1.3 Systems thinking and applications
1.4 Components of an information system
1.5 Types of information systems
1.6 Overview of programming languages
1.7 Types of programming languages
1.8 Characteristics of a good information system
1.9 Personnel involved in Systems Analysis and Design

2. Systems Development Life Cycle (SDLC)
2.1 Definition of systems development life cycle
2.2 Phases of SDLC
2.3 Advantages and disadvantages of SDLC
2.4 Software development Methodologies

3. Requirements Elicitation
3.1 Stakeholder analysis
3.2 Need for requirements gathering
3.3 Strategies and process for requirements gathering
3.4 Requirements gathering tools and techniques
3.5 Gap analysis
3.6 Prioritisation of requirements
3.7 Systems specifications

4. Systems Analysis
4.1 Overview of systems analysis concepts
4.2 Information systems project initiation
4.3 Feasibility and risk analysis
4.4 Stages in system analysis
4.5 Techniques in system analysis

4.6 Tools for systems analysis
4.7 System analysis report
4.8 Using software tool to assist in systems analysis

5. Systems Design
5.1 Overview of system design and concepts
5.2 System design approaches
5.3 Logical and physical design
5.4 Modelling techniques and applications
5.5 User interface design
5.6 Business logic design
5.7 Database design
5.8 Case tools
5.9 Designing test cases
5.10 Writing and documenting design specification
5.11 Using software tools to assist in systems design

6. Systems Implementation
6.1 Systems implementation and concepts
6.2 Assessing the platform for the system to be implemented
6.3 User training
6.4 Data conversion methods
6.5 System changeover
6.6 System Evaluation and Optimization
7. System Testing and Deployment
7.1 Software testing approaches
7.2 Black box and white box testing
7.3 Software testing strategies
7.4 Systems deployment and configuration
7.5 User Documentation and Training

8. System Maintenance
8.1 Overview of software maintenance
8.2 Software maintenance approaches
8.3 Legacy systems
8.4 Systems management and support

9. Other Software Development Methodologies
9.1 Waterfall
9.2 Prototype
9.3 Agile Software Development
9.4 Rapid Application development
9.5 Extreme Programming
9.6 Spiral
9.7 LEAN
9.8 SCRUM

10. Overview of Programming Techniques and Paradigms
10.1 Introduction to programming and concepts
10.2 High level and low-level languages
10.3 Translators and program translation
10.4 Source Code and object code
10.5 Generation of Programming Languages
10.6 Programming approaches
10.7 Strengths of object-oriented programming over other paradigms
11. Introduction to Java Programming Language
11.1 Java language specification
11.2 Java JDK, IDE and API
11.3 Java program structure
11.4 Identifiers, data types, variables and constants
11.5 Statements and blocks
11.6 Expressions and operators
11.7 Control structures
11.8 Memory management
11.9 Arrays
11.10 Dictionaries

12. Object-Oriented Programming
12.1 Methods and messages
12.2 Abstract data types
12.3 Classes
12.4 Objects
12.5 Class relationships
12.6 Setters and getters
12.7 Constructors and destructors
12.8 Scope and access control
12.9 Encapsulation
12.10 Abstraction
12.11 Inheritance
12.12 Polymorphism
12.13 Interfaces
13. Functions / Methods
13.1 Function declaration
13.2 Function prototype and type checking
13.3 Arguments and parameters
13.4 Parameter passing
13.5 Inline functions
13.6 Function overloading
13.7 Recursion
13.8 Pure virtual functions
13.9 Reference and argument passing
13.10 Writing programs using functions

14. File Input / Output
14.1 Streams and files
14.2 Input and output streams
14.3 File streams
14.4 Object streams
14.5 Object serialization
14.6 Readers and writers
14.7 Writing programs using Input / Output streams

(Visited 3 times, 1 visits today)