CS692 - Computer Science Project II (CRN 23184)

Dr. Francis T. Marchese

Office: 163 William Street, 2nd Flr.

Office Hours:

         M : 3:00 5:30 PM

         Tu : 3:00 5:30 PM

Tel. 212 346 - 1803

Email: fmarchese@pace.edu

URL: http://csis.pace.edu/~marchese


Course Definition and Objectives

This course is the second in the CS691/CS692 sequence in which students design and builds a large software project. The process followed is based on object oriented software engineering methodologies.


Software engineering is the process of applying a systematic, disciplined, quantifiable approach to problem analysis, system and software design, its development, operation, and maintenance. Software engineering methodologies focus on both the software product and the process used to create and maintain it.


This course presents a hands-on study of software engineering methods. Topics include:

         Characteristics of Software Engineering

         Software Life Cycle & Development Methodologies

         Problem Analysis & Requirements Engineering

         Analysis & Design Tools


         Validation & Verification

         Risk Analysis

         Software Project Management


Course Outcomes

Upon completing this course students should be able to:

              Understand the goals of Software Engineering

              Understand the phases and activities of the software development process

              Maintain a detailed knowledge of object-oriented principles

              Use systematic approaches to requirements gathering and analysis

              Create OOA/OOD models and refine them to reflect implementation details

              Use UML to visualize and document the analysis and design of software systems

              Implement the design using an object-oriented programming language


Required Texts:


Ian Sommerville, Software Engineering, 9th ed. Addison-Wesley, 2011. ISBN-10: 0137035152 ISBN-13: 9780137035151.


Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3/E, Prentice-Hall, 2005.


Student Requirements:
Students will be expected to design, implement and demonstrate, on time, a large software project. This includes requirements specifications, architectural, and detailed design specifications, and test plan.

Students will work in groups of three or four and present the results of their work on prescribed dates according to a life-cycle specified by the professor.

Exams and Final Grades:
There are two exams. Grades will be based on exams and all software products produced and answers to exercises.

Academic Integrity Policies