4.46 out of 5
4.46
8325 reviews on Udemy

Software Engineering 102: Development Models and Agile Programming

Software Engineering 101: Use Software Engineering to Plan and Build Amazing Software + Learn SCRUM Framework!
Instructor:
Kurt Anderson
33,085 students enrolled
English [Auto] More
Software Engineering Principles
Requirements Definitions
Software Architecture Planning
Modularity
Computer Science Models
Agile Methodology

To build larger software, certain processes and techniques are used. In this class, we will be going over some of the most popular models on building software.

About This Class

We will go over both popular traditional models such as the spiral and UPF, as well as the newer idea of scrum/agile, which many software development teams are switching to.

All of this should give a good understanding of what types of development processes are being used in today’s world.

If you have not taken my Software Engineering 101 course yet, I would highly recommend that, as some of the details in this course assume a basic set of knowledge.

Introduction

1
Welcome to the Course!

Welcome to the software engineering course! 

Software Lifecycle

1
Why Learn Software Engineering/Development?

We learn about the importance of models and planning in the software engineering world.

2
Typical Software Development Lifecycle

We learn about the software development lifecycle, and how it's important for the entirety of software engineering.

3
Software Development Lifecycle Example

We go over an example of the software development lifecycle to better cement our understanding of it. This is crucial for software engineering as a whole.

4
Software Development Lifecycle Notes
5
Software Development Lifecycle Quiz

Let's test our understanding of the software development lifecycle.

Requirements and Specifications

1
Requirements Definition

Let's define what requirements are, and how they relate to software engineering.

2
Requirements vs Specifications

We go over the difference between requirements and specifications in respect to Software Engineering.

3
Functional vs Non-Functional Requirements

We go over the difference between functional and non-functional requirements in respect to software engineering.

4
Requirements Notes

Notes on the various parts of requirements in software engineering.

5
WRSPM Model Introduction
6
WRSPM Visual Model

Let's now go over how we can represent this WRSPM model visually in software engineering.

7
WRSPM Variables

Let's now go over the variables in this model, and how they can be used to further describe the problem.

8
WRSPM - World Example

Let's take a look at a real world example, starting with the W, or world.

9
WRSPM - Requirements Example

Let's now move on to the R or requirements of the WRSPM model.

10
WRSPM - Specifications Example

Finally let's tie the world and the requirements together to make some specifications.

11
WRSPM Model

Notes on the WRSPM Model and how it applies to software engineering.

12
Requirements Example
13
Your Turn: Requirements

Design: Architecture

1
Where We Are in The Course

A quick look at where we are at in this software engineering course.

2
Software Architecture Introduction

We go over how architecure works and how it applies to software engineering.

3
Software Architecture Overview

We dig deeper into software architecture and go over an example.

4
Software Architecture Example

Let's go over an example with breaking apart architecture.

5
Your Turn: Architecture
6
Pipe and Filter

We go over the pipe-and-filter pattern in software engineering.

7
Client-Server

We go over the client-server relationship in software engineering.

8
Master-Slave

We go over the master-slave pattern in software engineering.

9
Layered Pattern

We go over the layered pattern in software engineering.

10
Software Architecture Notes

Let's recap architecutre in software engineering.

11
Software Architecture Process

We go over the software architecture process as a whole in software engineering.

12
Your Turn: Build Idea With Patterns

Design: Modularity

1
Software Design Process

Let's go over the software design process in software engineering.

2
Stages of Design

Let's go over the stages of design in software engineering.

3
Modularity

Let's discuss modularity in software engineering.

4
Information Hiding and Data Encapsulation

Let's go over information hiding and data encapsulation in software engineering.

5
Design and Modularity Notes
6
Coupling Introduction

Let's go over coupling and how it applies to software engineering.

7
Tight Coupling

Let's go over the worst form of coupling in software engineering, tight coupling.

8
Medium Coupling
9
Loose Coupling
10
Coupling Conclusion
11
Coupling Notes
12
Cohesion Introduction
13
Weak Cohesion
14
Medium Cohesion
15
Strong Cohesion
16
Cohesion Notes
17
Importance of Design

Implementation and Deployment

1
Implementation Basics

Let's go over the basics of implementation and how it applies to software engineering.

2
Buy vs Build

Let's go in-depth with the principal of buy vs build in computer science.

3
Implementation Notes

Let's go over what we have learned about implementation in software engineering.

4
Deployment Overview

Let's cover deployment and how we should plan for it.

5
Deployment Planning

Let's talk about deployment planing in computer science.

6
Deployment Rollback

Let's talk about deployment rollback in software engineering.

7
Deployment Notes

Some notes on deployment of programming code and how it applies to software engineering.

Testing

1
Testing Overview

An overview of testing and how it applies to software engineering.

2
Testing: Bugs

What bugs are in software engineering.

3
Verification and Validation

The difference between verification and validation in software engineering.

4
Testing Introduction Notes

Notes on testing up to this point.

5
Unit Testing

What unit testing is in software testing.

6
Integration Testing

What integration testing is in software development and software engineering.

7
Incremental Testing

The idea of incremental testing within software engineering.

8
Back to Back Testing

The principle of back to back testing in software engineering.

9
Who Should Test?

Who should test our program in software engineering.

10
Automatic Vs Manual Testing

The idea of automatic vs manual testing in software engineering.

11
Blackbox and Whitebox Testing

The difference between black box and white box testing in software engineering.

12
The Problem with Testing

The current issues with testing in software engineering.

13
Types of Testing Notes

Notes on the different types of testing in software engineering.

Software Development Models

1
Software Development Introduction

The software development process in software engineering.

2
Waterfall Model

The waterfall model in software engineering.

3
V-Model

The v-model of building software.

4
Sashimi Model

The sashimi model of building software.

5
Iterative Model

The iterative model of software development.

6
Incremental Model

The incremental model of software development.

7
Unified Process Framework

The unified process framework in software development.

8
Spiral Model

The spiral model of development in software development.

9
Models Notes

Agile

1
Agile Introduction

What Agile is in software engineering.

2
Agile Manifesto

The key tenants of agile in software engineering.

3
Scrum

The idea of scrum in software engineering.

4
Kanban

The idea of the kanban system in software engineering.

5
Lean Startup

The idea of lean startup in software engineering.

6
Agile Notes

Scrum Deep Dive

1
SCRUM Overview

Let's start with an overview of the scrum framework and it's different parts.

2
SCRUM Values

Let's talk about the SCRUM values and also the pillars of agile that go into SCRUM.

3
SCRUM Overview Notes
4
Product Owner

Let's discuss the product owner and their important role in SCRUM.

5
Scrum Master

Let's discuss the Scrum Master and their importance with SCRUM.

6
Development Team

Let's discuss the development team and their role in the SCRUM framework.

7
SCRUM Roles Notes
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
21b8ea44f8b468c4ee9372a33c45356f
30-Day Money-Back Guarantee

Includes

8 hours on-demand video
16 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion