- Official Syllabus - Detailed official syllabus for CSIT-601 Software Engineering & Agile.
- Detailed Notes - Comprehensive notes covering the syllabus with modern industry context.
- Quick Revision Notes - High-yield, simplified notes for fast revision.
- Viva Questions - Commonly asked viva questions organized by experiment.
This laboratory manual is designed in accordance with the CSIT-601 Software Engineering & Agile syllabus under the AICTE Flexible Curricula.
The experiments focus on software development lifecycle practices, including requirement analysis, UML modeling, software design, testing strategies, and project metrics.
Students will learn how to convert real-world problems into structured software models, analyze system behavior, and evaluate software quality using engineering principles.
Unlike traditional programming labs, this course emphasizes software architecture, modeling, and development methodology.
- To understand principles of software engineering and software lifecycle models
- To analyze software requirements and system specifications
- To design software using UML modeling techniques
- To apply software testing and quality assurance practices
- To understand Agile development methodologies
Students may use the following tools for experiments:
- StarUML / UMLet/ Gaphor / Lucidchart
- Draw.io / diagrams.net
- Eclipse / VS Code / IntelliJ
- Any programming language (for testing experiments)
Optional tools
- Git / GitHub
- Project management tools (Jira, Trello)
Analyze a system description and identify functional and non-functional requirements.
Model system actors and interactions using Use Case diagrams.
Design ER diagrams from system problem statements to represent database structure.
Represent system workflow and state transitions using UML behavioral diagrams.
Model static system structure and dynamic object interactions.
Analyze problem statements and identify domain classes and attributes.
Design Level-0 and Level-1 DFDs representing system data flow.
Develop structured test cases and test scenarios for software modules.
Estimate software testing metrics such as:
- Statement coverage
- Branch coverage
- Cyclomatic complexity
Estimate project size and development effort using models like:
- LOC estimation
- Function Point analysis
- COCOMO model
-
All experiments must follow standard UML conventions
-
Diagrams must be drawn using proper modeling tools
-
Each experiment should include:
- Aim
- Objective
- Procedure
- Diagrams
- Result
-
Students must maintain a lab record with diagrams and outputs
- Continuous Lab Assessment
- Experiment Implementation
- Viva-Voce
- Lab Record Evaluation
The Software Engineering laboratory helps students develop a systematic approach to software development. Through requirement analysis, system modeling, testing strategies, and project estimation techniques, students gain practical exposure to the engineering principles required to build reliable software systems.