|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.