![]() |
Software EngineeringA systems approach A course/workshop presented over five days |
Introduction | Training Objective | Course Outline | Methods & Materials | Key Questions | Who Should Attend |Course Schedule
This course is recognised by Engineers Australia for CPD purposes (40 hours) |
Introduction
This 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.
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 and critical 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/IEEE/EIA 12207, other IEEE and ISO standards, the Software Engineering Institute's (SEI) Capability Maturity Models, the Guide to the Software Engineering Body of Knowledge (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, delegates will develop their skills in specifying, planning and managing major software development and maintenance efforts.
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 cost estimate
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
Training Method and Materials
Course 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. You will be provided with numerous supplementary descriptions, checklists, forms and charts which you can put to use immediately.
TopKey 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?
Who Should Attend This Seminar/Workshop?
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.
TopCourse Schedule
| P137-59 20 Oct to 24 Oct 2008 | Adelaide, Australia Freedom Adelaide Meridien Hotel | Earlybird Fee: AUD2421.00 Standard Fee: AUD2690.00 | Download Brochure Download Regform | Enquire Online Register Online |
| P137-61 01 Dec to 05 Dec 2008 | Las Vegas, USA Clarion Las Vegas | Earlybird Fee: USD2115.00 Standard Fee: USD2350.00 | Download Brochure Download Regform | Enquire Online Register Online |
| P137-62 08 Dec to 12 Dec 2008 | Säo José dos Campos, Brazil INPE | Earlybird Fee: BRL2691.00 Standard Fee: BRL2990.00 | Download Brochure Download Regform | Enquire Online Register Online |
* All AUD$ amounts are inclusive of GST



