Close

SE-P04


Course Outline
SOFTWARE ENGINEERING
(Instructor: Pradip Kumar Bala)

Objective: The course aims at presenting an integrated view of the principles and practice of software engineering and management. The module will give an in-depth treatment of key principles of software engineering and management that have broad acceptability and relevance.

Session Details:
Session
Topic
Session Details
1
IntroductionThe software Engineering discipline-evolution and impact; emergence of software engineering; notable changes in software development practices
2
Software Life Cycle Models and Waterfall ModelLife Cycle Models; Phases in life cycle; phase entry and exit criteria; Waterfall Model
3
Classical Waterfall Model Feasibility study; Requirement analysis and Specification; Design; Coding; Unit Testing; Integration and System testing; Maintenance
4
Other SDLC ModelsIterative Waterfall Model; Prototyping Model; Evolutionary Model; Spiral Model; Comparison of different life cycle models
5
Software Project ManagementResponsibilities of a software project manager; project planning; metrics for project size estimation; project estimation techniques (introduction)
6
Project Estimation TechniquesEmpirical Estimation Techniques; Heuristic Techniques; Analytical Estimation Techniques
7
COCOMO: A Heuristic Estimation TechniqueBasic COCOMO; Intermediate COCOMO; Complete COCOMO
8
Halstead’s Software Science: An Analytic TechniqueProgram Volume; Potential minimum volume; effort and time; length estimation
9
Staffing Level EstimationNorden’s work; Putnam’s work; Effect of schedule change on cost; Jensen’s Model
10
Scheduling Work Breakdown Structure; Activity Networks and CPM; Gantt Charts; PERT Charts; Project Monitoring and Control
11
Risk ManagementRisk Identification; Assessment and Containment
12
Software Configuration ManagementWhat is Configuration; Necessity of Software Configuration Management; Configuration Management Activities
13
Software DesignWhat is a good Software Design; Cohesion and Coupling; Classification of cohesiveness; Classification of coupling; Object-Oriented vs. Function-Oriented Design
14
Function-Oriented Software DesignOverview of Software Design Methodologies; Structured Analysis; Data Flow Diagrams; Detailed Design
15
Object-Oriented Software DesignOverview of Object-Oriented Concepts; UML; UML Diagrams; Use CASE Model; CLASS Diagrams; Interaction Diagrams; Activity Diagrams; State Chart Diagram; Design Patterns; A generalized object-oriented analysis and design process
16
Coding and Unit TestingCoding and Code Review; Testing; Unit Testing; Black-Box Testing; White-Box Testing; Debugging
17
Integration Testing and System TestingProgram analysis Tools; Phased vs. Incremental Integration Testing; System Testing; Some general issues associated with testing
18
Software Reliability and Quality ManagementSoftware Reliability; Statistical Testing; Software Quality; Software Quality Management System; ISO 9000 and SEI-CMM; Personal Software Process(PSP); Six Sigma
19
Computer Aided Software Engineering CASE and its scope; CASE support in software life cycle; Characteristics of CASE Tools; Architecture of a CASE environment
20
Software Maintenance and ReuseTypes of software maintenance; characteristics of software evolution; special problems associated with software maintenance; software reverse engineering; software maintenance process models; estimation of maintenance costs; Basic issues in Reuse of a software; a reuse approach; Reuse at organizational level

Suggested Text Book: Roger S. Pressman – Software Engineering: A Practitioner’s approach (TMH)

Pedagogy: Lecture and presentation by students

Evaluation Methodology:
  1. Mid Term: 25
  2. Quiz: 20
  3. Presentation: 10
  4. End-Term: 45
Created By: Bijoy Kar on 06/27/2005 at 02:29 PM
Category: Academic Doctype: Document

...........................