5. 5
Appreciate Software Engineering:
Build complex software systems in the context of frequent
change
Understand how to
produce a high quality software system within budget and time.
while dealing with complexity and change
Acquire technical knowledge
Understand the Software Lifecycle
Learn about different software lifecycles
Requirements Elicitation
Requirements Analysis
Learn About Modeling
6. 6
Required:
Software Engineering, 9th Edition, By Ian Sommerville
The Agile Planning Horizon in Professional Software Development, 12th
Edition, David A. Penny
Software Engineering & Testing: An Introduction, By B. B. Agarwal, S.
P. Tayal, M. Gupta
Recommended:
Bernd Bruegge, Allen Dutoit: “Object-oriented Software Engineering:
Using UML, Patterns, And Java”, Prentice Hall, 2003
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: “Design
Patterns”, Addison-wesley, 1996
Systems Analysis And Design In A Changing World, By John W. Satzinger,
Robert B. Jackson, Stephen D. Burd
Code Complete, By Steve Mcconnell
Clean code: A Handbook of Agile Software Craftsmanship, Rebort C.
Martin
7. 7
Midterm and a final
Midterm—closed book
Final—closed book
Homework
Small case studies
Weights
90 Final
20 Midterm
10 Lecture Attendance & Participation & Quizzes
20 Project
10 Lecture Attendance & Participation & Lab Exam
80% Attendance is required to complete the course
8. 8
Introduction to Software Engineering
Software Life Cycle Model
Requirements Analysis and Specification
System Modelling & UML
Agile Software Development
Software Project Management