Inżynieria oprogramowania

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, 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]

Wyzwania dla inżynierii oprogramowania:

  • systemy spadkowe – jak konserwować oprogramowanie, które powstało wiele lat temu i ciągle jest w użyciu
  • systemy heterogeniczne – problem integracji systemów zbudowanych z użyciem różnych języków i technologii
  • sprawna produkcja systemów – umożliwienie produkcji oprogramowania na czas bez uszczerbku dla jego jakości

Fazy procesu produkcji oprogramowania[edytuj | edytuj kod]

W inżynierii oprogramowania proces produkcji oprogramowania dzieli się na pewne fazy, typowy podział to:

  1. specyfikacja – na tym etapie następuje 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ę 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

Modele cyklu życia oprogramowania[edytuj | edytuj kod]

Można wyróżnić szereg modeli życiowych 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]