Software Engineering
Software Engineering
Course Objectives:
1. To learn the basic concepts of software engineering and life cycle models
2. To explore the issues in software requirements specification and enable to write SRS
documents for software development problems
3. To elucidate the basic concepts of software design and enable to carry out procedural and
object oriented design of software development problems
4. To understand the basic concepts of black box and white box software testing and enable
to design test cases for unit, integration, and system testing
5. To reveal the basic concepts in software project management
Unit – 1: Basic concepts in software engineering and software project management Basic
concepts:
abstraction versus decomposition, evolution of software engineering techniques, Software
development life cycle (SDLC) models: Iterative waterfall model, Prototype model, Evolutionary
model, Spiral model, RAD model, Agile models, software project management: project planning,
project estimation, COCOMO, Halstead’s Software Science, project scheduling, staffing,
Organization and team structure, risk management, configuration management.
Learning Outcomes: Student should be able to
1. Recognize the basic issues in commercial software development.
3. Infer Workout project cost estimates using COCOMO and schedules using PERT and
GANTT charts.
The nature of software, The Unique nature of Webapps, Software Myths, Requirements
gathering and analysis, software requirements specification, Traceability, Characteristics of a
Good SRS Document, IEEE 830 guidelines, representing complex requirements using decision
tables and decision trees, overview of formal system development techniques. axiomatic
specification, algebraic specification.
Learning outcomes: Student should be able to
2. Apply the structured, object oriented analysis and design (SA/SD) technique.