Module 1: Software Engineering and Society
Software Engineering
Engineering Economics
- Defining Engineering Economics
- Economic Effects on Software Engineering
- Cost and Effort in Software Engineering
Software Engineering Standards
- Definitions and Examples
- Benefits
Professional Practices
- Professionalism in Software Engineering
- Code of Ethics
|
|
Module 2: Software Requirements
Software Requirements Engineering Process
- Importance of Software Requirements
- Categories of Software Requirements
- Software Requirements Engineering Activities
Software Requirements Elicitation and Analysis
- Software Requirements Elicitation Procedure
- Software Requirements Analysis
- Prototypes
- Software Reuse
- Process Management
- ConOps Document
Software Requirements Specifications
Software Requirements Management
- Management of Change
- Software Requirements Verification and Validation
|
Module 3: Software Design
Design Concepts
- Software Design
- Software Design Activity
- Software Design Quality and Evaluation
- Software Design Notations and Documentation
Software Design Strategies
- General Software Design Strategies
- Modular Decomposition
- Function-Oriented Design
- Object-Oriented Design
- Prototyping and Reuse
- Use Cases
Software Architecture
- Architectural Software Design
- Architectural Views and Styles
- Detailed Software Design
Specialized Software Design Approaches
- Human Factors in Software Design
- Domain Issues in Software Design
- Fault Tolerance
- Software and System Safety
|
Module 4: Software Construction
Construction Elements
- Software Construction Role
- Construction Planning
- Construction Tools
Design, Organization, and Documentation
- Code Design
- Data Design and Management
- Code Organization
- Code Tuning
- Code Documentation
- Defect Identification and Correction
- Code and Unit Testing
- Quality Factors and Quality Assurance
System Integration and Deployment
- Integration Types
- Software Deployment
|
Module 5: Software Testing
Software Testing Overview
- Testing Concepts
- Test Levels
Test Types
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Test Design
- Test Design - Part I
- Test Design Part II
- Testing Strategies
- Test Coverage
- Test Case Development
- Test Management
|
Module 6: Software Maintenance
Software Maintenance Description
- Purpose
- Software Maintenance Planning
Software Maintenance Process
- Software Lifecycle Processes
- Maintenance Types
- Properly vs. Improperly Engineered Systems
Software Maintenance Management
Software Maintenance Measurement
Software Maintenance Documentation
|
Module 7: Software Configuration Management
Configuration Management
- Software Configuration Management
- Key Configuration Management Concepts
- Configuration Control Board
- External and Internal SCM
- Software Configuration Auditing
|
Module 8: Software Engineering Management
Software Management Functions and Modes
- Project and Software Management
- Organizational Management
Software Engineering Management Process
- Initiation and Scope Definition
- Planning, Execution, and Control
- Project Enactment
- Review and Evaluation
- Project Close Out
- Post-Closure Activities
Planning a Project
- Project Planning
- Project Deliverables
- Quality Management
- Schedule and Cost Estimates
- Resource Allocation
- Tracking the Plan
- Software Management Activities
Reviews and Audits
- Reviews
- Joint Acquirer-Developer Reviews
- Independent Audit
- Peer Reviews
|
Module: 9 Software Engineering Process
The Importance of Processes
- Process Benefits
- Process Infrastructure
Process Models
- Types of Lifecycle Models
Capability Maturity Model for Software
Controlling a Project
- Project Control Process
- Monitoring the Project
- Corrective Action
Software Verification and Validation
- Role of Measurement
- Measurement Types
- Measurement Programs
- Types of Process Models
Metric Classification and Selection
- Purpose
- Metric Classifications
- Goal-Question-Metric Paradigm
- Metric Report
- Process Implementation and Change
|
Module 10: Software Engineering Tools and Methods
Software Engineering Tools and Methods
- Management Tools and Methods
- Development Tools and Methods
- Maintenance Tools and Methods
|
Module 11: Software Quality
Software Verification and Validation
- Processes
- Tools and Techniques
- Independent V&V
Software Quality Assurance
- SQA Function
- Planning for SQA and V&V
- SQA Organization
Data Collection
- Good Data
- Data Collection
|