Requirements and design

These videos support the material in Chapters 4, 5, 6 and 17 in the 10th edition of Software Engineering. Videos marked with (*) have been specially made by the author to support the book. Others have been vetted as relevant to the book and of reasonable quality. Slides to accompany specially made videos can be downloaded from slideshare.

Introduction to requirements engineering

An introduction to requirements engineering (*)

In this introductory video I explain what is meant by requirements and requirements engineering.

What is a requirement?

This is the first of a series of short, clearly explained requirements engineering videos by a leading RE consultant. You can access other videos by following the links on the YouTube page. I like these videos but the problem with them is that they lack examples, and this makes the discussion a bit abstract.

Requirements engineering issues

Requirements engineering processes (*)

In this video, I present different views of requirements engineering processes including some views not discussed in the book.

Stakeholders, viewpoints and concerns (*)

In this video, I discuss some fundamental requirements engineering ideas that are used to reflect the fact there are many different perspectives on requirements engineering.

Requirements engineering challenges (*)

In this video, I explain why requirements engineering is difficult and discusses specific challenges related to change, people and politics.

User stories (*)

In this video I explain how informal descriptions of scenarios (user stories) can be used in requirements engineering to support requirements elicitation and documentation.

System modeling and the Unified Modeling Language

UML 2.0 video tutorial. (Derek Banas)

This is the first of a set of video tutorials that introduce the UML 2.0 notation. You can access the others, that cover the main UML diagram types, from this introduction.

UML Tutorial – Use Case, Activity, and Sequence Diagrams – Essential Software Modeling

A very simple introduction to these UML models.

Software architecture

What is software architecture?

An interesting perspective on software architecture where the presenter sees it as a set of models that are needed to reason about risks of software failure.

Architecting Software the SEI Way – Software Architecture Fundamentals: Technical, Business, and Social Influences

This is an introductory webinar from the US Software Engineering Institute that explains what is meant by software architecture and its business importance.

Distributed systems

Introduction to Distributed Systems (relevant to Ch 17)

Explains what is meant by a distributed systems and introduces some systems characteristics and issues in distributed systems engineering.

Client-server architecture

A good general overview of the client-server architectural model

Software as a service

A high-level introduction to SaaS and its business advantages