Topic outline

  • General

    Course Information:

    Software Architecture & Design

    Course Code: SE 323                

     






               



    Instructor's Detail:

    Image
          Syeda Sumbul Hossain
          Lecturer (Senior Scale)
          Department of Software Engineering
          Daffodil International University
          Mobile: 01618401100
          Email: syeda.swe@diu.edu.bd
    Get an appointment for counseling:  [Click here]

  • Course Description

     

    Software Architecture & Design

    Course Details

    Software architecture is not just putting together existing packages as if they were building blocks. It's a considered approach to design, which helps systems scale with your business and helps your team develop in a more agile way. This course explains what software architecture really is, how it can help you build better applications, and the relationship architecture has to implement the design and construction. This course also covers Conway's law and domain-based thinking, the differences between system and enterprise architecture, and six of the most common architectural patterns, from monoliths to microservices.


    Course Objectives

    • Familiarize participants with software architecture concepts and principles
    • Introduce participants to the relevance and role of software architectures and their impact on an organization
    • Provide participants with examples of software architectures in practice through case studies


    Course Outcomes

    Participants will have a better understanding of


    Prerequisite

    Participants should have an understanding of

    • The software development lifecycle
    • Modern software engineering concepts


    Course Strategy

    • Lectures will be used to introduce concepts.
    • Case studies will be used to illustrate architectural principles in practice.
    • Discussion sessions and group exercises will be used to engage students.


    Reference Books

    1. Software Architecture in Practice, 3rd Edition; Bass, Clements & Kazman

    2. Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd Edition Bernd Bruegge, Allen H. Dutoit

    Course Introduction Audio:


    Course Introduction Video:

     

     



  • Drop Your Feedback Here!!!

    Made with Padlet
    • Lecture 02: Architecture Overview and Process

      Architecture Overview and Process

      Lesson Objectives

      • To learn what Software architecture is.
      • To identify the factors need to be considered
      • To understand why we need Software architecture
      • To find out the advantages of Software architecture
      • To know who would care about the software architecture

      Lesson Outcomes

      End of this lesson, students will
      –get an overview of software architecture
      –know what factors the software architect will take into consideration.
      –know the importance of software architecture
      –get idea who are the stakeholders

      Lesson Contents

      Software architecture definition
      • Why we need a Software architecture
      • Advantages of Software architecture
      • Stakeholders of software architecture

      Class Video 

      Part 01: https://drive.google.com/open?id=1K8XozwK4RWDHgsDLUDnlWjR6zOJZ_IyE 

      Part 02: https://drive.google.com/open?id=1h-I40-kFCmusjSF1xuR44KjUbhUTP0-7

    • Lecture 01: WHAT IS SOFTWARE ARCHITECTURE?

      What is Software Architecture?

      Lesson Objective

      •To familiar with the term “Software Architecture”

      Lesson Outcomes

      After this lesson, students will understand
      –what the term software architecture means

      Lesson Content

      –Enterprise architecture
      –System architecture
      –Software architecture

    • Lecture 03: Architectural Structures and Views

      Architectural Structures and Views

      Lesson Objectives

      •To understand Software architectural Structures and Views
      •To know about different types of structure

      Lesson Outcomes

      End of this lesson students will

      –get an overview of Software Architectural Structures and Views
      –Can able to understand different types of structure and views

      Lesson Contents

      • Architectural Structure and Views
      • Different types of Architectural Structure

      Class Video:

      Section A: https://drive.google.com/open?id=1Tr2rgfGtAcNc9AgkwL1DpwK1273MKZ4G

      Section B: 

      Part 01: https://drive.google.com/open?id=1snoWIjqNrE7y2qWJCeLDOVrTCoqlldHq

      Part 02: https://drive.google.com/open?id=14ch_yubL-9C1T-lLBmPl7OeHTCrjEiF0

      Lecture Audio

       

       

      Lecture Video

       

       


    • Lecture 04: The 4+1 View Model of Architecture

      Kruchten's 4+1 model

      Lesson Objectives

      •To know about different types of view

      Lesson Outcomes

      End of this lesson students will

      –Can able to understand which view to use

      Lesson Contents

      Class Video:

      Section A: https://drive.google.com/open?id=12YIZufv0L5T4wWbZuulmAEFl2Nul_HJJ

      Section B: 

      https://drive.google.com/open?id=1mi9BCeMecJ6V--UeLymEg5xJyqT-d9n8

      https://drive.google.com/open?id=1AD8fESPSLT8Mmn6fKVXpbyrV7EAbFLus
      Lecture Audio

       

       

      Lecture Video

       
       

    • QUIZ 01

      Quiz Topics

      Lecture 01: WHAT IS SOFTWARE ARCHITECTURE?
      Lecture 02: Architecture Overview and Process
      Lecture 03: Architectural Structures and Views
      Lecture 04: The 4+1 View Model of Architecture


      Quiz Date: 15-06-2020 (Monday)

    • Quiz 02

      QUIZ Topics

      Lecture 06 & Lecture 07: Layered Architecture

      Lecture 08: Broker Architecture


      Quiz Date: 29-06-2020 


      • View Receive a grade
    • MiD Term

      Mid Term Topics

      Lecture 01: WHAT IS SOFTWARE ARCHITECTURE?
      Lecture 02: Architecture Overview and Process
      Lecture 03: Architectural Structures and Views
      Lecture 04: The 4+1 View Model of Architecture
      Lecture 06-07: Layered Architecture 
      Lecture 08: Broker Architecture


      Exam Date: 07-07-2020 (Tuesday)


      • Lecture 06: Layered Architecture

        Layered Architecture

        Lesson Objectives

        • To understand the Layered Architecture
        • To know about the application of Layered Architecture

        Lesson Outcomes

        At the end of this lesson student will

        –Get an idea of Layered architecture
        –Architect application using Layered Architectures

        Lesson Contents

        • Layered Architecture 
        • Application of Layered Architecture
        Lesson Audio
         
         
        Lesson Video
         
         

      • Lecture 07: Layered Architecture

        Layered Architecture (Details)

        Lesson Objectives

        • To understand the Layered Architecture
        • To know about the application of Layered Architecture

        Lesson Outcomes

        At the end of this lesson, the student will

        –Get details of Layered architecture
        –Architect application using Layered Architectures

        Lesson Contents
        • Layered Architecture 
        • Layered Architecture Example: Web Application

      • Lecture 08: Broker Architecture

        Broker Architecture

        Lesson Objectives

        Lesson Outcomes

        At the end of this lesson, the student will

        –Get details of Broker Architecture
        –Architect application using Broker Architectures

        Lesson Contents
        • Broker Architecture 
        • Broker Architecture Component

      • Lecture 09: Monolith Architecture

        Monolith Architecture

        Lesson Objectives

          •To get an idea of Monolith Architecture
          •To know the advantages and disadvantages
          •To familiar with different examples

        Lesson Outcomes

        At the end of this lesson, the student will

        –Monolithic Architecture
        Advantages and Disadvantages of Architecture 
        –Load balancing

        Lesson Contents

        • Monolith Architecture 
        • Advantages and Disadvantages of Architecture
        • Load balancing
        • Examples of Monolith Architecture

      • This topic

        Lecture 10: Microservices Architecture

        Microservices Architecture

        Lesson Objectives

          •To get an idea of Microservices Architecture
          •To know the advantages and disadvantages
          •To familiar with different examples

        Lesson Outcomes

        At the end of this lesson, the student will

        –Microservices Architecture
        –advantages and disadvantages Microservices

        Lesson Contents

          •Why are Microservices used?
          •Microservices  Architecture 
          •Monolithic Vs Microservices Architecture
          •Advantages and Disadvantages of Microservices  Architecture
          •Examples of  Microservices Architecture

      • Lecture 11: Architecture Evaluation

        Architecture Evaluation

        Lesson Objectives

        • To understand why we need Architecture Evaluation
        • To know about different Evaluation Techniques
        • To familiar with the SEI Architecture Tradeoff Analysis Method® (ATAM®)

        Lesson Outcomes

        This module will familiarize participants with

        • Why we evaluate architectures
        • When it’s appropriate to evaluate architectures
        • The benefits of evaluating architectures
        • Techniques for evaluating architectures
        • The SEI Architecture Tradeoff Analysis Method® (ATAM®)
        Lesson Contents
        • Architecture Evaluation
          • Why, When, Benefits
          • Evaluation Techniques 
        • Architecture Tradeoff Analysis Method (ATAM)
        Lesson Audio
         
         
        Lesson Video
         
         

      • Lecture 12: S.O.L.I.D. Principles

        S.O.L.I.D. Principles

        Lesson Objectives

          •To understand why we need S.O.L.I.D principles
          •To know about S.O.L.I.D principles

        Lesson Outcomes

        This module will familiarize participants with

          –why we need S.O.L.I.D principles
          –know about S.O.L.I.D principles

        Lesson Contents

        • What are S.O.L.I.D principles?
        • What does not support S.O.L.I.D?
        • Why S.O.L.I.D?

      • Lecture 13: Architecture Trade-off Analysis Method

        Architecture Trade-off Analysis Method (ATAM)

        Lesson Objectives

        • To familiar with the SEI Architecture Tradeoff Analysis Method® (ATAM®)

        Lesson Outcomes

        This module will familiarize participants with

        • Why we evaluate architectures
        • When it’s appropriate to evaluate architectures
        • The benefits of evaluating architectures
        • Techniques for evaluating architectures
        • The SEI Architecture Tradeoff Analysis Method® (ATAM®)
        Lesson Contents
        • Architecture Evaluation
          • Why, When, Benefits
          • Evaluation Techniques 
        • Architecture Tradeoff Analysis Method (ATAM)

      • Final Exam