Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


Architektura oprogramowania

Architektura oprogramowania – podstawowa organizacja systemu wraz z jego komponentami, wzajemnymi powiązaniami, środowiskiem pracy i regułami ustanawiającymi sposób jej budowy i rozwoju[1].

Opis architektury oprogramowania (ang. Software Architecture Description) postrzegany jest jako platforma porozumiewania się wszystkich osób zaangażowanych w proces wytwórczy systemów informatycznych.

Architektura oprogramowania jest stosunkowo młodą dziedziną informatyki i choć w ostatnich dwóch dekadach dość mocno się rozwinęła i nawet osiągnęła poziom dojrzałości, to nadal trwają dyskusje nad jej miejscem w informatyce, a przede wszystkim nie ma zgody szerokiego gremium w zakresie określenia samej definicji architektury oprogramowania. Stąd SEI na swojej stronie[2] publikuje definicje architektury oprogramowania różnych autorów.

Na obecnym etapie rozwoju architektury oprogramowania systemów informatycznych duże nadzieje wiąże się z rozwojem odpowiednich języków opisu architektury, które pozwolą w łatwy sposób przekształcać opisy architektoniczne w modele analityczne, a nawet wygenerować kody źródłowe, co jest przedmiotem Model Driven Development. Architektura sterowana modelem (MDA), wykorzystywana przez MDD, obecnie nadal jest mocno związana z językiem modelowania UML, toteż rozwój tej dziedziny wiąże się z opracowaniem odpowiedniego języka opisu architektury, który w tym względzie zastąpiłby UML[3]. Podobnie uważa Mary Shaw[4], twierdząc, że osoba proponująca nowy język opisu architektury, musi odpowiedzieć na pytanie „Czy ta propozycja ma jakieś szanse zastąpienia UML? Jakie narzędzia pozwolą to osiągnąć?”. Ponadto Mary Shaw w swoim artykule nakreśliła również pewne obiecujące obszary, które w najbliższym czasie mogą zmienić oblicze architektury oprogramowania m.in.:

  • rozwinięcie formalnych związków pomiędzy decyzjami architektonicznymi a atrybutami jakościowymi;
  • poszukiwanie odpowiedniego języka do opisu architektury;
  • poszukiwanie rozwiązań zapewniających zgodność architektury z kodem.
  1. The Institute of Electrical and Electronics Engineers Standards Board: Recommended Practice for Architectural Description of Software-Intensive Systems, ISO/IEC 42010:2007(E) IEEE Std 1471-2000, 2007
  2. Software Architecture | Getting Started | Glossary | What is your definition of software architecture? [online], www.sei.cmu.edu [dostęp 2017-11-22] (ang.).
  3. Philippe Kruchten, Henk Obbink, Judith Stafford: The Past, Prezent, and Future of Software Architecture. IEEE Software, March/April 2006.
  4. Mary Shaw, Paul Clements: The Golden Age of Software Architecture. Software, IEEE, Vol. 23, No. 2. (2006), pp. 31-39.

Previous Page Next Page