You are on page 1of 32

Course: ICT

Unit of Learning: Computer Programming

Learning Outcome 2: Identify Phases of Program Development


Learning Outcome 2: Identify Phases of Program Development

Introduction:
• SDLC is the application of business practices to building software.
• Divided into six to eight steps:
Planning
Requirements
Design
Build
Document
Test
Deploy and Maintain. 
Learning Outcome:

Trainee’s Guide
Learning Outcome 2: Identify Phases of Program Development

Topic 1: System Analysis


Topic 1: System Analysis
• A process of collecting and interpreting facts.
• Also identifying the problems that may arise.
• It involves the decomposition of a system into its components.
• This is done for the purpose of studying a system.
• It may also be its parts in order to identify its objectives.
• It improves the system.
• Ensures all the components of the system work efficiently.
• Analysis specifies what the system should do.
• The analysis of information systems are based on:
• Understanding the organization’s objectives and structure.
• How to exploit information technology for advantage
Topic 1: System Analysis
• Types of System Analysis
• Requirements Analysis-specify non-requirements
• Data Analysis- such as an evaluation of data quality
• Integration analysis- planning integration of processes ,
• Also systems, services and data
• Capability analysis- evaluating the capabilities of products.
• Also technologies, infrastructure , services , platforms and APIs

 
Topic 1: System Analysis
Benefits of system analysis:
• Costs, Efficiency & Flexibility
• System analysis makes certain that the correct path is taken.
• This is with regards to applications.
• It helps to minimize errors .
• These might reduce future IT requirements for fixing problems
• Better Management; Better controls
• System analysis allows for better management.
• This is through changing the software.
• Thus suit any business changes.
• This means that the final product will be totally controllable.
Topic 1: System Analysis
• Risks
• Through the process potential threats are identified.
• A risk assessment is carried out.
• This is to evaluate all the negative impacts on the processes.
• Quality
• The quality of the systems is ensured.
• This is through the checking of the system.
Learning Outcome 2: Identify Phases of Program Development

Topic 2: System Design


Topic 2: System Design
• System design:
• Bridges the gap between problem and existing system.
• This is done in a manageable way.
• This phase focuses on the solution domain.
• That is,  “how to implement?”
• The SRS is implemented.
• Also system is decided on how will operate.
• The complex activity is divided into smaller sub-activities.
• They coordinate with each other to achieve the overall objective.
Topic 2: System Design
• System design takes the following inputs −
Statement of work
Requirement determination plan
Current situation analysis
Proposed system requirements.
• These may include:
 a conceptual data model
modified DFDs
Metadata (data about data).
Topic 2: System Design
• System design gives the following outputs −
Infrastructure changes
organizational changes for the proposed system.
A data schema- often a relational schema.
Metadata to define the tables/files.
A function hierarchy diagram
Actual or pseudocode for each module in the program.
A prototype for the proposed system.
Topic 2: System Design
Types of System Design
• Logical Design
• Pertains to an abstract representation of the data flow.
• This include inputs, and outputs of the system.
• It describes:
the inputs (sources)
outputs (destinations)
databases (data stores)
procedures (data flows)
• All these in a format that meets the user requirements.
Topic 2: System Design
• Physical Design
• Relates to the actual input and output processes.
• Focuses on how data is entered into a system.
• Also how it is verified, processed, and displayed as output.
• It produces the working system.
• This is by defining the design specification
• It specifies exactly what the proposed system does.
• It is concerned with:
 user interface design,
process design and data design.
Topic 2: System Design
• Architectural Design
• Focuses on the design of system architecture.
• It describes the structure and behavior of the system.
• Defines relationship between modules of system.
• Detailed Design
• It follows Architectural design.
• Focuses on development of each module.
• Conceptual Data Modeling
• It is representation of organizational data.
• This includes all the major entities and relationship.
Learning Outcome 2: Identify Phases of Program Development

Topic 3: System Development


Topic 3: System Development
• The next phase is coding.
• Developers start build the entire system.
• They write code using the chosen programming language.
• Tasks are divided into units and assigned to the developers.
• Longest phase of the Software Development process.
• Developer follow certain predefined coding guidelines.
• They use programming tools like compiler, interpreters etc
Topic 3: System Development
• The goal of the coding phase:
• To translate the design of the system into code.
• This is using a given programming language.
• Implement the design in the best possible manner.
• Affects both testing and maintenance.
• Well written code reduces the testing and maintenance effort.
• During coding develop programs that are easy to write.
• Simplicity and clarity should be strived for.
Topic 3: System Development
• Norms and standards are set for this purpose.
• They are known as the coding standards.
• Why these coding standards?
• Uniform appearance of the whole code:
• Software is developed by various members.
• This includes many coders responsible for different.
• The same type of routine in code can be noticed.
• Understanding the code becomes easier:
• There is need for the developers to understand each other's code.
• A common style of coding makes that easier.
Topic 3: System Development
• The dependency of code on a developer is reduced:
• The code understandability is increased.
• Good programming practices are encouraged:
• Developers should follow the same style of coding.
• This reflects goof programming practices .
• This also resembles uniformity in their work.
Learning Outcome 2: Identify Phases of Program Development

Topic 4: System Testing


Topic 4: System Testing
• Process that checks the functionality and correctness.
• This is according specified user requirements.
• This in order to improve the quality and reliability of system.
It is an expensive
time consuming
critical approach in system development.
It requires proper planning of the process.
• A successful test is one that finds the errors.
• It executes the program with intention of finding error
• That is, making the program fail.
• Focuses on the weak areas of the system or software.
Topic 4: System Testing
• Software is checked for its behavior progress.
• This avoids duplication of efforts and time.
• Prevents cost overruns and assure completion within time.
• System testing includes −
• Product level quality (Testing)
• Process level quality.
Topic 4: System Testing
• Characteristics of System Testing
• System testing begins at the module level.
• It then proceeds towards the integration system.
• Different testing techniques are used.
• It is conducted by the developer for small projects and by
independent testing groups for large projects.
Stages of System Testing
• The following stages are involved in testing −
Topic 4: System Testing
• Test Strategy
• A statement that provides information about testing techniques.
• It should satisfy all the needs of an organization.
• Test Plan
• It provides a plan for testing the system.
• Also to verify that the system under testing fulfils specifications.
• Test Case Design
• Test cases are identified for each module
• Each test case will specify how a particular requirement to be tested.
• Criteria for the success of the test.
Topic 4: System Testing
• Integration Testing
• The analyst tests multiple module working together.
• It is used to find discrepancies between:
 the system and its original objective
current specifications
systems documentation.
• Functional Testing
• Functional testing starts with the implementation of the system.
Learning Outcome 2: Identify Phases of Program Development

Topic 5: System Deployment & Maintenance


Topic 5: System Deployment
• Is ensuring that the information system is operational.
• It involves :−
Constructing a new system from scratch
Constructing a new system from the existing one.
• Takes over users operation for use and evaluation.
• It involves training the users to handle the system.
• Also involves and planning for a smooth conversion.
• Training
• The personnel must know in detail what their roles will be,.
• How they can they use the system.
Topic 5: System Deployment
User Training
• Must be provided to employees.
• This to enable them to do their own problem solving.
• User training involves :
 how to operate the equipment,
troubleshooting the system problem
 determining whether a problem is caused by the software.
Topic 5: System Deployment
• Training Methods
• Instructor-led training
• It involves both trainers and trainees.
• They meet at the same time,
• Self-Paced Training
• It involves both trainers and trainees
• Do not need to meet at the same place.
• The trainees learn the skills themselves.
• This is by accessing the courses at their own convenience.
Topic 5: System Deployment
• Conversion
• Process of migrating from the old system to the new one.
• Provides understandable and structured approach.
• Conversion Plan
• It contains description of all the activities.
• These must occur during implementation of the new system.
• It anticipates possible problems and solutions to deal with them.
Topic 5: System Deployment
• Conversion Methods
• Parallel Conversion
• Direct Cutover Conversion
• Pilot Approach
• Phase-In Method

You might also like