SOFTWARE ENGINEERING
Course Code: CS202 Course Credits: 3
Course Category: CC Course (U / P) U
Course Year (U / P): 2U Course Semester (U / P): 4U
No. of Lectures + Tutorials 03 + 00 Mid Sem. Exam Hours: 1.5
(Hrs/Week):
Total No. of Lectures (L + T): 45 + 00 End Sem. Exam Hours: 3
COURSE OBJECTIVES
1. Knowledge of basic SW engineering methods and practices and applications.
2. A general understanding of software process models.
3. Understanding of software requirements and the SRS documents.
4. Understanding of the software design process.
5. Understanding of software coding, testing, and maintenance.
COURSE OUTCOMES
At the end of the course, the students should be able to:
1. Basic knowledge and understanding of the analysis and design of complex systems.
2. Ability to apply software engineering principles and techniques.
3. Ability to design, develop, maintain, and evaluate large-scale software systems.
4. To produce efficient, reliable, robust, and cost-effective software solutions.
5. Ability to perform independent research and analysis.
UNIT I SOFTWARE ENGINEERING
Introduction to software engineering: definitions, role of software engineering, planning a software project,
defining the problem, developing a solution strategy, planning the development process, software engineering
process paradigms, principles of software engineering, software engineering activities, Software Development
Life Cycle (SDLC) Models: Water Fall Model, Prototype Model, Spiral Model, Evolutionary Development
Models, Iterative Enhancement Models, Agile Model, Scrum Model.
UNIT II REQUIREMENT ANALYSIS AND DESIGN
Software Requirement Specification (SRS): Introduction, need of SRS, significance, characteristics of SRS,
Structure of SRS, IEEE standards for SRS design, functional and non-functional requirements, Requirement
gathering and analysis, requirement engineering and management, Decision Tables. Software Quality
Assurance (SQA): Verification and Validation, SQA Plans, Software Quality Frameworks, ISO 9000 Models,
SEI-CMM Model.
UNIT III SOFTWARE DESIGN PROCESS
Software Design: Introduction, design process activities: architectural design, Abstract specification,
Interface design, component design, data structure design, algorithm design modular approach, top-down
design, bottom-up design, design methods: data-flow model: data flow diagram, entity relation-attribute
model: E-R diagram, structural model: structure charts, context diagrams, object models: use case modeling,
use case diagrams, sequence diagrams, cohesion, and coupling. Software Measurement and Metrics: Various
Size Oriented Measures: Halestead’s Software Science, Function Point (FP) Based Measures, Cyclomatic
Complexity Measures: Control Flow Graphs.
UNIT IV SOFTWARE TESTING
Testing Objectives, Unit Testing, Integration Testing, 8 Acceptance Testing, Regression Testing, Testing for
Functionality and Testing for Performance, Top-Down and Bottom-Up Testing Strategies: Test Drivers and
Test Stubs, Structural Testing (White Box Testing), Functional Testing (Black Box Testing), Test Data Suit
Preparation, Alpha and Beta Testing of Products. Static Testing Strategies: Formal Technical Reviews (Peer
Reviews), Walk Through, Code Inspection, Compliance with Design and Coding Standards.
UNIT V SOFTWARE MAINTENANCE
Need for Maintenance, Categories of Maintenance: Preventive, Corrective and Perfective Maintenance, Cost
of Maintenance, Software Re-Engineering, Reverse Engineering. Software Configuration Management
Activities, An Overview of CASE Tools, Constructive Cost Models (COCOMO), Software Risk Analysis
and Management. problem resolution, software maintenance from customers perspective, maintenance
standard: IEEE-1219, ISO-12207,
Text Books:
1. Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa Publishing House, New Delhi
1997.
2. Ian Sommerville, Software Engineering, Pearson Education, 2009.
3. Pressman Roger S., Software Engineering: Practitioner's Approach, McGraw-Hill Inc., 2004.
4. Software Engineering: Software Reliability, Testing and Quality Assurance, Nasib S. Gill, Khanna
Book Publishing Co (P) Ltd., New Delhi, 2002.