CS616 - Software Engineering

Dr. Francis T. Marchese

Office: 163 William Street, 2nd Flr.

Office Hours:

         M : 2:30 5:00 PM

         Tu : 2:30 5:00 PM

Tel. 212 346 - 1803

Email: fmarchese@pace.edu

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


Course Definition and Objectives

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 Text:
Ian Sommerville, Software Engineering, 9th ed. Addison-Wesley, 2011.
ISBN-10: 0137035152 ISBN-13: 9780137035151.


Recommended Texts:

Roger S. Pressman, Software Engineering: A Practitioner's Approach, 6th Edition, McGraw-Hill, 2005.


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



http://www-fp.pearsonhighered.com/bigcovers/0137035152.jpg http://ecx.images-amazon.com/images/I/41iU-VJzHZL._SL500_AA300_.jpg http://csis.pace.edu/%7Emarchese/12616Spring0UT_files/image002.jpg

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 all software products produced and answers to exercises.