Software Engineering

a course presented over five days

http://www.ppi-int.com/training/software-development-course.php

Software Engineering Course Overview

This Software Engineering course is a 5-day immersion in the development of software systems, with a focus on leading software engineering development and management processes and practices.

The course approaches software development from a systems perspective (an interdisciplinary, collaborative approach to the engineering of system solutions which aims to capture stakeholder needs and objectives and to transform these into a holistic, lifecycle balanced system solution which both satisfies the minimum requirements of the stakeholders, and optimizes overall solution effectiveness according to the values of the stakeholders).

Who Should Participate in This Course?

This course is designed for people who are responsible for specifying, acquiring, developing, evaluating, supporting and/or managing software-intensive systems, for example:

  • Software Development Team Leaders
  • Software Engineers
  • Programmers
  • System Engineers
  • Project Managers of Software-Intensive Projects
  • Verification & Validation Managers
  • Configuration Managers
  • System Safety Managers
  • Software Maintainers
  • Software Procurement Managers

Training Method and Materials

PPI's Software Engineering training delivery is a mixture of stand-up instruction, guided discussions, and individual and group exercises which are used to deliver a very practically-oriented learning outcome.

Training Objective

Complex business, defense, aerospace, transportation and other technology-based projects typically involve large-scale software development. Without exception, these projects are loss-prone, high-risk enterprises. Organizations that routinely deliver high quality systems, on time and on budget, inevitably have highly trained professionals who follow best-known practices.

At the conclusion of this course you will:

  1. be better prepared to specify, plan, develop, deliver, maintain and operate a software intensive system. Given the constant evolution of software development methodologies, delegates who are already experienced software professionals will further develop their skills.
  2. become an advocate in your organization of practical methods to improve software project performance.
  3. identify causes of software development problems and drive project performance improvements.
  4. value the substantial body of public domain knowledge that defines world's leading practice in software engineering. For example, ISO/IEC/IEEE 12207, other IEEE and ISO standards, the Software Engineering Institute (SEI) Capability Maturity Models and the Guide to the Software Engineering Body of Knowledge (SWEBOK).

Key Questions

  • Why do so many software projects fail?
  • What standards are used in software development? Who uses them and why?
  • What are the leading software development technical and management practices?
  • What are agile development method and techniques?
  • How do you determine whether software requirements are adequate?
  • What are the commonly used analysis and design techniques and tools?
  • What are verification and validation and how are they integrated with other development activities?
  • What are the techniques of structured analysis and under what circumstances should they be used?
  • How do you develop system functional and physical architectures and what is their significance?
  • How should software intensive projects be planned and managed?
  • How do you implement a cost-effective risk management program?
  • What can be done to extract maximum value from inspections and technical reviews?
  • What is the role of metrics in software development?
  • How do you establish and maintain effective software development teams?
  • What techniques are used for developing critical and trusted systems?

Software Engineering - Course Outline

0. Introduction - Why Software Engineering?

  • software intensive project issues and challenges
  • relationship between problem definition and stakeholder satisfaction
  • the case for applying a systematic approach to software systems development
  • workshop - review of software intensive projects and their outcomes
  • principles for software systems development

1. Systems Engineering Lifecycle Processes

  • definitions of system engineering
  • systems concepts
  • systems engineering lifecycle processes
  • waterfall, incremental and iterative lifecycle models
  • Agile methods
  • relationship to software engineering lifecycle processes
  • standards and guidelines - ISO 9001, IEEE 1220, EIA/IS–632, EIA 632, ISO/IEC 15288, SEBOK
  • organizations – IEC, IEEE, INCOSE, ISO, SEI

2. Software Engineering Lifecycle Processes

  • definitions of software engineering
  • software engineering concepts
  • relationship to systems engineering lifecycle processes
  • organizations – IEEE, ISO, SEI, PMI®
  • standards and guidelines - ISO 12207, IEEE 12207, IEEE 1012, ISO 90003, SWEBOK, ISO 15504 (SPICE), ISO 15939, ISO 25000 series, CMMI for Development,

3. Software Systems Engineering Process Framework

  • the 12207 process framework
  • the CMMI® process framework
  • the SWEBOK knowledge areas

4. Software Development Methods and Techniques - Agile, TSP, RUP, etc.

  • development approaches explained - Team Software Process (TPS), Extreme Programming (XP), Test Driven Development, Feature Driven Development, Dynamic Systems Development Method (DSDM), Rational Unified Process
  • performance comparison of 13 software development methodologies - development cost, development time, software quality, software cost of ownership over 5 years
  • the objectives of Agile methods
  • the Agile Manifesto
  • Agile ten years on
  • Agile project management
  • Agile success factors, challenges and benefits

5. Project Management Frameworks

  • PMBOK®
  • PRINCE2™
  • the ISO/IEC 12207 project management processes
  • the CMMI® project management knowledge area
  • the SWEBOK software engineering management knowledge area

6. Quality Management Frameworks

  • ISO 9001
  • ISO 9000-3
  • the ISO/IEC 12207 QA processes
  • the CMMI® QA Knowledge Area
  • the SWEBOK quality management knowledge area

7. Requirements Analysis

  • software requirements fundamentals
  • requirements elicitation
  • requirements analysis
  • requirements specification
  • requirements validation
  • practical considerations
  • requirements analysis techniques
  • requirements documentation
  • requirements management support tools
  • workshop - requirements analysis

8. Software Design

  • software design fundamentals
  • key issues in software design
  • architectural models
  • architectural views and frameworks
  • commonly used architectures
  • design methods
  • software design notations and representations
  • design documentation
  • design support tools
  • workshop - documenting designs

9. Software Construction

  • software construction fundamentals
  • construction design
  • programming languages
  • software reuse and product lines
  • software construction support tools

10. System Integration

  • integration
  • Service Oriented Architecture (SOA)
  • Web services
  • SOAP and XML
  • interface control
  • pitfalls and pointers in system integration

11. Software Maintenance

  • software maintenance fundamentals
  • key issues in software maintenance
  • maintenance techniques
  • software maintenance support tools

12. Verification and Validation

12.1 Technical Reviews

  • software walk through and inspections - Fagan, Gilb
  • formal and informal reviews
  • requirements reviews
  • design reviews
  • other reviews
  • audits
  • administration of technical reviews
  • technical reviews and incremental builds
  • customer involvement in technical reviews
  • pitfalls in conducting technical reviews
  • workshop - reviewing requirements

12.2 Testing

  • software testing fundamentals
  • test planning
  • test Levels
  • test techniques
  • test related measures
  • test documentation
  • software testing tools

12.3 Other Verification and Validation Methods

  • control flow analysis
  • demonstration
  • prototyping
  • simulation

12.4 Independent Verification and Validation

  • what is IV&V?
  • why and when do you use IV&V?
  • IV&V requirements and activities
  • IV&V agents
  • implementing IV&V

13. Software Engineering Management

13.1 Project Management Activities

  • project initiation
  • scope definition
  • project planning
  • project monitoring, controlling, and reporting
  • project closure

13.2 Software Development Plans

  • Software Development Management Plans and Project Management Plans
  • relationships of an SDMP/PMP to other plans
  • content of the PMP
  • content of the SDMP
  • pitfalls in preparing a SDMP/PMP

13.3 Scope Management

  • defining a project’s scope
  • types of WBS
  • why the WBS is a foundation of effective software engineering management
  • guidelines for preparing a WBS
  • WBS decomposition and work packages
  • relationship of a WBS to cost accounts
  • WBS development pitfalls and pointers
  • workshop - developing a WBS

13.4 Time Management

  • schedule drivers
  • activity definition
  • activity sequencing
  • activity duration estimation
  • schedule development
  • schedule control
  • workshop – developing a schedule

13.5 Cost Management

  • cost drivers
  • cost estimation techniques
  • cost estimation models
  • Earned Value Management
  • workshop - developing a cost estimate

13.6 Risk Management

  • the nature of risk
  • components of risk
  • key risk management activities
  • workshop - developing a risk assessment

13.7 Configuration Management

  • configuration management fundamentals
  • configuration identification
  • configuration control
  • configuration status accounting
  • configuration auditing
  • configuration management standards
  • configuration management pitfalls and pointers

13.8 Release and Deployment Management

  • release management
  • deployment planning
  • Business Continuity planning
  • Post Implementation Reviews

13.9 Quality Management

  • the origins of quality management
  • software quality fundamentals
  • software quality characteristics
  • quality management techniques
  • quality management tools
  • practical considerations

13.10 Software Performance Measurement/Metrics

  • technical performance measures
  • the Practical Software Measurement (PSM) approach
  • the ISO 15939 Software Measurement Process standard
  • the SEI Goal Driven Measurement approach
  • Function Point Analysis

14. Process Evaluation and Improvement

  • process definition
  • process implementation and change
  • ISO 15504 (SPICE)
  • process assessment
  • process improvement

15. CMMI ®

  • CMMI® terms and concepts
  • improvement and CMMI®
  • CMMI® model representations – staged, continuous
  • CMMI® disciplines and process areas
  • appraisals and benchmarking
  • tailoring

16. Software Acquisition

  • ISO 12207 acquisition process
  • the CMMI ® - Acquisition

17. Engineering of Trusted Software Systems

  • safety, security, and mission critical systems
  • software engineering techniques for trusted software systems
  • critical systems standard
  • critical systems V&V

18. Effective Team Management

  • motivation
  • emotional intelligence
  • teamwork
  • leading a development team
  • coaching a development team

19. Workshop Review

  • lifecycle models and process frameworks
  • Software Engineering technical activities
  • Software Engineering management activities
  • Process evaluation and improvement
  • trusted software systems
  • teams
  • course closure

For further information on how to register, or to download a copy of the registration form, please click here.

Download BrochureDownload Form

Software Engineering Course Schedule

How to Register

There are three simple ways to register to one of our courses.

  1. Online. You may register online by clicking the "register online" link next to the course of interest.
  2. Fax. Download a registration form by clicking the link above the schedule and fax the completed form to our offices on +61 3 9876 2664 (Australia) or +1 888 772 5191 (North America).
  3. Email. Download a registration form by clicking the link next to the course of interest and email the form here.

Upon receiving a completed registration form, a course confirmation letter and invoice will be sent electronically to the email provided within 1-2 business days. Payment can made by credit card or by bank transfer.

If you need any assistance with the registration process or have any queries, please call one of our friendly team members on Australia +61 3 9876 7345, UK +44 20 3286 1995, North America +1 888 772 5174, Brazil +55 11 3230 8256 or email us.

Select your region

Find out when PPI's Software Development course is being presented in your region:

Testimonial

"The workshops were largely very useful. It was good to discuss these concepts with other delegates"

delegate, Australia

All courses are available on-site

Benefits of on-site training for your organisation include:

  • tailored in delivery to your industry
  • savings of up to 50%
  • encourages teamwork
  • formal tailoring possible

Enquire about on-site training for your company

Quote of the Day

I find that the harder I work, the more luck I seem to have. - Thomas Jefferson

Systems Engineering NEWSLETTER

SyEN makes informative reading for the project professional, containing scores of news and other items summarizing developments in the field of systems engineering and in directly related fields.