Modele cyklu życia oprogramowania

Podobne dokumenty
Agile, approach Scrum in IT projects Katarzyna Terlecka, Filip Sajdak & Jerzy Wachala

Programowanie zwinne - wprowadzenie. Programowanie ekstremalne. Wstęp Reguły i praktyki SCRUM. Wprowadzenie Role Zdarzenia Artefakty

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Zwinne podejście do projektu i produktu Kto? Co? i Jak? Małgorzata Kusyk, PMP, PRINCE2P

KANBAN SCRUM-BAN. Agile PM Zarys AUP

Programowanie Ekstemalne

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Tworzenie gier na urządzenia mobilne

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

Metodyka dla projektu SYRIUSZ

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Metodyki zwinne wytwarzania oprogramowania

Akademia ADB Wykład I Praca w grupie i jakość kodu

Metodyki programowania. Tomasz Kaszuba 2015

Programowanie zwinne

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

Lekkie metodyki. tworzenia oprogramowania

Zagadnienia. Inżynieria Oprogramowania

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Programowanie zespołowe

LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA

Podejście zwinne do zarządzania projektami

Marcin Kucięba Agile Development

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Zagadnienia. Inżynieria Oprogramowania

XPrince dla architektów 1

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

INŻYNIERIA OPROGRAMOWANIA LAB 1

INICJATYWA STUDENCKA. Gdańsk,

Programowanie Zespołowe

EXIN Agile Scrum Foundation. Przewodnik egzaminacyjny

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

The Agile Way Thomson Reuters case study. Małgorzata Kusyk, PMP Managing Partner, AgilePMO Senior Project Manager, Thomson Reuters

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Agile Project Management

Proces wytwarzania oprogramowania

Etapy życia oprogramowania

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

Techniki komputerowe w robotyce

Feature Driven Development

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

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

Wprowadzenie do przedmiotu 1

Zwinne metodyki tworzenia oprogramowania. Programowanie ekstremalne

Rola testów. łatwiej czy trudniej? Wydział MiNI Politechnika Warszawska

Zarządzanie projektami. Porównanie podstawowych metodyk

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Cykle życia systemu informatycznego

Zarządzanie projektami. Porównanie podstawowych metodyk

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

Modele implementacji oprogramowania. Michał Tomal

Wytwarzanie oprogramowania

LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA

Dobre wdrożenia IT cz. I Business Case.

Opis metodyki i procesu produkcji oprogramowania

I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński

AN EVOLUTION PROCESS FOR SERVICE- ORIENTED SYSTEMS

Scrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, Spis treści

Szybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Projektowanie systemów informatycznych. wykład 6

Dobry Product Backlog Oferta szkolenia dla Product Ownerów

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

Agile Software Development. Zastosowanie metod Scrum i Kanban.

Inżynieria oprogramowania (Software Engineering)

Podstawy programowania III WYKŁAD 4

Agile Software Development Perspektywa Członka Zespołu

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

Prowadzenie projektu programistycznego. Modele tworzenia oprogramowania. Programowanie kaskadowe i zwinne. Wykład 9

Inżynieria oprogramowania I

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Zwinne tworzenie aplikacji internetowych typu RIA w środowisku Ruby on Rails

INŻYNIERIA OPROGRAMOWANIA Metodyki zarządzania projektem - porównanie

Michał Olejnik. 22 grudnia 2009

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

PROGRAM STAŻU. Nazwa podmiotu oferującego staż IBM GSDC SP.Z.O.O. Miejsce odbywania stażu IBM, ul. Muchoborska 8, Wrocław, Poland

PROJEKTOWANIE ZORIENTOWANE NA UŻYTKOWNIKA W METODYCE SCRUM. Hubert Wawrzyniak Grupa Allegro

Metodyki zwinne AGILE

Projekt Kompetencyjny - założenia

Agile at Capgemini. Marek Majchrzak, Andrzej Bednarz Wrocław,

WYTWARZANIA OPROGRAMOWANIA

Optymalizacja Automatycznych Testów Regresywnych

Scaling Scrum with SAFe. Małgorzata Czerwińska

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

ŚcieŜki Certyfikacji Testera. Karol Mioduszewski - CORRSE

LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA

Tworzenie rozwiązań informatycznych w oparciu o Customer Driven Development

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2011/2012

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Rok akademicki: 2017/2018 Kod: IIN s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

PROGRAM STAŻU Nazwa podmiotu oferującego staż IBM GSDC SP.Z.O.O

PURE CODE POWER We see steps to go digital.

Wprowadzenie do Behaviordriven

Plan studiów stacjonarnych drugiego stopnia 2019/2021 Kierunek: Zarządzanie kreatywne B. Moduły kierunkowe obligatoryjne

Testowanie oprogramowania w środowisku IBM Rational Software Architect

Programowanie Zespołowe

Transkrypt:

Anna Kulig

Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii

Model cyklu życia systemu informatycznego ma na celu przedstawienie procesu wytwarzania programowania, który prowadzi do stworzenia działającego systemu spełniającego oczekiwania klienta. Podstawowe modele to Model kaskadowy Model iteracyjny Prototypowanie

Model kaskadowy (waterfall)

Cechy (wady?) modelu kaskadowego uzyskanie produktu zgodnego z wymaganiami klienta silnie zależy od ich stabilności; próba adaptacji do zmieniających sie wymagań jest b. kosztowna; kolejność wykonywania prac musi być ściśle przestrzegana; bardzo wysoki koszt błędów popełnionych we wstępnych etapach; marginalizacja roli klienta w procesie wytwarzania oprogramowania.

PROTOTYPOWANIE Wymagań polega na budowaniu kolejnych przybliżeń systemu; budowa szybkiego projektu bez dbałości o jego jakość i dostosowanie do środowiska docelowego; Wytworcze obejmuje również etap projektowania w celu weryfikacji efektywności przyjętych rozwiązań;

Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii

Syndrom LOOP Late, Over budget Overtime Poor quality Rozwiazanie (?) problemu standardy i wymagania dotyczace procesów wytwarzania oprogramowania.

Standardy dotyczące jakości ISO 9000 CMM

Poziomy CMM

Minusy takiego podejścia Ważniejszy proces niż samo oprogramowanie Tworzenie ton dokumentacji Spora cześć procesu jest fikcyjna Dyscyplina zabija inicjatywę!

Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii

Agile Manifesto 2001 rok, Snowbird w stanie Utah w USA Najważniejsi twórcy Kent Beck Alistair Cockburn Martin Fowler Jim Highsmith

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Do najważniejszych metodyk zwinnych należą m.in. Programowanie ekstremalne (ang. extreme Programing, w skrócie XP ), SCRUM, FDD (ang. Future-Driven Development), Crystal Clear, AUP (ang. Agile Unified Process).

Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii

Extreme Programming (XP): lekka metodyka rozwoju oprogramowania Kent Beck uważany za tworce (1999).

WARTOŚCI Komunikacja Prostota Sprzężenie zwrotne Odwaga Szacunek

Komunikacja przede wszystkim werbalna. Prostota rozpoczynamy od najprostszego rozwiązania, spełniającego wymagania; refaktoryzacja pozwala na adaptacje oprogramowania do zmian.

Sprzężenie zwrotne Obejmuje klika aspektów (system, klient, zespól). Odwaga potrzebna, by od razu produkować kod; potrzebna, by refaktoryzować; potrzebna, by wyrzucić zbędny kod. Szacunek do pracy i czasu innych; miedzy członkami zespołu.

Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii

Struktura zespołu Role podstawowe : programiści, klient Role pomocnicze: tester, coach, tracker Stawia na współpracę zespołu z klientem

User stories opisują funkcje systemu z punktu widzenia użytkownika ważne by miały wartość dla klienta, powinny być testowane

Projekt informatyczny jest szczelnym systemem 4 zmiennych: daty dostarczenia, kosztu, liczby defektów oraz niekompletności funkcji.

Model kaskadowy Model XP

Gra planistyczna: pisanie user story (klient); oszacowanie user story (informatycy); dzielenie user soty/ wybór zakresu iteracji (klient).

Zarządzanie zmianą: XP zakłada, że klient w dowolnym momencie może zmienić zdanie i zaproponować zmianę wymagań.

Testy akceptacyjne pochodzą od klienta (w ten sposób dokładnie określa zachowanie systemu); najlepiej gdy mogą być wykonywane automatycznie (tester);

Zapewnianie jakości prostota; unikanie optymalizacji; TDD (Test Driven Development); automatyczne testowanie; refaktoryzacja;.

PROGRAMOWANIE PARAMI zaleca się, by całość kodu pisana była w parach; częste zmiany w parach; wspólny standard kodowania; kod jest własnością całego zespołu; niezbędny system kontroli wersji.

Wady XP brak fazy projektowania i dokumentacji; krótka perspektywa planowania; silne zalożenie, ze klient pracuje cały czas z zespołem;

Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii

AUP uproszczona wersja Rational Unified Process; stosuje zwinne techniki takie jak TDD, refactoring; twórcą jest Scott Ambler (2002r.). SERYJNY w DUŻEJ SKALI ITERACYJNY w MAŁEJ SKALI

Zasady AUP twój zespół wie, co robi; prostota; zwinność; skupienie się na istotnych aktywnościach; niezależność od narzędzi; możliwość adaptacji.

Część materiałów zaczerpnięta z http://wazniak.mimuw.edu.pl/, http://www.flickr.com/photos/hoalit/355398491/, http://www.ambysoft.com/unifiedprocess/agileup.html