SOFTWARE ENGINEERING

Paper Code: 
CBCA 401
Credits: 
3
Periods/week: 
3
Max. Marks: 
100.00
Objective: 

The course will enable the students to

  1. Obtain knowledge of software engineering discipline.
  2. Interpret analysis, design and testing principles for software project development.
  3. Learn various factors & metrics involved in software development process.

Course Outcomes (COs):

Course Outcome (at course level)

Learning and teaching strategies

Assessment Strategies

The students will:

CO153. Analyze and compare the

different                  software

development models

CO154. Examine                metricsassociated     with     software evaluation

CO155. Compose     the    Software requirements      specification document   by understanding the software requirements

CO156. Evaluate     the     softwaredesign concepts and designmodel

CO157. Assess various strategies

for Testing software projects

Approach in teaching:

Interactive Lectures, Discussion,

Tutorials, software development

scenarios

Learning activities for the students:

Self-learning assignments,

Effective scenario based questions,

Seminar presentation, giving tasks, Role plays.

Class test, Semester

end examinations,

Quiz, Solving

problems in tutorials,

Assignments,

Presentation,

Individual and group

projects

 

9.00
Unit I: 

Software Engineering Fundamentals: Software, Problem Domain, Software Engineering Challenges.

The Software Process: Software Processes (processes, projects & products, component), Characteristics of Software Processes.

Software Development Process Models: Waterfall Model, Prototyping, Iterative Enhancement Model, Spiral Model. Introduction to Agile Model: Principles, Steps, Various Agile Process Models.

Software Requirement Analysis & Specification: Need, Characteristics & Components. Introduction to Requirements Modeling: Data Flow Diagram and Use Cases.

 

9.00
Unit II: 

Introduction to Metrics: Function Point, Line of Code (LOC) and KLOC.

Software Project Planning: Cost Estimation- Uncertainties in Cost Estimation, Building Cost Estimation Models, On Size Estimation, COCOMO Model. Project Scheduling: Average Duration Estimation, Project Scheduling & Milestones. Quality Assurance Plans: Verification & Validation, Inspection & Reviews.

 

 

9.00
Unit III: 

Design Engineering: Design Process & Design Quality, Design Concepts (abstraction, architecture, patterns, modularity, information hiding, functional independence, refinement, refactoring, and design classes), The Design Model (data design elements, architectural design elements, interface design elements, component-level design elements, deployment-level design elements).

 

9.00
Unit IV: 

Testing Strategies & Tactics: A strategic approach to software testing, Strategic issues, Software testing fundamentals, Test characteristics, Test Strategies for conventional software: Unit Testing, Integration testing, Validation Testing, System testing, Black-Box testing, White Box testing. The art of debugging (process & strategies)

 

 

9.00
Unit V: 

Risk Management: Overview, Assessment, Control.

Software Reliability: Measures of Reliability & Availability, Software Safety.

Maintenance     and    Reengineering:     Introduction    to:     Software    Maintenance,  Software Supportability, Reengineering, Reverse Engineering, Restructuring, and Forward Engineering.

 

 

ESSENTIAL READINGS: 
  1. Pankaj Jalote, “An Integrated Approach to Software Engineering (Third Edition)”, Narosa Publishing House. 
  2. Roger S. Pressman, “Software Engineering (A Practitioner’s Approach) (Eighth Edition)”, Mc-Graw Hill International.

 

 

Academic Year: