Fall 1996 Course CS577a


Design and Construction of Large Software Systems:

Software Engineering I - Plans, Processes, Requirements, and Architectures

Commercial off-the-shelf (COTS) software products, interactive networked information systems, new management approaches, and new process models are significantly changing the nature of software engineering.

This course is focused on enabling students to understand and apply these new software engineering approaches. Its learning objectives are to enable students to understand the principles underlying postmodern software engineering; to master the use of tools supporting the new approaches; and to apply the tools and principles on a real-world team project.

This years project involves the determination and architecting of high-value multimedia capabilities for USC's Library Information System. In CS577a, the student team members will formulate operational concepts, requirements specifications, architectures, prototypes, life cycle plans, and integrating rationale for the proposed capabilities. In CS577b, we plan to have student teams develop experimental system capabilities based on the best concepts emerging form CS577a.

Time and Location: Monday and Wednesday, 2:00-3:15pm, OHE 100

Basis of grade: Homework exercises: 15%; Midterm project package: 25%; Final project package: 45%; Individual project critique: 15%

Text: Ian Sommerville, Software Engineering, Addison-Wesley, 1995 (5th edition); plus course notes

Prerequisite: Graduate Standing

Instructor: Prof. Barry Boehm, Salvatory 328, Tel: (213) 740-8163, Fax: (213) 740-4927, boehm@sunset.usc.edu

Office Hours: Monday and Wednesday, 10:30-12:30, or by appointment

Teaching Assistant: Alexander Egyed, Salvatory 329, Tel: (213) 740-6505, aegyed@sunset.usc.edu

TA Office Hours: Tuesday and Thursday, 9:00-11:00, or by appointment

Class Account: ~cs577 (COCOMO and WinWin)