1 / 34

Inżynieria oprogramowania

Inżynieria oprogramowania. Bartosz Marcinkowski Michał Kuciapski. System informacyjny.

Download Presentation

Inżynieria oprogramowania

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inżynieria oprogramowania Bartosz Marcinkowski Michał Kuciapski

  2. System informacyjny System informacyjny: Jest to celowe zestawienie ludzi, danych, procesów, sposobów komunikacji, infrastruktury sieciowej i urządzeń komputerowych, które to elementy współdziałają w celu zapewnienia codziennego funkcjonowania organizacji (transakcyjne przetwarzanie danych) jak również wspierający rozwiązywanie problemów i podejmowanie decyzji przez kadrę kierowniczą (systemy raportowania i wspomagania decyzji) System informacyjny niekoniecznie musi zawierać elementy infrastruktury IT

  3. System informatyczny • System informatyczny może być jedną z części składowych systemu informacyjnego • oba terminy używane są jako synonimy - niesłusznie • System informatyczny to oparte na technologii komputerowej rozwiązanie pojedynczego problemu biznesowego. Może być to aplikacja, rozwiązanie sprzętowe lub (najczęściej) połączenie obu tych składników • System informacyjny może się składać z więcej niż jednego systemu informatycznego

  4. Budowa zespołu • Projekty informatyczne są realizowane przez zespoły ludzkie • W zespołach tych wyróżnić można role formalne oraz nieformalne • W efektywnym zespole: • Są zapewnione role • Każdy zna zarówno rolę swoją, jak i innych • Jest przywódca • Pułapki w budowie zespołu: • Źle określone zadania • Zbyt mało pracowników • Zbyt niskie kwalifikacje • Zła kombinacja styli zachowania

  5. Budowa zespołu – cd • Zła kombinacja styli zachowania: • Rodzi irytację • Prowadzi do różnicy zdań • Zwiększa ilość popełnianych błędów • W skrajnych przypadkach prowadzi do utraty zdolności do pracy

  6. Role w zespole • Role formalne: • Szef • Sekretarka • Specjalista • Użytkownik • Role nieformalne: • Kontroler • Promotor • Supporter • Analityk

  7. Promotor Bardzo emocjonalny Chce szybkich zmian Globalista Stymuluje Spontaniczny Głośno myśli Manipulacyjny Konkurencyjny Prowokacyjny Głośny Niesystematyczny Role w zespole – cd

  8. Kontroler Naturalny przywódca Aktywny i ambitny Niezależny Sprawny Kompetentny Odpowiedzialny Niecierpliwy Niepodtrzymujący Arogancki Żądny władzy Nieinspirujący Role w zespole – cd

  9. Analityk Stabilizujący Koncepcyjny Zbieracz faktów Dobry słuchacz Bardzo systematyczny Można na nim polegać Niekomunikatywny Introwertyczny Trochę nudny Niecierpliwy i wątpiący Unika konfliktów Role w zespole – cd

  10. Metodyka tworzenia SI • Główne elementy: • Metody i techniki (diagramy, macierze, pseudokod…) • Cykl życia systemu • Narzędzia CASE • Procedury testowania • Wyróżnia się 3 rodzaje metodyk: • Strukturalne • Obiektowe • społeczne

  11. Projektowanie Projektowanie systemu informacyjnego jest procesem. Jest to skończony ciąg kroków (czynności) powiązanych ze sobą relacjami, które mają doprowadzić do osiągnięcia zamierzonego celu w postaci systemu spełniającego przyjęte wymagania. W procesie projektowania możliwe są pętle. Sam proces projektowania jest jednym z elementów większego procesu – cyklu życia systemu informacyjnego.

  12. Metodyki projektowania • Zstępujące (ang. Top-down) • Wstępujące (ang. Bottom-up)

  13. Cykl życia systemu • Reprezentuje powtarzającą się w czasie całość działań prowadzonych od ujawnienia potrzeby budowy systemu aż po zakończenie jego użytkowania • W cyklu życia obrazowane są kolejne etapy rozwoju i eksploatacji systemu, wraz z ich kontekstem, produktami, wzajemnymi relacjami i zależnościami w czasie • Do najbardziej znanych cykli życia systemu należą: • Cykl kaskadowy (liniowy, klasyczny) • Cykl spiralny • Cykl przyrostowy (i podejścia pochodne)

  14. Elementy faz cyklu W każdej fazie określa się: • Cele • Działania • Kolejność realizowanych działań • Punkty przeglądu • Produkty i dokumentacje

  15. Kaskadowy cykl życia systemu • Identyfikacja problemu • Wizja rozwiązania problemu • Ocena możliwych rozwiązań • Decyzja na temat podjęcia projektu Czy mamy cokolwiek robić? Planowanie

  16. Planowanie • Należy odpowiedzieć sobie na pytania: • W jaki sposób system przyczyni się do rozwiązania problemu? • Jakie konkretne efekty biznesowe osiągną udziałowcy systemu po zrealizowaniu celu? • Czy cel jest uzasadniony ekonomicznie? • Czy cel jest osiągalny w kontekście istniejących ograniczeń (budżet, zasoby, technologia, uwarunkowania o charakterze organizacyjnym na etapie użytkowania, prawo) • Jaki konkretnie miałby być zakres systemu? • Jakie jest ryzyko podjęcia się tego projektu?

  17. Planowanie – cd Zakres Jakość Koszt Zasoby

  18. Planowanie – cd Informatyzacja hotelu: przykład Cele: • Poprawa obsługi gości • Obniżenie kosztów własnych hotelu Efekty biznesowe: • Przechwycenie klientów od konkurencji • Mniejsze koszty własne • Przyjęte kryteria: • Zwiększenie liczby gości o 10% w pierwszym roku użytkowania systemu • Wskaźnik (kosztyWłasne / gość) w pierwszym roku powinien spaść o 20% ceteris paribus (z pominięciem takich czynników jak spadek zatrudnienia czy fluktuacje płac)

  19. Kaskadowy cykl życia systemu – cd • Szczegółowe badanie dziedziny przedmiotowej • Wyszukanie potencjalnych usprawnień • Identyfikacja podstawowych problemów na styku przyszły system – organizacja • Identyfikacja i dokładna specyfikacja wymagań Co my tak naprawdę mamy zrobić? Planowanie Analiza

  20. Kaskadowy cykl życia systemu – cd • Stworzenie kompletnej dokumentacji systemu • Weryfikacja stworzonego modelu pod kątem zgodności z wymaganiami i dziedziną przedmiotową Jak dokładnie ma to działać? Planowanie Analiza Projektowanie

  21. Kaskadowy cykl życia systemu – cd • Kodowanie • Testowanie na niskim poziomie (moduły) Gdzie zamawiać pizzę dla programistów? Planowanie Analiza Projektowanie Implementacja

  22. Kaskadowy cykl życia systemu – cd • Testowanie integracyjne • Weryfikacja • Walidacja • Testy akceptacyjne Cośmy tak naprawdę stworzyli? Planowanie Analiza Projektowanie Implementacja Testowanie i walidacja

  23. Testowanie i walidacja Weryfikacja • Czy rezultat danego etapu jest zgodny z tym, co stworzyliśmy wcześniej? • Czy jesteśmy konsekwentni? Walidacja • Czy to, co robimy, jest tym, o co nam chodziło? • Czy idziemy we właściwym kierunku?

  24. Kaskadowy cykl życia systemu – cd Planowanie Analiza Projektowanie Implementacja Testowanie i walidacja Użytkowanie i adaptacja

  25. Użytkowanie i adaptacja • Przygotowanie środowiska • Instalacja systemu • Przeniesienie danych • Szkolenia • Udostępnienie manuala • Audyt • Konserwacja (diagnostyka, drobne błędy) • Adaptacja (np. prawo) • Ulepszanie (nowe wymagania, lifting)

  26. Zalety • Kompletny • Sprawdzony w praktyce • Strukturyzowalny (wsparcie narzędzi) • Pozwala na łatwą dekompozycję pracy • Brak nadmiarowości (koszty!)

  27. Wady • Wszystkie wymagania muszą być znane na początku • Brak sprzężenia zwrotnego wymagania – efekty (bardzo późna walidacja) • Duża bezwładność (technologia) • Olbrzymie koszty usuwania błędów popełnionych na wczesnych etapach oraz korekty wymagań • Problemy z alokacją zasobów i znużeniem zespołu

  28. Spiralny cykl życia systemu

  29. Zalety • Bardzo elastyczny (zmiany otoczenia, alokacja zasobów, niestabilność wymagań) • Nieustanna walidacja • Niskie ryzyko niepowodzenia (zakres, jakość)

  30. Wady • Długotrwałe dochodzenie do rozwiązania docelowego • Dodatkowe koszty tworzenia kolejnych prototypów • Kłopoty z zarządzaniem • Presja na zmniejszenie jakości

  31. Podejście przyrostowe • Stopniowo realizowane w całości kolejne usługi systemu • Funkcje te są na bieżąco walidowane przez użytkowników • Po każdym przyroście można zakończyć budowę systemu (ucierpi zakres, nie jakość) • Wymagania mogą być tylko częściowo zidentyfikowane • Klient szybko otrzymuje jakiś rezultat • Niestety czasochłonny • Kłopoty z dekompozycją usług

  32. Podejście przyrostowe – cd

  33. Narzędzia CASE • Computer-Aided Software Engineering • Różna funkcjonalność: • Edycja diagramów • Sprawdzanie formalnej poprawności diagramów • Sprawdzanie spójności modelu • Generowanie kodu strukturalnego • Inżynieria zwrotna • Round-Trip Engineering • Wyróżniające się narzędzia: • IBM Rational Software Architect (kontynuacja rodziny Rational Rose) • Sparx Systems Enterprise Architect • Poseidon for UML

  34. Dziękuję za uwagę

More Related