Software Engineering (BTCS 503-18) - Theory

Course Objectives

This course aims to:

Course Outcomes

Upon completion of this course, students will be able to:

  1. Apply software engineering principles and practices throughout the software development lifecycle.
  2. Elicit and analyze software requirements.
  3. Design software systems using appropriate modeling techniques.
  4. Implement and test software components and systems.
  5. Manage software projects effectively.
  6. Appreciate the importance of software quality and maintenance.

Detailed Syllabus

Module 1: Introduction to Software Engineering

Module 2: Software Requirements

Module 3: Design Engineering

Module 4: Testing Strategies & Tactics

Module 5: Software Project Management

Course Outcomes

The students will be able to:

  1. CO1: Understand the need and importance of software engineering principles and practices.
  2. CO2: Apply requirement engineering practices for analyzing, documenting, and managing software requirements.
  3. CO3: Apply software design principles and patterns for designing software solutions.
  4. CO4: Develop and apply various testing techniques to ensure software quality.
  5. CO5: Understand and apply software project management techniques.

Text Books

Reference Books


Software Engineering Lab (BTCS 506-18)

List of Experiments

  1. Develop the requirement analysis of Library Management System using various elicitation techniques.
  2. Prepare Software Requirement Specification (SRS) for Library Management System using IEEE format.
  3. Perform Data Flow Diagram (DFD) modelling for Library Management System up to 2 levels and Object Modelling using UML.
  4. Develop Test Cases for unit testing and integration testing for Library Management System.
  5. Develop a Test Plan document for Library Management System.
  6. Prepare a Risk Management Plan for Library Management System.
  7. Estimate cost of Library Management System using COCOMO model.
  8. Prepare a Gantt Chart for Library Management System using any Project Management tool.

Course Outcomes

The students will be able to:

  1. CO1: Identify and apply appropriate software engineering tools and techniques for a given problem.
  2. CO2: Analyze and document software requirements using various elicitation techniques.
  3. CO3: Design software solutions using appropriate modeling techniques.
  4. CO4: Develop and execute test cases for various testing levels.
  5. CO5: Plan and manage software projects using project management tools.