0% found this document useful (0 votes)
26 views5 pages

Software Engineering Syllabus

The Software Engineering course covers essential principles and practices including software development methodologies, design principles, project management, testing, and tools for building efficient software systems. Over 12 weeks, students will learn about topics such as requirements engineering, software design, agile development, testing, and software maintenance, culminating in a capstone project. Reading materials include key chapters from notable texts in the field, providing a comprehensive foundation in software engineering.

Uploaded by

hjkfdbns28
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views5 pages

Software Engineering Syllabus

The Software Engineering course covers essential principles and practices including software development methodologies, design principles, project management, testing, and tools for building efficient software systems. Over 12 weeks, students will learn about topics such as requirements engineering, software design, agile development, testing, and software maintenance, culminating in a capstone project. Reading materials include key chapters from notable texts in the field, providing a comprehensive foundation in software engineering.

Uploaded by

hjkfdbns28
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Software Engineering Syllabus

Course Overview:
This course introduces students to the principles and practices of software engineering. It covers
software development methodologies, design principles, project management, testing, and the
tools required for building reliable and efficient software systems.

Week 1: Introduction to Software Engineering

 Topics:

o What is Software Engineering?

o The Software Development Lifecycle (SDLC)

o Phases of SDLC: Requirement Gathering, Design, Development, Testing,


Deployment, Maintenance

o Software Process Models (Waterfall, Agile, Spiral, V-Model, Incremental)

o Overview of Software Engineering Practices

 Reading:

o Chapter 1 of Software Engineering by Ian Sommerville

Week 2: Requirements Engineering

 Topics:

o Understanding Requirements: Functional and Non-functional

o Types of Requirements: User, System, Interface, and Performance Requirements

o Requirement Elicitation Techniques (Interviews, Surveys, Use Cases)

o Requirement Specification and Documentation

o Requirements Validation and Verification

 Reading:

o Chapter 4 of Software Engineering by Ian Sommerville


Week 3: Software Design Principles

 Topics:

o Principles of Software Design: Modularity, Abstraction, and Encapsulation

o Design Patterns (Creational, Structural, Behavioral)

o High-Level and Low-Level Design

o UML Diagrams (Class, Sequence, Activity, Use Case)

o Design Evaluation and Trade-offs

 Reading:

o Chapter 7 of Design Patterns: Elements of Reusable Object-Oriented Software by


Erich Gamma et al.

Week 4: Software Architecture

 Topics:

o What is Software Architecture?

o Architectural Styles: Layered, Client-Server, Microservices, Event-Driven, etc.

o Component-Based Architecture

o Architecture Evaluation (ATAM, SAAM)

o Architectural Design Decisions

 Reading:

o Chapter 5 of Software Engineering by Ian Sommerville

Week 5: Agile Software Development

 Topics:

o Introduction to Agile Methodologies: Scrum, Kanban, XP

o Agile Manifesto and Principles


o Scrum Roles (Product Owner, Scrum Master, Development Team)

o Agile Practices: User Stories, Sprints, Backlogs, Burndown Charts

o Continuous Integration and Continuous Delivery (CI/CD)

 Reading:

o Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland

Week 6: Software Development Tools

 Topics:

o Integrated Development Environments (IDEs) and Version Control (Git)

o Build Automation (Maven, Gradle)

o Issue Tracking and Project Management Tools (Jira, Trello)

o Continuous Integration and Delivery Tools (Jenkins, GitLab CI)

o Testing Frameworks and Tools (JUnit, Selenium)

 Reading:

o Chapter 10 of Software Engineering by Ian Sommerville

Week 7: Software Testing and Quality Assurance

 Topics:

o The Role of Software Testing

o Types of Testing: Unit, Integration, System, Acceptance, Regression, Stress

o Test-Driven Development (TDD)

o Software Quality Metrics (Defect Density, Test Coverage, etc.)

o Quality Assurance and Control

 Reading:

o Chapter 9 of Software Engineering by Ian Sommerville


Week 8: Software Maintenance and Evolution

 Topics:

o Software Maintenance Types: Corrective, Adaptive, Perfective, Preventive

o Managing Software Evolution

o Refactoring and Re-engineering Techniques

o Configuration Management and Version Control

o Tools for Maintenance (Bug Tracking, Issue Tracking)

 Reading:

o Chapter 15 of Software Engineering by Ian Sommerville

Week 9: Software Project Management

 Topics:

o Software Project Life Cycle and Estimation

o Risk Management in Software Projects

o Cost Estimation Techniques (COCOMO, Function Points)

o Project Scheduling and Resource Allocation

o Quality Metrics and Monitoring

 Reading:

o Chapter 13 of Software Engineering by Ian Sommerville

Week 10: Software Deployment and Configuration Management

 Topics:

o Deployment Strategies (Phased, Big Bang, Canary Releases)

o Configuration Management and Version Control Systems

o Automating Deployment (Infrastructure as Code, Docker, Kubernetes)

o Monitoring and Maintenance of Deployed Software


 Reading:

o Chapter 20 of Software Engineering by Ian Sommerville

Week 11: Advanced Topics in Software Engineering

 Topics:

o Microservices Architecture and Development

o DevOps and the Role of Automation

o Cloud Computing and Software as a Service (SaaS)

o Mobile Software Engineering

o Security in Software Engineering

 Reading:

o Continuous Delivery by Jez Humble & David Farley

Week 12: Capstone Project and Review

 Topics:

o Final Project Work (Developing a software solution using principles learned


throughout the course)

o Project Presentation and Demonstration

o Course Review: Recap of Key Concepts

o Future Trends in Software Engineering

You might also like