Introduction to Software Engineering

a seminar/workshop presented over two days

Presented by Mr. Les Chambers BE (Hons)

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

Seminar Introduction

This Introduction to Software Engineering seminar is a 2-day overview of the development of software systems with a focus on leading software development and management processes and practices.

The seminar 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 Seminar?

This seminar is designed for people who are responsible for requesting, specifying, acquiring, developing, testing, using, supporting or managing software intensive systems. The types of participants who will benefit from this seminar include:

  • Project Managers and Project Sponsors
  • Software Development Managers and Team Leaders
  • Software Systems Acquisition Staff
  • Business staff who use Software Systems
  • Staff working on Software System business cases, proposal evaluations or project plans
  • Software Developers
  • Business Analysts
  • Test Managers and Testers
  • Quality Assurance and Process Improvement Specialists
  • Software Systems Managers
  • Anyone wanting a broad understanding of Software Systems development processes, issues and risks.

Training Method and Materials

PPI's Introduction to 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.

Seminar Topics

  • Introduction – Why is Systematic Software Development necessary?
  • Systems Engineering Life Cycle Processes
  • Software Engineering Life Cycle Processes
  • Software Systems Engineering Process Frameworks
  • Agile Methods and Techniques
  • Requirements Analysis
  • Software Design
  • Software Construction
  • System Integration
  • Quality Management
  • Technical reviews
  • Testing
  • Other verification and validation approaches and methods
  • Project Management Frameworks
  • Project Management Activities
  • Scope Management
  • Risk Management
  • Process Improvement and CMMITM
  • Effective Team Management

Training Objective

Complex business, defence, aerospace, transportation and other technology-based projects, typically involve large scale software development. Software development issues, software support issues and related risk are now determining the success or failure of many projects.

At the conclusion of this seminar, you will:

  1. be aware of the major issues in contemporary software development and maintenance, as related to complex and critical software systems

  2. become more aware about the practices which typically apply in software development projects from cradle to grave

  3. 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 Institute (SEI) Capability Maturity Models, the Guide to the Software Engineering Body of Knowledge (SWEBOK), and Agile methods and techniques

  4. see software as a part of a larger system, and be aware of the principles of systems engineering as they are relevant to the engineering of software.

In addition, delegates who are already experienced software professionals will further develop their skills in specifying, planning and managing major software development and maintenance efforts.

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

Key Questions

  • Why do so many software projects fail to deliver against expectations?
  • What are the leading software development technical and management practices and standards?
  • What are Agile development method and techniques and how do I apply them?
  • 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?
  • How should software intensive projects be planned and managed?
  • How do you plan, implement, and monitor cost-effective risk management?
  • What techniques are used for developing critical and trusted systems?
  • 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?

Seminar Outline

1. Introduction – Why is Systematic Software Development necessary? (1.0 hour)

  • software systems development 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

2. Systems Engineering Life Cycle Processes (1.0 hour)

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

3. Software Engineering Life Cycle Processes (1.0 hour)

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

4. Software Systems Engineering Process Frameworks (0.5 hour)

  • the ISO/IEC/IEEE 12207 process framework
  • the CMMI™ process framework

5. Agile Methods and Techniques (1.0 hour)

  • the objectives of Agile methods
  • the Agile Manifesto
  • Agile development approaches
  • Agile project management
  • critical success factors for Agile methods
  • benefits and risks associated with Agile approaches

6. Requirements Analysis (3.0 hours)

  • software requirements fundamentals
  • requirements processes
  • requirements elicitation
  • requirements analysis
  • requirements specification
  • requirements validation
  • practical considerations
  • characteristics of good requirements
  • context analysis
  • workshop – creating a context diagram
  • needs analysis
  • functional analysis
  • use cases
  • states and modes analysis
  • decision tables and trees
  • writing requirements statements
  • workshop – writing requirements statements
  • requirements documentation
  • requirements management support tools

7. Software Design (2.5 hours)

  • software design fundamentals
  • key issues in software design
  • software structure and architecture
  • architectural frameworks
  • UML diagrams
  • Data Flow Diagrams
  • workshop – creating a Data Flow Diagram
  • function-oriented design
  • data oriented design
  • object oriented design
  • Service Oriented Architecture (SOA)
  • design patterns
  • design quality
  • design documentation
  • design support tools

8. Software Construction (0.5 hour)

  • software construction fundamentals
  • programming languages
  • coding considerations
  • software construction support tools

9. System Integration (0.5 hour)

  • integration approaches
  • web services
  • XML
  • interface control
  • pitfalls and pointers in system integration

10. Quality Management (0.5 hour)

  • the origins of quality management
  • Quality Assurance and Quality Control
  • ISO 9001 Quality Management Systems Requirements Standard
  • software quality characteristics
  • quality management techniques and tools
  • verification and validation

11. Technical reviews (0.5 hour)

  • formal and informal reviews
  • requirements reviews
  • design reviews
  • code reviews
  • release readiness reviews
  • other reviews
  • customer involvement in technical reviews
  • pitfalls in conducting technical reviews

12. Testing (0.5 hour)

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

13. Other verification and validation approaches and methods (0.5 hour)

  • Analysis
  • Demonstration
  • Prototyping
  • Simulation
  • Independent Verification and Validation

14. Process Improvement (0.5 hour)

  • process assessment
  • process improvement

15. CMMITM(0.5 hour)

  • CMMI™ terms and concepts
  • improvement and CMMI™
  • CMMI™ model representations – staged, continuous
  • CMMI™ disciplines and process areas

16. Course Review (0.5 hour)

About the Presenter

 

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

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

Testimonial

"The detailed coverage of the subject matter was excellent. The course provided much more information"

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

There is only one nature - the division into science and engineering is a human imposition, not a natural one. Indeed, the division is a human failure; it reflects our limited capacity to comprehend the whole. - Bill Wulf

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.