Software Engineering

A Systems Approach

a course/workshop presented over five days

Presented by Mr. Ian Hirst

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

Software Engineering Course Introduction

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 Engineering 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, life-cycle balanced system solution which both satisfies the minimum requirements of the stakeholders, and optimises overall solution effectiveness according to the values of the stakeholders).

Who Should Attend This Course?

This course is designed for people who are responsible for specifying, acquiring, developing, evaluating, supporting or managing software intensive systems. Job titles of typical participants are likely to include:

  • Project Manager
  • Software Development Managers and Team Leaders
  • Software and Systems Engineers
  • Acquisition Staff
  • Test Managers and Quality Assurance Specialists
  • Software Systems Managers
  • Support Staff and the like...

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 experience.

In our Software Engineering Training, you will be provided with numerous supplementary descriptions, checklists, forms and charts which you can put to use immediately.

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 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 Training Objective

Without exception, complex Information Technology based business, defence and aerospace projects involve large scale software development. Software development, support issues and related risk are now determining the success or failure of many projects. At the conclusion of this course, you will:

    a. understand the major issues in contemporary software development and maintenance as related to complex andcritical software systems;

    b. understand more about the practices which typically apply in software development projects, from cradle to grave;

    c. be familiar with the mainstream views of what constitutes world leading practice in software engineering, having regard to currently used processes and standards such as ISO/IEC/IEEE 12207, other IEEE and ISO standards, the Software Engineering InstiKnowledge (SWEBOK); and

    d. see software as a part of a larger system and be familiar with the principles of systems engineering as they are relevant to software.

In addition, PPI's Software Engineering Training will allow delegates to develop their skills in specifying, planning and managing major software development and maintenanceefforts.

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

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
  • organisations – IEC, IEEE, INCOSE, ISO, SEI

2. Software Engineering Lifecycle Processes

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

3. Software Systems Engineering Process Framework

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

4. Agile Methods And Techniques

  • the objectives of Agile methods
  • the Agile Manifesto
  • development approaches – Extreme Programming (XP), Test Driven Development, Feature Driven Development, Microsoft Solutions Framework, Dynamic Systems Development Method (DSDM)
  • Agile project management

5. Project Management Frameworks

  • PMBOK ®
  • PRINCE2™
  • the 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 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
  • software structure and architecture
  • architectural frameworks
  • design quality analysis and evaluation
  • software design notations and representations
  • function-oriented design methods
  • object-oriented design methods
  • design documentation
  • design support tools
  • workshop - documenting designs

9. Software Construction

  • software construction fundamentals
  • construction design
  • construction languages
  • software reuse and product lines
  • managing construction
  • 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

  • formal and informal reviews
  • requirements reviews
  • design reviews
  • test readiness review (TRR)
  • 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

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 Plan

  • Software Development Management Plans and Project Management Plans
  • relationships of an SDMP/PMP to other plans
  • content of the SDMP
  • content of the PMP
  • 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 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 models
  • cost estimation techniques
  • 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 management processes
  • quality management techniques
  • quality management tools
  • practical considerations

13.10 Software Performance Measurement/Metrics

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

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 ® process areas
  • appraisals and benchmarking
  • tailoring

16. Software Acquisition

  • ISO 12207 acquisition processes
  • the Software Acquisition CMM ®
  • the CMMI ® - Acquisition

17. Engineering of Trusted Software Systems

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

18. Effective Team Management

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

19. Course Review

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

About the Software Engineering Course Presenter

Ian Hirst is a highly experienced software engineering professional and a Certified Project Management Professional (PMP) who has worked in technology-based industry for over 30 years, in roles which have included development and support of software-intensive military embedded systems, government enterprise IT systems, and telecommunications systems.

View full presenter biography

Software Engineering Course Schedule

Testimonial

"Great course for me, showed the importance of project management principles that I can apply to the software development lifecycle"

delegate, Australia

SADI Funding

Attendance at public courses and on-site delivery in Australia may be eligible for SADI funding.

View more information

This Course is 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

Have a question about our courses?

View our FAQ

How to Register

  • 1.  Fax Download a registration form from the schedule tab and fax it to us on: +61 3 9876 2664 or +1 888 772 5191 in North America
  • 2.  Online You may register online. This is the simplest method of registration and an invoice is issued to you via email or fax.
  • 3.  Phone If you prefer, you can provide your registration and payment details via phone. Call us on +61 3 9876 7345, UK +44 20 3286 1995, North America +1 888 772 5174, Brazil +55 3212 2017

Online payment soon to be available.

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.