vissza a tantárgylistához   nyomtatható verzió    

    Software Architectures

    A tantárgy neve magyarul / Name of the subject in Hungarian: Szoftverarchitektúrák

    Last updated: 2025. december 11.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Mérnök-informatikus, MSc
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUMA21   3/0/0/f 5  
    3. Course coordinator and department Dr. Charaf Hassan,
    Web page of the course https://www.aut.bme.hu/Course/VIAUMA21
    4. Instructors

    Dr. Charaf Hassan, professor, AUT

    Dr. Lengyel László, professor, AUT
    5. Required knowledge

    A programozás alapjai 1-3, Szoftvertechnológia

    6. Pre-requisites
    Kötelező:
    NEM
    (TárgyEredmény( "BMEVIAUMA06", "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUMA06", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    7. Objectives, learning outcomes and obtained knowledge

    The course provides an overview of cutting-edge software architectures used in applications, research, and development, discussing their role and significance in the development of information systems. Building on a review of current industry trends, it offers insights into future distributed and high-reliability system architectures and technologies expected to emerge. Previously introduced object-oriented, component-based, and service-oriented architectures are summarized in a synthesized form.

     

    The course emphasizes systematic software reusability and, in light of ongoing research in the field of software architecture, analyzes the challenges of designing loosely coupled systems as well as the importance of architectural patterns. Another key objective of the course is to organize and deliver up-to-date knowledge related to the above topics to the students.

     

    In enterprise systems development practice, multi-tier object-oriented platforms, microservices, and cloud technologies dominate. Practical experience demonstrates that these tools and technologies can effectively support application development; however, without adequate architectural expertise, numerous challenges may arise during implementation. Failures and unsuccessful development efforts often result from software engineers lacking sufficiently deep and broad architectural knowledge. In this regard, another primary aim of the course is to fully prepare students to perform professional development tasks for enterprise systems.

    8. Synopsis

    1.       Introduction

    -          Definition

    -          Evolution of Software Architectures

    -          Architecture Basics

    Characteristics of Software Architectures, Key elements. Basic elements. Design and Architecture Patterns. Scalability, Distributed, System Parameters.

    2.       Software Architecture Basics

    -          The role of Architect

    -          Goal of Software Architectures, Design steps

    -          Typical Mistakes in Software Architecture, Top 10

     

    3.       Software Architecture Patterns

    -          Motivation

    -          Calassification of Patterns: Services Acces And Configuration, Event Handling, Concurrency, Synchronisation

    -          First Group of Patterns: Wrapper Facade, Component Configurator, Interceptor, Extension Interface

     

    4.       Second Group of Patterns: Event handling

    -          Reactor

    -          Proactor

    -          ACT

    -          Acceptor-Connector

     

    5.       Third Group of Patterns: Concurrency

    -          Active Object

    -          Monitor Object

    -          Half Sync/Half Async

    -          Leader-Followers

    -          Thread Specific Storage

     

    6.       Fourth Group of Patterns: Synchronisation, Summarizing the Patterns

    -          Scoped Locking

    -          Stragized Locking

    -          Thread-Safe Interface

    -          Double Checked Locking Optimization

    -          Summary

     

    7.       Layered Architectures,

    -          Basic Patterns: MVC, Document/View, Layered

    -          Design Requirements

    -          Software Layers Design Questions

     

    8. Case Study

    The purpose of the case study is to illustrate the use of patterns and the application of the topics described above in a specific system through an illustrative example. We invite guest lecturers from industry to each case study.

     

    9.       Cloud Architectures

    Cloud Specific Architectural Patterns. Backends for Frontends, Circuit Breaker, Static Content Hosting, Etc.

     

    10.   Microservices

     

     

    11.   Documentation of Architectures

    -          Basic Questions of Documentation, Software documentation specific issues

    -          Goals, Stakeholders, tasks

    -          Software Architecture specific documentations

     

    12.   Architectural Methodologies

    -          Top 4 Enterprise Architecture methodologies (Actually 4) Like:

    -          Zachman Framework

    -          TOGAF

    -          Federal Enterprise Architecture

    -          Gartner Methodology

     

    13.   Performance issues of Software Systems, Tuning tasks, aspects

    -          Performance modells

    -          Tuning issues

     

    14.   Integration Solutions

     

     

    15.   Architectural issues of Distributed Information Systems (DIS)

    Basics of Distibuted Systems, Design and Implementation of DIS, Basic services of DIS. Component-based and Service-Based System development.

     

    16.   Typical or Well-known Distributed Architectures, Middleware Services, Flexible IT Architectures

     

    17.   Distributed Data Systems, Distributed Data Processing

     

    18.   Autonom Computing

    9. Method of instruction

     Le Lecture

    Independent work (homework assignment completion)
    10. Assessment

    In Regular term

    1 major midterm exam
    2 minor midterm exams
    1 homework assignment

     

    Successful completion of the course requires an acceptable (at least passing) result on the major midterm exam, successful completion of at least one of the two minor midterm exams, and satisfactory performance on the homework assignment.

    Grade calculation: Major midterm exam – 40%, Minor midterm exams – 10%, Homework assignment – 50%.

     

    In Exam term

     

     

     

    11. Recaps In accordance with the regulations set forth in the Academic and Examination Rules (TVSZ), one retake opportunity is provided for the midterm exam during both the regular semester and the make-up period.
    12. Consultations As agreed with the course lecturer. In addition, consultation opportunities for the homework assignment are provided on a weekly basis.
    13. References, textbooks and resources

    1.       Patterns of Enterprise Application Architecture. Martin Fowler et al.

    2.       Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Wiley press, vol.1 ,2.

    3.       Addison Wesley - Enterprise Integration Patterns - Designing, Building And Deploying Messaging Solutions (Fowler) – 2003.

    4.       Jain R., The Art of Computer Systems Performance Analysis, John Wiley and Sons, 1991

    5.       Menascé D.A., Almeida V., Capacity Planning for Web Services. Metrics, Models, and Methods, Prentice Hall, 2002

    6.       Meier J.D., Vasireddy S., Babbar A., Mackman A., Improving .NET Application Performance and Scalability (Patterns & Practices), Microsoft Corporation, 2004

    7.       Virgilio A.F. Almeida: Capacity Planning for Web Services, Techniques and Methodology

    8.       Written materials available on the course website.

    9.       Errol Simon, Distributed information systems, McGraw-Hill.

    10.   Mary Kirtland, Designing component-based applications, Microsoft Press.

    14. Required learning hours and assignment
    Contact lectures

    42 

    Mid-term preparation for classes

    0

    Preparation for mid-terms

    30

    Homework

    60

    Studying written material

    18
     0
    Total150
    15. Syllabus prepared by Dr. Charaf Hassan, professor, AUT