Software Engineering 101: Learn the Software Development Cycle for Better Programming
Offered By: Skillshare
Course Description
Overview
Building good software takes hard work. It takes planning, design, adjustments, and flexibility to be done properly. Poor decisions during the planning phase can cost hundreds or thousands later on in development.
In this course, we will be going over the software development life-cycle. We will cover the models, techniques, and planning required to create sustainable code.
In this course we will be covering:
- Requirements
- Specifications
- Modularity
- Design
- Coupling
- Cohesion
- Lifecycle Models
- Architecture Patterns
- World Machine Model
- Testing
- Testing Perspectives
- Black and Whitebox Testing
Syllabus
- Introduction Video
- 1-1 Why Use Models
- 1-2 Software Development Cycle
- 1-3 Software Cycle Example
- 2-1 Requirements Definition
- 2-2 Requirements vs Specifications
- 2-3 Functional vs Nonfunctional
- 2-4 WRSPM Model Introduction
- 2-5 WRSPM Deep Dive
- 2-6 Requirements Example
- 3-1 Architecture Introduction
- 3-2 Architecture Overview and Example
- 3-3 Pipe and Filter Pattern
- 3-4 Client-Server Pattern
- 3-5 Master-Slave Pattern
- 3-6 Layered Pattern
- 3-7 Software Engineering Pattern
- 4-1 Software Design Process
- 4-2 Stages of Design
- 4-3 Modularity
- 4-4 Information Hiding and Data Encapsulation
- 4-5 Coupling Introduction
- 4-6 Tight Coupling
- 4-7 Medium Coupling
- 4-8 Loose Coupling
- 4-9 Coupling Conclusion
- 4-10 Cohesion Introduction
- 4-11 Weak Cohesion
- 4-12 Medium Cohesion
- 4-13 Strong Cohesion
- 4-14 Importance of Design
- 5-1 Implementation Basics
- 5-2 Buy Vs Build
- 5-3 Deployment Overview
- 5-4 Deployment Planning
- 5-5 Deployment Rollback
- 6-1 Testing Overview
- 6-2 Testing Bugs
- 6-3 Verification and Validation
- 6-4 Unit Testing
- 6-5 Integration Testing
- 6-6 Incremental Testing
- 6-7 Back to Back Testing
- 6-8 Who Should Test
- 6-9 Automatic vs Manual Testing
- 6-10 Black and White Box Testing
- 6-11 The problem with testing
- Project Overview
Taught by
Kurt Anderson
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera