Software Architecture - Open Universiteit - Open Universiteit (2024)

nullSoftware Architecture

  • Open Universiteit/
  • Studieaanbod/
  • Software Architecture
  • Algemeen
  • Aanmelden
  • Begeleiding
  • Tentamen
  • Meer info
  • Informatica

  • IM0203

  • 7,5 EC

  • Vanaf € 576

  • Voor dit product gelden ingangseisen

Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

Inhoud

De structuur van softwaresystemen is vaak uiterst complex: zo'n systeem kan bestaan uit miljoenen regels programmacode, opgebouwd uit meerdere componenten die op verschillende manieren moeten samenwerken en moeten opereren in een gedistribueerde setting. Stringente eisen die aan dit soort systemen worden opgelegd, zoals een korte time-to-market, een extreme betrouwbaarheid en robuustheid, of harde real-time constraints, vormen uitdagingen waar al van het begin af aan rekening mee moet worden gehouden. Softwarearchitectuur is het vakgebied dat zich bezighoudt met het beschrijven en analyseren van een systeem met behulp van modellen om tegemoet te komen aan het (dikwijls tegenstrijdige) eisenpakket dat is opgesteld op basis van de zorgen en belangen van de belanghebbende partijen. Een inschattingsfout in het initiële ontwerp kan verstrekkende en desastreuze gevolgen hebben voor het succes van een softwareproject.

De cursus Software Architecture bestaat uit twee delen: een theoretisch en een praktisch gedeelte. Het theoretische gedeelte is onderverdeeld in twaalf leereenheden. De onderwerpen worden besproken aan de hand van het werkboek, een reader met artikelen, en een tekstboek. Er wordt een breed overzicht gegeven over wat softwarearchitectuur is, waarbij de nadruk ligt op modellen en technieken die bij het ontwerpen kunnen worden gebruikt. In het praktische gedeelte wordt jou gevraagd de theorie toe te passen en zelf een architectuur te ontwerpen voor een bestaand softwaresysteem.

Een softwarearchitectuur is een beschrijving op hoog niveau van de componenten waaruit een systeem is opgebouwd en hoe deze componenten onderling samenwerken. Het centrale thema van deze cursus bestaat uit het inventariseren van de belangen van de verschillende betrokken partijen (de stakeholders), op de eisen aan het systeem (de requirements) die daar uit kunnen worden afgeleid, en op het beschrijven en evalueren van een softwarearchitectuur. Verschillende partijen hebben dikwijls tegenstrijdige belangen, en deze zullen door de softwarearchitect zo goed mogelijk tegen elkaar moeten worden afgewogen. Het eenduidig formuleren en categoriseren van eisen gebeurt aan de hand van een kwaliteitsmodel. Verder worden er verschillende technieken behandeld om een architectuur te beschrijven, zoals het 4+1-model van Kruchten, de viewpoints van Rozanski en Woods, en de formele Architectural Description Languages (ADL). Aan de hand van scenario's en use cases kan een architectuur vervolgens worden geëvalueerd ten opzichte van de opgestelde requirements.

Deze cursus gaat ook in op de kenmerken van bedrijfsapplicaties, zoals software voor de boekhouding of voor het roosteren van taken. Deze applicaties hebben dikwijls een soortgelijke architectuur en deze kan worden hergebruikt. Ook wordt er besproken hoe deze bedrijfsapplicaties verder geïntegreerd kunnen worden binnen een bedrijf. Overige onderwerpen die aan bod komen zijn bijvoorbeeld de REST architectural style, cloud computing, service-oriented architectures, variability en software product lines.

In het praktische gedeelte wordt jou gevraagd de behandelde theorie toe te passen en een softwarearchitectuur te ontwerpen voor een bedrijf dat zelfrijdende auto's als service wil aanbieden. De ontworpen architectuur voor dit systeem moet voldoen aan de IEEE 42010 (de opvolger van IEEE 1471) standaard. Het is jouw taak om samen te werken in teams van twee en alle genomen ontwerpbeslissingen zo goed mogelijk te beargumenteren. De eindopdracht bepaalt het eindcijfer voor driekwart deel. Je zal ook de opdracht krijgen om twee discussievragen te behandelen in de vorm van een blog-entry. Deze twee blogs tellen mee voor een kwart van het eindcijfer.

Leerdoelen
Na afronding van deze cursus kun je:
- de stakeholders voor een te ontwerpen systeem onderscheiden en beschrijven,
- de concerns van de stakeholders vanuit hun gezichtspunt beschrijven,
- vanuit de concerns requirements opstellen, waarbij je een oplossing bedenkt voor conflicterende concerns,
- gebruikmaken van architectural patterns en styles om een systeem te ontwerpen dat aan de requirements beantwoordt,
- de voor- en nadelen van ontwerpbeslissingen beargumenteren,
- een architectuurdocument schrijven dat te begrijpen is voor alle stakeholders,
- een gegeven architectuur analyseren en evalueren,
- aangeven welke problemen er kunnen optreden bij het samenvoegen van componenten in een groter software-systeem, en oplossingen aandragen,
- de volgende begrippen uitleggen: standaardarchitecturen, kwaliteitsmodellen (ISO 25010), architectuurpatronen, architectuurbeschrijvingstalen en -modellen (IEEE 1471, UML en andere), een architectuur beoordelen, REST- en SOA-webservices, software product lines, variability and composition.

Ingangseisen

Aanmelden is alleen mogelijk voor opleidingsstudenten die formeel zijn toegelaten tot de masteropleiding Computer Science of de masteropleiding Software Engineering.

Aanmelden

Aanmelden is alleen mogelijk voor studenten die formeel zijn toegelaten tot de masteropleiding.

Toelichting aanmelden

Deze cursus start 10 februari 2025. We adviseren om uiterlijk zondag 26 januari 2025 hiervoor aan te melden zodat je tijdig het eventuele cursusmateriaal ontvangt, toegang hebt tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 26 januari 2025 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 9 februari 2025.

Bij deze cursus hoort online activerende begeleiding. Deze cursus start op vastgestelde momenten, en ook tijdens de bestudering van de cursus zijn er vaste inlevermomenten van opdrachten en feedback. Je studeert online samen met een groep medestudenten. Deze begeleiding is erop gericht je sneller, effectiever en met een beter begrip van de stof door de cursus te helpen. Je kunt vooraf aan de begeleidingsperiode in je eigen tempo de stof alvast doornemen; het materiaal wordt één kwartiel tevoren al uitgeleverd. Aansluitend aan de begeleidingsperiode is je eerste tentamenkans. Na de begeleidingsperiode heb je nog twee ingeroosterde tentamenkansen. Informatie over begeleiding en tentamen vind je op de respectievelijke tabbladen.

Voorkennis

Om deze cursus met succes te kunnen volgen, heb je kennis nodig op het gebied van (objectgeoriënteerd) ontwerpen, en moet je bekend zijn met modelleertechnieken als UML.

Begeleidingsvorm

Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

De begeleiding bestaat uit uitgebreide terugkoppeling op delen van het architectuurdocument waar je tijdens deze cursus aan werkt. Je wordt beoordeeld op het volledige document. De feedback die je krijgt op de delen geeft je een goed idee over de manier van beoordelen van het volledige document. Daarnaast is er één introductiebijeenkomst en zijn er twee online begeleidingsbijeenkomsten waarbij we ingaan op de opdrachten.
Je kunt de eindopdracht alleen doen wanneer je begeleiding hebt gekregen voor de eerste twee deelopdrachten. Het is, om voor deze cursus te slagen, dus noodzakelijk om de begeleiding te volgen.

Begeleidingsbijeenkomsten


Studiedag Informatica en Informatiekunde Utrecht, onder voorbehoud

Kwartiel 3 - begeleider: dhr.dr. A. Sai
1. vr 14-02-2025/ tijd wordt nader bekend gemaakt
Tijdig aanmelden via: ou.nl/inf-studiedag

Online-bijeekomsten

Kwartiel 3 - begeleider: dhr.dr. A. Sai
2. di 11-03-2025 / 19.00-20.30 uur
3. di 01-04-2025 / 19.00-20.30 uur

Docenten

Dhr. dr. B. Heeren en

dhr. dr. A. Sai (examinator)..

Tentamenvorm

Opdracht.

Tentamendata

Volgens afspraak.

Meer informatie

Voor een inkijkje in de cursus, ga naar de snapshot.

Cursusmateriaal

De cursus bestaat uit:
- een werkboek (Engelstalig);
- een reader met artikelen;
- het tekstboek Essential Software architecture, second edition, Ian Gorton.

Mediagebruik

Als student heb je toegang tot een groot aantal online diensten die je nodig hebt tijdens je studie. Deze zijn bereikbaar via MijnOU, je persoonlijke online werkplek bij de Open Universiteit. Hier heb je o.a. toegang tot onze online leeromgeving, tentamenroosters, en onze uitgebreide digitale bibliotheek.

Digitale leeromgeving

Als student kun je, na inschrijving, via de cursussite in de online leeromgeving naar de discussiegroepen. Hier kun je met medestudenten en begeleiders informatie uitwisselen en discussiëren over de leerstof.

Service en informatie

Aanmelden Stel nu je vraag

', prevArrow: '

', }); // START VIDEO LOGIC $("ou-article-video").each(function(index, element){ var w = parseInt($(this).parent().width()); var h = parseInt(w * 9/16); var mediaplayer = $(this).mediaelementplayer({ defaultVideoWidth: w, defaultVideoHeight: h, videoWidth: -1, videoHeight: -1, startVolume: 0.8, enableAutosize: true, startVolume: 0.8, alwaysShowControls: false, features: ['playpause','progress','current','volume','fullscreen'], pauseOtherPlayers: true }); }); });

Software Architecture - Open Universiteit - Open  Universiteit (2024)

FAQs

What is open architecture in software? ›

Open architecture is a technology infrastructure with specifications that are public as opposed to proprietary. This includes officially approved standards as well as privately designed architectures, the specifications of which are made public by their designers.

Is open architecture the same as open source? ›

Open Architecture and Open Source do not mean the same thing. Open source software means that their source code is open. On the other hand, open architecture is the development and integration of different companies into the same product.

What is the difference between open and closed architecture? ›

Open Architecture systems are designed with transparency, allowing external parties to access, modify, and redistribute their components. In contrast, Closed Architecture systems are proprietary, with restrictions placed on the modification, distribution, and interoperability of their components.

What is open source architecture software? ›

Open-source architecture is an emerging paradigm advocating new procedures in the imagination and formation of virtual and real spaces within a universal infrastructure.

What is the difference between open architecture and open API? ›

Similarly, an open software architecture is one in which additional software modules can be added to the basic framework provided by the architecture. Open APIs (Application Programming Interfaces) to major software products are the way in which the basic functionality of such products can be modified or extended.

What is the opposite of open architecture? ›

Open architecture (OA) means an architecture whose specifications are public. This includes officially approved standards as well as privately designed architectures whose specifications are made public by the designers. The opposite of open is closed or proprietary.

What is the difference between SaaS and open source? ›

Although open-source e-commerce allows for unmatched customization and control, it requires constant maintenance and technical know-how. On the other hand, SaaS platforms offer a hosted, user-friendly experience at a lower initial cost, but at the expense of some flexibility.

What software is built on open source? ›

Open source software is different. Its authors make its source code available to others who would like to view that code, copy it, learn from it, alter it, or share it. LibreOffice and the GNU Image Manipulation Program are examples of open source software.

What is the advantage of open system architecture? ›

Open architecture systems make standardization easier for ongoing support and maintenance (including spare parts replacement). It is easier to find integrators to support the system, giving owners more competitive options. Owners also have the assurance of future scalability and flexibility.

What is an open architecture model? ›

Open architecture is a way of designing software and hardware that makes it easy to upgrade and add functions to a computer system. It can also make it simpler for two different computer systems or programs to work together.

What are the features of open architecture? ›

Custom Development
  • Fully Customizable. Since the solution is developed for your specific needs, it can contain any feature you require and nothing else.
  • Open data formats. ...
  • Affordable and highly available resources. ...
  • No licensing restrictions. ...
  • Use any data source and data store. ...
  • Can host any user interface.

What are the two main types of open source software? ›

There are two main types of open source licenses: permissive and copyleft. Permissive licenses tend to have fewer restrictions on use of the licensed code than copyleft licenses.

What are two examples of open source software? ›

10.4 Examples of Open Source Software
  • Firefox—a Web browser that competes with Internet Explorer.
  • OpenOffice—a competitor to Microsoft Office.
  • Gimp—a graphic tool with features found in Photoshop.
  • Alfresco—collaboration software that competes with Microsoft Sharepoint and EMC's Documentum.

What is the goal of open architecture? ›

The future: Open Architecture

It allows hardware, software and algorithms from different suppliers to be easily “plugged together” into one solution. The aim of OA is to make adding, upgrading and swapping components, or technologies, seamless.

What is closed and open layer architecture? ›

In open layered architecture an upper layer can use the services of any below layer directly. As a result it increases the dependency between the layers, so layers are not reusable. In closed layered architecture, an upper layer can use the service of layer directly below it.

What is the open form in architecture? ›

Oskar Hansen's (1922–2005) theoretical concept of “open form” was developed in the context of international debates around late-modern architecture in the 1950s. Open form assumed that no artistic expression is complete until it has been appropriated by its users or beholders.

Top Articles
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 6531

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.