ICS 221

Software Engineering

Fall Quarter 1998

 

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Administrative Information

Classroom: CS 253

Lecture Period: Tuesday and Thursday, 3:30 PM - 4:50 PM

Course Code: 36558

Instructor: Professor David Rosenblum

Electronic Mail: dsr@ics.uci.edu
Office: ICS2-209
Office Phone: (949) 824-6534
Fax: (949) 824-1715
Office Hours: Tuesdays and Thursdays 2:15 PM-3:15 PM; please send email to guarnatee an appointment.

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Course Overview and Prerequisite Knowledge

From the UCI Catalog:

221 Software Engineering (4). 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 project management. Formerly ICS 221A.

This class is a graduate survey of software engineering topics. Each lecture will focus on a single topic, beginning with some background information about the topic and followed by an examination of one or more important issues with respect to that topic at the frontier of software engineering. Students requiring a more thorough exposition of background material should consult the course textbook, using the suggested readings in the course schedule as guidelines. At the end of the class, students should be knowledgable about the fundamentals of software engineering, the key problems that are currently being pursued by researchers in the field, and the key approaches that are being proposed and investigated, as well as be familiar with the work of many of the leading researchers.

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

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Schedule (Subject to Change)

 

Week

Date

Topic

Instructor

Assignment Due

Paper Readings

Suggested Textbook
Readings

1

29 September

Course Introduction
Overview of Software Engineering

Rosenblum

 

[Bro87] Ch. 1-3

1 October

Software Processes

Rosenblum

 

[Ost87] [WR93] Ch. 7, 8

2

6 October

Computer-Supported Cooperative
Work and Workflow 

Redmiles

 

[Gru94] [EN96] Ch. 9

8 October

Software Requirements

Rosenblum

Week 1 Summaries

[Hen80]  

3

13 October

High-Level Requirements

King

 

   

15 October

User Interfaces and Hyperware

Taylor

Week 2 Summaries

[TNB+95]  

4

20 October

Software Architecture

Rosenblum

 

[PW92] [MR97]  

22 October

Distributed Component-Based Systems

Rosenblum

Week 3 Summaries

[RW97] [DR98]  

5

27 October

Design and Human-Computer Interaction

Redmiles

 

[PC86] [FGNR92] Ch. 4 

29 October

Environments and Interoperability

Taylor

Week 4 Summaries

[TM81] [Kad92]  

6

3 November

Dynamic Architectures

Oreizy

 

   

5 November

Extensible Software Systems

Franz

Week 5 Summaries

[Fra97]  

7

10 November

Formal Specification Methods

Richardson

 

[Par93] [Win90] Ch. 5

12 November

Verification and Validation 

Richardson

Week 6 Summaries

[ABC82] [YT89] Ch. 6 

8

17 November

Software Testing Theory and
Regression Testing

Rosenblum

1-paragraph
Paper Topic Proposal

[Wey86] [RH96]  

19 November

Formal Analysis and
Specification-Based Testing

Richardson

Week 7 Summaries

[AG93] [Ric94]  

9

24 November

Student Presentations (5 minutes each)

Rosenblum

     

26 November

Thanksgiving--NO CLASS

10

1 December

Software Safety and Legal Issues

Turner

Week 8 Summaries [Lev86] [Kan95]  

3 December

Student Presentations (5 minutes each)

Rosenblum

Week 9 Summaries

   

Finals

Tuesday
8 December

Final Exam (4-6 PM)

Rosenblum

Term Papers
Week 10 Summaries

   

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Readings

Readings are assigned from the required textbook:

The following books are highly recommended for background on requirements specification and project management:

The following technical papers from the research literature (most of which are from the Software Phase II Reading List) are also assigned to supplement the text as indicated in the course schedule (and these are subject to change by the lecturers).

[ABC82] W. Richards Adrion, Martha A. Branstad, and John C. Cherniavsky. "Validation, Verification, and Testing of Computer Software". ACM Computing Surveys, 14(2):159-192, June 1982.

[AG93] Joanne M. Atlee and John Gannon. "State-Based Model Checking of Event-Driven System Requirements". IEEE Transactions on Software Engineering, 19(1):24-40, January 1993.

[Bro87] Frederick P. Brooks. "No Silver Bullet: Essence and Accidents of Software Engineering". IEEE Computer, 20(4):10-19, April 1987.

[DR98] Elisabetta Di Nitto and David S. Rosenblum, "Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures", submitted to the 21st International Conference on Software Engineering, August 1998.

[EN96] Clarence A. Ellis and Gary J. Nutt. "Workflow: The Process Spectrum". In Proceedings of the NSF Workshop on Workflow and Process Automation in Information Systems: State-of-the-Art and Future Directions, pp. 140-145, Athens, GA, May 1996.

[FGNR92] Gerhard Fischer, Andreas Girgensohn, Kumiyo Nakakoji, and David Redmiles. "Supporting Software Designers with Integrated Domain-Oriented Design Environments". IEEE Transactions on Software Engineering, 18(6):511-522, June 1992.

[Fra97] Michael Franz. "Dynamic Linking of Software Components". IEEE Computer, 30(3):74-81, March 1997.

[Gru94] Jonathan Grudin. "CSCW: History and Focus". IEEE Computer, 27(5):19-27, May 1994.

[Hen80] Kathryn L. Heninger. "Specifying Software Requirements for Complex Systems: New Techniques and Their Application". IEEE Transactions on Software Engineering, SE-6(1):2-13, January 1980.

[Kad92] R. Kadia. "Issues Encountered in Building a Flexible Software Development Environment: Lessons Learned from the Arcadia Project". In Proceedings of ACM SIGSOFT '92: Fifth Symposium on Software Development Environments, pp. 169-180, December 1992.

[Kan95] Cem Kaner. "Software Negligence and Testing Coverage". The Software QA Quarterly, 2(2), 1995.

[Lev86] Nancy G. Leveson. "Software Safety: What, Why, and How". ACM Computing Surveys, 18(2):125-163, June 1986.

[MR97] Nenad Medvidovic and David S. Rosenblum. "Domains of Concern in Software Architectures and Architecture Description Languages". In Proceedings of the 1997 USENIX Conference on Domain Specific Languages, pp. 199-212, Santa Barbara, CA, October 1997.

[Ost87] Leon J. Osterweil. "Software Processes Are Software Too". In Proceedings of the 9th International Conference on Software Engineering, pages 2-13, Monterey, CA, March 1987.

[Par93] D. L. Parnas. "Predicate Logic for Software Engineering". IEEE Transactions on Software Engineering, 19(9):856-862, September 1993.

[PC86] D. L. Parnas and P. C. Clements. "A Rational Design Process: How and Why to Fake It". IEEE Transactions on Software Engineering, SE-12(2):251-257, February 1986.

[PW92] Dewayne E. Perry and Alexander L. Wolf. "Foundations for the Study of Software Architecture". ACM Software Engineering Notes, 17(4):40-52, October 1992.

[RH96] Gregg Rothermel and Mary Jean Harrold. "Analyzing Regression Test Selection Techniques". IEEE Transactions on Software Engineering, 22(8):529-551, August 1996.

[Ric94] Debra J. Richardson. "TAOS: Testing with Analysis and Oracle Support". In Proceedings of the 1994 International Symposium on Software Testing and Analysis, pp. 138-153, Seattle, August 1994.

[RW97] David S. Rosenblum and Alexander L. Wolf. "A Design Framework for Internet-Scale Event Observation and Notification". In Proceedings of the 6th European Software Engineering Conference/5th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 344-360, Zurich, Switzerland, September 1997.

[TM81] W. Teitelman and L. Manister. "The Interlisp Programming Environment". IEEE Computer, 14(4):25-33, April 1981.

[TNB+95] Richard N. Taylor, Kari A. Nies, Gregory Alan Bolcer, Craig A. MacFarlane, Kenneth M. Anderson, and Gregory F. Johnson. "Chiron-1: A Software Architecture for User Interface Development, Maintenance, and Run-Time Support", ACM Transactions on Computer-Human Interaction, 2(2), June 1995.

[Wey86] Elaine J. Weyuker. "Axiomatizing Software Test Data Adequacy". IEEE Transactions on Software Engineering, SE-12(12):1128-1138, December 1986.

[Win90] Jeannette M. Wing. "A Specifier's Introduction to Formal Methods". IEEE Computer, 23(9):8-24, September 1990.

[WR93] Alexander L. Wolf and David S. Rosenblum. "A Study in Software Process Data Capture and Analysis". In Proceedings of the Second International Conference on the Software Process, pp. 115-124, Berlin, Germany, February 1993.

[YT89] Michal Young and Richard N. Taylor. "Rethinking the Taxonomy of Fault Detection Techniques". In Proceedings of the 11th International Conference on Software Engineering, pages 53-62, Pittsburgh, May 1989.

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Assignments and Assessment

NOTE: There will be NO incompletes ("I" grades) given in this class. You must finish all work for the class by the end of the final exam.

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Instructors

Faculty

Michael Franz franz@ics.uci.edu 
John L. King king@ics.uci.edu
David F. Redmiles  redmiles@ics.uci.edu
Debra J. Richardson  djr@ics.uci.edu 
David S. Rosenblum  dsr@ics.uci.edu 
Richard N. Taylor  taylor@ics.uci.edu 

Advanced Graduate Students

Peyman Oreizy peymano@ics.uci.edu
Clark S. Turner turner@ics.uci.edu

Administrative Information

Course Overview

Readings

Schedule

Assignments & Assessment

Instructors


Department of Information and Computer Science
University of California, Irvine
Last updated 11 October, 1998