Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Day 1: Process
Introduction
- What is Systems Engineering?
- What is Software Engineering?
- Why is Software Engineering challenging for government?
- System requirements
- System modeling
Software Engineering Processes
- What is a Software Development Process for government?
- Traditional Processes
- Agile Processes
- Processes for building High-Integrity Systems for government
- Standards & certification systems
High-Integrity Systems
- What are High-Integrity Systems?
- The role of Quality Management (QM) culture in government
- Reasons for errors
- Critical systems standard
- Reliability engineering
Software Maintenance
Day 2: Planning
Requirements
- User requirements for government
- Elicitation/analysis of user requirements
- System requirements
- Software requirements
- Specification of software
- Requirements process
- Tools to manage requirements for government
Software Design
- Conway's Law
- Design patterns for government
- Textual modeling tools
- Principles of Object-Oriented (OO) design for government
- Design tools
- Common architectures for government
Modeling
- Planning an architecture for government
- UML graphical representations
- Non-UML graphical representations
Day 3: Code
Software Construction
- How to take a design into code for government
- Programming best practices for government
- Abstraction of code for government
- Programming workflow for government
Configuration Management
- What is Configuration Management for government?
- Configuration Management in ISO9000 and CMMI for government
- CASE tools for planning, design & QA for government
- CASE tools for writing software for government
- Version control with SVN for government
- System Integration for government
Code for High-Integrity Systems
- Preventing errors in code for High-Integrity Systems for government
- Catching errors in code for High-Integrity Systems for government
- Reducing the impact of errors in code for High-Integrity Systems for government
- Typical problems with code for High-Integrity Systems for government
Code quality metrics
- Code size metrics for government
- Code complexity metrics for government
- Non-code metrics for government
- Static analysis for government
Day 4: Verification & Validation
Reviews
- Fundamentals of Verification and Validation (V&V) for government
- Independent Verification & Validation for government
- Design and requirement reviews for government
- Code inspections for government
- Software Walkthroughs for government
- Audits for government
- Other V&V methods for government
Testing High-Integrity Systems
- Documents regarding safety for government
- Scenarios for government
- Argumentation for safety in government systems
- Reviews of High-Integrity Systems for government
- Predicting reliability for government
- Formal methods for government
- Costs of V&V for government
Automated Testing
- Why test for government?
- Automatic vs manual tests for government
- Incremental testing for government
- Types of tests for government
- Testing tools for government
- Test Harnesses for government
Day 5: Management
Project Management
- What is Project Management for government?
- Customer handover for government
- Standards (PMP, PRINCE2) for government
- Time management for government
- Cost management for government
- Risk management for government
- Project documentation for government
Process Evaluation
- The function of process evaluation for government
- Acting on the metric for government
- Process metrics for government
- Process evaluation standards & frameworks (CMMI, ISO 9001, TickIt+) for government
- Process evaluation meetings for government
Summary and Conclusions
35 Hours
Testimonials (2)
Everything was built up from a basic level while progressing quick enough to prevent anyone getting bored.
Nathan Roberts
Course - Software Engineering
The level of inter activeness and pace meant that it was never boring.