Course Outline
Course Code SE111
Instructor Ms. Saba Taimouri
Course Name Introduction to Software engineering
Pre-requisite nil
Course Structure Lectures = 3, Lab= 0 Credit Hours= 3
Room Number Counseling Hours:
TA
Objective: To help students gain understanding of what is software engineering, the different stages and
concepts of software development. Teach them Software development methodologies. Different phases of
software engineering from requirement elicitation, modeling, design, implementation, various levels of testing to
project management activities such as change and configuration management etc.
Week Topic Activity
1 Why software engineering?
Introduction to Software, Software Engineering, system approach, engineering
approach, members of development team, motivation for engineering
software, difference between SDLC and SLC etc.
2 Modelling the process and life cycle:
What is process, software process models, Tools and techniques for process
modeling, Practical process modeling.
3 Modelling the process and life cycle: software process models, Paper tower building
4 Agile Project Management with a focus on SCRUM its practices and life cycle
7 Capturing the Requirements:
The requirements process, Requirement elicitation, Types and characteristics
of of requirements, Modeling notations, Requirements and specification
languages, Prototyping requirements, Requirements documents, Validation
and verification, Measuring requirements, Choosing a specification technique.
8 Midterm
9 Designing the System:
What is design, Concepts related to design such as Decomposition and
modularity, issues of design creation, characteristics of good design.
10 Designing the System:
Architectural styles and strategies, improving design, design evaluation and
validation, documenting design.
11 Considering Objects: What is OO, OO development process, Use cases,
Representing OO: An example using UML
12 Considering Objects: OO System design, OO Program design, OO
measurement
13 Testing the programs:
What are Software faults and failures, Testing issues, Levels of testing,
Testing object oriented systems Test planning, Automated testing tools.
14 Testing the system
Principles of system testing, different types of testing such as Function testing,
Performance testing, Test documentation, Testing safety critical systems
5 Planning and managing the project:
Tracking progress, Project personnel, The project plan, Process models and
project management
6 Planning and managing the project:
Effort Estimation, Risk management,
15 Implementation
16 Project Demos/Revision
Course Book: Software Engineering: Theory and Practice, Third Edition by Shari Lawrence Pfleeger, Joanne M.
Atlee by Pearson Education.
Reference Books:
1. Software engineering by Ian Sommerville
2. Applying UML Patterns by Craig Larman.
3. Software Engineering: A Practioner's Approach, Roger Pressman, McGraw-Hill, 2001.
4. Object-Oriented Software Engineering, Stephan Schach, Irwin, 1999.
Marks Distribution:
1. Quizzes: 10%
2. Assignments: 10%
3. Midterm: 20%
4. Final Exam: 60%
Rules to follow:
1. No plagiarism will be allowed, if full or part of assignment or quiz is copied, the student will be given 0
marks.
2. A student 5 minutes late in class will be considered absent.
3. 75% attendance policy will hold (no arguments later on)
4. There will be surprise quizzes.
5. No re-mid or grand quiz will be taken so you will have one midterm which will be final.
6. For course related queries please only consult me during the mentioned hours.