Exam preparation: IREB CPRE foundation
Completing requirements engineering knowledge, for example obtained at our “Requirements engineering foundation (2 days)” training, or in other ways, with the knowledge required to pass the examination for Foundation IREB CPRE Certificate (IREB CPRE FL).
The exam requires coping with specific test exam questions, which we learn during this 1-day training.
Professionals wishing to confirm their knowledge and experience in requirements engineering by passing the examination for IREB CPRE FL certificate.
Overview of the syllabus required for IREB CPRE FL examination
Discussing topics form the syllabus not covered by “Requirements engineering foundation (2 days)”, and learning the terminology
How exam questions are built, how to interpret and how to answer them?
Answering and getting 40 mock exam questions explained
70% theory + 30% practice
SW testing fundamentals
Testing throughout the life cycle
Test design techniques
Tool support for testing
Model Based Development for Embedded Systems
Model Based Development (MBD) is a software development methodology that enables faster, more cost-effective development of dynamic systems such as control systems, signal processing and communication systems. It relies on graphic modeling rather than the traditional text based programming.
In this instructor-led, live training participants will learn how to apply MBD methodologies to reduce development costs and accelerate the time to market of their embedded software products.
By the end of this training, participants will be able to
Select and utilize the right tools for implementing MBD.
Use MBD to carry out rapid development in the early stages of their embedded software project.
Shorten the release of their embedded software into the market.
Embedded systems engineers
Developers and programmers
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice
Introduction to Model Based Development
Overview of the "system model"
Mathematical modeling approaches
Establishing the requirements
Defining the system
Designing the model
Preparing your MBD toolkit
Verifying and validating the model
Simulation tools and practices: Simulink and StateFlow
Engineering safety-critical embedded software
Tools and approaches for testing your application
Detecting and mitigating failures
Reusing test suites
Refining algorithms through multi-domain simulation
Serial code generation
Tools and practices: TargetLink
SCM tools for managing MBD
Using a common design environment across teams
Deploying across multiple processors and hardware types
JBehave: BDD with Java
JBehave is an open-source, Java-based BDD framework for writing tests in a natural language style. BDD, or Behavior Driven Development, is an agile software development technique that encourages collaboration among developers, QA and non-technical business people in a software project.
This training begins with a discussion of BDD and how the JBehave framework can be used to carry out BDD testing for web applications. Participants are given ample opportunity to interact with the instructor and peers while implementing the concepts and tactics learned in this hands-on, practice-based lab environment.
By the end of this training, participants will have a firm understanding of BDD and JBehave, as well as the necessary practice and toolset to write test cases for real-world software test scenarios.
Testers and Developers
Format of the course
Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.
Business Driven Development (BDD) and Acceptance Test Driven Development (ATDD)
BDD as a collaboration tool for software engineers, test engineers and business people
Defining your project requirements
Setting up your environment for web application testing
Writing your stories in a user-friendly language
The anatomy of a textual scenario
Writing your first textual scenario
Writing and annotating the Java method
Passing parameters to the method
Passing multiple arguments
Sharing data between methods
Organizing your scenarios
Setup and teardown
Object-Oriented Analysis and Design using UML
This course is intended for analysts, designers, developers, testers and project managers. It is an introduction to system modeling using UML.
Based on selected systems (case study) following phases of system modeling are presented: from modeling requirements, through business process modeling and documentation of functional and non-functional requirements, to the analytical model. The next step is the design phase - static and dynamic modeling using project classes and the interaction between the system components.
Training can be the basis for a comprehensive process modeling in enterprise systems through the use of UML in all phases of software development.
Introduction to UML
A brief History of UML
Overview of issues in the field of object-oriented modeling
UML Specification (OMG)
UML diagrams overview
Requirements Categories (FURPS)
Methods for gathering requirements
Modeling requirements using UML
The relationship matrix for the requirements
Creating a requirements specification
Modeling business processes
Business process modeling in UML
The definition of a business process
Concurrent flows and decisions
Exceptions and Exception Handling
Modeling non-functional requirements
Components and Deployment diagrams
The initial architecture of the system - logical and physical
Modeling requirements for security, performance, reliability, ...
Modeling functional requirements
Modeling functionality with the Use Case diagram
Determining the scope of the system
Actors and the relationships between them
Identifying use cases
Association "actor - use case" and its properties
The relationship between use cases: include, extend, generalization
Creating a use case scenarios and generate diagrams from them (activity, state machine)
Analytical model of the system
Using communication diagram to identify the main system objects
The types of messages: asynchronous, synchronous, reply
Specify the numbering sequence of messages
Categories of objects: Boundary, Control and Entity
Introduction to the project system
Modeling the interaction
Class Diagram and source code generation
Association relationship and its characteristics.
Other relationships: aggregation, composition, generalization, dependency, association class
Generating source code from the model
Generating diagram based on the source code
Synchronizing code and diagram
Object Diagrams, Composite Structure Diagrams, and Package Diagrams
Verification of the static model
Clarification of method signatures
Verification of the class diagram
The dynamic modeling at the level of method calls
Diagrams: Sequence, State Machine, Timing, and Interaction
Efficient Requirement Management using Agile Methods and Agile UML Modeling
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.
Anyone interetsted in the Requirements Management Process
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
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.