CS389 - Software Engineering
Dr. Francis T. Marchese
· T : 3:00 5:30 PM
· Th : 3:00 5:30 PM
212 346 - 1803
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
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 Paces Blackboard system.
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.
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.
There are no exams. Grades will be based on all software products produced and answers to exercises.