Information on individual educational components (ECTS-Course descriptions) per semester

  
Degree programme:Bachelor Computer Science - Software and Information Engineering
Type of degree:FH Bachelor´s Degree Programme
 Full-time
 Summer Semester 2024
  

Course unit titleSystem Architectures
Course unit code024717040401
Language of instructionGerman
Type of course unit (compulsory, optional)Compulsory
Semester when the course unit is deliveredSummer Semester 2024
Teaching hours per week4
Year of study2024
Level of course unit (e.g. first, second or third cycle)First Cycle (Bachelor)
Number of ECTS credits allocated5
Name of lecturer(s)Stefan DUNST
Ralph HOCH


Prerequisites and co-requisites

Object-Oriented software development, Unified Process, UML, experiences in at least one software project

Course content

SW-Architecture: quality features, specification techniques. Architectural patterns: pipe&filters, layers, reactive programming, actors, blackboard. Examples of concrete architectures and implementation by the students: computer graphics pipeline through pipes&filters; reactive systems based on blackboard architecture with reactive programming and actor model; (soft) real-time simulations in the context of game engines.

 

Learning outcomes

Students can select, design and evaluate a software architecture for a given application from given patterns, based on criteria for the most important quality requirements of software engineering. They will be able to put software development on the solid foundation of a long-lasting architecture. The basis for these skills is laid by the selection and instantiation of architectural patterns in a series of concrete tasks of very different types of applications. This gives the students, as an important learning objective, an idea of the range of possible application types and architectures. Delimitation: no architectures of distributed systems are dealt with.

Planned learning activities and teaching methods

Presentation in front of the whole group; Practice in the seminar for the individual implementation of the learned; Tasks structured into 3-4 connected, successive mini-projects in teams, with weekly partial tasks

Assessment methods and criteria

Immanent assessment of exercises an group presentations

Comment

Non applicable

Recommended or required reading
  • Akenine-Möller, Tomas; Haines, Eric; Hoffman, Naty (2018): Real-time Rendering. 4th edition. Boca Raton: Taylor & Francis Ltd. 
  • Bloch, Joshua (2017): Effective Java. 3. Boston: Addison-Wesley Professional. 
  • Buschmann, Frank et al. (1996): Pattern-Oriented Software Architecture, Vol. 1: A System of Patterns. 1. Chichester ; New York: Wiley. 
  • Clements, Paul et al. (2010): Documenting Software Architectures: Views and Beyond. 2nd revised edition. Upper Saddle River, NJ: Addison Wesley. 
  • Duffy, Daniel J. (2004): Domain Architectures: Models and Architectures for UML Applications. 1. West Sussex, England ; Hoboken, NJ: Wiley. 
  • Eberly, David H. (2006): 3D Game Engine Design. A Practical Approach to Real-Time Computer Graphics. 2nd ed. Amsterdam ; Boston: Taylor & Francis Ltd. 
  • Gregory, Jason (2018): Game Engine Architecture, Third Edition. 3rd edition. Revised. Boca Raton: Taylor & Francis Ltd. 
  • Hearn, Donald D.; Baker, Pauline; Carithers, Warren (2013): Computer Graphics with Open GL: Pearson New International Edition. 4 ed. Harlow, Essex: Pearson Education Limited. 
  • Hohpe, Gregor; Woolf, Bobby (2003): Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. 01 Ed. Boston: Addison Wesley. 
  • JanBosch (2000): Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. 01 Ed. Reading, MA: Addison-Wesley Professional. 
  • Manickam, Piram; Sangeetha, S.; Subrahmanya, S. V. (2013): Component- Oriented Development and Assembly: Paradigm, Principles, and Practice using Java. Boca Raton, Florida: AUERBACH PUBN. 
  • Sommerville, Ian (2018): Software Engineering. 10., aktualisierte. Hallbergmoos: Pearson Studium. 
  • Starke, Gernot (2017): Effektive Softwarearchitekturen: Ein praktischer Leitfaden. 8., überarbeitete. München: Carl Hanser Verlag GmbH & Co. KG. 
  • Szyperski, Clemens (2011): Component Software: Beyond Object-Oriented Programming. London: Pearson Education. 
  • Urma, Raoul-Gabriel; Fusco, Mario; Mycroft, Alan (2018): Modern Java in Action: Lambdas, streams, functional and reactive programming. 2nd Ed. Shelter Island: Manning Publications.

 

Mode of delivery (face-to-face, distance learning)

classroom teaching

Summer Semester 2024go Top