Systems Engineering
Software Engineering and Quality Assurance
Overview
This course is an introduction to the concepts of software engineering including the software development lifecycle (SDLC). Students will explore all phases of the software development lifecycle and get exposed to software development methodologies including classic Waterfall and Agile methods.
This will also give students the practical skills and the techniques and tools to build the “zero defect” concept into their methods of building and maintaining systems. The primary emphasis of a zero-defect QA process is to avoid software defects rather than do the costly re-work to correct them.
Why You Should Take This Course
Upon completion of the course, students will:
- Understand all phases of a comprehensive software development lifecycle (SDLC)
- Understand how Agile methods and Secure Programming factor into modern software development processes
- Incorporate the Zero Defect concept into methods of building and maintaining systems
- Verify & validate the quality of the system during each phase of a system’s life cycle
- Understand various systems tests: functional, stress, volume, regression, etc.
- Create test objectives and acceptance criteria
Course Outline
Software Engineering and Quality Assurance
- The Business Case for Systems
- SDLC (Waterfall)
- System Requirements & Specifications
- Data & Process Modeling
- System Design & Architecture
- Agile & Scrum
- Secure Programming Techniques
- Software Versioning and Configuration Management
- System Monitoring & Maintenance
- System Testing, QA & Verification/Validation
- Costs of Defects over the Lifecycle
- Types of Tests
- Test-Case Design
- Testing Strategies
- Creating the Test Plan
- Test Results and Defect Cause Identification
- Debugging
- Fixing Errors