Software Engineering New Updated
Software Engineering New Updated
Semester III
Course Pre-requisites:
1. Basic Knowledge of Object-Oriented Programming
2. Fundamentals of Programming & Problem Solving
Course Description:
1. Understanding the nature of software involves grasping its inherent complexities
anddynamic nature, influencing how it's engineered and managed.
2. Software engineering encompasses systematic approaches to developing, maintaining,
andevolving software systems, addressing both technical and human aspects.
3. The software process outlines the structured methodologies and practices guiding
softwaredevelopment, aiming to enhance efficiency and quality.
4. Dispelling software myths involves debunking misconceptions about development
processes,timelines, and capabilities, fostering a more realistic understanding.
5. Various process models, including the waterfall, incremental, and evolutionary
approaches,offer distinct strategies for managing software development projects.
6. Agile methodologies like Extreme Programming (XP) and Scrum prioritize adaptability
andcollaboration, promoting iterative development cycles and continuous improvement. 7.
Clean Room Software Engineering introduces rigorous techniques for producing high-quality
software, emphasizing formal methods and verification processes.
8. Requirements engineering, design methods, and testing principles constitute integral phase in
software development, each demanding specific techniques and considerations for successful
outcomes.
Course Objectives:
The main objectives of the course are to:
Nature of Software, Software Engineering, The Software Process, Software Myths, A Generic
Process Model, Prescriptive Process Models: The Waterfall Model, Incremental Process Models,
Evolutionary Process Models ,Concurrent Models , Specialized Process Models , The Formal
Methods Model, The Unified Process Personal, Agility Principles , Extreme Programming (XP),
Scrum
Self-study / Do it yourself:
Self-study / Do it yourself:
The Design Process, Concepts of design, Design Quality, Design Principles, Object-Oriented Design
Concepts, Design Classes, The Design Model and elements, Software Architecture & Importance,
UML Diagrams(Class, Object, Use Case, Sequence, Timing, Component, Activity, Deployment),
Component Design, Class-Based Components, DFD Levels, User Interface Analysis and Design,
Self-study / Do it yourself:
Introduction to Software Testing, Principles of Testing, Testing Life Cycle, Phases of Testing,
Typesof Testing, A Strategic Approach to Software Testing,Strategic Issues,Test Strategies for 6
HrsConventional Software,Test Strategies for Object-Oriented Software,Test Strategies for
WebApps,Verification & Validation,Software Testing Fundamentals, White-Box Testing , Basis
Path Testing,Control Structure Testing, Black-Box Testing, Model-Based Testing, Testing for
SpecializedEnvironments, Architectures, Object-Oriented Testing Strategies, Object-Oriented
Testing Methods,Validation Testing
Self-study / Do it yourself:
Self-study / Do it yourself:
Learning Resources
Text Books:
1. Roger S Pressman “Software Engineering : A Practitioner’s Approach “ 7th
EditionMcgraw-Hill ISBN:0073375977.
2. Ian Sommerville “ Software Engineering” 9th edition Pearson Education SBN-13: 978-0-13-
703515-1, ISBN-10: 0-13-703515-2 , pdf downloadable.
Reference Books:
1. Soren Lauesen, Software requirements: Styles and techniques, Addison Wesley,
ISBN 0201745704, 2002
2. Robert K. Wysocki “Effective Software Project Management” – Wiley Publication, 2011. 3.
Pankaj Jalote “ An Integrated Approach to Software Engineering” 3rd Edition Narosa Publication
ISBN: 81-7319-702-4 pdf downloadable.