Home/Degree/CCS356
Back to Degree
CCS356ElectiveActively Used

Professional Elective II - Software Engineering

This course is part of the B.E. Computer Science Engineering curriculum under Anna University Regulation 2021. The knowledge from this course continues to be actively applied in professional software development.

Semester 5 (Third Year)
3 Credits
45 Lecture Hours

Course Overview

  • UniversityAnna University
  • Regulation2021
  • Semester5
  • Credits3
  • TypeElective
  • Units5

Course Objectives

1

To understand software process and agile development

2

To learn requirements analysis and specification

3

To understand software design principles and patterns

4

To learn software testing and maintenance

5

To understand project management and DevOps

Syllabus

Detailed unit-wise breakdown of the course curriculum as per Anna University Regulation 2021.

1

SOFTWARE PROCESS AND AGILE DEVELOPMENT

9 Hours
Introduction to Software EngineeringSoftware ProcessPerspective and Specialized Process ModelsIntroduction to AgilityAgile processExtreme programming (XP)XP ProcessCase Study
2

REQUIREMENTS ANALYSIS AND SPECIFICATION

9 Hours
Requirement analysis and specificationRequirements gathering and analysisSoftware Requirement SpecificationFormal system specificationFinite State MachinesPetrinetsObject modelling using UMLUse case ModelClass diagramsInteraction diagramsActivity diagramsState chart diagramsData Flow DiagramCASE TOOLS
3

SOFTWARE DESIGN

9 Hours
Software design processDesign conceptsCoupling and CohesionFunctional independenceDesign patterns – Model-view-controllerPublish-subscribeAdapter, Command, StrategyObserver, Proxy, FacadeArchitectural styles – LayeredClient ServerTiered Pipe and filterUser interface design
4

SOFTWARE TESTING AND MAINTENANCE

9 Hours
Testing – Unit testingBlack box testingWhite box testingIntegration and System testingRegression testingDebuggingProgram analysisSymbolic executionModel CheckingCase Study
5

PROJECT MANAGEMENT

9 Hours
Software Project ManagementSoftware Configuration ManagementProject SchedulingDevOps – MotivationCloud as a platformOperationsDeployment PipelineOverall ArchitectureBuilding and TestingDeploymentToolsCase Study

Course Outcomes

Upon completion of this course, students will be able to:

CO1

Apply software process models

CO2

Gather and specify requirements using UML

CO3

Design software using patterns and architectures

CO4

Implement testing strategies

CO5

Manage projects using DevOps practices

Industry Application & Relevance

How the concepts learned in this course are applied in real-world software development projects across Banking, Healthcare, and Enterprise domains over 20+ years of experience.

Professional Application

SDLC, Agile methodologies, project management

Textbooks & References

Textbooks

  • Roger S. Pressman, Bruce Maxim, 'Software Engineering: A Practitioner's Approach', McGraw Hill
  • Ian Sommerville, 'Software Engineering', Pearson

Reference Books

  • Pankaj Jalote, 'An Integrated Approach to Software Engineering', Springer
  • Erich Gamma et al., 'Design Patterns: Elements of Reusable OO Software', Addison-Wesley