Course       Course
Name of Course                            L    T     P     Credit
   Type         Code
    DC       CSC306          Software Engineering                                            3     0     0    9
 Course Objective
 Develop methods and procedures that can be used to consistently produce high-quality software at low cost. How to
 use available resources to develop software, reduce cost of software and how to maintain quality of software. Methods
 and tools of testing and maintenance of software.
 Learning Outcomes
 Upon successful completion of this course, students will study and learn the following aspects of software engineering:
      ● Different Life cycle models for different software applications.
      ● Cost estimation techniques
      ● Understand the techniques and concepts of software project management.
      ● Learn UML diagrams.
      ● Testing a software products
      ● Quality control mechanism
 Unit                                                     Lecture
                    Topics to be Covered                                            Learning Outcome
 No.                                                      Hours
        Objectives and Scope of SE, Introduction to                  Comprehensive introduction about the course
   1    System, Software Definition, and                     3       content will be delivered. Difference between
        Characteristics of software.                                 software and hardware.
        Software Development Methodologies                           This section encompasses all phases of software
   2                                                         4       development that are considered crucial to the
                                                                     success of software projects.
        Requirement Analysis and Specification                       This section discuss the methods to analyse the
   3                                                         4       problem and detailing the specifications of the
                                                                     software in form of SRS.
        Software Project Management.                                 Brief discussion on requirements analysis and
   4                                                         6       specification, software metrics, cost estimation
                                                                     methods, efficient way project scheduling.
        Software Design: Function oriented design                    Learn some important facets of software design,
                                                                     the        methodology         of        Structured
   5                                                         7
                                                                     Analysis/Structured Design (SA/SD) in relation
                                                                     to traditional function-oriented design.
        Object oriented design: UML Diagram,                         Study object oriented design using UML.
        Use Case Model, Class Diagrams, Interaction          5
   6
        Diagram, Activity Diagram, State Chart
        Diagram.
        Introduction     to     Software      Testing:               Learn coding and unit testing techniques.
        Fundamentals of Verification and Testing.                    Integration and system testing techniques are
        Review of software development models, Test                  elaborately discussed in this module. Elaborate
   7                                                         7
        Metrics, Software Testing Principles, Black                  discussion on different types testing.
        Box Testing, White Box Testing, Gray Box
        Testing
        Software Quality Assurance and Quality                       Module is exclusively devoted to software quality
        control, Quality factors, Quality standards –                assurance aspects, ISO 9000 and software
   8    TQM, ISO, SEI CMM, PCMM, Six sigma.                  3       reliability models, as these are considered
                                                                     necessary to expose students to basic quality
                                                                     concepts as part of a software engineering course.
Text Books:
   1. Rajib Mall, Fundamentals of Software Engineering.
     2. Pankaj Jalote, An integrated approach to Software Engineering
Reference Books:
     1. Ian Sommerville, Software Engineering
     2. Roger S. Pressman, Software Engineering: A Practitioner's App