Timings of videos of lectures based on the book Object-Oriented Software Engineering: Practical Software Development using UML and Java

By Timothy C. Lethbridge and Robert Laganière

This page gives the timings of the videos of lectures about object oriented software engineering. It shows when each topic is introduced, so you can quickly skip to that topic by fast-forwarding or rewinding the video.

Buy a DVD-ROM of this material on-line from DVClass

  1. Lecture 1 (click here to get information about viewing the video itself)
    • 0:00:20   Chapter 1, Introduction to the book's web site www.lloseng.com
    • 0:00:28   Chapter 1, The web site's links to software engineering web sites at www.lloseng.com/weblinks.html
    • 0:01:10   Chapter 1, The Factguru glossary at www.factguru.com/oose
    • 0:04:00   Chapter 1, Getting answers to exercises at www.lloseng.com/exerciselist.html
    • 0:05:20   Chapter 1, slide 1 Main title page for Chapter 1
    • 0:05:40   Chapter 1, slide 2 1.1 The nature of software
    • 0:10:20   Chapter 1, slide 3 The nature of software continued
    • 0:14:30   Chapter 1, slide 4 The nature of software ... Conclusions
    • 0:17:10   Chapter 1, slide 5 Types of software ... custom/generic/embeddeed
    • 0:19:10   Chapter 1, slide 6 Types of software chart
    • 0:20:45   Chapter 1, slide 7 ... real time vs. data processing software
    • 0:23:00   Chapter 1, slide 8 1.2 What is software engineering (definition)
    • 0:26:10   Chapter 1, slide 9 ... systematic development and evolution
    • 0:32:30   Chapter 1, slide 10 ... cost time and other constraints
    • 0:34:50   Chapter 1, slide 11 1.3 Software Engineering and the Engineering Profession
    • 0:41:15   Chapter 1, slide 12 1.4 Stakeholders
    • 0:43:45   Chapter 1, slide 13 1.5 Software quality
    • 0:47:30   Chapter 1, slide 14 Software quality and stakeholders
    • 0:48:40   Chapter 1, slide 15 Software quality - conflict/objectives/optimizing
    • 0:51:40   Chapter 1, slide 16 Internal quality criteria
    • 0:52:10   Chapter 1, slide 17 Short term vs. long term quality
    • 0:53:15   Chapter 1, slide 18 1.6 Software engineering projects
    • 0:54:30   Chapter 1, slide 19 Software engineering projects ... green field
    • 0:54:45   Chapter 1, slide 20 Software engineering projects ... Frameworks
    • 0:55:35   Chapter 1, slide 21 1.7 Activities common to software projects
    • 0:55:50   Chapter 1, slide 22 Activites ... Design
    • 0:56:12   Chapter 1, slide 23 Activities ... modelling etc.
    • 0:57:30   Chapter 1, slide 24 1.9 The Eight Themes of the Book

  2. Lecture 2 (click here to get information about viewing the video itself)
    • 0:00:30   Chapter 2, slide 1 Introductory slide
    • 0:01:15   Chapter 2, slide 2 2.1 What is Object Orientation?
    • 0:05:50   Chapter 2, slide 3 OO Paradigm
    • 0:06:55   Chapter 2, slide 4 A view of the Two paradigms
    • 0:08:40   Chapter 2, slide 5 2.2 Cllases and Objects
    • 0:10:20   Chapter 2, slide 6 Objects
    • 0:11:55   Chapter 2, slide 7 Classes
    • 0:13:30   Chapter 2, slide 8 Is Something a Class or an Instance?
    • 0:18:25   Chapter 2, slide 9 Naming classes
    • 0:27:10   Chapter 2, slide 10 2.3 Instance Variables
    • 0:30:20   Chapter 2, slide 11 Variables vs. Objects
    • 0:33:55   Chapter 2, slide 12 Class variables
    • 0:37:05   Chapter 2, slide 13 2.4 Methods, Operations and Polymorphism
    • 0:38:15   Chapter 2, slide 14 Methods, Operations and Polymorphism
    • 0:38:55   Chapter 2, slide 15 Polymorphism
    • 0:42:15   Chapter 2, slide 16 2.5 Organizing Classes into Inheritance Hierarchies
    • 0:42:40   Chapter 2, slide 17 An Example Inheritance Hierarchy
    • 0:46:10   Chapter 2, slide 18 The Isa Rule
    • 0:48:50   Chapter 2, slide 19 A possible inheritance hierarchy of mathematical objects
    • 0:51:40   Chapter 2, slide 20 Make sure all Inherited Features Make Sense in Subclasses
    • 0:57:40   Chapter 2, slide 21 2.6 Inheritance . Polymorphism and Variables

  3. Lecture 3 (click here to get information about viewing the video itself)
    • 0:00:05   Chapter 2, slide 21 2.6 Inheritance, Polymorphism and Variables
    • 0:03:00   Chapter 2, slide 22 Some Operations on the Shape Example
    • 0:03:33   Chapter 2, slide 23 Abstract Classes and Methods
    • 0:08:45   Chapter 2, slide 24 Overriding
    • 0:19:40   Chapter 2, slide 25 Immutable objects
    • 0:24:30   Chapter 2, slide 26 How a decision is made about which method to run
    • 0:29:00   Chapter 2, slide 27 Dynamic binding
    • 0:40:30   Chapter 2, slide 28 2.7 Concepts that Define Object Orientation
    • 0:44:15   Chapter 2, slide 29 Other Key Concepts
    • 0:52:55   Chapter 2, slide 30 The Basics of Java
    • 0:58:30   Chapter 2, slide 31 Java documentation
    • 1:00:05   Chapter 2, slide 32 Overview of Java
    • 1:00:55   Chapter 2, slide 33 Characters and Strings
    • 1:05:20   Chapter 2, slide 34 Arrays and Collections
    • 1:09:20   Chapter 2, slide 35 Casting
    • 1:11:33   Chapter 2, slide 36 Exceptions
    • 1:12:36   Chapter 2, slide 37 Interfaces

  4. Lecture 4 (click here to get information about viewing the video itself)
    • 0:00:15   Chapter 2, slide 33 Characters and Strings Review
    • 0:00:40   Chapter 2, slide 34 Arrays and Collections Review
    • 0:01:25   Chapter 2, slide 35 Casting Review
    • 0:02:25   Chapter 2, slide 36 Exceptions Review
    • 0:03:20   Chapter 2, slide 37 Interfaces Review
    • 0:06:40   Chapter 2, slide 38 Packages and importing
    • 0:11:15   Chapter 2, slide 39 Access control
    • 0:18:15   Chapter 2, slide 40 Threads and concurrency
    • 0:23:50   Chapter 2, slide 41 Programming Style Guidelines
    • 0:25:05   Chapter 2, slide 42 Programming style .. Commenting and organizing
    • 0:27:35   Chapter 2, slide 43 Programming style .. Avoiding duplication
    • 0:29:00   Chapter 2, slide 44 Programming style .. OO principles etc.
    • 0:30:45   Chapter 2, slide 45 2.10 Difficulties and Risks in Object-Oriented Programming
    • 0:33:25   Chapter 3, slide 1 Chapter 3 - Introductory slide
    • 0:34:00   Chapter 3, slide 2 3.1 Building on the Experience of Others
    • 0:36:45   Chapter 3, slide 3 3.2 Reusability and Reuse in SE
    • 0:40:40   Chapter 3, slide 4 A vicious cycle
    • 0:41:25   Chapter 3, slide 5 3.3 Frameworks: Reusable Subsystems
    • 0:44:00   Chapter 3, slide 6 Frameworks to promote reuse - slots and hooks
    • 0:48:00   Chapter 3, slide 7 Object-oriented frameworks
    • 0:49:00   Chapter 3, slide 8 Examples of frameworks
    • 0:52:00   Chapter 3, slide 9 Types of frameworks: Horizontal and vertical
    • 0:53:10   Chapter 3, slide 10 3.4 The Client-Server Architecture
    • 0:57:15   Chapter 3, slide 11 Sequence of activities in a client-server system
    • 1:04:10   Chapter 3, slide 12 A server program communicating with two client programs
    • 1:06:00   Chapter 3, slide 13 Alternatives to the client server architecture
    • 1:07:50   Chapter 3, slide 14 Advantages of client-server systems

  5. Lecture 5 (click here to get information about viewing the video itself)
    • 0:00:20   Chapter 3, slide 12 A server program communicating with two client programs - Review
    • 0:00:50   Chapter 3, slide 13 Alternatives to the client server architecture - Review
    • 0:01:25   Chapter 3, slide 14 Advantages of client-server systems - Review
    • 0:03:15   Chapter 3, slide 15 Examples of client-server systems
    • 0:10:20   Chapter 3, slide 16 Activities of a server
    • 0:13:00   Chapter 3, slide 17 Activities of a client
    • 0:19:25   Chapter 3, slide 18 Threads in a client-server system
    • 0:27:25   Chapter 3, slide 19 Thin- versus fact-client systems
    • 0:34:00   Chapter 3, slide 20 Communications protocols
    • 0:40:55   Chapter 3, slide 21 Tasks to perform to develop client-server applications
    • 0:46:00   Chapter 3, slide 22 3.5 Technology Needed to Build Client-Server Systems
    • 0:57:15   Chapter 3, slide 23 Establishing a connection in Java
    • 1:04:50   Chapter 3, slide 24 Exchanging information in Java
    • 1:06:35   Chapter 3, slide 25 Sending and receiving messages

  6. Lecture 6 (click here to get information about viewing the video itself)
    • 0:00:48   Chapter 3, slide 26 3.6 The Object Client-Server Framework
    • 0:03:45   Chapter 3, slide 27 Using OCSF
    • 0:08:32   Chapter 3, slide 28 3.7 The Client Side
    • 0:11:50   Chapter 3, slide 29 The public interface of AbstractClient
    • 0:17:15   Chapter 3, slide 30 The callback methods of AbstractClient
    • 0:23:08   Chapter 3, slide 31 Using AbstractClient
    • 0:28:33   Chapter 3, slide 32 Internals of AbstractClient
    • 0:31:35   Chapter 3, slide 33 3.8 The Server Side
    • 0:32:33   Chapter 3, slide 34 The public interface of AbstractServer methods of AbstractServer
    • 0:48:20   Chapter 3, slide 36 The public interface of ConnectionToClient
    • 0:55:55   Chapter 3, slide 37 Using AbstractServer and ConnectionToClient
    • 1:06:58   Chapter 3, slide 38 Internals of AbstractServer and ConnectionToClient
    • 1:13:27   Chapter 3, slide 39 3.11 An Instant Messaging Application: SimpleChat

  7. Lecture 7 (click here to get information about viewing the video itself)
    • 0:00:35   Chapter 3, slide 39 3.11 An Instant Messaging Application: SimpleChat
    • 0:02:00   Chapter 3, slide 40 The server
    • 0:40:30   Chapter 3, slide 41 Key code in EchoServer
    • 0:05:15   Chapter 3, slide 42 The client
    • 0:06:46   Chapter 3, slide 42 .
    • 0:09:15   Chapter 3, slide 43 Key code in ChatClient (handleMessageFromClientUI)
    • 0:14:45   Chapter 3, slide 44 Key code in ChatClient - Continued (handleMessageFromServer)
    • 0:15:15   Chapter 3, slide 39 Review of slide 39 again - overview of SimpleChat
    • 0:18:00   Chapter 3, slide 45 3.12 Risks when reusing technology
    • 0:22:20   Chapter 3, slide 46 Risks when developing reusable technology (investment uncertainty; not-invented-here syndrome)
    • 0:24:34   Chapter 3, slide 47 Risk when developing reusable technology - continued (competition and divergence)
    • 0:27:25   Chapter 3, slide 48 Risks when adopting a client-server approach
    • 0:32:45   Chapter 4, slide 1 Chapter 4 - Requirements - Introductory slide
    • 0:34:22   Chapter 4, slide 2 4.1 Domain Analysis
    • 0:39:05   Chapter 4, slide 3 Domain Analysis document
    • 0:47:15   Chapter 4, slide 4 4.2 The Starting Point for Software Projects
    • 0:50:38   Chapter 4, slide 5 4.3 Defining the Problem and the Scope
    • 0:54:10   Chapter 4, slide 6 Defining the Scope
    • 0:59:00   Chapter 4, slide 7 4.4 What is a Requirement?
    • 1:03:10   Chapter 4, slide 8 4.5 Types of Requirements
    • 1:04:00   Chapter 4, slide 9 Functional Requirements
    • 1:09:25   Chapter 4, slide 10 Non-functional requirements (Quality requirements)

  8. Lecture 8 (click here to get information about viewing the video itself)
    • 0:00:20   Chapter 4, slide 9 Functional Requirements (Review)
    • 0:01:04   Chapter 4, slide 10 Non-functional requirements (Quality requirements - Review)
    • 0:02:12   Chapter 4, slide 11 Non-functional requirements (Environment and technology; project plan)
    • 0:06:00   Chapter 4, slide 12 4.6 Some Techniques for Gathering and Analysing Requirements (Observation and Interviewing)
    • 0:07:10   Chapter 4, slide 12 Š
    • 0:21:35   Chapter 4, slide 13 Gathering and Analysing Requirements (Brainstorming)
    • 0:32:25   Chapter 4, slide 14 Gathering and Analysing Requirements (Prototyping)
    • 0:37:05   Chapter 4, slide 15 Gathering and Analysing Requirements (Basics of Use Cases)
    • 0:41:28   Chapter 4, slide 16 4.7 Types of Requirements Document
    • 0:44:52   Chapter 4, slide 17 Level of details required in a requirements document
    • 0:50:39   Chapter 4, slide 18 4.8 Reviewing Requirements
    • 0:56:15   Chapter 4, slide 19 Requirements documents (Organization and traceability)
    • 0:58:12   Chapter 4, slide 20 Requirements document (Suggested sections)
    • 0:59:50   BOOK, Sec 4.11 bottom of p. 141 SimpleChat Requirements Problem Statement
    • 1:01:02   BOOK, Sec 4.11 top of p. 142 SimpleChat Background Information - Rationale
    • 1:01:41   BOOK, Sec 4.11 bottom of p. 142 SimpleChat Background Information - Options considered
    • 1:02:37   BOOK, Sec 4.11 bottom of p. 143 SimpleChat Environment and System Models
    • 1:03:18   BOOK, Sec 4.11 top of p. 144 SimpleChat Functional Requirements - #block command
    • 1:03:38   BOOK, Sec 4.11 middle of p. 145 SimpleChat Functional Requirements - Operation
    • 1:04:55   BOOK, Sec 4.10 bottom of p. 141 GANA Non-Functional Requirements
    • 1:07:30   Chapter 4, slide 21 4.9 Managing Changing Requirements
    • 1:11:05   Chapter 4, slide 22 4.13 Difficulties and Risks in Domain and Requirements Analysis

  9. Lecture 9 (click here to get information about viewing the video itself)
    • 0:00:05   Chapter 5, slide 1 Chapter 5 - Introductory slide
    • 0:00:53   Chapter 5, slide 2 5.1 What is UML?
    • 0:05:55   Chapter 5, slide 3 UML diagrams
    • 0:08:20   Chapter 5, slide 4 UML features
    • 0:11:50   Chapter 5, slide 5 What constitutes a good model?
    • 0:15:45   Chapter 5, slide 6 5.2 Essentials of UML Class Diagrams
    • 0:16:55   Chapter 5, slide 7 Classes
    • 0:22:27   Chapter 5, slide 8 5.3 Associations and Multiplicity
    • 0:35:25   Chapter 5, slide 9 Labellling associations
    • 0:39:40   Chapter 5, slide 10 Analyzing and validating associations (many-to-one)
    • 0:41:22   Chapter 5, slide 11 Analyzing and validating associations (many-to-many)
    • 0:43:43   Chapter 5, slide 12 Analyzing and validating associations (one-to-one)
    • 0:46:05   Chapter 5, slide 13 Analyzing and validating associations (Avoiding unnecessary one-to-one)
    • 0:47:25   Chapter 5, slide 14 A more complex example (that will become an association class)
    • 0:50:48   Chapter 5, slide 15 Association classes
    • 0:56:25   Chapter 5, slide 16 Reflexive associations
    • 1:00:48   Chapter 5, slide 17 Directionality in associations
    • 1:03:32   Chapter 5, slide 18 5.4 Generalization
    • 1:06:00   Chapter 5, slide 19 Avoiding unnecessary generalizations

  10. Lecture 10 (click here to get information about viewing the video itself)
    • 0:00:20   Chapter 5, slide 18 5.4 Generalization
    • 0:00:35   Chapter 5, slide 19 Avoiding unnecessary generalizations
    • 0:04:17   Chapter 5, slide 20 Handling multiple discriminators - creating higher-level generalization
    • 0:07:20   Chapter 5, slide 21 Handling multiple discriminators - using multiple inheritance
    • 0:08:50   Chapter 5, slide 22 Avoiding having instances change class
    • 0:11:35   Chapter 5, slide 23 5.5 Instance diagrams
    • 0:15:25   Chapter 5, slide 24 Associations versus generalizations in instance diagrams
    • 0:18:42   Chapter 5, slide 25 5.6 More Advanced Features: Aggregation
    • 0:21:05   Chapter 5, slide 26 When to use aggregation
    • 0:23:20   Chapter 5, slide 27 Composition
    • 0:28:55   Chapter 5, slide 28 Aggregation hierarchy
    • 0:30:40   Chapter 5, slide 29 Propagation
    • 0:33:00   Chapter 5, slide 30 Interfaces
    • 0:35:56   Chapter 5, slide 31 Notes and descriptive text
    • 0:37:24   Chapter 5, slide 32 Object Constraint Language (OCL)
    • 0:39:45   Chapter 5, slide 33 OCL statements
    • 0:40:56   Chapter 5, slide 34 An example: constraints on Polygons
    • 0:56:33   Chapter 5, slide 35 5.7 Detailed Example: A Clas Diagram for Genealogy
    • 1:02:30   Chapter 5, slide 36 Genealogy example: Possible solutions
    • 1:09:42   Chapter 5, slide 37 5.8 The Process of Developing Class Diagrams
    • 1:11:27   Chapter 5, slide 38 System domain model vs. System model
    • 1:11:54   Chapter 5, slide 39 Suggested sequence of activities

  11. Lecture 11 (click here to get information about viewing the video itself)
    • 0:01:30   Chapter 5, slide x1 Text of Bank Account Management System from text page 448
    • 0:06:40   Chapter 5, slide x2 Potentially good classes, and definitely bad classes
    • 0:19:20   Chapter 5, slide x3 Draft Class Diagram with classes Client and Account, and their association
    • 0:20:15   Chapter 5, slide x2 again Revisit: Problem statement
    • 0:26:03   Chapter 5, slide x4 Draft Class Diagram with Account attributes and subclasses
    • 0:27:52   Chapter 5, slide x2 again Revisit: Problem statement
    • 0:39:05   Chapter 5, slide x5 Draft Class Diagram with CreditCard and attributes of Account subclasses
    • 0:39:20   Chapter 5, slide x6 Problem statement - checking off what we have done (Classes, associations, attributes, generalizations)
    • 0:44:10   Chapter 5, slide x7 Looking at what we know about Employees
    • 0:46:16   Chapter 5, slide x8 Draft Class Diagram with Branch and Employee
    • 0:52:03   Chapter 5, slide x9 Looking at what we know about Branches
    • 0:56:31   Chapter 5, slide x10 Draft Class Diagram with OrganizationalUnit
    • 0:57:25   Chapter 5, slide x11 Problem statement after adding OrganizationalUnit (Classes, associations, attributes, generalizations)
    • 0:58:24   Chapter 5, slide x12 Thinking about how to deal with privileges
    • 1:00:50   Chapter 5, slide x13 Draft Class Diagram with AccountType
    • 1:01:35   Chapter 5, slide x14 Bank Account System Class diagram with final touches
    • 1:02:55   Chapter 5, slide 39 Suggested sequence of activities
    • 1:03:24   Chapter 5, slide 40 Identifying classes
    • 1:05:15   Chapter 5, slide 41 A simple technique for discovering domain classes
    • 1:07:05   Chapter 5, slide 42 Identifying associations and attributes
    • 1:08:13   Chapter 5, slide 43 Tips about identifying and specifying valid associations
    • 1:09:40   Chapter 5, slide 44 Actions versus associations
    • 1:11:32   Chapter 5, slide 45 Identifying attributes
    • 1:12:05   Chapter 5, slide 46 Tips about identifying and specifying valid attributes (avoiding duplicate attributes)
    • 1:13:53   Chapter 5, slide 47 An example (attributes and associations): Airline system

  12. Lecture 12 (click here to get information about viewing the video itself)
    • 0:00:32   Chapter 5, slide 47 Airline example (attributes and associations)
    • 0:05:17   Chapter 5, slide 48 Identifying generalizations and interfaces
    • 0:09:22   Chapter 5, slide 49 Airline example (generalization)
    • 0:12:29   Chapter 5, slide 50 Allocating responsibilities to classes
    • 0:16:48   Chapter 5, slide 51 Categories of responsibilities
    • 0:22:12   Chapter 5, slide 52 Airline example (responsibilities)
    • 0:26:00   Chapter 5, slide 53 Prototyping a class diagram on paper
    • 0:26:56   Chapter 5, slide 54 Identifying operations
    • 0:27:59   Chapter 5, slide 55 Airline example (class collaboration)
    • 0:30:22   Chapter 5, slide 56 Class collaboration Œa¹ - Making a bi-directional link betwen existing objects
    • 0:35:28   Chapter 5, slide 57 Class collaboration Œb' - Creating an object and linking it to an existing object
    • 0:37:22   Chapter 5, slide 58 Class collaboration Œc' - Creating an association class, given two existing objects
    • 0:43:15   Chapter 5, slide 59 Class collaboration Œd' - Changing the destination of a link
    • 0:45:28   Chapter 5, slide 60 Class collaboration Œe' - Searching for an associated instance
    • 0:47:38   Chapter 5, slide 61 5.9 Implementing Class Diagrams in Java
    • 0:49:46   Chapter 5, slide 62 Example: SpecificFlight instance variables
    • 0:51:47   Chapter 5, slide 63 Example: SpecificFlight constructor
    • 0:52:27   Chapter 5, slide 64 Example: RegularFlight code for addSpecificFlight
    • 0:55:52   Chapter 6, slide 1 Introductory slide
    • 0:56:07   Chapter 6, slide 2 6.1 Introduction to Patterns
    • 0:59:25   Chapter 6, slide 3 Pattern description: Suggested headings, plus discussion of the patterns community and patterns vs. patents
    • 1:04:15   Chapter 6, slide 4 6.2 The Abstraction-Occurrence Pattern
    • 1:04:42   Chapter 6, slide 5 Abstraction-Occurrence: Diagram
    • 1:08:22   Chapter 6, slide 4 Abstraction-Occurrence: revisit of the description
    • 1:09:45   Chapter 6, slide 6 Abstraction-Occurrence: Antipatterns

  13. Lecture 13 (click here to get information about viewing the video itself)
    • 0:00:20   Chapter 6, slide 5 Abstraction-Occurrence - Solution (review)
    • 0:00:40   Chapter 6, slide 6 Abstraction-Occurrence - Antipatterns (review)
    • 0:01:08   Chapter 6, slide 7 Abstraction-Occurrence - Square variant
    • 0:05:10   Chapter 6, slide 8 6.3 The General Hierarchy Pattern (Composite)
    • 0:08:22   Chapter 6, slide 9 General Hierarchy - Solution
    • 0:16:45   Chapter 6, slide 10 General Hierarchy - Antipattern
    • 0:19:03   Chapter 6, slide 11 6.4 The Player-Role Pattern - context and problem
    • 0:23:05   Chapter 6, slide 12 Player-Role - Forces and solution
    • 0:25:40   Chapter 6, slide 13 Player-Role - Animal example
    • 0:32:25   Chapter 6, slide 14 Player-Role - Student attendance
    • 0:33:55   Chapter 6, slide 15 Player-Role - Antipatterns
    • 0:34:55   Chapter 6, slide 16 6.5 The Singleton Pattern
    • 0:39:05   Chapter 6, slide 17 Singleton - Solution
    • 0:44:15   Chapter 6, slide 18 6.6 The Observer Pattern
    • 0:47:05   Chapter 6, slide 19 Observer - Solution
    • 0:57:05   Chapter 6, slide 20 Observer - Antipatterns
    • 0:58:25   Chapter 6, slide 21 6.7 The Delegation Pattern
    • 1:00:25   Chapter 6, slide 22 Delegation - Solution diagram and Stack example
    • 1:04:35   Chapter 6, slide 23 Delegation - Airline example
    • 1:06:50   Chapter 6, slide 24 Delegation - Antipatterns + discussion of the Law Of Demeter (only accessing neighbours)

  14. Lecture 14 (click here to get information about viewing the video itself)
    • 0:01:20   Chapter 6, slide 25 6.8 The Adapter pattern
    • 0:03:28   Chapter 6, slide 26 Adapter - solution
    • 0:05:53   Chapter 6, slide 27 Adapter - ThreeDShape and Torus example
    • 0:09:20   Chapter 6, slide 28 6.9 The Façade Pattern
    • 0:11:23   Chapter 6, slide 29 Façade - Solution and Airline example
    • 0:16:00   Chapter 6, slide 30 6.10 The Immutable Pattern
    • 0:21:32   Chapter 6, slide 31 6.11 The Read-only Interface Pattern
    • 0:23:45   Chapter 6, slide 32 Read-only Interface - Solution
    • 0:29:35   Chapter 6, slide 33 Read-only Interface - Person example
    • 0:32:05   Chapter 6, slide 34 Read-only Interface - Antipatterns
    • 0:35:52   Chapter 6, slide 35 6.12 The Proxy Pattern
    • 0:39:20   Chapter 6, slide 36 Proxy - solution
    • 0:43:53   Chapter 6, slide 37 Proxy - List and Student examples
    • 0:48:47   Chapter 6, slide 38 6.13 Detailed Example: The Observable layer of OCSF
    • 0:57:40   Chapter 6, slide 39 The Observable layert of OCSF - Details of ObservableClient and ObservableServer
    • 0:58:39   Chapter 6, slide 40 Using the Observable layer
    • 0:59:50   Chapter 6, slide 41 6.14 Difficulties and Risks When Working With Patterns
    • 1:00:45   Chapter 6, slide 42 Difficulties and Risks When Working With Patterns - Continued
    • 1:02:25   Chapter 7, slide 1 Chapter 7 - Focusing on Users and Their Tasks - Introductory Slide
    • 1:05:45   Chapter 7, slide 2 User Centered Design
    • 1:08:53   Chapter 7, slide 3 The Importance of Focusing on Users
    • 1:13:50   Chapter 7, slide 4 7.2 Characteristics of Users

  15. Lecture 15 (click here to get information about viewing the video itself)
    • 0:00:17   Chapter 7, slide 5 7.3 Developing Use-Case Models of Systems
    • 0:01:40   Chapter 7, slide 6 Use cases - General Rules
    • 0:04:38   Chapter 7, slide 7 Scenarios - Instances of a use case
    • 0:06:14   Chapter 7, slide 8 How to Describe a Single Use Case
    • 0:09:23   Chapter 7, slide 9 Use Case Diagrams
    • 0:11:18   Chapter 7, slide 10 Extensions - Handling optional or exceptional cases
    • 0:13:55   Chapter 7, slide 11 Generalizations
    • 0:14:21   Chapter 7, slide 12 Inclusions - Representing common lower-level tasks
    • 0:15:24   Chapter 7, slide 13 Example of Generalization, Extension and Inclusion
    • 0:19:15   Chapter 7, slide 14 Example Description of a Use Case - Open file
    • 0:21:23   Chapter 7, slide 15 Example (continued) - Open file by typing name
    • 0:23:35   Chapter 7, slide 16 Example (continued) - Open file by browsing
    • 0:24:17   Chapter 7, slide 17 Example (continued) - Attempt to open file that does not exist
    • 0:25:26   Chapter 7, slide 18 Example (continued) Browse for file (inclusion)
    • 0:27:56   Chapter 7, slide 19 The Modeling Process: Choosing Use Cases on Which to Focus
    • 0:31:30   Chapter 7, slide 20 The Benefits of Basing Software Development on Use Cases
    • 0:34:40   Chapter 7, slide 21 Use Cases Must Not be Seen as a Panacea
    • 0:36:34   Chapter 7, slide 22 7.4 Basics of User Interface Design
    • 0:43:26   Chapter 7, slide 23 Usability vs. Utility
    • 0:48:40   Chapter 7, slide 24 Aspects of Usability: Learnability, efficiency of use, error handling and acceptability
    • 0:53:52   Chapter 7, slide 25 Different Learning Curves
    • 0:58:34   Chapter 7, slide 26 Some basic Terminology of User Interface Design: Dialog, affordance, mode, etc.
    • 1:05:07   Chapter 7, slide 27 6.5 Usability Principles: Test with users; do use case analysis; simplicity
    • 1:08:28   Chapter 7, slide 28 Usability Principles: Visibility; feedback
    • 1:11:40   Chapter 7, slide 29 Usability Principles: Undo-ability; response time
    • 1:15:25   Chapter 7, slide 30 Usability Principles: Understandable encoding; lack of clutter
    • 1:15:59   Chapter 7, slide 31 Usability Principles: Individual differences; provide help
    • 1:17:07   Chapter 7, slide 32 Usability Principles: Consistency

  16. Lecture 16 (click here to get information about viewing the video itself)
    • 0:00:17   Chapter 7, slide 33 Some encoding techniques (text, icons, colour etc.)
    • 0:03:10   Chapter 7, slides 34 and 35 Example (bad and better UI)
    • 0:10:58   Chapter 7, slide 36 7.6 Evaluating User Interfaces - Heuristic evaluation
    • 0:13:42   Chapter 7, slide 37 Evaluating User Interfaces - Observation of users
    • 0:18:38   Chapter 7, slide 38 7.7 Implementing a Simple GUI in Java
    • 0:20:30   Chapter 7, slide 39 Example code - class ClientGUI
    • 0:22:12   Chapter 7, slide 40 Example code - ClientGui constructor
    • 0:22:35   Chapter 7, slide 41 Example code - actionListeners
    • 0:24:27   Chapter 7, slide 42 7.8 Difficulties and Risks in Use Case Modelling and UI Design: users differ; expect change
    • 0:31:29   Chapter 7, slide 43 Difficulties and Risks in Use Case Modelling and UI Design: Volume of work; underestimating expertise
    • 0:34:17   Chapter 8, slide 1 Chapter 8 - Modelling Interactions and Behaviour - Introductory Slide
    • 0:35:17   Chapter 8, slide 2 8.1 Interaction Diagrams
    • 0:36:52   Chapter 8, slide 3 Interactions and Messages
    • 0:37:59   Chapter 8, slide 4 Elements Found in Interaction Diagrams
    • 0:38:10   Chapter 8, slide 5 Creating Interaction Diagrams
    • 0:38:37   Chapter 8, slide 6 Sequence Diagrams - Course and Registration example
    • 0:46:12   Chapter 8, slide 7 Sequence Diagrams - review of features
    • 0:46:31   Chapter 8, slide 8 Sequence Diagrams ? same example, more details
    • 0:52:03   Chapter 8, slide 9 Sequence Diagrams ? an example with replicated messages
    • 0:55:52   Chapter 8, slide 10 Sequence Diagrams ? an example with object deletion
    • 0:57:45   Chapter 8, slide 11 Collaboration Diagrams ? Course and Registration example
    • 1:00:52   Chapter 8, slide 12 Collaboration Diagrams - review of features
    • 1:01:22   Chapter 8, slide 13 Collaboration Diagrams ? same example, more details
    • 1:04:45   Chapter 8, slide 14 Communication Links - over associations
    • 1:05:50   Chapter 8, slide 15 Other communication links - local or parameter
    • 1:06:37   Chapter 8, slide 16 Other communication links - global and network
    • 1:07:11   Chapter 8, slide 17 How to Choose Between Using a Sequence or Collaboration Diagram - Sequence diagrams
    • 1:08:45   Chapter 8, slide 18 How to Choose Between Using a Sequence or Collaboration Diagram - Collaboration diagrams
    • 1:11:07   Chapter 8, slide 19 Collaboration Diagrams and Patterns

  17. Lecture 17 (click here to get information about viewing the video itself)
    • 0:00:26   Chapter 8, slide 20 8.2 State Diagrams
    • 0:02:26   Chapter 8, slide 21 State Diagrams - An Example: Tic-tac-toe / Noughts and Crosses
    • 0:05:08   Chapter 8, slide 22 States - Review of Concept
    • 0:06:10   Chapter 8, slide 23 Transitions
    • 0:07:30   Chapter 8, slide 24 State Diagrams - an Example of Transitions with Time-outs and Conditions - Traffic Lights
    • 0:17:23   Chapter 8, slide 25 State Diagrams - an Example with Conditional Transitions - CourseSection Class
    • 0:25:26   Chapter 8, slide 26 Activities in State Diagrams
    • 0:26:25   Chapter 8, slide 27 State Diagram - An Example with Activity - Simple Jukebox
    • 0:27:55   Chapter 8, slide 28 Actions in State Diagrams
    • 0:29:03   Chapter 8, slide 29 State Diagram - An Example with Actions - Garage Door Opener
    • 0:35:00   Chapter 8, slide 30 State Diagrams - Another Example - Part of a Tape Recorder
    • 0:37:55   Chapter 8, slide 31 Nested Substates and Guard Conditions - A Car's Automatic Transmission
    • 0:51:03   Chapter 8, slide 32 State Diagram - An Example with Substates - CourseSection Class Again
    • 0:53:33   Chapter 8, slide 33 8.3 Activity Diagrams
    • 0:55:24   Chapter 8, slide 34 Activity Diagrams - An Example - Course Registration
    • 1:00:14   Chapter 8, slide 35 Representing Concurrency: Forks, Joins and Rendezvous
    • 1:01:06   Chapter 8, slide 36 Representing Concurrency - Continued
    • 1:02:12   Chapter 8, slide 37 Swimlanes
    • 1:02:35   Chapter 8, slide 38 Activity Diagrams - An Example With Swimlanes
    • 1:05:45   Chapter 8, slide 39 8.4 Implementing Classes Based on Interaction and State Diagrams - When to Use Them
    • 1:09:01   Chapter 8, slide 40 Example Implementation: The CourseSection Class
    • 1:11:30   Chapter 8, slide 41 Example Implementation: The CourseSection Class - Continued
    • 1:12:48   Chapter 8, slide 42 Example Implementation: The CourseSection Class - Review of the Class Diagram
    • 1:13:39   Chapter 8, slide 43 Example Implementation: The CourseSection Class - Continued
    • 1:14:30   Chapter 8, slide 44 Example Implementation: The CourseSection Class - Constructor
    • 1:16:03   Chapter 8, slide 45 Example Implementation: The CourseSection Class - OpenRegistration Method
    • 1:16:25   Chapter 8, slide 46 Example Implementation: The CourseSection Class - CloseRegistration Method
    • 1:16:38   Chapter 8, slide 47 Example Implementation: The CourseSection Class - RequestToRegister Method
    • 1:16:55   Chapter 8, slide 48 Example Implementation: The CourseSection Class - Continued
    • 1:17:07   Chapter 8, slide 49 8.5 Difficulties and Risks in Modelling Interactions and Behaviour

  18. Lecture 18 (click here to get information about viewing the video itself)
    • 0:00:10   Chapter 9, slide 1 Chapter 9 - Architecting and Designing Software - Introductory Slide
    • 0:00:55   Chapter 9, slide 2 9.1 The Process of Design
    • 0:02:20   Chapter 9, slide 3 Design as a Series of Decisions
    • 0:04:33   Chapter 9, slide 4 Making Decisions
    • 0:06:26   Chapter 9, slide 5 Design Space
    • 0:08:03   Chapter 9, slide 6 Component - Definition
    • 0:10:20   Chapter 9, slide 7 Module - Definition
    • 0:12:07   Chapter 9, slide 8 System - Definition
    • 0:15:45   Chapter 9, slide 9 UML Class Diagram of System Parts
    • 0:18:58   Chapter 9, slide 10 Top-Down and Bottom-Up Design
    • 0:19:41   Chapter 9, slide 11 Top-Down and Bottom-Up Design - Continued
    • 0:21:39   Chapter 9, slide 12 Different Aspects of Design
    • 0:24:37   Chapter 9, slide 13 9.2 Principles Leading to Good Design - Overall Goals
    • 0:26:40   Chapter 9, slide 14 Design Principle 1: Divide and Conquer
    • 0:29:18   Chapter 9, slide 15 Ways of Dividing a Software System
    • 0:31:19   Chapter 9, slide 16 Design Principle 2: Increase Cohesion Where Possible
    • 0:33:23   Chapter 9, slide 17 Functional Cohesion
    • 0:37:47   Chapter 9, slide 18 Layer Cohesion
    • 0:39:32   Chapter 9, slide 19 Examples of the Use of Layers
    • 0:46:15   Chapter 9, slide 20 Communicational Cohesion
    • 0:48:39   Chapter 9, slide 21 Sequential Cohesion
    • 0:50:36   Chapter 9, slide 22 Procedural Cohesion
    • 0:52:25   Chapter 9, slide 23 Temporal Cohesion
    • 0:55:24   Chapter 9, slide 24 Utility Cohesion
    • 0:58:30   Chapter 9, slide 25 Design Principle 3: Reduce Coupling Where Possible
    • 1:03:51   Chapter 9, slide 26 Content Coupling
    • 1:06:09   Chapter 9, slide 27 Example of Content Coupling
    • 1:08:33   Chapter 9, slide 28 Common Coupling
    • 1:12:36   Chapter 9, slide 29 Control Coupling
    • 1:15:21   Chapter 9, slide 30 Example of Control Coupling
    • 1:15:36   Chapter 9, slide 31 Stamp Coupling
    • 1:16:17   Chapter 9, slide 32 Example of Stamp Coupling - Using Simple Data Types to Avoid It

  19. Lecture 19 (click here to get information about viewing the video itself)
    • 0:00:39   Chapter 9, slide 26 Content Coupling - Review
    • 0:00:53   Chapter 9, slide 28 Common Coupling - Review
    • 0:01:08   Chapter 9, slide 29 Control Coupling - Review
    • 0:01:57   Chapter 9, slide 31 Stamp Coupling
    • 0:02:35   Chapter 9, slide 32 Example of Stamp Coupling - Using Simple Data Types to Avoid It
    • 0:04:00   Chapter 9, slide 33 Example of Stamp Coupling - Using an Interface to Avoid It
    • 0:06:22   Chapter 9, slide 34 Data Coupling
    • 0:08:15   Chapter 9, slide 35 Routine Call Coupling
    • 0:10:11   Chapter 9, slide 36 Type Use Coupling
    • 0:12:00   Chapter 9, slide 37 Inclusion or Import Coupling
    • 0:15:57   Chapter 9, slide 38 External Coupling
    • 0:18:22   Chapter 9, slide 39 Design Principle 4: Keep the Level of Abstraction as High as Possible
    • 0:19:35   Chapter 9, slide 40 Abstraction and Classes
    • 0:20:01   Chapter 9, slide 41 Design Principle 5: Increase Reusability Where Possible
    • 0:21:49   Chapter 9, slide 42 Design Principle 6: Reuse Existing Designs and Code Where Possible
    • 0:25:28   Chapter 9, slide 43 Design Principle 7: Design for Flexibility
    • 0:28:27   Chapter 9, slide 44 Design Principle 8: Anticipate Obsolescence
    • 0:36:12   Chapter 9, slide 45 Design Principle 9: Design for Portability
    • 0:37:34   Chapter 9, slide 46 Design Principle 10: Design for Testability
    • 0:40:17   Chapter 9, slide 47 Design Principle 11: Design Defensively
    • 0:43:55   Chapter 9, slide 48 Design by Contract
    • 0:47:08   Chapter 9, slide 49 9.3 Techniques for Making Good Design Decisions
    • 0:50:20   Chapter 9, slide 50 Example Priorities and Objectives
    • 0:53:12   Chapter 9, slide 51 Example Evaluation of Alternatives
    • 0:55:34   Chapter 9, slide 52 Using Cost-Benefit Analysis to Choose Among Alternatives
    • 0:58:52   Chapter 9, slide 53 9.4 Software Architecture
    • 1:00:00   Chapter 9, slide 54 The Importance of Software Architecture
    • 1:01:24   Chapter 9, slide 55 Contents of a Good Architectural Model
    • 1:03:10   Chapter 9, slide 56 Design Stable Architecture
    • 1:03:42   Chapter 9, slide 57 Developing an Architectural Model
    • 1:05:20   Chapter 9, slide 58 Developing an Architectural Model - Continued
    • 1:06:16   Chapter 9, slide 59 Describing an Architecture Using UML
    • 1:06:30   Chapter 9, slide 60 Package Diagrams
    • 1:07:38   Chapter 9, slide 61 Subsystem Diagrams
    • 1:08:45   Chapter 9, slide 62 Component Diagrams
    • 1:09:41   Chapter 9, slide 63 Deployment Diagrams
    • 1:10:44   Chapter 9, slide 64 9.5 Architectural Patterns
    • 1:11:22   Chapter 9, slide 65 The Multi-Layer Architectural Pattern
    • 1:11:50   Chapter 9, slide 66 Example of Multi-Layer Systems - Layer Cohesion Revisited
    • 1:12:31   Chapter 9, slide 67 The Multi-Layer Architecture - Design Principles
    • 1:13:05   Chapter 9, slide 68 The Multi-Layer Architecture - Design Principles Continued
    • 1:13:50   Chapter 9, slide 69 The Client-Server and Other Distributed Architectural patterns
    • 1:15:02   Chapter 9, slide 70 An Example of a Distributed System
    • 1:15:48   Chapter 9, slide 71 The Distributed Architecture - Design Principles
    • 1:15:59   Chapter 9, slide 73 The Broker Architectural Pattern
    • 1:16:55   Chapter 9, slide 74 Example of a Broker System
    • 1:18:40   Chapter 9, slide 75 The Broker Architecture - Design Principles
    • 1:19:00   Chapter 9, slide 76 The Transaction-Processing Architectural Pattern
    • 1:19:28   Chapter 9, slide 77 Example of a Transaction-Processing System - Airline Reservations

  20. Lecture 20 (click here to get information about viewing the video itself)
    • 0:00:20   Chapter 9, slide 65 The Multi-Layer Architectural Pattern - Review
    • 0:00:30   Chapter 9, slide 70 An Example of a Distributed System - Review
    • 0:00:36   Chapter 9, slide 74 The Broker Architectural Pattern - Review
    • 0:01:03   Chapter 9, slide 77 The Transaction-Processing Architectural Pattern - Review
    • 0:01:37   Chapter 9, slide 79 The Pipe-and-Filter Architectural Pattern
    • 0:03:00   Chapter 9, slide 80 Example of a Pipe-and-Filter System - Sound Processing
    • 0:07:40   Chapter 9, slide 79 The Pipe-and-Filter Architectural Pattern - Revisited
    • 0:08:48   Chapter 9, slide 81 The Pipe-and-Filter Architecture - Design Principles
    • 0:09:33   Chapter 9, slide 82 The Pipe-and-Filter Architecture - Design Principles Continued
    • 0:10:07   Chapter 9, slide 83 The Model-View-Controller (MVC) Architectural Pattern
    • 0:12:19   Chapter 9, slide 84 Example of the MVC Architecture for a User Interface
    • 0:17:28   Chapter 9, slide 85 The MVC Architecture - Design Principles
    • 0:18:42   Chapter 9, slide 86 9.6 Writing a Good Design Document
    • 0:20:45   Chapter 9, slide 87 Structure of a Design Document
    • 0:23:06   Chapter 9, slide 88 When Writing the Document: Some General Rules about What to Exclude
    • 0:25:47   Chapter 9, slide 89 9.7 Design of a Feature of the SimpleChat System:
    • 0:28:37   Chapter 9, slide 90 Design Example - Issues
    • 0:30:32   Chapter 9, slide 91 Design Example - Details - Client Side
    • 0:30:50   Chapter 9, slide 92 Design Example - Details - Server Side
    • 0:31:05   Chapter 9, slide 93 Design Example - Details - Continued
    • 0:31:15   Chapter 9, slide 94 Design Example - Details - Conclusion
    • 0:31:27   Chapter 9, slide 95 9.8 Difficulties and Risks in Design: Skill Required
    • 0:32:54   Chapter 9, slide 96 Difficulties and Risks in Design: Maintenance Effort Required
    • 0:33:25   Chapter 10, slide 1 Chapter 10: Testing and Inspecting to Ensure High Quality - Introductory Slide
    • 0:34:54   Chapter 10, slide 2 10.1 Basic Definitions
    • 0:41:45   Chapter 10, slide 3 10.2 Effective and Efficient Testing
    • 0:43:54   Chapter 10, slide 4 Black-Box Testing
    • 0:45:19   Chapter 10, slide 5 Glass-Box Testing (White-Box or Structural Testing)
    • 0:48:43   Chapter 10, slide 6 Equivalence Classes
    • 0:53:34   Chapter 10, slide 7 Examples of Equivalence Classes
    • 0:58:42   Chapter 10, slide 8 Combinations of Equivalence Classes
    • 1:01:20   Chapter 10, slide 9 Example Equivalence Class Combinations
    • 1:05:47   Chapter 10, slide 10 Testing at Boundaries of Equivalence Classes
    • 1:07:28   Chapter 10, slide 11 Detecting Specific Categories of Defects
    • 1:07:51   Chapter 10, slide 12 10.3 Defects in Ordinary Algorithms
    • 1:09:20   Chapter 10, slide 13 Example of Incorrect Logical Conditions Defect
    • 1:14:28   Chapter 10, slide 14 Defects in Ordinary Algorithms: Performing a Calculation in the Wrong Part of a Control Construct
    • 1:17:10   Chapter 10, slide 15 Example of Performing a Calculation in the Wrong Part of a Control Construct
    • 1:18:05   Chapter 10, slide 16 Defects in Ordinary Algorithms: Not Terminating a Loop or Recursion
    • 1:19:19   Chapter 10, slide 17 Defects in Ordinary Algorithms: Not Setting Up the Correct Preconditions
    • 1:19:58   Chapter 10, slide 18 Defects in Ordinary Algorithms: Not Handling Null Conditions

  21. Lecture 21 (click here to get information about viewing the video itself)
    • 0:00:24   Chapter 10, slide 18 Defects in Ordinary Algorithms: Not Handling Null Conditions
    • 0:02:02   Chapter 10, slide 19 Defects in Ordinary Algorithms: Not Handling Singleton or Non-Singleton Conditions
    • 0:02:17   Chapter 10, slide 20 Defects in Ordinary Algorithms: Off-By-One Errors
    • 0:05:15   Chapter 10, slide 21 Example of an Off-by-One Defect: Starting at an Index of 1 instead of 0
    • 0:06:54   Chapter 10, slide 22 Defects in Ordinary Algorithms: Operator Precedence Errors
    • 0:08:32   Chapter 10, slide 23 Defects in Ordinary Algorithms: Use of Inappropriate Standard Algorithms
    • 0:09:43   Chapter 10, slide 24 Example of Inappropriate Standard Algorithms: Sorting and Searching
    • 0:13:48   Chapter 10, slide 25 10.4 Defects in Numerical Algorithms: Not Using Enough Bits or Digits
    • 0:16:08   Chapter 10, slide 26 Defects in Numerical Algorithms: Not Using Enough Places After the Decimal Point or Significant Figures
    • 0:19:28   Chapter 10, slide 27 Defects in Numerical Algorithms: Ordering Operations Poorly so Errors Build Up
    • 0:22:34   Chapter 10, slide 28 Defects in Numerical Algorithms: Assuming a Floating Point Value will be Exactly Equal to Some Other value
    • 0:24:25   Chapter 10, slide 29 Example of Defect in Testing Floating-Point Value Equality
    • 0:26:05   Chapter 10, slide 30 10.5 Defects in Timing and Co-Ordination: Deadlock and Livelock
    • 0:29:26   Chapter 10, slide 31 Defects in Timing and Co-Ordination: Deadlock and Livelock - Testing Strategies
    • 0:31:31   Chapter 10, slide 32 Example of Deadlock: UML Sequence Diagram
    • 0:34:17   Chapter 10, slide 33 Defects in Timing and Co-Ordination: Critical Races
    • 0:36:23   Chapter 10, slide 34 Example of a Critical Race
    • 0:39:04   Chapter 10, slide 35 Semaphores and Synchronization
    • 0:40:02   Chapter 10, slide 36 Example of a Synchronized Method
    • 0:41:52   Chapter 10, slide 37 10.6 Defects in Handling Stress and Unusual Situations: Insufficient Throughput or Response Time
    • 0:47:07   Chapter 10, slide 38 Defects in Handling Stress and Unusual Situations: Incompatibility with Specific Configurations of Hardware or Software
    • 0:49:18   Chapter 10, slide 39 Defects in Handling Stress and Unusual Situations: Defects in Handling Peak Loads or Missing Resources
    • 0:52:53   Chapter 10, slide 40 Defects in Handling Stress and Unusual Situations: Inappropriate Management of Resources (e.g. Memory Leaks)
    • 0:56:34   Chapter 10, slide 41 Defects in Handling Stress and Unusual Situations: Defects in the Process of Recovering from a Crash
    • 0:59:06   Chapter 10, slide 42 10.7 Documentation Defects
    • 1:00:17   Chapter 10, slide 43 10.8 Writing Formal Test Cases and Test Plans
    • 1:01:56   Chapter 10, slide 44 Test Plans
    • 1:03:37   Chapter 10, slide 45 Information to Include in a Formal Test Case
    • 1:04:47   Chapter 10, slide 46 Levels of Importance of Test Cases
    • 1:06:33   Chapter 10, slide 47 Determining Test Cases by Enumerating Attributes
    • 1:07:47   Chapter 10, slide 48 10.9 Strategies for Testing Large Systems
    • 1:10:46   Chapter 10, slide 49 Top Down Testing
    • 1:11:16   Chapter 10, slide 50 Bottom-Up Testing
    • 1:11:30   Chapter 10, slide 51 Sandwich Testing
    • 1:15:09   Chapter 10, slide 52 Vertical Strategies for Incremental Integration Testing
    • 1:15:57   Chapter 10, slide 53 The Test-Fix-Test Cycle
    • 1:17:16   Chapter 10, slide 54 The Ripple Effect
    • 1:17:49   Chapter 10, slide 55 Regression Testing
    • 1:20:00   Chapter 10, slide 56 Deciding When to Stop Testing

  22. Lecture 22 (click here to get information about viewing the video itself)
    • 0:00:39   Chapter 10, slide 57 The Roles of People Involved in Testing
    • 0:01:54   Chapter 10, slide 58 Testing Performed by Users and Clients: Alpha, Beta and Acceptance Testing
    • 0:04:35   Chapter 10, slide 59 10.10 Inspections
    • 0:05:49   Chapter 10, slide 60 Roles on Inspection Teams
    • 0:07:55   Chapter 10, slide 61 Principles of Inspecting: Choosing Teams and Preparing
    • 0:09:10   Chapter 10, slide 62 Principles of Inspecting: An Efficient Process
    • 0:10:32   Chapter 10, slide 63 Principles of Inspecting: Limiting Inspection Time and Reinspecting
    • 0:11:02   Chapter 10, slide 64 A Peer-Review Process
    • 0:12:34   Chapter 10, slide 65 Conducting and Inspection Meeting
    • 0:15:21   Chapter 10, slide 66 Inspection Compared to Testing
    • 0:18:03   Chapter 10, slide 67 Testing or Inspecting, Which Comes First?
    • 0:19:19   Chapter 10, slide 68 10.11 Quality Assurance in General
    • 0:20:51   Chapter 10, slide 69 Measure Quality and Strive for Continual Improvement
    • 0:23:41   Chapter 10, slide 70 Post-Mortem Analysis
    • 0:24:45   Chapter 10, slide 71 Process Standards: PSP, TSP, CMM and ISO 9000-2
    • 0:29:27   Chapter 10, slide 79 10.13 Difficulties and Risks in Quality Assurance - Missing things and the conflict with meeting deadlines
    • 0:32:35   Chapter 10, slide 80 Difficulties and Risks in Quality Assurance - people have different abilities
    • 0:35:01   Chapter 11, slide 1 Managing the Software Process - Introductory Slide
    • 0:35:25   Chapter 11, slide 2 11.1 What is Project Management?
    • 0:36:25   Chapter 11, slide 3 What is Project Management - continued
    • 0:38:00   Chapter 11, slide 4 11.2 Software Process Models
    • 0:38:48   Chapter 11, slide 5 The Opportunistic Approach - A Bad Approach
    • 0:39:39   Chapter 11, slide 6 The Opportunistic Approach - Continued
    • 0:40:30   Chapter 11, slide 7 The Waterfall Model
    • 0:42:25   Chapter 11, slide 8 The Waterfall Model - Positive Features
    • 0:43:12   Chapter 11, slide 9 Limitations on the Waterfall Model
    • 0:45:03   Chapter 11, slide 10 The Phased-Release Model
    • 0:45:57   Chapter 11, slide 11 The Phased-Release Model - New Ideas
    • 0:47:05   Chapter 11, slide 12 The Spiral Model
    • 0:48:26   Chapter 11, slide 13 The Spiral Model - New Ideas
    • 0:48:40   Chapter 11, slide 14 The Evolutionary Model
    • 0:49:30   Chapter 11, slide 15 The Evolutionary Model - New Ideas
    • 0:50:49   Chapter 11, slide 16 The Concurrent Engineering Model
    • 0:51:45   Chapter 11, slide 17 The Concurrent Engineering Model - New Ideas
    • 0:53:02   Chapter 11, slide 18 Choosing a Process Model
    • 0:53:33   Chapter 11, slide 19 Reengineering
    • 0:54:27   Chapter 11, slide 20 11.3 Cost Estimation: Elapsed Time vs. Development Effort
    • 0:57:59   Chapter 11, slide 21 Principles of Effective Cost Estimation 1: Divide and Conquer
    • 0:58:51   Chapter 11, slide 22 Principles of Effective Cost Estimation 2: Include all Activities
    • 0:59:38   Chapter 11, slide 23 Principles of Effective Cost Estimation 3: Base Estimates on Experience
    • 1:00:23   Chapter 11, slide 24 Algorithmic Models
    • 1:03:48   Chapter 11, slide 25 Algorithmic Models - continued
    • 1:04:57   Chapter 11, slide 26 Principles of Effective Cost Estimation 4: Account for Differences
    • 1:08:23   Chapter 11, slide 27 Principles of Effective Cost Estimation 5: Anticipate Worst Case
    • 1:10:24   Chapter 11, slide 28 Principles of Effective Cost Estimation 6: Combine Independent Estimates
    • 1:11:09   Chapter 11, slide 29 Principles of Effective Cost Estimation 7: Revise and Refine as Work Progresses
    • 1:11:57   Chapter 11, slide 30 11.4 Building Software Engineering Teams
    • 1:12:15   Chapter 11, slide 31 Software Engineering Teams: Egoless Team
    • 1:12:42   Chapter 11, slide 30 Slide 30 again
    • 1:13:01   Chapter 11, slide 33 Software Engineering Teams: Chief-Programmer
    • 1:13:32   Chapter 11, slide 30 Slide 30 again
    • 1:13:45   Chapter 11, slide 32 Software Engineering Teams: Hierarchical
    • 1:14:25   Chapter 11, slide 34 Choosing an Effective Size for a Team
    • 1:15:47   Chapter 11, slide 37 PERT Charts
    • 1:16:09   Chapter 11, slide 38 Example of a PERT Chart
    • 1:18:04   Chapter 11, slide 39 Gantt Charts
    • 1:18:25   Chapter 11, slide 40 Example of a Gantt Chart

Back to the video page.

Back to the book's main page