Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Podobne dokumenty
Opis metodyki i procesu produkcji oprogramowania

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Metodyki programowania. Tomasz Kaszuba 2015

Projektowanie systemów informatycznych. wykład 6

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Inżynieria oprogramowania (Software Engineering)

Etapy życia oprogramowania

RATIONAL UNIFIED PROCESS. Opis metodyki i procesu produkcji oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Zakres wykładu. Podstawy InŜynierii Oprogramowania

ZASADY TWORZENIA OPROGRAMOWANIA

Rational Unified Process. Dokładny opis metodyki i procesu produkcji oprogramowania

Wykład 2. MIS n Inżynieria oprogramowania Marzec Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

RUP. Rational Unified Process

Zasady organizacji projektów informatycznych

Cykle życia systemu informatycznego

Programowanie zespołowe

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Rozpoczęcie, inicjacja (ang. inception

Testowanie oprogramowania w środowisku IBM Rational Software Architect

1. Planowanie systemu (w tym specyfikacja wymagań) 3. Projekt systemu (model poszczególnych struktur itp.)

Podstawy programowania III WYKŁAD 4

Wykład 1 Inżynieria Oprogramowania

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

Wytwarzanie oprogramowania

Wytwórstwo oprogramowania. michał możdżonek

Języki i metodyka oprogramowania

Analityk i współczesna analiza

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

PRZEWODNIK PO PRZEDMIOCIE

Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej

WPROWADZENIE DO UML-a

Narzędzia CASE dla.net. Łukasz Popiel

wbudowane October 7, 2015 KSEM WETI PG Komputery przemysłowe i systemy wbudowane Oprogramowanie systemów wbudowanych - wydajność Wydajność

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Konfiguracja modelowania w procesie wytwarzania oprogramowania

METODYKA RUP JAKO NAJLEPSZE DOPEŁNIENIE ZARZĄDZANIA PROJEKTAMI INFORMATYCZNYMI

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Feature Driven Development

Dr Katarzyna Grzesiak-Koped

Analiza i projektowanie obiektowe 2016/2017. Wykład 1: Wprowadzenie oraz cykl życia oprogramowania i faza określenia wymagań

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Continuous Testing a nowa era w jakości oprogramowania. Grzegorz Leopold, Michał Błaszak

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Plan wykonania systemu ISOiWUT

KARTA MODUŁU KSZTAŁCENIA

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Inżynieria oprogramowania. Jan Magott

P O L I T E C H N I K A K O S Z A L I Ń S K A. Zarządzanie Ryzykiem

Modelowanie i analiza systemów informatycznych

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Projektowanie Modeli Usług dla rozwiązań typu SOA

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Agile Project Management

Inżynieria oprogramowania I

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Przedsięwzięcia Informatyczne w Zarządzaniu

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

KANBAN SCRUM-BAN. Agile PM Zarys AUP

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

Inżynieria oprogramowania (Software Engineering) Wykład 1

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

Informatyzacja przedsiębiorstw WYKŁAD

Dobre wdrożenia IT cz. I Business Case.

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

INŻYNIERIA OPROGRAMOWANIA

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Metodyki wdrażania systemów informatycznych. Beata Karasek Ewa Sitarek

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Metodyki zwinne wytwarzania oprogramowania

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Egzamin / zaliczenie na ocenę*

Programowanie zwinne

Inżynieria oprogramowania

Optymalizacja Automatycznych Testów Regresywnych

Cechy charakterystyczne tworzenia oprogramowania w Inżynierii Biomedycznej. Wykładowca Dr inż. Zofia Kruczkiewicz

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

Wprowadzenie, podstawowe pojęcia, projekt a produkt Wykład1

Techniki i rozwiązania IT w optymalizacji procesów

Dni: 3. Opis: Adresaci szkolenia

Zagadnienia. Inżynieria Oprogramowania

Zarządzanie projektami w NGO

Szczegółowy plan szkolenia

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Zasadnicze czynności w zarządzaniu projektem, fazy cyklu życia systemu informatycznego. Modele cyklu życia - część 1

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

Tworzenie gier na urządzenia mobilne

ANALIZA EKONOMICZNO-FINANSOWA

Wydział Nauk Społecznych Plan studiów niestacjonarnych drugiego stopnia Kierunek: Zarządzanie kreatywne B. Moduły kierunkowe obligatoryjne

5.WYBRANE METODY I NARZĘDZIA MODELOWANIA SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM JĘZYKA UML

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wstęp do zarządzania projektami

Modele implementacji oprogramowania. Michał Tomal

Transkrypt:

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura oprogramowania nieodporna na obciążenia (ang. Brittle architecture) Zbytnia, niepotrzebna złożoność oprogramowania Niewykryte niespójności w wymaganiach, projekcie, oraz implementacji Brak, lub niewystarczające testowanie Subiektywna ocena postępu projektu Brak zarządzania ryzykiem, brak atakowania ryzyka Brak automatyzacji prowadzenia projektu! w każdym projekcie inny zestaw czynników niepowodzenia! brak stosowania standaryzacji wymaganej przez UML

FAZA STRATEGICZNA określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Synteza Dokumentacja Instalacja - rozmowy z klientami (przedstawicielami) - cele przedsięwzięcia z pkt. widzenia klienta - zakres i kontekst przedsięwzięcia -ogólne określenie wymagań wykonanie wstępnej analizy i projektu systemu -propozycja kilku sposobów realizacji systemu - szacowanie kosztów oprogramowania -analiza rozwiązań -prezentacja wyników analizy klientowi korekta -budowa wstępnego harmonogramu -określenie standardów wg których będzie realizowane przedsięwzięcie

MODELE CYKLU ŻYCIA OPROGRAMOWANIA Model spiralny model interaktywny (Boehma 1988) cztery główne fazy cyklu życia oprogramowania wykonywane cyklicznie: analiza ryzyka, konstrukcja, atestowanie, planowanie. Planowanie Wymagania począt. planowanie proj. Analiza ryzyka w oparciu o wymagania Analiza ryzyka (identyfikacja zagrożeń wewnętrznych z możliwością kontroli i zewnętrznych bez kontroli - unique element) Planowanie wyniki kontaktu z klientem Analiza ryzyka w oparciu o reakcje klienta Go, no-go decision Customer evaluation Atestowanie Iteracje 1,2 Konstrukcja (model kaskadowy) Model spiralny jest raczej tzw modelem referencyjnym albo inaczej metamodelem dla innych model Model spiralny jest tak naprawdę sposobem myślenia o tworzeniu oprogramowania na rynek

Baza RUP (Przyczyny powstania Najczęstsze błędy) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura oprogramowania nieodporna na obciążenia (ang. Brittle architecture) Zbytnia, niepotrzebna złożoność oprogramowania Niewykryte niespójności w wymaganiach, projekcie, oraz implementacji Brak, lub niewystarczające testowanie Subiektywna ocena postępu projektu Brak zarządzania ryzykiem, brak atakowania ryzyka Brak automatyzacji prowadzenia projektu

Baza RUP (Zasady IO + najlepsze praktyki programistyczne) Iteracyjnym wytwarzaniu oprogramowania (Iterative Development) Zarządzaniu wymaganiami (Requirement Management) Używaniu architektury bazującej na komponentach (Component-based architecture) Graficznym projektowaniu oprogramowania Kontroli jakości oprogramowania (Quality Assurance) Procesu kontroli zmian w oprogramowaniu (Change Management)

Iterative development (Zasady IO + najlepsze praktyki programistyczne) Przyczyny zmiany wymagań: - ograniczenia architektury - zmiany potrzeb użytkowników - lepsze zrozumienie problemu Dlatego podejście iteracyjne i przyrostowe pozwalające na Integracja oprogramowania robiona krok po kroku podczas wytwarzania oprogramowania, ograniczając go do mniejszej liczby elementów Integracja jest prostsza i mniej kosztowna Składowe oprogramowania są projektowane oddzielnie i łatwiej poddają się reużywalności Łatwiej wykrywać zmiany wymagań i łatwiej nimi zarządzać Ryzyka identyfikowane i atakowane są wcześnie ponieważ każda iteracja pozwala wykryć kolejne ryzyka W iteracjach ulepszana jest architektura oprogramowania

MODELE CYKLU ŻYCIA OPROGRAMOWANIA Rational Unified Process (RUP-1998 1998) (2000 IBM) (IBM 2003) coś więcej niż model cyklu życia oprogramowania. Środowisko (RUP platform) dla programistów obejmujące szereg narzędzi asystujących i prowadzących twórców programowania w dwóch wymiarach WYMIAR WERTYKALNY sześć przepływów aktywności: - modelowanie biznesowe -identyfikacja wymagań -analiza i projektowanie -implementacja -testowanie -osadzenie systemu trzy wspomagające: Business modeling Requirements Planning Initial planning Analysis and design Management Environment Configuration Management Evaluation Implementation Test WYMIAR HORYZONTALNY (aspekt dynamiczny cyklu upływ czasu): Inception - powstanie, rozpoczęcie (analiza wykonalności) Elaboration szczegółowe dopracowanie (analiza dziedziny problemu) Construction budowa, konstrukcja Transition przejście, (przekazanie systemu) Deployment Metodyka wytwarzania oprogramowania proces iteracyjnego wytwarzania oprogramowania