課程目錄:Software Engineering, Requirements Engineering and Testing培訓
        4401 人關注
        (78637/99817)
        課程大綱:

           Software Engineering, Requirements Engineering and Testing培訓

         

         

         

        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