Software engineering

These videos support the material in Chapters 1 and 2 in the 10th edition of Software Engineering. My videos are starred (*).

Introducing Software Engineering

Ten Questions about Software Engineering (*)

In this video, I introduce software engineering by answering ten key questions about the discipline covering its nature and the differences between software engineering and other disciplines.

Why Software Engineering Matters (*)

In this video, I explain the economic and social importance of software engineering and how it is central to all economic and social developments in the 21st century. ### Software Engineering Ethics

The Conscience of Computing Professionals – A Code of Ethics

This is a recording of a talk by Don Gotterbarn, a pioneer in computing and software engineering ethics, where he discusses why ethics are important. Much better than most talk recordings – at least the slides are readable. ### Software Processes

Plan-driven and Agile Software Processes (*)

This video I introduce the idea of software processes. These include plan-based software processes such as the waterfall model and agile, iterative processes.

Fundamental Activities in Software Engineering (*)

In this video, I talk about the key activities in software engineering that are part of all software processes – specification, design and implementation, testing and evolution.

The Software Process

A general introduction explaining what is meant by a software process. It’s a little too detailed I think but provides a good explanation of why processes are important.

Software Development Life Cycle

A good description of the waterfall approach to software development. Based on a specific class project but you can skip the details of this here.

Genesis Consulting: Agile vs Waterfall

An excellent short video that discusses factors to be considered in deciding if an agile development approach or a waterfall-based process should be used.

Software Testing Training – V model

A short and easily understandable introduction to the V-model of software testing phases, as used in a plan-driven software process.