Information and Computer Science 221A: Software Engineering

Fall Quarter, 1996
Location: CS 253
Tuesday and Thursday, 9:30 -- 10:50
Course code: 36620
(Last modified Wed Sept 18 1996)


Overview | Readings | Schedule | Assignments | Enrolled Students

Overview and Prerequisite Knowledge

From the UCI Catalog:

Study of the concepts, methods, and tools for the analysis, design, construction, and measurement of complex software-intensive systems. Underlying principles emphasized. State-of-the-art software engineering and promising research areas covered, including principles of software engineering, requirements analysis, design, implementation, testing, and project management.

This class is a graduate survey of software engineering topics. The instructors assume background in software engineering, as well as some experience in developing software systems. For example, the course assumes knowledge of the basic ideas of: software development phases (e.g., requirements engineering, design, implementation), software development processes (such as the spiral model and the waterfall model), software design methodologies (such as design based on information hiding), software testing and analysis strategies, and project management issues (e.g. chief programmer teams). Students new to this area are advised to take ICS 121, as this course will not repeat basic material, but rather will be focused on issues at the frontier of software engineering. At the end of the class students should be knowledgeable about what key problems are currently being pursued by software researchers, what the key approaches are, and who are many of the leading researchers.

The vehicles for learning about the topics are readings from the textbook, readings from the technical literature, lectures, and classroom discussion. The class is co-taught by the software faculty in order for specialty topics to be presented in depth.


Required textbook: Additional readings will be assigned from the "Software Phase II Exam Reading List" to supplement the text.


Subject to change

Date Topic Instructor Papers Text Readings
October 1 Introduction Taylor --- Ch. 1, 2
October 3 Overview Taylor [Bro87] Ch. 3
October 8 Software Processes Rosenblum [Boe88] [RW92] Ch. 7
October 10 Software Process Tech. Taylor [Ost87] Ch. 8
October 15 Extensible Systems Franz (SFO ISAW-2) --- ---
October 17 Extensible Systems Franz (SFO FSE) --- ---
October 22 User Interface Software Taylor [TNB+94] ---
October 24 Software Architectures Taylor --- ---
October 29 tbd (Manassas) --- ---
October 31 Environments Taylor [TM81] Ch. 9
November 5 Environments/Interoperability Taylor [Kad92] ---
November 7 HCI and Cognitive Design Redmiles --- ---
November 12 Design Environments Redmiles [FGNR92] ---
November 14 Formal Methods Richardson --- Ch. 6
November 19 Testing Rosenblum (ICSEPC) --- ---
November 21 Analysis and Testing Richardson (ICSEPC) --- ---
November 26 Hyperware and SW Eng. Taylor --- ---
November 28 Thanksgiving/No class --- --- ---
December 3 Metrics and Measurement Selby (Brighton ICSP) [BSH86] ---
December 5 Software Practice Selby (Brighton ICSP) --- ---

Assignments and Assessment

Enrolled Students

Department of Information and Computer Science,
University of California, Irvine CA 92697-3425