A Systems Approach
a course presented over five days by Mr. Hanno Retief
Software Engineering Course Introduction
This course is a 5-day total immersion in software development best practices, with a focus on the steps an organization must take to transition software development from a craft to an engineering discipline. The course approaches software development from a systems perspective: an interdisciplinary, collaborative approach to the engineering large and complex software intensive systems. All course subject areas provide actionable information on creating cost-effective solutions to practical problems by applying scientific knowledge to building software.
Who Should Attend 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
- Business Analysts
- 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 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.
- 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 and where do they apply?
- How do you determine whether software requirements are adequate?
- What are the commonly used analysis and design patterns, techniques and tools?
- What is verification and validation and how is it effectively integrated with core development activities?
- How do you develop system 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 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 (even today, sixty years on from the first application of computers, the software industry spends more than $0.50 of every software dollar on fixing bugs and dealing with security flaws or disasters such as cancelled projects). Software project performance is uneven across the industry, however it is an accepted fact that organizations that routinely deliver high quality systems, on time and on budget, inevitably have highly trained professionals who follow software engineering practices.
At the conclusion of this course participants will:
- 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;
- become an advocate in their organization for practical methods to improve software project performance;
- identify causes of software development problems and drive project performance improvements; and
- 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).
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
1.Introduction and Overview
- introduce the presenter and go over the learning methodology
- an overview of course structure and methodology
- general introduction into software engineering
- history of software development, recent trends, the current state and beyond the current state
- an engineering approach to software development including concurrent engineering, systems methodology and thinking
- key role-players in a typical software development environment
- life cycle characteristics and typical stages
- process fundamentals and development models
- sequential versus incremental and iterative development models
- different software development methodologies and their applicability
- the performance of different software development methodologies
- lean software development and value driven design
- tailoring and process improvement principles
2. Technical Processes
- requirement analysis
- system requirements, system boundaries, hierarchy and subsystems
- requirement quality attributes and other fundamentals
- requirement documentation, natural language, UML, and storyboards
- requirement parsing
- concept of use documents
- software tools
- common pitfalls in performing RA
- software design
- design fundamentals
- architectural styles and patterns
- evolutionary architecture
- design methods
- software design notations and presentations
- documentation and tools
- software construction
- dealing with complexity
- standards for coding
- assessing quality
- system and software integration
- integration strategies
- system oriented architecture
- web services
- communication protocols
- interface controls
- pitfalls and pointers
- validation and verification
- formal, informal, technical, design, code, requirement and other reviews
- other V&V methods
- transition (transfer between different owners)
- operations, maintenance and support
- disposal or retirement
3. Project Processes
- project management: frameworks, planning, assessment and control
- estimation and costing
- risk management
- configuration management
- change management
- quality management
- release and deployment
- information management
- human elements and building effective teams
4. Agreement Processes
- overview and contract models
5. Enterprise Level Processes
- project portfolio management and program management
- life cycle model management
- quality management
- human resource management
- knowledge management
- enterprise tools
6. Software Fields
This section briefly looks at a couple of speciality fields, providing enough information to appreciate the significance and be able to interact with experts in the field. Topics includes:
- engineering of trusted/high integrity systems
- software life cycle cost analysis
- usability analysis and human system integration
Software Engineering Course Schedule
How to Register
There are three simple ways to register to one of our courses.
- Online. You may register online by clicking the "register online" link next to the course of interest.
- 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).
- 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:
Closely Related Courses
- Human Systems Integration (5-day)
- Cognitive Systems Engineering, Intro to (1-day)
- Integrated Product Teams (2-day)
- Requirements Analysis, Intro to (1-day)
- Requirements Specifications, Preparing Great (1-day)
- Specification Writing (2-day)
- Requirements Analysis (3-day)
- Requirements Engineering - English First Language (4 long days)
- Requirements Engineering - English Second Language (4-day)
- Requirements Engineering - English Second Language (5-day)
- Software Development, Intro to (2-day)
- Software Development Principles & Processes (5-day)
- Engineering and Scientific Presentations (2-day)
- Requirements Analysis, The Business Case for (2-hours)
"The instructor was well versed on the material and very responsive to the needs and attitudes of the participants"
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
Quote of the Day
I find that the harder I work, the more luck I seem to have. - Thomas Jefferson (1743-1826)
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.