Software Engineering培训
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