Inżynieria oprogramowania

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Inżynieria oprogramowania – dziedzina inżynierii systemów zajmująca się wszelkimi aspektami produkcji oprogramowania: od analizy i określenia wymagań, przez projektowanie i wdrożenie, aż do ewolucji gotowego oprogramowania. Podczas gdy informatyka zajmuje się teoretycznymi aspektami produkcji oprogramowania, inżynieria oprogramowania koncentruje się na stronie praktycznej. Termin "inżynieria oprogramowania" po raz pierwszy został użyty w przełomie lat 1950/60 (ale oficjalnie za narodziny tej dyscypliny podaje się lata 1968 i 1969, w których miały miejsce dwie konferencje sponsorowane przez NATO, odpowiednio w Garmisch i Rzymie).

Wyzwania dla inżynierii oprogramowania[edytuj | edytuj kod]

Do największych wyzwań w dziedzinie inżynierii oprogramowania należą:

  • zapewnienie, zarówno wstecznej, jak i przyszłej; kompatybilności między-systemowej i ciągłości działania (systemy spadkowe)
  • integralność i kooperacja systemów opartych o różne technologie (systemy heterogeniczne)
  • minimalizacja czasu produkcji oprogramowania przy jednoczesnej maksymalizacji jego jakości (metodyki produkcji systemów)

Fazy procesu produkcji oprogramowania[edytuj | edytuj kod]

W inżynierii oprogramowania wyróżnia się od kilku do nawet kilkunastu etapów w procesie jego produkcji, w zależności od potrzeb. Typowym podstawowo istniejącym podziałem jest:

  1. specyfikacja – określenie i ustalenie wymagań, które musi spełniać oprogramowanie
  2. projektowanie – ustalenie ogólnej architektury systemu, wymagań dla poszczególnych jego składowych
  3. implementacja – realizacja ustalonej architektury poprzez implementację jego składowych (modułów) i połączeń między nimi.
  4. integracja – zintegrowanie poszczególnych składowych w jeden system, testowanie całego systemu
  5. ewolucja – uruchomienie systemu, usuwanie wykrytych podczas jego używania błędów, rozszerzanie systemu

Metodyki dotyczące procesu produkcji oprogramowania (zarządzania przedsięwzięciem programistycznym)[edytuj | edytuj kod]

Można wyróżnić szereg metodyk dotyczących procesu produkcji oprogramowania, w tym:

Języki inżynierii oprogramowania[edytuj | edytuj kod]

Inżynieria oprogramowania rozwinęła szereg języków wspomagających proces tworzenia oprogramowania. Obecnie popularność zyskały języki wspierające programowanie obiektowe – najważniejszym z nich jest UML. Inżynieria oprogramowania wypracowała jednak już wcześniej inne metodyki – takie, jak metoda strukturalna Yourdona.

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]