In\ynieria oprogramowania wykÅ‚ad II prowadzÄ…cy: dr in\. Krzysztof Bartecki Faza strategiczna Wymagania Projektowanie Implementacja Testowanie Konserwacja Instalacja Analiza Strategiczna Dokumentacja Głównym celem fazy strategicznej jest ustalenie mo\liwoÅ›ci realizacji przedsiÄ™wziÄ™cia programistycznego (tzw. studium wykonywalnoÅ›ci), oszacowanie jego kosztów oraz prowadzenie negocjacji z przedstawicielami klienta. K. Bartecki, In\ynieria oprogramowania, II/2 CzynnoÅ›ci wykonywane w fazie strategicznej rozmowy (wywiady) z klientem lub jego przedstawicielami, okreÅ›lenie celów przedsiÄ™wziÄ™cia z punktu widzenia klienta, okreÅ›lenie zakresu i kontekstu przedsiÄ™wziÄ™cia, ogólne okreÅ›lenie wymagaÅ„ wykonanie wstÄ™pnej analizy i projektu ogólne okreÅ›lenie wymagaÅ„ wykonanie wstÄ™pnej analizy i projektu systemu, propozycja kilku mo\liwych sposobów realizacji systemu, oszacowanie kosztów budowy systemu, analiza rozwiÄ…zaÅ„, prezentacja wyników analizy klientowi oraz korekta wyników, budowa wstÄ™pnego harmonogramu przedsiÄ™wziÄ™cia. K. Bartecki, In\ynieria oprogramowania, II/3 PrzykÅ‚ad Firma rachunkowa zajmuje siÄ™ przygotowywaniem formularzy zeznaÅ„ podatkowych dotyczÄ…cych podatku dochodowego dla indywidualnych podatników. Ze wzglÄ™du na rosnÄ…cÄ… liczbÄ… klientów, którzy głównie korzystajÄ… z usÅ‚ug Ze wzglÄ™du na rosnÄ…cÄ… liczbÄ… klientów, którzy głównie korzystajÄ… z usÅ‚ug firmy w okresie marca i kwietnia, kiedy ilość klientów jest najwiÄ™ksza, firma zdecydowaÅ‚a siÄ™ na zakup systemu informatycznego. Cele systemu: przyspieszenie obsÅ‚ugi klientów, zmniejszenie ryzyka popeÅ‚nienia bÅ‚Ä™du przy rozliczaniu podatku. K. Bartecki, In\ynieria oprogramowania, II/4 Zakres przedsiÄ™wziÄ™cia to okreÅ›lenie zakresu procesów zachodzÄ…cych w firmie, które zostanÄ… objÄ™te przedsiÄ™wziÄ™ciem programistycznym. Z reguÅ‚y obejmuje on jedynie pewien zakres dziaÅ‚alnoÅ›ci klienta. PrzykÅ‚ad (dla systemu informatycznego firmy rachunkowej) Zakres przedsiÄ™wziÄ™cia to dziaÅ‚alność firmy rachunkowej, dotyczÄ…ca przygotowywania formularzy zeznaÅ„ podatkowych odnoÅ›nie podatku dochodowego dla indywidualnych klientów. Na tym etapie mo\e nie być jasne, czy system powinien drukować formularz zeznania, czy tylko przygotowywać dane, które bÄ™dÄ… na formularzu umieszczane w tradycyjny sposób. K. Bartecki, In\ynieria oprogramowania, II/5 Kontekst przedsiÄ™wziÄ™cia to systemy, organizacje, u\ytkownicy zewnÄ™trzni, z którymi tworzony system informatyczny bÄ™dzie współpracowaÅ‚. PrzykÅ‚ad (dla systemu informatycznego firmy rachunkowej) PrzykÅ‚ad (dla systemu informatycznego firmy rachunkowej) Jedynym systemem zewnÄ™trznym, z którym system bÄ™dzie współpracowaÅ‚, bÄ™dzie u\ytkownik (pracownik firmy rachunkowej). K. Bartecki, In\ynieria oprogramowania, II/6 Ocena rozwiÄ…zaÅ„ W fazie strategicznej czÄ™sto rozwa\a siÄ™ kilka mo\liwych rozwiÄ…zaÅ„ realizacji systemu informatycznego, z których nastÄ™pnie wybiera siÄ™ jedno najlepsze. PrzykÅ‚adowe kryteria oceny jakoÅ›ci rozwiÄ…zaÅ„: koszt, czas realizacji, niezawodność, mo\liwość ponownego u\ycia, przenoÅ›ność na inne platformy, wydajność (szybkość). K. Bartecki, In\ynieria oprogramowania, II/7 Tabelaryczny zapis rozwa\anych rozwiÄ…zaÅ„ C A B RozwiÄ…zanie Koszt (tys. zÅ‚) 120 80 175 36 Czas (miesiÄ…ce) 33 30 Niezawodność (bÅ‚Ä™dy/tydzieÅ„) 5 9 13 Niezawodność (bÅ‚Ä™dy/tydzieÅ„) 5 9 13 Ponowne u\ycie (%) 40 40 30 90 75 30 PrzenoÅ›ność (%) Wydajność (transakcje/s) 0.35 0.75 0.75 Oszacowanie wartoÅ›ci podanych w tabeli mo\e być trudnym zadaniem. K. Bartecki, In\ynieria oprogramowania, II/8 Wybór rozwiÄ…zania usuniÄ™cie rozwiÄ…zaÅ„ zdominowanych, tj. gorszych wedÅ‚ug wszystkich (lub prawie wszystkich) kryteriów w podanym przypadku rozwiÄ…zaniem zdominowanym jest C, normalizacja wartoÅ›ci dla poszczególnych kryteriów, czyli sprowadzenie ich do przedziaÅ‚u [0,1], przypisanie wag do kryteriów (mo\e być trudne), wybór rozwiÄ…zania o najwiÄ™kszej wartoÅ›ci. K. Bartecki, In\ynieria oprogramowania, II/9 Ocena rozwiÄ…zaÅ„ za pomocÄ… sumy wa\onej waga B A RozwiÄ…zanie Koszt 0,58 1 3 2 Czas 0,5 1 Niezawodność 1 0,5 3 Niezawodność 1 0,5 3 Ponowne u\ycie 1 1 1 1 0,75 1,5 PrzenoÅ›ność Wydajność 0 0,62 0,75 7,74 9,17 AÄ…czna ocena K. Bartecki, In\ynieria oprogramowania, II/10 Szacowanie kosztów oprogramowania Na koszt tworzonego oprogramowania skÅ‚adajÄ… siÄ™ nastÄ™pujÄ…ce czynniki: koszt sprzÄ™tu bÄ™dÄ…cego częściÄ… tworzonego systemu, koszt wyjazdów i szkoleÅ„, koszt zakupu narzÄ™dzi, nakÅ‚ad pracy. Trzy pierwsze czynniki sÄ… stosunkowo Å‚atwe do oszacowania, natomiast ocena nakÅ‚adów pracy niezbÄ™dnych dla zrealizowania systemu jest bardzo trudna. Z tego wzglÄ™du szacowanie kosztów oprogramowania jest praktycznie to\same z szacowaniem nakÅ‚adów pracy. K. Bartecki, In\ynieria oprogramowania, II/11 Metody szacowania kosztów oprogramowania modele algorytmiczne np. model COCOMO, ocena przez eksperta doÅ›wiadczone osoby czÄ™sto z du\Ä… precyzjÄ… potrafiÄ… oszacować koszt realizacji nowego systemu, ocena przez analogiÄ™ wycena na podstawie wczeÅ›niej realizowanych przedsiÄ™wzięć, prawo Parkinsona przedsiÄ™wziÄ™cia, w tym programistyczne, praktycznie zawsze wykonywane sÄ… przy zaÅ‚o\onych nakÅ‚adach , wycena dla wygranej koszt oprogramowania szacowany jest na podstawie oceny mo\liwoÅ›ci klienta oraz przewidywanych dziaÅ‚aÅ„ konkurentów zgodnie z Prawem Parkinsona projekt i tak siÄ™ zmieÅ›ci w zaÅ‚o\onych ramach, szacowanie wstÄ™pujÄ…ce realizacjÄ™ przedsiÄ™wziÄ™cia dzieli siÄ™ na mniejsze zadania, których koszt jest Å‚atwiej ocenić. K. Bartecki, In\ynieria oprogramowania, II/12 Model COCOMO Model COCOMO (ang. Cost Construction Model) jest algorytmicznym modelem szacowania kosztów oprogramowania, opartym o szacowanÄ… liczbÄ™ instrukcji kodu, z których bÄ™dzie skÅ‚adaÅ‚ siÄ™ system. PowstaÅ‚ on w oparciu o informacje dotyczÄ…ce okoÅ‚o 60 projektów informatycznych o ró\nej zÅ‚o\onoÅ›ci (od 2 KDSI do 100 KDSI), napisanych w ró\nych jÄ™zykach programowania. 1 KDSI = 1000 linijek kodu zródÅ‚owego. K. Bartecki, In\ynieria oprogramowania, II/13 Wyra\enia pozwalajÄ…ce wyznaczyć nakÅ‚ad pracy zgodnie z modelem COCOMO przyjmujÄ… nastÄ™pujÄ…cÄ… postać: E = aÅ" KDSIb D = cÅ" Ed P = E / D gdzie: KDSI liczba tysiÄ™cy instrukcji kodu zródÅ‚owego, E nakÅ‚ad pracy (w osobomiesiÄ…cach), D czas potrzebny do wykonania projektu (w miesiÄ…cach), P liczba osób, przy której projekt bÄ™dzie najefektywniej zrealizowany, a, b, c, d współczynniki zale\ne od rodzaju (zÅ‚o\onoÅ›ci) projektu. K. Bartecki, In\ynieria oprogramowania, II/14 Typy projektów w modelu COCOMO Å‚atwy (ang. "organic") maÅ‚y zespół posÅ‚uguje siÄ™ znanymi narzÄ™dziami pracy. Zna on sprzÄ™t i oprogramowanie, przy u\yciu których bÄ™dzie tworzony projekt. Presja czasu jest maÅ‚a. Aatwe projekty sÄ… wielkoÅ›ci do 50 KDSI. projekty sÄ… wielkoÅ›ci do 50 KDSI. poÅ›redni (ang. "semi-detached"), to projekt, w którym jeden z czynników z projektu prostego nie jest znany, np. zespół nie zna sprzÄ™tu, który przyjdzie mu programować, itp. Takie projekty sÄ… zwykle wielkoÅ›ci do 300 KDSI. trudny (ang. "embedded"), to bardzo zÅ‚o\ony projekt, wiele czynników jest nieznanych lub nale\y uwzglÄ™dnić szczególne procedury, np. w bran\y bankowej. K. Bartecki, In\ynieria oprogramowania, II/15 WartoÅ›ci staÅ‚ych modelu COCOMO dla ró\nych typów projektów projekt c a b d Å‚atwy 2.4 2.5 0.38 1.05 3.0 1.12 poÅ›redni 2.5 0.35 2.5 0.32 trudny 3.6 1.2 Na przykÅ‚ad dla projektu Å‚atwego otrzymujemy: E = 2.4Å" KDSI1.05 D = 2.5Å" E0.38 K. Bartecki, In\ynieria oprogramowania, II/16 a) b) Oszacowania nakÅ‚adu pracy (a) oraz czasu trwania projektu (b) w modelu COCOMO K. Bartecki, In\ynieria oprogramowania, II/17 Metoda punktów funkcyjnych Metody szacowania rozmiaru systemu w oparciu o rozmiar linii kodu zródÅ‚owego sÄ… niedokÅ‚adne, zawodne, sprzyjajÄ…ce patologiom, np. sztucznemu pomna\aniu iloÅ›ci linii, ignorowaniu komentarzy, itp. Obecnie stosuje siÄ™ wiele miar o lepszych charakterystykach. Na przykÅ‚ad metoda punktów funkcyjnych oszacowuje koszt projektu na podstawie funkcji u\ytkowych, które system ma projektu na podstawie funkcji u\ytkowych, które system ma realizować. Metoda oparta jest na zliczaniu iloÅ›ci wejść i wyjść systemu, miejsc przechowywania danych i innych kryteriów. Te dane sÄ… nastÄ™pnie mno\one przez zadane z góry wagi i sumowane. Rezultatem jest liczba tzw. punktów funkcyjnych . IstniejÄ… przeliczniki punktów funkcyjnych na liczbÄ™ linii kodu, co mo\e być podstawÄ… dla metody COCOMO. K. Bartecki, In\ynieria oprogramowania, II/18 PrzykÅ‚adowy wstÄ™pny harmonogram przedsiÄ™wziÄ™cia informatycznego (tzw. diagram Gantta) K. Bartecki, In\ynieria oprogramowania, II/19 Rezultaty fazy strategicznej Przeznaczony dla klienta raport obejmujÄ…cy: definicjÄ™ celów przedsiÄ™wziÄ™cia, opis zakresu przedsiÄ™wziÄ™cia, opis kontekstu (systemów zewnÄ™trznych), ogólny opis wymagaÅ„, wstÄ™pny model systemu, opis proponowanego rozwiÄ…zania, oszacowanie kosztów, wstÄ™pny harmonogram prac. Raport oceny rozwiÄ…zaÅ„, zawierajÄ…cy informacje o rozwa\anych rozwiÄ…zaniach oraz przyczynach wyboru jednego z nich. Opis wymaganych zasobów pracownicy, oprogramowanie, sprzÄ™t. Harmonogram fazy analizy. K. Bartecki, In\ynieria oprogramowania, II/20 Faza okreÅ›lenia wymagaÅ„ Wymagania Projektowanie Implementacja Testowanie Konserwacja Instalacja Analiza Strategiczna Dokumentacja Jej celem jest dokÅ‚adne okreÅ›lenie wymagaÅ„ klienta wobec tworzonego systemu. K. Bartecki, In\ynieria oprogramowania, II/21 Faza okreÅ›lenia wymagaÅ„ szczegóły W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniajÄ…ce osiÄ…gniÄ™cie tych celów. Klient mo\e nie rozumieć oprogramowania, ale wie czego chce. Zadaniem analizy wymagaÅ„ jest okreÅ›lenie czego chce klient i opisanie tego w taki sposób, aby wytwarzanie mogÅ‚o toczyć siÄ™ dalej bez jego udziaÅ‚u. Podstawowym sposobem pracy jest wykonywanie wywiadów z ró\nymi osobami ze strony klienta sÄ… to z reguÅ‚y przyszli u\ytkownicy systemu. K. Bartecki, In\ynieria oprogramowania, II/22 TrudnoÅ›ci w okreÅ›leniu wymagaÅ„: klient nie wie, w jaki sposób osiÄ…gnąć zaÅ‚o\one cele, cele klienta mo\na osiÄ…gnąć na wiele sposobów, du\e systemy wykorzystywane sÄ… przez wielu u\ytkowników, których cele mogÄ… być sprzeczne, zleceniodawcy i u\ytkownicy to inne osoby nie zawsze sÄ… oni w stanie wÅ‚aÅ›ciwie przewidzieć potrzeby rzeczywistych u\ytkowników. K. Bartecki, In\ynieria oprogramowania, II/23 Poziomy opisu wymagaÅ„: definicja wymagaÅ„ (ang. requirement definition) ogólny opis sporzÄ…dzony w jÄ™zyku naturalnym ( System powinien& ), specyfikacja wymagaÅ„ (ang. requirement specification) zapis częściowo ustrukturalizowany, wykorzystujÄ…cy zarówno jÄ™zyk częściowo ustrukturalizowany, wykorzystujÄ…cy zarówno jÄ™zyk naturalny, jak i proste sformalizowane notacje (formularze), specyfikacja oprogramowania (ang. software specification) w peÅ‚ni formalny opis wymagaÅ„. Formalna specyfikacja oznacza dokÅ‚adne zdekomponowanie wymagaÅ„ (najlepiej w pewnym formularzu) na krótkie punkty, których interpretacja nie powinna nastrÄ™czać trudnoÅ›ci lub prowadzić do niejednoznacznoÅ›ci. K. Bartecki, In\ynieria oprogramowania, II/24 Zawartość typowego dokumentu opisu wymagaÅ„: Wprowadzenie cel, zakres i kontekst systemu, Opis ewolucji systemu opis przewidywanych zmian, Opis wymagaÅ„ funkcjonalnych, Opis wymagaÅ„ niefunkcjonalnych, WstÄ™pny model systemu (omówiony na kolejnych wykÅ‚adach), SÅ‚ownik opis terminów niezrozumiaÅ‚ych dla jednej ze stron. K. Bartecki, In\ynieria oprogramowania, II/25 Cechy dobrego opisu wymagaÅ„: jest kompletny oraz niesprzeczny, opisuje zewnÄ™trzne zachowanie systemu z punktu widzenia u\ytkownika, a nie sposób jego realizacji, uwzglÄ™dnia ograniczenia, przy jakich musi pracować system, jest Å‚atwy w modyfikacji, jest Å‚atwy w modyfikacji, opisuje zachowanie systemu równie\ w sytuacjach niepo\Ä…danych. Najbardziej typowy bÅ‚Ä…d w tej fazie: koncentrowanie siÄ™ na sytuacjach typowych i pomijanie wyjÄ…tków oraz przypadków granicznych. Zarówno u\ytkownicy, jak i analitycy majÄ… tendencjÄ™ do nie zauwa\ania sytuacji nietypowych lub skrajnych. K. Bartecki, In\ynieria oprogramowania, II/26 Rodzaje wymagaÅ„ wobec tworzonego oprogramowania funkcjonalne niefunkcjonalne opisujÄ… funkcje (czynnoÅ›ci), opisujÄ… ograniczenia, które system ma wykonywać przy których system ma wykonywać swoje funkcje K. Bartecki, In\ynieria oprogramowania, II/27 Wymagania funkcjonalne OkreÅ›lenie wymagaÅ„ funkcjonalnych obejmuje nastÄ™pujÄ…ce czynnoÅ›ci: okreÅ›lenie wszystkich rodzajów u\ytkowników, którzy bÄ™dÄ… korzystać z systemu, okreÅ›lenie wszystkich rodzajów u\ytkowników, którzy sÄ… niezbÄ™dni do dziaÅ‚ania systemu (obsÅ‚uga, wprowadzanie danych, administracja), do dziaÅ‚ania systemu (obsÅ‚uga, wprowadzanie danych, administracja), dla ka\dego rodzaju u\ytkownika okreÅ›lenie funkcji systemu oraz sposobów korzystania z planowanego systemu, okreÅ›lenie systemów zewnÄ™trznych (obcych baz danych, sieci, Internetu), które bÄ™dÄ… wykorzystywane podczas dziaÅ‚ania systemu, ustalenie struktur organizacyjnych, przepisów prawnych, statutów, zarzÄ…dzeÅ„, instrukcji, itd., które poÅ›rednio lub bezpoÅ›rednio okreÅ›lajÄ… funkcje wykonywane przez planowany system. K. Bartecki, In\ynieria oprogramowania, II/28 Fragment przykÅ‚adowego opisu wymagaÅ„ w jÄ™zyku naturalnym System powinien umo\liwiać wprowadzanie przechowywanie i drukowanie wielu wzorców tekstów umów zlecenia i umów o dzieÅ‚o (Å‚Ä…cznie co najmniej kilkunastu). Druk polegaÅ‚by na wybraniu jednego ze wzorców i jednego z zleceniobiorców. System powinien uzupeÅ‚nić wzorzec o dane zleceniobiorcy i umo\liwiać dodanie tekstu przez u\ytkownika. i umo\liwiać dodanie tekstu przez u\ytkownika. System powinien umo\liwiać drukowanie rachunków za wykonanie umowy zlecenie i umowy o dzieÅ‚o z wyliczonymi poprawnie wszystkimi jego elementami. System powinien uwzglÄ™dniać wszystkie zgodne z przepisami warianty naliczaniu ubezpieczeÅ„ spoÅ‚ecznych i podatków. & K. Bartecki, In\ynieria oprogramowania, II/29 Zalety opisu wymagaÅ„ w jÄ™zyku naturalnym: stosunkowo Å‚atwy do sporzÄ…dzenia, w peÅ‚ni zrozumiaÅ‚y przez klienta. Wady opisu wymagaÅ„ w jÄ™zyku naturalnym: niejednoznaczność utrudniajÄ…ca precyzyjny zapis wymagaÅ„ mo\e prowadzić to do ró\nej interpretacji tego samego tekstu przez ró\ne osoby, ta sama treść wyra\ona mo\e być na ró\ne sposoby utrudnia to wykrycie wymagaÅ„ powiÄ…zanych z sobÄ… oraz wymagaÅ„ sprzecznych. K. Bartecki, In\ynieria oprogramowania, II/30 PrzykÅ‚ad formularza opisu wymagania dla programu podatkowego Edycja dochodów podatnika Nazwa funkcji Funkcja pozwala edytować Å‚Ä…czne dochody podatnika Opis uzyskane w danym roku Informacje o dochodach podatnika uzyskanych z ró\nych zródeÅ‚, o zaliczkach na poczet podatku, o dokumentach Dane wejÅ›ciowe opisujÄ…cych dochody Dokumenty oraz informacje dostarczane przez podatnika. Dokumenty oraz informacje dostarczane przez podatnika. yródÅ‚o danych yródÅ‚o danych Dane wpisywane sÄ… przez pracownika firmy wejÅ›ciowych Wynik Kwota dochodu = kwota przychodu kwota kosztów. AÄ…czne kwoty przychodów, kosztów uzyskania, dochodów oraz zaliczek Warunek wstÄ™pny sÄ… sumami tych kwot dla dochodów z poszczególnych zródeÅ‚. Kwota dochodu = kwota przychodu kwota kosztów. AÄ…czne kwoty przychodów, kosztów uzyskania, dochodów oraz zaliczek Warunek koÅ„cowy sÄ… sumami tych kwot dla dochodów z poszczególnych zródeÅ‚. K. Bartecki, In\ynieria oprogramowania, II/31 PorzÄ…dkowanie wymagaÅ„ hierarchia wymagaÅ„ funkcjonalnych funkcja 1 funkcja 1 funkcja 1.1 funkcja 1.2 funkcja 1.3 funkcja 1.1 funkcja 1.2 funkcja 1.2.1 funkcja 1.2.1 funkcja 1.2.2 funkcja 1.2.2 funkcja 1.2.3 funkcja 1.2.3 funkcja 1.3 K. Bartecki, In\ynieria oprogramowania, II/32 PrzykÅ‚ad hierarchii funkcji dla systemu firmy rachunkowej Ewidencja podatników : Ewidencja UrzÄ™dów Skarbowych : Ewidencja zeznaÅ„ podatkowych Dodawanie zeznania Dodawanie zeznania Usuwanie zeznania Zabezpieczenie zeznania Edycja zeznania Edycja informacji o przychodach Edycja informacji o ulgach : WyÅ›wietlanie rozliczenia K. Bartecki, In\ynieria oprogramowania, II/33 PrzykÅ‚ad hierarchii funkcji dla systemu harmonogramowania zleceÅ„ ZarzÄ…dzanie zleceniami (ogólna funkcja systemu) Przygotowanie zamówieÅ„ na półprodukty Przygotowanie kart zadaÅ„ Ewidencja zleceÅ„ Edycja technologicznego opisu wydziaÅ‚u Harmonogramowanie zleceÅ„ Edycja opisu maszyn Ustalanie harmonogramu Wczytywanie informacji o zleceniach Edycja opisu operacji Edycja harmonogramu WyÅ›wietlanie informacji o zleceniach Edycja opisu wyrobów Graficzna prezentacja Wydruk harmonogramu informacji o zleceniach Sprawdzanie Wydruk harmonogramu kompletnoÅ›ci opisu Wydruk informacji technologicznych K. Bartecki, In\ynieria oprogramowania, II/34 Przypadki u\ycia sÄ… metodÄ… opisu funkcji systemu z punktu widzenia jego u\ytkowników. Przypadek u\ycia (ang. use case) to opis sekwencji dziaÅ‚aÅ„, majÄ…cej okreÅ›lony cel biznesowy, w trakcie którego realizacji zachodzi interakcja okreÅ›lony cel biznesowy, w trakcie którego realizacji zachodzi interakcja pomiÄ™dzy programem i jego u\ytkownikami. Przypadki u\ycia, w przeciwieÅ„stwie do wczeÅ›niej wymienionych metod, skupiajÄ… siÄ™ na interakcji pomiÄ™dzy u\ytkownikiem a systemem. Metoda przypadków u\ycia nie jest sprzeczna z hierarchicznÄ… dekompozycjÄ… funkcji. K. Bartecki, In\ynieria oprogramowania, II/35 Zasady stosowania przypadków u\ycia: istotność nie koncentrujemy opisów przypadków u\ycia na dziaÅ‚aniach mniej istotnych, nie majÄ…cych wa\nego celu biznesowego, kompletność opisane przypadki u\ycia powinny pokrywać wszystkie dziaÅ‚ania u\ytkownika, skala nie mno\ymy nadmiernie iloÅ›ci przypadków u\ycia opisujÄ…c oddzielnie jednostkowe czynnoÅ›ci które powinny być krokami w przypadkach u\ycia, niezale\ność je\eli jeden przypadek u\ycia zawiera przypadki podrzÄ™dne lub jest z nich zbudowany, to nale\y je wydzielić dla uproszczenia opisu. K. Bartecki, In\ynieria oprogramowania, II/36 Opis przykÅ‚adowego przypadku u\ycia UC1: Wystawianie faktury Aktor: Sprzedawca Główny scenariusz: 1. Sprzedawca chce wystawić fakturÄ™ 1. Sprzedawca chce wystawić fakturÄ™ 2. Sprzedawca wpisuje pozycjÄ™ faktury 3. System podlicza fakturÄ™, nadaje jej nowy numer i zapisuje w rejestrze 4. Sprzedawca drukuje fakturÄ™ Rozszerzenia: 3.A Sprzedawca nie dodaÅ‚ \adnej pozycji 3.A.1 System prosi o ponowne wprowadzenie pozycji K. Bartecki, In\ynieria oprogramowania, II/37 Graficzna notacja przypadku u\ycia wystawianie faktury sprzedawca aktor przypadek u\ycia asocjacja (rodzaj u\ytkownika) K. Bartecki, In\ynieria oprogramowania, II/38 PrzykÅ‚adowy diagram przypadków u\ycia restauracja K. Bartecki, In\ynieria oprogramowania, II/39 Wymagania niefunkcjonalne opisujÄ… ograniczenia, przy których system musi realizować swoje funkcje. Wymagania funkcjonalne mo\na podzielić na: dotyczÄ…ce produktu, np. musi istnieć mo\liwość przeglÄ…dania danych wyÅ‚Ä…cznie za pomocÄ… klawiatury , danych wyÅ‚Ä…cznie za pomocÄ… klawiatury , dotyczÄ…ce procesu, np. proces realizacji systemu harmonogramowania zleceÅ„ musi być zgodny ze standardem opisanym w okreÅ›lonym dokumencie . zewnÄ™trzne, np. projektowany system informatyczny musi współpracować z bazÄ… danych systemu komputerowego opisanego w okreÅ›lonym dokumencie . K. Bartecki, In\ynieria oprogramowania, II/40 Typowe wymagania niefunkcjonalne zwiÄ…zane sÄ… z m.in. bezpieczeÅ„stwem, wydajnoÅ›ciÄ…, awaryjnoÅ›ciÄ… systemu. UWAGA: Wymagania stwierdzajÄ…ce na przykÅ‚ad \e system powinien być: Å‚atwy w obsÅ‚udze, Å‚atwy w obsÅ‚udze, niezawodny, wydajny, nie sÄ… poprawnie okreÅ›lone, gdy\ nie mogÄ… być obiektywnie zweryfikowane. Dla wyra\ania tego typu wymagaÅ„ konieczne jest posÅ‚ugiwanie siÄ™ wielkoÅ›ciami mierzalnymi. K. Bartecki, In\ynieria oprogramowania, II/41 PrzykÅ‚ady miar sÅ‚u\Ä…cych do okreÅ›lenia wymagaÅ„ niefunkcjonalnych miary cecha liczba transakcji obsÅ‚u\onych w ciÄ…gu sekundy, wydajność czas odpowiedzi, szybkość odÅ›wie\ania ekranu wymagana pamięć RAM, rozmiar wymagana pamięć dyskowa czas niezbÄ™dny dla przeszkolenia u\ytkowników, czas niezbÄ™dny dla przeszkolenia u\ytkowników, Å‚atwość Å‚atwość liczba stron dokumentacji u\ytkowania czÄ™stotliwość wystÄ™powania bÅ‚Ä™dnych wykonaÅ„, niezawodność dostÄ™pność (procent czasu, w którym system jest dostÄ™pny) czas restartu po awarii systemu, odporność prawdopodobieÅ„stwo zniszczenia danych podczas awarii liczba platform docelowych, przenoÅ›ność Koszt przeniesienia na nowÄ… platformÄ™ K. Bartecki, In\ynieria oprogramowania, II/42 Rezultaty fazy okreÅ›lenia wymagaÅ„ Dokument opisujÄ…cy wymagania, zÅ‚o\ony z nastÄ™pujÄ…cych elementów: wprowadzenia opisujÄ…cego cele, zakres i kontekst systemu, opisu ewolucji systemu, tzn. przewidywanych zmian wymagaÅ„, opisu wymagaÅ„ funkcjonalnych, opisu wymagaÅ„ niefunkcjonalnych, modelu systemu, sÅ‚ownika danych. Plan testów. K. Bartecki, In\ynieria oprogramowania, II/43