Software Engineering, Requirements Engineering and Testing Training Course

Course Code

softengret

Duration

63 hours (usually 9 days including breaks)

Overview

This course demonstrates through hands-on practice the fundamentals and applications of software engineering, requirements engineering and testing.

Course Outline

Software Engineering 5 days

Day 1: Project Management

  • Project versus line management and maintenance and support
  • Project definition and project forms
  • Management – general rules and project management
  • Management styles
  • What is special for IT projects?
  • Basic project process
  • Iterative, incremental, waterfall, agile and lean project process
  • Project phases
  • Project roles
  • Project documentation and other artefacts
  • Soft factors and peopleware
  • PRINCE 2, PMBOK, PMI, IPMA and other project standards

Day 2: Business Analysis and Requirements Engineering Fundamentals

  • Defining business goals
  • Business analysis, business process management, business process improvement
  • The boundary between business and system analysis
  • System stakeholders, system users, system context and system boudaries
  • Why are requirements necessary?
  • What us requirements engineering
  • The boundary between requirements engineering and architectural design
  • Where is requirements engineering often hidden?
  • Requirements engineering in iterative, lean, and agile development and in continuous integration – FDD, DDD, BDD, TDD
  • Basic requirements engineering process, roles and artefacts
  • Standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA

Day 3: Architecture and Development Fundamentals

  • Programming languages – structural and object-oriented paradigms
  • Object-oriented development – how much is history, how much is the future
  • Modularity, portability, maintainability and scalability of architectures
  • Definition and type of software architectures
  • Enterprise architecture and system architecture
  • Programming styles
  • Programming environments
  • Programming mistakes and how to avoid and prevent them
  • Modelling architecture and components
  • SOA, Web Services and micro-services
  • Automatic build and continuous integration
  • How much architecture design is there on a project?
  • Extreme programming, TDD and re-factoring

Day 4: Quality Assurance and Testing Fundamentals

  • Product quality: what is it? ISO 25010, FURPS etc.
  • Product quality, user experience, Kano Model, customer experience management and integral quality
  • User-centred design, personas and other ways to make quality individual
  • Just-enough quality
  • Quality Assurance and Quality Control
  • Risk strategies in quality control
  • The components of quality assurance: requirements, process control, configuration and change management, verification, validation, testing, static testing and static analysis
  • Risk-based quality assurance
  • Risk-based testing
  • Risk-driven development
  • Boehm’s curve in quality assurance and in testing
  • The four testing schools – which suits your need?

Day 5: Process Types, Maturity and Process Improvement

  • The evolution of IT process: from Alan Turing through Big Blue to lean startup
  • Process and process-oriented organization
  • The history of processes in crafts and industries
  • Process modelling: UML, BPMN and more
  • Process management, process optimization, process re-engineering and process management systems
  • Innovative process approaches: Deming, Juran, TPS, Kaizen
  • Is (process) quality free? (Philip Crosby)
  • The need and history of maturity improvement: CMMI, SPICE and other maturity scales
  • Special types of maturity: TMM, TPI (for testing), Requirements Engineering Maturity (Gorschek)
  • Process maturity versus product maturity: any correlation? Any causal relationship?
  • Process maturity versus business success: any correlation? any causal relationship?
  • A forsaken lesson: Automated Defect Prevention and The Next Leap in Productivity
  • Attempts: TQM, SixSigma, agile retrospectives, process frameworks

Requirements Engineering - 2 days

Day 1: Requirements Elicitation, Negotiation, Consolidation and Management

  • Finding requirements: what, when and by whom
  • Stakeholder classification
  • Forgotten stakeholders
  • Defining system context – defining requirements sources
  • Elicitation methods and techniques
  • Prototyping, personas, and requirements elicitation through testing (exploratory and otherwise)
  • Marketing and requirements elicitation – MDRA (“Market-Driven Requirements Engineering”)
  • Prioritising requirements: MoSCoW, Karl Wiegers and other techniques (including agile MMF)
  • Refining requirements – agile “specification by example”
  • Requirements negotiation: types of conflicts, conflict-solving methods
  • Solving internal incongruence between some types of requirements (e.g. security versus ease of use)
  • Requirements traceability – why and how
  • Requirements status changes
  • Requirements CCM, versioning and baselines
  • Product view and project view on requirements
  • Product management and requirements management in projects

Day 2: Requirements Analysis, Modelling, Specification, Verification and Validation

  • Analysis is the thinking and re-thinking you do between elicitation and specification
  • Requirements process is always iterative, even in sequential projects
  • Describing requirements in natural language: risks and benefits
  • Requirements modelling: benefits and costs
  • The rules for using natural language for requirements specification
  • Defining and managing requirements glossary
  • UML, BPMN and other formal and semi-formal modelling notations for requirements
  • Using document and sentence templates for requirements description
  • Verification of requirements – goals, levels and methods
  • Validation – with prototyping, reviews and inspections, and testing
  • Requirements validation and system validation

Testing - 2 days

Day 1: Test Design, Test Execution and Exploratory Testing

  • Test design: after risk-based testing, choosing the optimum way to use the time and resources available
  • Test design “from infinity to here” – exhaustive testing is not possible
  • Test cases and test scenarios
  • Test design on various test levels (from unit to system test level)
  • Test design for static and for dynamic testing
  • Business-oriented and technique-oriented test design (“black-box” and “white-box”)
  • Attempting to break the system (“negative testing”) and supporting the developers (acceptance testing)
  • Test design to achieve test coverage – various test coverage measures
  • Experience-based test design
  • Designing test cases from requirements and system models
  • Test design heuristics and exploratory testing
  • When to design test cases? – traditional and exploratory approach
  • Describing test cases – how much detail?
  • Test execution – psychological aspects
  • Test execution – logging and reporting
  • Designing tests for “non-functional” testing
  • Automatic test design and MBT (Model-Based Testing)

Day 2: Test Organization, Management and Automation

  • Test levels (or phases)
  • Who does the testing, and when? – various solutions
  • Test environments: cost, administration, access, responsibility
  • Simulators, emulators and virtual test environment
  • Testing in agile scrum
  • Test team organization and role
  • Test process
  • Test automation – what can be automated?
  • Test execution automation – approaches and tools

Testimonials

★★★★★
★★★★★

Related Categories

Related Courses

Course Discounts

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients

is growing fast!

We are looking to expand our presence in South Africa!

As a Business Development Manager you will:

  • expand business in South Africa
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!

This site in other countries/regions