CS 452 Software Engineering

From Computer Science
Jump to: navigation, search

Catalog Description

This course studies the software life cycle: specification, object-oriented programming and design, program development, validation, testing, debugging, documentation, maintenance, revision control, CASE tools. Prerequisite - C or better in CS 202.


Student must have completed a course in Object Oriented Programming

Standard Content

Course Outline

The course begins with a review of Object Orientation, and of the Software Crisis. Next methods of classification are covered. That is followed by a coverage of UML and various diagrams. Next comes the discussion of Software Development Methods: Incremental and Iterative development, planned and agile methods, phases, milestones , macro and micro processes, are described. Pragmatic issues are covered next: Personnel, Teams, Documentation, Reuse, Tools, Architecture, are discussed next. Next comes the development of functional, static, and dynamic views for example case studies, and a design procedure is given after the completion of these views. Also covered are 3-level architectures, and Jacobson’s stereotypes. The course concludes with a discussion of Object Constraint Language, and Model Driven Architecture. Use of tools for validation of models is described.

Learning Outcomes

Object Oriented Analysis and Design : UML, Processes, Pragmatics, OCL, Model Driven Architecture.

Important Assignments and/or Exam Questions

  • Study of a UML Modeling tool such as Modelio
  • An Object Oriented Design Case Study
  • Quizzes covering aspects of UML , Processes, Pragmatics, Design, OCL and MDA.

Standard resources

[1] Object-Oriented Analysis and Design with Applications (Third Edition) by Grady Booch et al (Addison-Wesley, 2007, ISBN-13: 978-0-201-89551-3) [2] UML in Practice by Pascal Roques (Wiley, 2004, ISBN-13: 978-0470848319) [3] The Object Constraint Language (Second Edition) by Jos Warmer & Anneke Kleppe (Addison-Wesley, 2003, ISBN 978-0-321-17936-4)