23CSE311 Software Engineering

Syllabus

What the course covers

B Tech CSE, Semester VI. Lab Based (70:30). Credits (L, T, P, C): 3–0–2–4.

This course is about how software is really made by teams. We start with how a team organizes its work, with Agile and Scrum, and then follow a product from its first requirements through design and testing to delivery with DevOps practices. You will learn from live case studies from industry, use the tools that professional teams use, and build a project that starts from a statement supplied by industry and ends up deployed on the cloud. By the end you should feel at home with the processes, the tools, and the vocabulary of a software team, which is what we mean by being industry ready.

Course objectives

Course outcomes

CO1Understand process models and apply Agile methodologies for proficient software process management.
CO2Apply requirement engineering principles to analyze, model, and validate requirements for effective software solutions.
CO3Design and implement robust software architectures and intuitive user interfaces, following industry best practices.
CO4Implement comprehensive testing strategies to ensure high software quality.
CO5Utilize industry standard tools and Scrum for efficient software project management and collaboration.

CO to PO mapping

COPO1PO2PO3PO4PO5PO6PO7PO8PO9PO10PO11PO12PSO1PSO2
CO13111
CO23231
CO3333222333
CO4233322333233
CO53312333

Units

Unit 1

Process Models and Agile Overview: Overview of Process Models, Introduction to Agile, Agile Manifesto, Principles of Agile Manifesto.

Agile Methodologies: Scrum, XP, Lean, Kanban.

Agile Requirements: User Personas, Story Mapping, User Stories, Estimating and Prioritizing Stories, INVEST, Acceptance Criteria, Definition of Done, Release Planning.

Key Aspects of Scrum: Product Owner, Scrum Master, Team, Manager in Scrum, Product Backlog.

Scrum Process Flow: Product Backlog, Sprint Backlog, Scrum Meetings, Demos.

How Sprint Works: Sprint Planning, Daily Scrum Meeting, Updating Sprint Backlog, Burndown Chart, Sprint Review, Sprint Retrospective.

Scrum Metrics: Velocity, Burndown, Defects Carried Over.

Unit 2

Traditional Process Models: Waterfall, Incremental, Evolutionary, Concurrent.

Requirements Engineering: Tasks Initiation, Elicitation, Developing Use Cases, Building the Analysis Model, Negotiation, Validation, Requirements Modeling, Scenario Based Methods, UML Models, Data Models.

Design Engineering: Design Concepts, Design Models, Software Architecture, Architectural Styles and Patterns, Architectural Design, Refining Architecture into Components.

User Interface Design: Golden Rules, User Interface Analysis and Design, Interface Analysis, Interface Design Steps.

Unit 3

Testing Strategies and Tactics: Unit Testing, Integration Testing, Validation and System Testing, DevOps.

Syllabus coverage in the lecture plan

Session numbers refer to the lecture sessions.

Syllabus topicSessionsTreatment
Overview of process models; Waterfall, incremental, evolutionary, concurrent1Waterfall and the V model, then incremental, prototyping, spiral, and concurrent models as a survey of 15 to 20 minutes. There is no worked comparison exercise and no deep spiral risk analysis. The lecture notes carry the full detail for independent study. Quiz 1 and the midterm assess each model at the level of recognition, trade offs, and suitability.
Agile, Agile Manifesto, principles2Full session.
Scrum, XP, Lean, Kanban3 to 8Scrum in sessions 3 to 6; XP, Lean, and Kanban compared in session 7; test driven development and pair programming in session 8.
Key aspects of Scrum, including Manager in Scrum3The role of management around a Scrum team is treated alongside the Product Owner, Scrum Master, and Development Team.
Scrum process flow, how a sprint works, Scrum metrics4 to 6Sprint planning, daily scrum, sprint review, and retrospective in sessions 4 and 5; velocity, burndown, and defects carried over in session 6, practiced in the lab sprints.
Agile requirements11 to 15Requirements engineering tasks are taught inside the Agile requirements sessions.
Requirements engineering, analysis model, use cases, scenario based methods, UML, data models11, 17 to 20Modeling with emphasis on reviewing and validating models, including AI generated models.
Design concepts, design models, architecture, styles and patterns, components22 to 28Tutorial in session 28.
User interface design29 to 30Golden rules, then analysis and design steps.
Unit testing10One session, taught early. Test design, test doubles, coverage, and tests as the oracle for human and AI written code. Students already program, so no test framework is taught.
Integration, validation, and system testing31 to 32Followed by regression and automation, non functional testing, and code review in sessions 33 to 35.
DevOps37 to 41Five sessions, with a tutorial in session 43.

Textbook

Roger S. Pressman and Bruce R. Maxim. 2019. Software Engineering: A Practitioner’s Approach (9th ed.). McGraw Hill Education.

We recommend the prescribed textbook for reading, learning, and exam preparation. The slides are only for our discussion in the session, and they point you to further reading.

References

Additional reading

These titles go with the sessions that list an AR number. They are suggested reading, not required.