CS389 - Software Engineering

Dr. Francis T. Marchese

Office: 163 William Street, 2nd Flr.

Office Hours:

·         T : 3:00 – 5:30 PM

·         Th : 3:00 – 5:30 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

·         Usability

·         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


Mode of Delivery

This is an online course. All content will available on Pace’s Blackboard system.


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


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 no exams. Grades will be based on all software products produced and answers to exercises.