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)