SE course outline for SE Dept
SE course outline for SE Dept
SE course outline for SE Dept
Course Description
This course provides an introduction to the problems of software development and the processes
and methods used to address them. All phases in the software development life cycle, except
testing and maintenance which are postponed to Advanced Software Engineering, will be
introduced. The course also deals with software project planning, cost estimation, tracking and
control, staffing, risk management, and software configuration plan.
Learning Outcomes
At the end of the course, the student should be able to do the following:
Understand the basic principles of Software Engineering
Understand software process and state-of-the-arts software process models
Write requirements specification documents
Design a system, component, or process to meet desired needs.
Course Content
Week Lecture Topics
1 Chapter 1: Introduction & Overview
What is software?
What is software engineering?
Why Software Engineering?
Software quality
Software Engineering and the Engineering Profession Ethics in Software Engineering
2- 4 Chapter 2: Software processes & Models
Sequential Software Process models Iterative Software Process models
5 Chapter 3: Agile Development
What Is Agility?
Agility and the Cost of Change
What Is an Agile Process?
Extreme Programming (XP)
Other Agile Process Models
6-8 Chapter 3: Requirement Engineering
Software Requirements
Requirement Engineering Process
System Models
9-10 Chapter 4: Software Project management
Responsibility of Software Project Managers,
Project Planning,
the organization of SPMP document,
Project Size Estimation Metrics, Project Estimation
Techniques, Scheduling, Organization and Team Structures,
11-13 Chapter 5; Software Design
Software Design Software Architectures Function Oriented
Design Detailed Design
14-15 Chapter 6; Coding
Programming Principles & guidelines Coding process
Validation & Verification Metrics