• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Inżynieria oprogramowania

    Przeczytaj także...
    Format otwarty UML (ang. Unified Modeling Language, czyli Zunifikowany Język Modelowania) – język formalny wykorzystywany do modelowania różnego rodzaju systemów, stworzony przez Grady Boocha, Jamesa Rumbaugha oraz Ivara Jackobsona, obecnie rozwijany przez Object Management Group.Metryka oprogramowania – miara pewnej własności oprogramowania lub jego specyfikacji. Termin ten nie ma precyzyjnej definicji i może oznaczać właściwie dowolną wartość liczbową charakteryzującą oprogramowanie.
    Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego (WMIM UW, MIMUW) – wydział Uniwersytetu Warszawskiego kształcący w trybie dziennym na kierunkach:

    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).

    Cykl życia programu – seria kolejnych zmian programu, w trakcie których sukcesywnie odbywa się dodawanie nowych funkcji oraz usuwanie powstających w trakcie rozwoju błędów (tzw. bugów).Garmisch-Partenkirchen - powiatowa gmina targowa i uzdrowisko w południowych Niemczech, w kraju związkowym Bawaria, w rejencji Górna Bawaria, w regionie Oberland, siedziba powiatu Garmisch-Partenkirchen. Leży u podnóża Alp. Liczba mieszkańców wynosi 26,2 tys. (stan z 31 grudnia 2011) i ma 205,66 km² powierzchni. Jest to jeden z najsilniej rozwijających się ośrodków w Bawarii, miejscowość nie ma statusu miasta. Jest położona na wysokości 708 m n.p.m. i jest znanym ośrodkiem narciarskim.

    Wyzwania dla inżynierii oprogramowania[]

    Wyzwania dla inżynierii oprogramowania:

    Model przyrostowy (realizacja przyrostowa, ang. incremental development) – jedna z technik pisania oprogramowania, stosowany w przypadkach, w których dopuszczalna jest okrojona funkcjonalność systemu.Integracja (ang. integration) – odnosi się do organizacji systemów (komputerowych, produkcyjnych lub administracyjnych) i polega na zespoleniu tych systemów tak, aby mogły one korzystać nawzajem ze swoich zasobów, takich jak pliki lub urządzenia.
  • 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[]

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

    Informatyka – dyscyplina nauki zaliczana do nauk ścisłych oraz techniki zajmująca się przetwarzaniem informacji, w tym również technologiami przetwarzania informacji oraz technologiami wytwarzania systemów przetwarzających informację. Początkowo stanowiła część matematyki, później rozwinęła się do odrębnej dyscypliny – pozostaje jednak nadal w ścisłej relacji z matematyką, która dostarcza informatyce podstaw teoretycznych.Programowanie obiektowe (ang. object-oriented programming) — paradygmat programowania, w którym programy definiuje się za pomocą obiektów — elementów łączących stan (czyli dane, nazywane najczęściej polami) i zachowanie (czyli procedury, tu: metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.
    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ę 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)[]

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

    Programowanie zwinne ((ang.) Agile software development) – grupa metodyk wytwarzania oprogramowania opartego na programowaniu iteracyjnym (model przyrostowy). Wymagania oraz rozwiązania ewoluują przy współpracy samozarządzalnych zespołów, których celem jest przeprowadzanie procesów wytwarzania oprogramowania. Pojęcie zwinnego programowania zostało zaproponowane w 2001 w Agile Manifesto.Iteracyjny model kaskadowy (ang. waterfall model) – jeden z kilku rodzajów procesów tworzenia oprogramowania zdefiniowany w inżynierii oprogramowania. Jego nazwa wprowadzona została przez Winstona W. Royce w roku 1970, w artykule "Managing the Development of Large Software Systems" (zarządzanie tworzeniem dużych systemów informatycznych).
  • model kaskadowy
  • model prototypowy
  • model przyrostowy (iteracyjny)
  • model równoległy
  • programowanie zwinne (ang. agile programming)
  • programowanie ekstremalne (ang. extreme programming)
  • model spiralny
  • Rational Unified Process
  • Języki inżynierii oprogramowania[]

    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.

    Model prototypowy tworzenia oprogramowania polega na stworzeniu podczas projektowania prototypu w celu przedyskutowania oraz akceptacji z klientem. Po akceptacji prototypu przechodzi się do kolejnych etapów tworzenia oprogramowania. Prototypowanie zapobiega błędnym zrozumieniem wymagań systemu, które może powodować wzrost kosztów, zwłaszcza w modelu kaskadowym.Organizacja Traktatu Północnoatlantyckiego (OTP, ang. North Atlantic Treaty Organization, NATO, fr. Organisation du Traité de l’Atlantique Nord, OTAN) – organizacja polityczno-wojskowa powstała 24 sierpnia 1949 na mocy podpisanego 4 kwietnia 1949 Traktatu Północnoatlantyckiego. Początkowym celem istnienia NATO była obrona militarna przed atakiem ze strony Związku Radzieckiego i jego satelitów, z czasem jednak organizacja stała się elementem utrzymania równowagi strategicznej między Wschodem i Zachodem. Po rozpadzie Układu Warszawskiego pełni rolę stabilizacyjną, podejmując działania zapobiegające rozprzestrzenianiu konfliktów regionalnych.

    Zobacz też[]

  • Rational Unified Process, proces wytwarzania oprogramowania opracowany przez firmę Rational Software (która stworzyła również język UML). Jest to metodyka, która wywarła silny wpływ na współczesną inżynierię oprogramowania.
  • metryka oprogramowania
  • Wzorzec projektowy
  • Linki zewnętrzne[]

  • Inżynieria oprogramowania (materiały dydaktyczne MIMUW na studia informatyczne I stopnia)
  • Zaawansowana inżynieria oprogramowania (materiały dydaktyczne MIMUW na studia informatyczne II stopnia)
  • SOFTWARE ENGINEERING – raport z konferencji w Garmisch 7-11 października 1968 r.
  • Strona projektu Guide to the Software Engineering Body of Knowledge
  • Portal poświęcony językowi modelowania UML – www.uml.com.pl
  • Rational Unified Process (RUP) to proces iteracyjnego wytwarzania oprogramowania opracowany przez firmę Rational Software Corporation (firma została przejęta przez IBM).Rzym (wł., łac. Roma) – stolica i największe miasto Włoch, położone w środkowej części kraju w otoczeniu wzgórz, nad Tybrem, ośrodek administracyjny i polityczny (siedziba prezydenta, ministerstw i urzędów); stolica i główne miasto regionu administracyjno-historycznego Lacjum. Obszar administracyjny 1523 km², liczba ludności 2 748 809 (zespół miejski ok. 3 800 000).



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Programowanie ekstremalne (ang. eXtreme Programming, XP) - to paradygmat i metodyka programowania mające na celu wydajne tworzenie małych i średnich "projektów wysokiego ryzyka", czyli takich, w których nie wiadomo do końca, co się tak naprawdę robi i jak to prawidłowo zrobić. Przyświeca temu koncepcja prowadzenia projektu informatycznego, wywodząca się z obserwacji innych projektów, które odniosły sukces.
    Implementacja (wdrożenie, przystosowanie, realizacja, łac.ang. implementation) – w informatyce – proces przekształcania abstrakcyjnego opisu systemu lub programu na obiekt fizyczny: komputer lub działający program zapisany w konkretnym języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego (wdrożenie systemu) lub kompilatora dla konkretnego typu komputera.
    Wzorzec projektowy (ang. design pattern) – w inżynierii oprogramowania, uniwersalne, sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych problemów projektowych. Pokazuje powiązania i zależności pomiędzy klasami oraz obiektami i ułatwia tworzenie, modyfikację oraz pielęgnację kodu źródłowego. Jest opisem rozwiązania, a nie jego implementacją. Wzorce projektowe stosowane są w projektach wykorzystujących programowanie obiektowe.

    Reklama