CSC291 - Software Engineering Concepts - Handbook
CSC291 - Software Engineering Concepts - Handbook
COURSE HANDBOOK
10 Course Introduction
The main objective of this course is to construct a solid foundation for understanding and application of
principles, techniques and technologies utilized in the development of good software systems by individual or
teams. The objective of this course is to learn contemporary techniques to develop as well as manage the
development of industrial strength software.
11 Learning Objectives
1. Upon completion of the course students would have acquired an in-depth knowledge of software
development processes and the role of design in the software development life-cycle.
2. Students should have understanding about systems modelling, analysis and design across both architectural
and behavioral specifications.
3. Students should have learned the modelling and development methodology, Principles and techniques for
the engineering of large software projects.
4. Students should have learned the Fundamental principles of formal specifications.
5. Students should have clear understanding about software testing approaches.
12 Course Contents
Introduction to Software Engineering, Process Models, Linear Sequential, Prototyping, RAD and Spiral Models,
Requirement Engineering, Requirement Elicitation Techniques, Software Requirement Specification, Analysis
Modelling, Data Modelling, ERD, Behavioural Modelling, Data Flow Model, Software Design Concepts and
Principles, Object oriented analysis and design, Software Architecture, Software Testing Fundamentals, Testing
Objectives, Test Case Design, Types of Testing
13 Lecture Schedule
Weeks Topic of Lecture
Week 1 Introduction
What is software, Software Engineering, Software Crisis/History
of software Engineering
Software Applications
Difference between software engineering and other disciplines
Software construction and management
Software Myths
Week 2 Software Process models Assignment 1:
SDLC, Waterfall, Incremental, Prototype, Spiral Project Proposal
Week 3 RAD, Agile Development: Extreme Programming, Component Assembly Reading
Model Assignment: RUP
Quiz1
Week 4 Requirements Engineering Assignment 2:
Definitions Project
Types of Requirements Requirements
Steps of Requirement Engineering
Week 5 System Modelling
Context Modelling: Context Diagram, Activity Diagram
Week 6 Sessional 1, Solution of paper discussed
Week 7 Student week
Week 8 System Modelling Quiz 2
Interaction Modelling : Use Case Diagram , Sequence Diagrams
15 Assessment Schedule
Week 2 1st Assignment
Week 3 1st Quiz
Week 9 2nd Assignment
Week 10 2nd Quiz
Week 13 3rd Assignment
Week 14 3th Quiz
Week 16 Final Presentation