Skip to content

Course : Advanced Software Engineering __ Code : 414 __ Credit hr : 2+1 __ Semester : 4th __ Instructor : Mr Hussain Saleem (HS) __ Institude : UBIT - University Of Karachi (uok).

Notifications You must be signed in to change notification settings

UsamaIsrarDev/advanced-software-engineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

📘 Advanced Software Engineering

📑 Table of Contents

Part I – Foundations of Software Engineering

  1. Introduction to Software Engineering

    • Definition & Scope
    • Software Process Models (Waterfall, Spiral, Agile, DevOps)
    • Ethics & Professional Practice
  2. Software Development Life Cycle (SDLC)

    • Phases of SDLC
    • Modern vs Traditional SDLC
    • Agile & DevOps lifecycle
  3. Software Project Management Basics

    • Project Planning & Estimation
    • Risk Management
    • Metrics & Measurements
    • Project Scheduling (PERT, Gantt, Critical Path)

Part II – Requirements & Design

  1. Software Requirements Engineering

    • Functional vs Non-Functional Requirements
    • Elicitation Techniques (Interviews, Prototyping, Use Cases)
    • Software Requirement Specification (SRS)
    • Validation & Management
  2. Software Design Principles

    • Architectural Styles (Layered, Microservices, Event-Driven, Serverless)
    • Design Patterns (Singleton, Observer, Factory, etc.)
    • SOLID Principles
    • UML Diagrams (Class, Sequence, Use Case)
  3. Software Architecture

    • Monolithic vs Microservices
    • Cloud-Native Architectures (Containers, Kubernetes, Serverless)
    • Domain-Driven Design (DDD)
    • Architecture Documentation

Part III – Implementation & Development Practices

  1. Programming Best Practices

    • Clean Code & Refactoring
    • Secure Coding Practices
    • Code Review & Static Analysis Tools
    • Version Control (Git, GitHub, GitLab)
  2. Software Development Methodologies

    • Agile (Scrum, Kanban, XP)
    • CI/CD Pipelines
    • DevOps Culture & Tools (Jenkins, Docker, Kubernetes)
  3. Advanced Programming Topics

    • Concurrent & Parallel Programming
    • Distributed Systems
    • Cloud Application Development (AWS, Azure, GCP)
    • Software for AI/ML Systems

Part IV – Quality Assurance & Testing

  1. Software Testing
  • Unit, Integration, System, Acceptance Testing
  • Test Automation (JUnit, Selenium, Cypress, Jest)
  • TDD (Test Driven Development) & BDD
  • Performance, Load, Stress Testing
  1. Software Quality Assurance (SQA)
  • Quality Models (ISO 9126, McCall, Boehm)
  • Reliability & Maintainability
  • Verification vs Validation
  • Code Quality Metrics

Part V – Advanced Topics

  1. Software Security Engineering
  • Threat Modeling (STRIDE, DREAD)
  • Secure SDLC (SSDLC)
  • OWASP Top 10 Security Vulnerabilities
  • Blockchain & Web 3.0 Security
  1. Software Maintenance & Evolution
  • Types of Maintenance (Corrective, Adaptive, Perfective, Preventive)
  • Legacy System Modernization
  • Refactoring Large Systems
  • Technical Debt
  1. Software Process Improvement
  • CMMI (Capability Maturity Model Integration)
  • Six Sigma for Software Engineering
  • Lean Software Development
  • Agile Maturity Models
  1. Emerging Trends in Software Engineering
  • AI-Augmented Software Engineering (GitHub Copilot, ChatGPT for coding)
  • Low-Code & No-Code Platforms
  • Green Software Engineering (Sustainable Computing)
  • Quantum Software Engineering (early research stage)

📚 Reference Books & Resources

Core Books

  • Software Engineering: A Practitioner’s Approach – Roger S. Pressman & Bruce Maxim (9th Edition, 2020)
  • Software Engineering (10th Edition) – Ian Sommerville (2018)
  • Fundamentals of Software Engineering – Rajib Mall (5th Edition, 2018)
  • Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin (2008)
  • Design Patterns: Elements of Reusable Object-Oriented Software – Erich Gamma et al.

Advanced & Modern References

  • Software Architecture in Practice – Len Bass, Paul Clements, Rick Kazman (4th Edition, 2021)
  • Continuous Delivery – Jez Humble & David Farley (2010)
  • Accelerate: The Science of Lean Software and DevOps – Nicole Forsgren, Jez Humble, Gene Kim (2018)
  • Domain-Driven Design – Eric Evans
  • Building Microservices – Sam Newman (2nd Edition, 2021)

Online Resources

  • IEEE SWEBOK (Software Engineering Body of Knowledge)
  • ACM Digital Library
  • Coursera & edX (Software Engineering, DevOps, Cloud-Native)
  • Google Cloud, AWS, and Microsoft Learn documentation

🎯 Course Outcome

By the end of this course, students will:

  • Understand modern software engineering practices from SDLC to DevOps.
  • Design and develop high-quality, scalable, and secure software systems.
  • Apply software testing, SQA, and process improvement models.
  • Explore emerging trends such as AI-driven software engineering, quantum computing, and green software.

✍️ Maintainer: Usama Israr Khan
📅 Last Updated: Sep 04, 2025

About

Course : Advanced Software Engineering __ Code : 414 __ Credit hr : 2+1 __ Semester : 4th __ Instructor : Mr Hussain Saleem (HS) __ Institude : UBIT - University Of Karachi (uok).

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published