Subject Syllabus
CB-403 - Software Engineering
CSBS · Semester 4
Course Modules
Learn topic-wise with Hyper AI and revise using mapped PYQs.
Programming in the small vs. programming in the largeSoftware project failures and importance of software quality and timely availabilitySoftware engineering towards successful execution of large software projectsEmergence of software engineering as a disciplineSoftware Engineering Historical Development from Jackson Structured Programming to Agile Development
Basic concepts of life cycle models – different models and milestonesSoftware project planning – identification of activities and resources; concepts of feasibility studyTechniques for estimation of schedule and effort; software cost estimation models and concepts of software engineering economicsTechniques of software project control and reportingIntroduction to measurement of software sizeIntroduction to the concepts of risk and its mitigation; configuration management
Introduction to Software Requirements Specifications (SRS) and requirement elicitation techniquesTechniques for requirement modelling – decision tables, event tables, state transition tables, Petri netsRequirements documentation through use casesIntroduction to UML, introduction to software metrics and metrics-based control methodsMeasures of code and design quality
The principles of abstraction, modularity, specification, encapsulation and information hidingConcepts of abstract data type; Class Responsibility Collaborator (CRC) modelQuality of design; design measurements; concepts of design patterns; RefactoringObject-oriented construction principles; object oriented metrics
Introduction to faults and failures; basic testing concepts; concepts of verification and validationBlack box and white box tests; white box test coverage – code coverage, condition coverage, branch coverageBasic concepts of black-box tests – equivalence classes, boundary value tests, usage of state tablesTesting use cases; transaction based testing; testing for non-functional requirements – volume, performance and efficiencyConcepts of inspection; Unit Testing, Integration Testing, System Testing and Acceptance TestingConcepts of Agile Methods, Extreme Programming; Agile Process Model - Scrum, Feature; Scenarios and Stories