UC IRVINE - ICS 125 PROJECT IN SYSTEM DESIGNSYLLABUS |
Specification, design, construction, testing, and documentation of a complete software system using concepts learned in ICS 52, 121, and 141. Special emphasis on the need for and use of teamwork, careful planning, and other techniques for working with large systems.
ICS 121, Introduction to Software Engineering, focused on the conceptual issues of software development: problem analysis, definition, lifecycle considerations, verification and validation, requirements specification, and architectural design. In this class, we will focus on applying these concepts in a realistic problem setting. Students will work in teams to carry a project through all the phases of software development, from problem definition to implementation. The problems are drawn from actual industry and research domains. The experience is crucial in developing skills for team efforts and application-specific processes. No two project teams are exactly alike and no two projects follow exactly the same development process in detail. In class presentations by teams and discussion will help all to understand the commonalities and differences and learn from the variety of projects.
A variety of project topics will be introduced during the first week and a half of class. You will split into teams of about 5 students each, bidding on and being assigned a project in the second and third weeks. You will implement the project through a series of 5 assignments (see below) that will constitute 80% of the Grade. The remaining 20% of the grade will be determined by oral presentations of the team, periodic, written update reports, and class participation. Normally, team members will all receive the same grade.
The five major assignments constituting the term project are as follows:
Additional assignments constituting the remainder (25%) of the grade are as follows:
The folowing texts have been ordered for this course:
The course assumes that you have already read The Mythical Man-Month in ICS 121. The texts on UML will assist you in completing your architectual design assignment. The texts on Java will assist those of you who choose to do your implmentation in Java.
Project implementation platforms will vary by project, although some platforms will be recommended. Teams will be given offices to meet approximately during the second week of class
You should check the class Web page daily, Monday through Friday, for updates, news messages, etc. We will not use a bulletin board.
Cheating in ICS 125 will be dealt with in accordance with ICS policy. Please familiarize yourself with that policy.