PAPER NO.14 SOFTWARE ENGINEERING
GENERAL OBJECTIVE
This paper is intended to equip the candidate with the knowledge, skills and attitudes that will
enable him/her to implement and manage the software engineering process.
LEARNING OUTCOMES
A candidate who passes this paper should be able to:
- Identify appropriate software system design tools
- Design appropriate software systems
- Describe software system testing
- Document and commission a software
- Evaluate software acquisition techniques
- Maintain a
CONTENT
Introduction to software engineering
- Overview of software engineering
- Software engineering concepts
- Software development life cycle (SDLC)
- Legal aspects in software process models
Software process models
- Linear/waterfall model
- Rapid prototyping
- Evolutionary models
- Component based models
- Other models
Software requirements analysis
- Overview of requirements concepts
- Requirement analysis process
- Stakeholders analysis
- Need for requirement gathering techniques
- Gap analysis
- Prioritization of requirements
- Requirements specification
Design tools and methods
- System flowcharts
- Case tools
- Functional decomposition
- Modules design
- Structured walkthrough
- Decision tables
- Structured charts
- Data flow diagrams
- Object oriented design tools
Software coding
- Coding platforms
- Approaches to software coding
- Coding styles and characteristics
- Coding in high level languages
- Coding standards
- User interface
Software testing
- Testing and debugging
- Testing platforms
- Software testing lifecycle
- Software testing methods
- Black box testing
- White box testing
- Sofware testing levels
- Unit
- Integration
- System
- Acceptance
- Other forms of testing
Conversion strategies
- Conversion planning
- Parallel running
- Direct changeover
- Pilot study
- Phased approach
Software quality
- Control and assurance
- Software quality factors and metrics
- Formal technical reviews
- Verification and validation
- Cost of quality
Software acquisition methods
- Software outsourcing
- Open-source software engineering and customisation
- In- house development
- Commercial off the- shelf software (COTS)
- Factors to consider in software acquisition
Budgeting for information systems
- Financial cost benefit analysis
- Business case approach
- Total cost of ownership
- Balance score card
- Activity based costing and expected value
- Tracking and allocations costs
Documentation and commissioning
- Objectives of systems documentation
- Use of systems documentation
- Qualities of a good documentation
- Types of documentation
- Software commissioning
Software maintenance and evolution
- Types of software changes
- Software change identification
- Software change implementation
Auditing information systems
- Overview of information systems audit
- Auditing computer resources
- Audit techniques
- Audit applications
Emerging issues and trends