Software Engineering
A Systems Approach
a course/workshop presented over five days
Presented by Mr. Ian Hirst
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.
Software Engineering Course Schedule
Testimonial
"The workshops were largely very useful. It was good to discuss these concepts with other delegates"
delegate, Australia
This Course is available on-site
Benefits of on-site training for your organisation include:
- tailored to your industry
- savings of up to 50%
- encourages teamwork
Have a question about our courses?
How to Register
- 1. Fax Download a registration form from the schedule tab and fax it to us on: +61 3 9876 2664
- 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
Online payment soon to be available.
Training
Quicklinks
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.