W tym artykule poruszony zostanie temat Inżynieria oprogramowania, który w ostatnich latach zyskał na znaczeniu ze względu na jego wpływ na różne aspekty społeczeństwa. Od postępu technologicznego po zmiany w dynamice pracy, Inżynieria oprogramowania wywołał duże zainteresowanie i debatę wśród ekspertów i ogółu społeczeństwa. W tym kontekście zostanie przeanalizowany wpływ Inżynieria oprogramowania w różnych kontekstach, a także jego krótko- i długoterminowe implikacje. Zbadane zostaną również przyszłe perspektywy dotyczące Inżynieria oprogramowania i tego, jak będzie on nadal wpływać na nasze środowisko.
Inżynieria oprogramowania (ang. software engineering, SE) – dyscyplina informatyczna stosująca podejście inżynierskie do tworzenia oprogramowania[1][2]: od analizy i określenia wymagań, przez projektowanie i wdrożenie, aż do ewolucji gotowego oprogramowania.
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.
Do największych wyzwań w dziedzinie inżynierii oprogramowania należą:
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:
Można wyróżnić szereg metodyk dotyczących procesu produkcji oprogramowania (zarządzania przedsięwzięciem programistycznym), w tym:
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.