Course Syllabus
Course Name
Software Engineering
Course Description
This course is concerned with the application of theory, knowledge, and practice for effectively and
efficiently building software systems that satisfy the requirements of users and customers. Software
engineering is applicable to small, medium, and large-scale systems. It encompasses all phases of the life
cycle of a software system. The life cycle includes requirements analysis and specification, design,
construction, testing, deployment, and, operation and maintenance.
Course Intended Learning Outcomes:
On completion this course students successful will be able to:
Program ILO's Course ILO's
A4,B2,B5 1. Chooses the tools, methods, and approaches
that are most applicable for a given development
environment.
A4, B1,B2,B4,C1,C2, C4, 2. Employs engineering methods, processes,
C7,D5,D6 techniques and measurements of SWE to develop
different software systems.
B5,C5,C6,C8,D3,D5 3. Benefits from the use of tools for managing
software development; analyzing and modeling software
artifacts.
D2 4. Works with team to produce and develop
software systems.
D4 5. Manage one’s own learning and development,
including time management and organizational skills.
Course Pre-requisite
CIT09: Introduction to Databases
CIT07: Data Structures and Algorithms
CIT06: Computer Programming
CIT10: Object Oriented Programming
Page 1 / 3
Course Schedule
Note tutorials Topic
Week
Text/chapter(s)
Sommerville Feasibility Study Introduction 1,2
Chapter 1
Sommerville Project Plan Software Process 3
Chapters 2
Sommerville Risk analysis Agile Software Development 4
Chapter 3
Sommerville Requirement Specification Requirements Engineering- Quiz1 5
Chapter 4 using natural language
(functional + non-
functional)
Sommerville Requirements Modelling System Modeling 6
Chapters 5 using UML
Sommerville Architectural Design Architectural Design 7
Chapter 6
Mid-Term Exam 8
Sommerville Software Design using Design and Implementation 9
Chapter 7 UML
Sommerville Test Cases Design Software Testing 10
Chapter 8
Sommerville Software Evolution- Quiz2 11
Chapter 9
Projects Presentation 12
Students Evaluation
Mark Topic
5% Quizzes + Assignments
25% Project
20% Lab / Tutorials (practical exam)
10% Mid Term Exam
40% Final Term Exam
Project Description and Assessment
To apply models, methods and modeling notations studied through the course in a real environment (project).
Projects are group based to allow a good chance for applying team work values.
- Deliverables:
A scientific paper contains:
Introduction (rationale of the project)
Business Case (Proposal + feasibility study)
A description about used models/notations with justifications
Project recourses plan BPP (Baseline Project Plan ..time, staff, …etc)
Page 2 / 3
Risk analysis
Requirements engineering documentation
Design documentation
Verification & Validation documentation
Conclusion
-NOTE: See Final Projects Guide.
- Evaluation and Marks
Mark Criteria
50% Fulfill requirements
30% Quality level
10% Contribution in the teamwork
10% Performance of all members in the team
Basic Text(s)
[1] Ian Sommerville, Software Engineering, Pearson Education Limited, Ninth edition 2011.
Reference(s)
[1] Roger S. Pressman, Software Engineering A Practitioner's Approach, McGraw-Hill,2000
[2] Craig Larman, Applying UML and Patterns, Prentice Hall PTR, second edition, 2002.
Page 3 / 3