Login | Home | About | Partners | Contact
 
ECDL/ICDL
ICDL
ECDL
Vancouver University
MBA Finance
MBA Marketing
MBA HR Management
MBA E-Business Dev.
MBA Information Mgmt.
MS Soft. Engineering
Degree Completion
BCS Awards
Certificate
Diploma
PG Diploma
ABE BIS Awards
Diploma Part 1
Diploma Part 2
Advanced Diploma
ABE BA Awards
Certificate
Diploma Part 1
Diploma Part 2
Advanced Diploma
ABE TTH Awards
Certificate
Diploma Part 1
Diploma Part 2
Advanced Diploma
ABE PP-HRM
Certificate
Diploma
ACP Awards
Certificate
Diploma
Advanced Diploma
Price: $199.00

 

Software Engineering

Rationale:

In order to develop high quality software it is imperative that Information Systems Professionals have an understanding of software development as an engineering discipline. This understanding should be focused on both the practical and theoretical aspects of the discipline.

Aims:

To gain a knowledge of:

  • The principles of software engineering
  • Software process models and process improvement
  • Development methods
  • Requirements and specification
  • Software design
  • Software implementation
  • Verification and validation
  • Software project management
  • Software quality

Objectives:

  • An understanding of a wide variety of software engineering principles, process models and development methods
  • A knowledge of the different phases in software engineering; requirements, specification, design, implementation, verification and validation
  • Project management capability
  • A knowledge of how to produce high-quality software
  • An awareness of the special requirements for specific types of system such as safety critical systems
  • An understanding of the practical problems in developing software systems

Content:

1 PRINCIPLES OF SOFTWARE ENGINEERING

  • Candidates must be aware of the fundamental principles underlying Software Engineering and understand why an ‘engineering discipline' is required to develop high quality software systems.
  • Engineering vs Programming
  • Programming in the Large vs Programming in the Small
  • High Quality Software Systems vs Software Programs

2 PROCESS MODELS

  • Candidates should be aware that there are many process models that can be used as the basis for a software development life-cycle:
    • Overview of Process Models and their importance
    • V-model
    • V-model with prototyping
    • Evolutionary Development
    • Incremental Development
    • Spiral Model
    • Cleanroom Process Model
    • DSDM (a process model not a method)
    • Comparison of Models

3 DEVELOPMENT METHODS AND TECHNIQUES

Candidates should show a theoretical and practical understanding of the following:

  • Structured Methods and Techniques (e.g. SSADM) DataFlow Diagrams
  • Entity-Relationship Diagrams State Transition Diagrams State charts
  • Object Oriented Methods and Techniques (e.g. U M L) Use Cases Class Diagrams
  • Behaviour Diagrams (e.g. collaboration diagram) Implementation Diagrams (e.g. component diagram)
  • Formal Methods VDM, Z, B CSP, Mascot, Petri-Nets

4 SOFTWARE DEVELOPMENT LIFE CYCLE

  • Candidates should show a practical understanding of developing software products through a development life-cycle:
    • Requirements
    • Requirements Analysis and Capture Requirements Engineering, e.g. CORE requirements
    • Tracking Functional Requirements Non-Functional Requirements Specification
    • Refinement of Requirements
    • Natural Language Specification
    • Diagrammatic
    • Formal, Mathematical Specification
    • Use of Abstraction
    • Rapid Prototyping
    • Design
    • Refinement of Specifications
    • System Architectures
    • Different Design Approaches
    • Design Trade-Offs (e.g. modular vs performance)
    • Performance Modelling/Simulation
    • Structured Design vs O-O Design
    • Implementation
    • Encapsulation and Modularistion Information Hiding (ADTs/ Interfaces) Coupling and Cohesion
    • Component Reuse Debugging Performance Measurement
    • Validation and Verification
    • Testing; black-box and white box, statistical
    • Formal Proof
    • Correctness Arguments
    • Inspections and Reviews
    • Static and Dynamic Analysis Tools
    • Using the Compiler
    • Maintenance

5 PROJECT MANAGEMENT

  • Risk Management
  • Team Management (Personnel and Technical)
  • Project Planning (Resource and Technical)
  • Education and Training
  • Cost Estimation
  • Project Scheduling

6 SOFTWARE QUALITY

  • Software Quality Assurance
  • Configuration Management and Change Control
  • Software Tools
  • The 'ilities'
  • Standards
  • Documentation
  • Metrics

Online Courses
 Enhance your career
Online Courses
Pursue your interest  
Online Courses
Network worldwide