Software Engineering

Learning Objectives

The aims of this course:

  • To understand what software engineering is and why it is important.
  • To understand the concepts of software processes and software process models.
  • To understand the rationale for agile software development methods, the agile manifesto, and the differences between agile and plan-driven development.
  • To understand the concepts of requirements engineering and why the requirements should be written in different ways.
  • To understand the main requirements engineering activities.
  • To understand why requirements management is necessary and how it supports other requirements engineering activities
  • To learn and practice the Software Engineering Activities by develop the small system

Learning Outcomes

The successful completion of this course, Student will be able:

  • To be familiar with the rationale for caring about process.
  • To understand the principles of agile processes.
  • To be familiar with some general terms as they relate to agile processes.

Reference Materials

Reference Book's Photo Reference Book's Materials
“Software Engineering: A Practitioner's Approach", 9th Edition, Roger Pressman and Bruce Maxim, McGraw Hill Education, 2019
Iron Sommerville, “Software Engineering”, Global Edition, 10th edition, 2016
Rajib Mall, “Fundamentals of Software Engineering”, Fourth Edition, 2014

Assessment Plan

Assessment Plan for the Course
Paper Exam 60%
Project 20%
Quiz 10%
Tutorial 10%