CS 5150: Software Engineering
Spring 2017

Lectures


The materials on this page may be updated during the semester to correct errors and add extra detail on some topics. Not all the materials were available at the beginning of the semester.

A. Software development in practice

   1. Introduction to practical software development [video part 1] [video part 2] [PDF]
   2. Steps in the software development process [video] [PDF]
   3. Examples of software development processes [video part 1] [video part 2] [PDF]

B. Beginning a project

   4. Feasibility studies [video part 1] [video part 2] [PDF]
   5. Project management [video part 1] [video part 2] [PDF]

C. Requirements

   6. Requirements analysis [video part 1] [video part 2] [PDF]
   7. Scenarios and use cases [video] [PDF]
   8. Models for requirements analysis and specification [video part 1] [video part 2] [PDF]

D. The user experience

   9. Usability and user interfaces [video part 1] [video part 2] [PDF]
   10. User interfaces for web sites and mobile devices [video part 1] [video part 2] [PDF]
   11. Evaluation and user testing [video] [PDF]

E. System design

   12. System architecture [video] [PDF]
   13. Three popular architectural styles [video part 1] [video part 2] [PDF]
   14. Security [video part 1] [video part 2] [PDF]
   15. Performance [video part 1] [video part 2] [PDF]

F. Program development

   16. Models for program design [video part 1] [video part 2] [PDF]
   17. Program development [video] [PDF]
   18. Reuse and design patterns [video part 1] [video part 2] [PDF]

G. Reliability and testing

   19. Reliability [video part 1] [video part 2] [PDF]
   20. Verification, testing, and bugs [video part 1] [video part 2] [PDF]
   21. Acceptance testing and delivery [video] [PDF]

H. The business of software development

   22. Legal aspects of software development [video part 1] [video part 2] [PDF]
   23. People [video part 1] [video part 2] [PDF]
   24. Presentations [video] [PDF]
   25. Professionalism [video part 1] [video part 2] [PDF]