Wytwórstwo oprogramowania michał możdżonek 01.2008
Plan wykładu 1. Proces tworzenie oprogramowania 2. Zarządzanie projektami 3. Wymagania 4. Projektowanie 5. Testowanie 6. Szacowanie złożoności i kosztu 7. Modyfikacja oprogramowania
Egzamin 1. Egzamin będzie trwał 45-60 minut 2. 5 pytań wielokrotnego wyboru 3. 2-3 pytania otwarte 4. Na podstawie wykładu 5. Nie będzie można mieć notatek
Literatura 1. Sommerville I. (2003): Inżynieria oprogramowania, WNT, Warszawa 2. Pressman R. S. (2004): Praktyczne podejście do inżynierii oprogramowania, WNT, Warszawa 3. Leffingwell D., Widrig D. (2003): Zarządzanie wymaganiami, WNT, Warszawa 4. Cadle J., Yeates D. (2004): Zarządzanie procesem tworzenia systemów informacyjnych, WNT, Warszawa 5. Hamlet D., Maybee D. (2003): Podstawy techniczne inżynierii oprogramowania, WNT, Warszawa 6. Yourdon E. (2007): Marsz ku klęsce. Poradnik dla projektanta systemów, WNT, Warszawa
Inżynieria oprogramowania Dziedzina inżynierii, która obejmuje wszystkie aspekty od początkowej fazy specyfikacji systemu do jego pielęgnacji Obejmuje nie tylko techniczny proces tworzenia oprogramowania, ale także zarządzanie projektami programistycznymi opracowywanie narzędzi, metod i teorii wspomagających tworzenie oprogramowania Ian Sommerville 2000 Software Engineering, 6th edition Slide 5
Proces tworzenia oprogramowania Specyfikacja oprogramowania funkcjonalność oprogramowania i ograniczenia jakie muszą być zdefiniowane Projektowanie i tworzenie oprogramowania oprogramowanie spełniające specyfikację Zatwierdzenie oprogramowania zweryfikowanie i testy akceptacyjne Ewolucja oprogramowania oprogramowanie musi ewaluować, aby spełniać zmieniające się potrzeby klienta Ian Sommerville 2000 Software Engineering, 6th edition Slide 6
Modele procesów tworzenia oprogramowania Model kaskadowy Tworzenie ewolucyjne Tworzenie formalne Tworzenie z użyciem wielokrotnym Ian Sommerville 2000 Software Engineering, 6th edition Slide 7
Model kaskadowy Definiowanie wymagań Projektowanie systemu i oprogramowania Implementacji i testy Integracja i testowanie systemu Działanie i pielęgnacja Ian Sommerville 2000 Software Engineering, 6th edition Slide 8
Tworzenie ewolucyjne Specyfikacja Wersja początkowa Opis ogólny Tworzenie Wersje pośrednie Wersje pośrednie Wersje pośrednie Zatwierdzanie Wersja końcowa Ian Sommerville 2000 Software Engineering, 6th edition Slide 9
Tworzenie formalne systemów Definicja wymagań Specyfikacja formalna Przekształcenie formalne Integracja i testowanie systemu Ian Sommerville 2000 Software Engineering, 6th edition Slide 10
Tworzenie z użyciem wielokrotnym Specyfikacja wymagań Analiza komponentów Modyfikacja wymagań Projekt systemu z użyciem wielokrotnym Tworzenie i integracja Zatwierdzenie systemu Ian Sommerville 2000 Software Engineering, 6th edition Slide 11
Tworzenie przyrostowe Zdefiniuj zarys wymagań Przypisz wymagania do przyrostów Zaprojektuj architekturę systemu Wytwórz przyrost systemu Zweryfikuj przyrost Zintegruj przyrost System nieukończony Zweryfikuj system System końcowy Ian Sommerville 2000 Software Engineering, 6th edition Slide 12
Tworzenie spiralne Determine objectives alternatives and constraints Plan next phase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Risk analysis Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Service Acceptance test Prototype 3 Operational protoype Simulations, models, benchmarks Product design Integration test Evaluate alternatives identify, resolve risks Code Unit test Detailed design Develop, verify next-level product Ian Sommerville 2000 Software Engineering, 6th edition Slide 13
dobre oprogramowanie Zdatność do pielęgnacji łatwość do modyfikacji Niezawodność solidność, zabezpieczenia, stabilność i bezpieczeństwo Efektywność efektywne wykorzystanie zasobów, szybkość reakcji, czas przetwarzania, użycie pamięci Użyteczność ergonomiczność interfejsu Ian Sommerville 2000 Software Engineering, 6th edition Slide 14
Odpowiedzialność etyczna i zawodowa Zachowanie tajemnicy Kompetencje Prawo własności intelektualnej Niewłaściwe użycie sprzętu Ian Sommerville 2000 Software Engineering, 6th edition Slide 15