Software Engineering Training Courses

Software Engineering Training

Software Engineering courses

Client Testimonials

Software Engineering

the engaging method of teaching ensured that all attending the course were involved in the learning process

Matthew Cuff - Altran UK

Software Engineering

Covered a wide range of topics - more than I would have expected in a Software Engineering lecture (such as some details on programming, safety critical systems etc.). Kristian was very friendly and easy to ask questions to. I thoroughly enjoyed the course and would recommend it to others.

Jerome Shah - Altran UK

Software Engineering Course Outlines

ID Name Duration Overview
120678 Software Engineering 35 hours Software Engineering starts where programming stops. In this course you will learn a solid foundation in Software Engineering. It builds a bridge from programming to solid engineering practices. The course gives you an overview of basic concepts and vocabulary typically used in the field. During the course, you will learn to use many techniques to plan, implement and validate software projects and to evaluate and improve development processes. Audience: This course is intended for software developers with various backgrounds who know at least one programming language. Day 1: Process Introduction What is Systems Engineering? What is Software Engineering? Why is Software Engineering difficult? System requirements System modeling Software Engineering Processes What is a Software Development Process? Traditional Processes Agile Processes Processes for building High-Integrity Systems Standards & certification systems High-Integrity Systems What are High-Integrity Systems? The role of QM culture Reasons for errors Critical systems standard Reliability engineering Software Maintenance Day 2: Planning Requirements User requirements Elicitation/analysis of user requirements System requirements Software requirements Specification of software Requirements process Tools to manage requirements Software Design Conways Law Design patterns Textual modeling tools Principles of OO design Design tools Common architectures Modeling Planning an architecture UML graphical representations Non-UML graphical representations Day 3: Code Software Construction How to take a design into code Programming best practices Abstraction of code Programming workflow Configuration Management What is Configuration Management? Configuration Management in ISO9000 and CMMI CASE tools for planning, design & QA CASE tools for writing software Version control with SVN System Integration Code for High-Integrity Systems Preventing errors Catching errors Reducing the impact of errors Typical problems with code for High-Integrity Systems Code quality metrics Code size metrics Code complexity metrics Non-code metrics Static analysis Day 4: Verification & Validation Reviews Fundamentals of VV Independent Verification & Validation Design and requirement reviews Code inspections Software Walkthroughs Audits Other V & V methods Testing High-Integrity Systems Documents regarding safety Scenarios Argumentation for safety Reviews of High-Integrity Systems Predicting reliability Formal methods Costs of V + V Automated Testing Why test? Automatic vs manual tests Incremental testing Types of tests Testing tools Test Harnesses Day 5: Management Project Management What is Project Management? Customer handover Standards (PMP, PRINCE2) Time management Cost management Risk management Project documentation Process Evaluation The function of process evaluation Acting on the metric Process metrics Process evaluation standards & frameworks (CMMI, ISO 9001, TickIt+) Process evaluation meetings Summary and Conclusions
121018 System Engineering using SysML and UML 2 21 hours Objective: Helping Analysts and Designers of the System Engineering domain to understand how to efficiently gather requirements then go through the embedded software design implementation on the basis of system specifications using UML 2 and SysML. This 3 days training aims at assisting system analysts to express efficiently their needs and designers to make the appropriate architectural design of the system on the basis of these needs. The resulting system architecture provides a good level of agility to the embedded system software in face of changes as it allows a coherent traceability of the business rules encapsulated in system functions and those of the usage choices (use cases) of the end-users toward the software implementation level. Introduction The System Development Life Cycle with the Harmony Process (IBM/Telelogic) Overview of the UML/SysML diagrams used in requirements gathering, system analysis and design of the System Engineering domain A Method based Framework for requirement gathering, system analysis and design Gathering Requirements and Transforming them into System Specifications Making business and system requirements traceable using the SysML requirement diagram Define the scope of the system composed of functions and use cases that invoke these functions Model the Life Cycle of the System that orchestrates transitions between its states where functions are triggered Prepare test cases using scenarios that realize Use Cases and System Functions Case Study : Model the System Scope and the usage of the system functions on the basis of requirements Transforming System Specifications into Design Level Components Model the Block Diagram of the system and refine it using internal blocks Elaborate the Communication Architecture between Sub-System using Parts, Ports and Interfaces Case Study : Elaborate the block and Internal Block diagrams on the basis of system specifications and by considering design level choices Model the description of white box Interactions at the design level Case Study : Model interactions between blocks and Internal Blocks on the basis of design level choices Mapping of Operations on the Components (Parts) of Blocks Elaborate the Parametric Diagram of the System Functions Case Study : Update the Block and Internal Block Diagrams on the basis of design level scenarios Conclusion Steps of requirement analysis and system specifications in system engineering Traceability between requirements and the software System Integration and Acceptance Tests of the requirements Notice: The above training-mentoring sessions are conducted interactively using Requirement Engineering and Modeling tools like Enterprise Architect (EA) in order to ensure good level of traceability between requirements and underlying solutions. Concepts are explained first using basic examples and are then followed by solution drafts to your own problems. After this session, we can accompany you by reviewing and validating your solutions depending on your needs. Provided by GooBiz
178148 Embedded C Application Design Principles for Automotive Professionals 14 hours A two day course covering all design principles with code examples coupled with recent industurial technology; very useful for automotive software developers What is design? Design tools overview Defining design goals Software Engineering Challenges Reusablility Maintainability Testability Configurability Abstraction Readability Redundency-free design Decomposition Verbalization Modularization Information Hiding Context-free modules Loose coupling Strong cohesion Acyclic dependencies
121021 Efficient Requirement Management using Agile Methods and Agile UML Modeling 21 hours Objective: This training course aims at helping product managers, products owners, business analysts, system architects and developers understand how to efficiently Manage Requirements on the basis of the product vision till guiding developers accurately in implementing them. More in detail, this course aims at assisting product managers in better defining the value propositions of their products on the basis of strategies and stakeholder needs. Business Analysts and product owners understand how to describe requirements of the product backlog then discover appropriate epics and user stories of the system while contributing to the required value creation. Along interactive case study exercises, participants learn how to describe in detail such requirements in order to validate correct understanding of needs and prepare system acceptance tests. Thus, only using a very common and productive UML profile, they learn to structure requirements in order to communicate efficiently with architects and developers through an iterative requirement gathering process. Audience: Product Managers Product Owners Business Analysts Anyone interetsted in the Requirements Management Process Introduction What is the Requirement Management Process ? Why Agile ? Business agility and agile software delivery : Definitions Linking Agile to Business : Business Motivation Model vs. Business Model Canvas, How to effciently use the Value Proposition Canvas for defining the Product Vision ? Business agility vs. agile software delivery principles What is Agile Not ? Impacts of alignment with strategies and capabilities Requirement Management in an Agile Context Scrum Life Cycle : Issues about completeness of requirements and traceability How productive models enhance communication in 'Agile' ? Business Extensions of Agile : Structuring Business Value Contribution of a User Story A Panorama of UML diagrams for modeling requirements Frameworks for tracing requirements toward software implementation and tests The 5 levels planning of an agile project (from Clarifying the Vision and Product Backlog to Tasks… and the Architecture Walking Skeleton) Managing Requirements within Agile Methods (Scrum, DAD) vs. the Unified Process (RUP) Roles, teams, environments Presentation of the Case Study for Structuring requirements and managing them using an iterative process How to describe the business vision and needs via traceable models ? Qualification of the requirements : The Kano model vs. the Value Proposition Canvas Structuring the Vision of the Product on the basis of strategies, environmental forces and trends Value proposition, key activities, key resources, revenue streams and cost structures,  Discovering the business scope of the product using the customer needs, gains and pains Describing business use cases using 'value streams' and 'value stages' Bridging the business scope of the product with expected 'value contributions' Case Study : Describing the vision of the product How to describe user needs via agile use case modeling (epics and user stories) ?  Agile Estimating and Planning Building and managing the product backlog / granularity of requirements Ahead of the sprint planning Creation of the sprint backlog Agile User Story Pattern : system scope (the subject), actors, use cases, user stories, acceptance criteria, the INVEST model The Walking Skeleton using Disciplined Agile Delivery : From Processes to Technology  How to find out epics and user stories on the basis of value streams ? Value contribution of epics and user stories Writing tasks : granularity and size using the SMART model Case Study : Discovering epics and user stories on the basis of value streams Validating and testing correct understanding of detailed specifications  Using an incremental requirement gathering process and the sprint backlog Rules for efficient epic, user story and architecture descriptions Diagrams for validating epics and user story descriptions  How to choose the right diagram ?  Refining features using use cases and relationships modeling Testing correct understanding of requirements using Test-Driven Requirements Given/When/Then structures and Operation Contracts for guiding developers in implementing requirements Coverage analysis and change management Case Study : Validating, testing and communicating detailed requirements to developers Conclusion Steps of efficient requirement gathering and system analysis processes  Traceability between requirements and analysis models  Patterns for gathering and testing requirements  Notice: The above training-mentoring sessions are conducted interactively using examples from Requirement Engineering and Modeling tools in order to ensure good level of traceability between requirements and underlying solutions. Concepts are first explained using basic examples and are then followed by solution drafts to your potential case. After this session, we can also accompany you by reviewing and validating your solutions depending on your needs.

Course Discounts

Upcoming Courses

Weekend Software Engineering courses, Evening Software Engineering training, Software Engineering boot camp, Software Engineering instructor-led , Software Engineering classes, Software Engineering trainer , Software Engineering instructor, Software Engineering one on one training ,Weekend Software Engineering training, Software Engineering private courses, Evening Software Engineering courses, Software Engineering coaching, Software Engineering on-site

Some of our clients