Department of
Computer Science
Tentative Weekly Course Plan
Course Title Software Engineering
Course Code COSC-1104 Credit Hour 3
Course Learning Outcomes (CLOs):
1. Demonstrate Basic project management skills for solving real world problems.
2. Understand and be able to apply the principles of Software engineering practice and process.
3. Build Software using modern tools to solve real world problems.
4. Analyze Real world problems by using software engineering constructs.
1. Reference Books
i. Software
i Engineering by Ian Somerville, Pearson Publishers, 10th Edition, 2015,
ISBN:
. 13-978-0133943030.
Resource Material
ii. Software
i Engineering: A Practitioner’s Approach by Roger S. Pressman,
McGraw-Hill
i Education, 8th Edition, 2014; ISBN: 13-978-0078022128.
2. Web Resources
i. http://www.sei.cmu.edu/
ii. https://www.tutorialspoint.com/index.htm
TOPICS TO BE COVERED
Week # Topics (outline of main topics and sub topics) Tutorial
/Laboratory
Introduction to Software Engineering
• What is Software
• What is Software Crisis
• Software Engineering Evolution
1 • What is Software Engineering
• Professional Software Development
• Software Engineering Ethics
• Case Studies
• Software Products, Generic vs Custom Products
Page # 1 / 5
Department of
Computer Science
Fundamentals of Software Engineering
• Software Engineering
• Importance of Software Engineering
2 • Software Process Activities
• Issues that affect Software
• Software Engineering Diversity
• Types of Applications
Software Processes
• SE fundamentals
• Web Software Engineering
• SE Ethics
• ACM / IEEE Code of Ethics
3
• Case Studies
• Embedded System Case Study
• Information System Case Study
• Sensor Based System Case Study
Software Processes continued
• The Software Process
• Plan Driven & Agile Processes
4
• Process Models
• Water Fall Model
• Incremental Model
• Integration & Configuration Model
Software Process Activities
• Process Activities
• Software specification
• Design & Implementation
5 • Software Testing
• Coping with Change
• Software Prototyping
• Incremental Delivery
• Boehm’s Spiral Model
Page # 2 / 5
Department of
Computer Science
Agile Software Development
• Agile methods
• Agile development techniques
• Extreme Programming (XP)
6 • XP
• User Stories
• Refactoring
• Test First Development
• Pair Programming
Agile Software Development continued
• Agile Project Management
7 • Scrum
• Scrum Sprints
Agile Software Development continued
• Scaling Agile Methods
• Scaling Out and Scaling Up
8
• Agile Methods for Large Software Systems
• IBM Agility at Scale Model
Mid Term Exam
Requirements Engineering
• Rational Unified Process Model
• What is Requirement?
• Functional & Non-Functional Requirements
• Requirements Engineering Process
9
• Requirements Elicitation,
• RE Techniques,
• Interviewing,
• Ethnography,
• Stories & Scenarios
Requirements Engineering continued
• Requirement Specification
10 • Requirements Validation
• Requirements Validation techniques,
• Requirements Change Management
Page # 3 / 5
Department of
Computer Science
System Modeling
• Systems Modeling,
• Interaction Perspective
• External, Structural and Behavioral Perspective
11
• Introduction to UML,
• Context Model,
• Use Case Diagram,
• Activity Diagram
System Modeling continued
• Class Diagram, Association, Aggregation, Composition,
12
Inheritance, Multiplicity
• Sequence Diagram
Architectural Design
• Package Diagram
• Collaboration Diagram
13 • Component Diagram
• Architectural Design
• Architectural Views
• Architectural Patterns
Software Testing
• Testing
• Verification & Validation
• Development Testing
14 • Performance testing,
• Stress Testing,
• Unit Testing,
• Component, Integration, Regression testing,
• White box and black box testing
Software Project Management
• Software Project Management, Management activities, Types of
15 project plan, Project scheduling, The risk management process,
SPM, SPM and its Levels, Time, Cost & Scope triangle
Global Software Development, The four approaches to GSD, Issues in
16 GSD, Work allocation
Final Term Exam
Page # 4 / 5
Department of
Computer Science
Student Evaluation Criteria:
Workshop / Assignments/Case study 10%
Surprise Test/Sudden Test, Quizzes 10%
Semester Project 0%
Mid Term Paper 30%
Final Term paper 50%
Total 100%
Student Responsibilities:
Students must attend class. Failure to attend class may result in failure in the course. Students must also arrive on time
and remain in class for the entire period. Cellular Phones and Beeper must be Turned off (Proper classroom
decorum [behavior] adopts, Course outlines and calendars explain requirements and assignments, students are
responsible for knowing what they say. Students are also responsible for doing all assigned work on time. Excessive
absences (more than 03) will result in “F Grade”. Students may prepare Sketchbook for taking notes and for references.
_______________________________
Instructor/ Subject Specialist
____________________________
Chairman/ Head of Department
Page # 5 / 5