Software Engineering

Course Code: BIT404

Course Title: Software Engineering (4 Credits)






Unit 1: Introduction to software engineering

What is software engineering, software engineering principles, Software characteristics, applications. Objectives of software engineering, Phases of software engineering.


Unit 2: SOFTWARE PROCESS and Life Cycle models:  Software process, project and product, process assessment, Software Process capability maturity model: CMM Model. Life cycle models: Waterfall model, Incremental model, spiral model, advantages and disadvantages.


Unit 3: Software LIFE CYCLES Models -2

Prototyping Model, Object-oriented model, Agile model, Extreme programming (Latest models can be discussed), advantages and disadvantages.


Unit 4: Software requirements

Functional- non-functional requirements, User requirement, System requirements, Software requirements documentation.


Unit 5: Software Requirement engineering process Feasibility studies, Requirements elicitation and analysis, requirement validation, software prototyping, requirement management.


Unit 6: Software Reliability

Software Reliability; Software Reliability Metrics; Programming for Reliability; Software Reuse.


Unit 7: Software design: Basics of software design, Data design, Architectural design, component level design and user interface design ,Fundamental design concepts-module and modularization, Design techniques;


Unit 8: Object oriented design

Objects and object classes, relationship:  An Object Oriented design process, Object identification, design model (sequence model, state diagram)


Unit 9: Software Implementation

Implementation: Structures coding techniques, coding styles, Coding methodology, Coding verification techniques, Coding tools, code documentation, standards and guidelines


Unit 10: Software maintenance

 Software re-engineering, Change management, configuration management, maintenance tools and techniques.


Unit 11: Software testing strategies:

A strategic approach to software testing, test strategies for convention software, Black-box and white box testing, validation and system testing, and debugging.


Unit 12: Software metrics

Software quality metrics, Metrics for analysis models, Metrics for design model, Metrics for source code, Metrics for testing, Metrics for maintenance.


Unit 13: Quality Management

Quality Management; Quality concepts, software quality assurance, Software reviews, Formal Technical reviews, The ISO 9000 quality standards


Unit 14: Software project management

Project planning, project scheduling, project staffing, people capability maturity model.