CS616 - Software Engineering
Dr. Francis T. Marchese
· M : 2:30 – 5:00 PM
· Tu : 2:30 – 5:00 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
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 two exams. Grades will be based on exams all software products produced and answers to exercises.