CS223: Software Engineering
- Credits L-T-P [C]: 3-0-3 [4]
- Where: LHB106
- When: Tue 10:00-10:50, Thu 9:00-9:50, Fri 11:00-11:50
- Lab: Fri 14:00-16:30
Pre-requisite: CS212
Syllabus
Theory
- Introduction: Problem of software development, problem of scale, basic process approach, etc.
- Software Process Models: concept of processes, process specification, process models & utilities
- Advanced Object-based Modeling - Unified Modified Language
- Structural Diagrams: Profile, Component, Package, Deployment, and Composite Structure
- Behavioral Diagrams: Timing, Communication, and Interaction Overview
- Requirement analysis and specification: the basic problem, the sub-phases in the phase, analysis techniques (structured analysis), specification, validation, function point analysis, coding requirement specification in UML.
- Design principles and structured design methodology: partitioning, top-down and bottom-up, step-wise refinement, coupling and cohesion, design on UML
- Coding: style, structured programming, verification concepts
- Testing: testing purpose, levels of testing, black box testing, white box testing, different test case generation approaches, test planning, test scenarios, regression testing
- Project planning: effort, schedule, quality, project monitoring, and Configuration Management
- Agile Software Development: The agile philosophy, agile process models, agile project management, SCRUM, SPRINT.
- Test-Driven Development: Test case design, workflow, refinements
Lab
- Software Requirements Specification: Prepare SRS for the given systems like Leave Management System, Assignment Management System, Story Management System (Newspaper House) etc. (Every student works with her / his partner with one specified system - chosen from a set of 20 systems)
- HDL and LLD of the Systems under Development
- Coding and implementation of the System
- Test Modeling with UML - Test Plan, Test Scenarios, Regression Test
- Deployment and Customer Feedback
- Requirements Migration and Version Management
Text Books
Ivar Jacobson, Harold “Bud” Lawson, Pan-Wei Ng, Paul E. McMahon, Michael Goedicke The Essentials of Modern Software Engineering, 2019, ACM Books
Jalote, P., An Integrated Approach to Software Engineering, 2005, Springer
Pressman, R. S., Software Engineering: A Practitioner's Approach, 2009, Tata McGrawHill
Grady Booch, James Rumbaugh, Ivar Jacobson, Unified Modeling Language User Guide, 2005, Addison-Wesley Professional
Self-learning Materials
Will be added time-to-time
Grading Policy
Quiz | Team-Work | Assignments | Exams |
---|---|---|---|
10% | 10% | 30% | 10% + 10% + 30% |
at Classroom | for Lab Assignments | Lab Work | Will be Announced |
Online-platforms
Piazza:
- Classroom URL: https://piazza.com/iitj.ac.in/spring2020/cs223/home
- Joining URL: https://piazza.com/iitj.ac.in/spring2020/cs223
- Access Code: Please ask me at the classroom!
Moodle:
- Classroom URL: http://172.16.100.119/moodle/course/view.php?id=10
- Use your LDAP user id/password
- Access Code: Please ask me at the classroom!