INFORMATYKA EKONOMICZNA



Podobne dokumenty
WZORZEC SPECYFIKACJI WYMAGAŃ SYSTEMOWYCH DLA PRZEDSIĘWZIĘĆ DOSKONALENIA ISTNIEJĄCYCH SYSTEMÓW OPROGRAMOWANIA BIZNESOWEGO *

Maciej Oleksy Zenon Matuszyk

Inżynieria oprogramowania (Software Engineering)

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Procesowa specyfikacja systemów IT

INFORMATYKA EKONOMICZNA

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

INFORMATYKA EKONOMICZNA

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Opis przedmiotu zamówienia

INFORMATYKA EKONOMICZNA

Jakość w procesie wytwarzania oprogramowania

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Tom 6 Opis oprogramowania

INFORMATYKA EKONOMICZNA

INFORMATYKA EKONOMICZNA

Spis treści. Wstęp Część I. Rynek usług IT

WSPÓŁCZESNE KONCEPCJE ZARZĄDZANIA PRZEDSIĘBIORSTWEM

Inżynieria wymagań. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

Leszek Dziubiński Damian Joniec Elżbieta Gęborek. Computer Plus Kraków S.A.

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Wstęp Część 1. Systemy informacyjne zarządzania

Projekty BPM z perspektywy analityka biznesowego. Wrocław, 20 stycznia 2011

LISTA KURSÓW PLANOWANYCH DO URUCHOMIENIA W SEMESTRZE ZIMOWYM 2015/2016

REFERAT PRACY DYPLOMOWEJ

Projekt Kompetencyjny - założenia

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

Egzamin / zaliczenie na ocenę*

INFORMATYKA EKONOMICZNA

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 ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

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

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. 1. Cel szkolenia

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

Krytyczne czynniki sukcesu w zarządzaniu projektami

Wsparcie narzędziowe zarządzania ryzykiem w projektach

Tworzenie przypadków testowych

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Dobre wdrożenia IT cz. I Business Case.

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Jarosław Żeliński analityk biznesowy, projektant systemów

Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem przedsięwzięcia z wykorzystaniem metod sieciowych PERT i CPM

Łatwa czy niełatwa droga do celu? - wdrożenie COSMIC w ZUS

Analityk i współczesna analiza

Projektowanie oprogramowania

Wykład 1 Inżynieria Oprogramowania

MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

Program kształcenia i plan studiów podyplomowych: Zarządzanie projektami

tel. (+48 81) /22 fax (+48 81) Wykład Ćwiczenia Laboratorium Projekt

Specyfikowanie wymagań przypadki użycia

Opis metodyki i procesu produkcji oprogramowania

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

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

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Modelowanie i analiza systemów informatycznych

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Podstawy programowania III WYKŁAD 4

INFORMATYKA EKONOMICZNA

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Inżyniera wymagań

PRZEWODNIK PO PRZEDMIOCIE

WIEDZA I TECHNOLOGIE INFORMACYJNE NOWE TRENDY BADAŃ I APLIKACJI

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

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

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Przegląd problemów doskonalenia systemów zarządzania przedsiębiorstwem

Kogo kształcimy? analityków i projektantów gospodarczych systemów informacyjnych

Wydział Inżynierii Produkcji i Logistyki Faculty of Production Engineering and Logistics

Testowanie i walidacja oprogramowania

Koszty związane z tworzeniem aplikacji on demand versus zakup gotowych rozwiązań

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Tematy prac magisterskich Rok akademicki 2013/2014

1. Wybór systemu ERP. 2. Wzajemne relacje systemów ERP i BPMS.

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

INŻYNIERIA OPROGRAMOWANIA

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

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

PRZEWODNIK PO PRZEDMIOCIE

Narzędzia CASE dla.net. Łukasz Popiel

ZASTOSOWANIE TECHNOLOGII WIRTUALNEJ RZECZYWISTOŚCI W PROJEKTOWANIU MASZYN

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Inżynieria oprogramowania II

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Zarządzanie projektami - narzędzia, software, dokumentacja, metodyka PMBOK

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

1. KIERUNKI I KONCEPCJE ROZWOJU INFORMATYZACJI

Funkcjonalność oprogramowania Bazy Wiedzy i Repozytorium Politechniki Warszawskiej

E-I2SG-2010-s1. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Wprowadzenie w tematykę zarządzania projektami/przedsięwzięciami

Goal Question Metrics. Jarosław Kuchta Jakość Systemów Informatycznych

Transkrypt:

INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS 4(30) 2013 Wydawnictwo Uniwersytetu Ekonomicznego we Wrocławiu Wrocław 2013

Redaktorzy Wydawnictwa: Elżbieta i Tim Macauley, Joanna Świrska-Korłub Redaktor techniczny: Barbara Łopusiewicz Korektor: Barbara Cibis Łamanie: Małgorzata Czupryńska Projekt okładki: Beata Dębska Publikacja jest dostępna w Internecie na stronach: www.ibuk.pl, www.ebscohost.com, w Dolnośląskiej Bibliotece Cyfrowej www.dbc.wroc.pl, The Central European Journal of Social Sciences and Humanities http://cejsh.icm.edu.pl, The Central and Eastern European Online Library www.ceeol.com, a także w adnotowanej bibliografii zagadnień ekonomicznych BazEkon http://kangur.uek.krakow.pl/ bazy_ae/bazekon/nowy/index.php Informacje o naborze artykułów i zasadach recenzowania znajdują się na stronie internetowej Wydawnictwa www.wydawnictwo.ue.wroc.pl Kopiowanie i powielanie w jakiejkolwiek formie wymaga pisemnej zgody Wydawcy Copyright by Uniwersytet Ekonomiczny we Wrocławiu Wrocław 2013 ISSN 1507-3858 Wersja pierwotna: publikacja drukowana Druk: Drukarnia TOTEM Nakład: 200 egz.

Spis treści Wstęp... 9 Adio Akinwale, Joseph Shonubi, Adebayo Adekoya, Adesina Sodiya, Tosin Mewomo: Ontology of input validation attack patterns on web applications... 11 Zenon Biniek, Dariusz Szarmach: Technologie informatyczne w kontrolingu kosztów w ochronie zdrowia... 24 Dorota Buchnowska: Social business a conceptual framework... 44 Dorota Buchnowska: Analiza i ocena poziomu wykorzystania mediów społecznościowych przez największe polskie przedsiębiorstwa... 55 Beata Butryn, Robert Kutera: Evolution in the fundamental areas of the business operation of Polish companies related to the application of mobile technologies... 70 Andrzej Bytniewski, Marcin Hernes, Kamal Matouk: A universal model of knowledge conflict resolving using consensus methods in multi-agent decision support systems... 82 Andrzej Bytniewski, Marcin Hernes: Wykorzystanie standardu OPC w celu integracji modułów podsystemu zarządzania produkcją zintegrowanego systemu informatycznego zarządzania... 91 Iwona Chomiak-Orsa: Wykorzystanie technologii komunikacyjno-informacyjnych w inicjowaniu i kreowaniu kapitału relacyjnego... 105 Karol Chrabański: A model of transition from quality management systems to knowledge management systems in software developing organizations. 115 Karol Chrabański: Localisation and acquisition of knowledge in software developing organisations in the light of empirical research... 134 Wojciech Grzelak: Ontologia próba usystematyzowania pojęć... 159 Dorota Jelonek, Ilona Pawełoszek: Technologie semantyczne w zarządzaniu platformą otwartych innowacji... 169 Karolina Kuligowska, Mirosława Lasek: Text mining in practice: exploring patterns in text collections of remote work job offers... 181 Mirosława Lasek, Witold Lasek, Marek Pęczkowski: Od immunologii do modelowania, przetwarzania i analiz danych... 196 Józef B. Lewoc, Antoni Izworski, Sławomir Skowroński, Iwona Chomiak-Orsa: Modelling of a computer integrated manufacturing and management system as a tool of organization improvement... 226

6 Spis treści Artur Rot: Efektywność ekonomiczna w analizie ryzyka na potrzeby bezpieczeństwa systemów informatycznych... 240 Małgorzata Sobińska, Jakub Mierzyński: Outsourcing wiedzy akceleratorem zmian w kierunku odnowy przedsiębiorstw... 253 Grzegorz Tomala, Jarosław Wilk: Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia istniejących systemów oprogramowania biznesowego... 267 Michał Twardochleb, Tomasz Król, Paweł Włoch, Bartosz Kuka: Effectiveness of hybrid optimization methods in solving test problems and practical issues... 279 Bartosz Wachnik: Analiza przedsięwzięć informatycznych w modelach budowania wartości przedsiębiorstw. Podsumowanie badań z lat 2011-2012. 290 Radosław Wójtowicz: Metodyczne aspekty wdrażania systemów wspomagających pracę grupową w przedsiębiorstwie... 305 Summaries Adio Akinwale, Joseph Shonubi, Adebayo Adekoya, Adesina Sodiya, Tosin Mewomo: Ontologia wzorców sprawdzania ataków dotyczących poprawności danych wejściowych w aplikacji sieci Web... 23 Zenon Biniek, Dariusz Szarmach: Information technologies of costs controlling in health care... 43 Dorota Buchnowska: Biznes społecznościowy ramy pojęciowe... 54 Dorota Buchnowska: Analysis and assessment of use of social media by the largest Polish companies... 69 Beata Butryn, Robert Kutera: Ewolucja podstawowych obszarów działalności gospodarczej polskich przedsiębiorstw w kontekście wykorzystania technologii mobilnych... 81 Andrzej Bytniewski, Marcin Hernes, Kamal Matouk: Uniwersalny model rozwiązywania konfliktów wiedzy z wykorzystaniem metod consensusu w wieloagentowych systemach wspomagania decyzji... 90 Andrzej Bytniewski, Marcin Hernes: Using the OPC standard in order to integrate manufacturing management subsystem modules at integrated management information system... 104 Iwona Chomiak-Orsa: The use of ICT in initiating and creating relational capital... 114 Karol Chrabański: Model przejścia od systemów zarządzania jakością do systemów zarządzania wiedzą w organizacjach wytwarzających oprogramowanie... 131 Karol Chrabański: Lokalizacja i pozyskiwanie wiedzy w organizacjach wytwarzających oprogramowanie w świetle badań empirycznych... 155 Wojciech Grzelak: Ontology an attempt to systematize concepts... 168

Spis treści 7 Dorota Jelonek, Ilona Pawełoszek: Semantic technologies in the management of open innovation platform... 180 Karolina Kuligowska, Mirosława Lasek: Text mining w praktyce: odkrywanie wzorców w tekstach ofert pracy zdalnej... 195 Mirosława Lasek, Witold Lasek, Marek Pęczkowski: From immunology to modeling, processing and analysis of data... 225 Józef B. Lewoc, Antoni Izworski, Sławomir Skowroński, Iwona Chomiak- -Orsa: Modelowanie wydajności zintegrowanych systemów wytwarzania oraz zarządzania jako narzędzie doskonalenia organizacji... 239 Artur Rot: Economic efficiency in information systems security risk analysis. 252 Małgorzata Sobińska, Jakub Mierzyński: Outsourcing of knowledge as an accelerator of changes towards the enterprise renewal... 266 Grzegorz Tomala, Jarosław Wilk: Requirements specification pattern for business software systems development and enhancement projects... 278 Michał Twardochleb, Tomasz Król, Paweł Włoch, Bartosz Kuka: Skuteczność hybrydowych metod optymalizacji w rozwiązywaniu problemów testowych i zastosowaniach praktycznych... 289 Bartosz Wachnik: Analysis of IT projects in models of enterprise value building. A summary of research between 2010-2012... 303 Radosław Wójtowicz: Methodological aspects of implementation of groupware systems in an enterprise... 314

INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS 4(30) 2013 ISSN 1507-3858 Grzegorz Tomala Szkoła Główna Handlowa w Warszawie e-mail: tomala.grzegorz@gmail.com Jarosław Wilk Politechnika Warszawska e-mail: jaroslaw.wilk@ee.pw.edu.pl WZORZEC SPECYFIKACJI WYMAGAŃ SYSTEMOWYCH DLA PRZEDSIĘWZIĘĆ DOSKONALENIA ISTNIEJĄCYCH SYSTEMÓW OPROGRAMOWANIA BIZNESOWEGO * Streszczenie: Celem niniejszego artykułu jest zaproponowanie, w odniesieniu do przedsięwzięć rozwoju systemów oprogramowania biznesowego (Business Software Systems Development and Enhancement Projects), koncepcji uruchomienia prac analitycznych na dwóch poziomach szczegółowości: wysokim, opisującym zmiany, które wprowadza dany projekt, oraz niskim, opisującym wszystkie funkcjonalności od początku budowy systemu. Dla tak zaproponowanej koncepcji utworzono wzorce specyfikacji wymagań, w tym wzorce specyfikacji przypadków użycia, wymagań graficznych ekranu i metryki zmian. Słowa kluczowe: inżynieria oprogramowania, specyfikacja wymagań oprogramowania, analiza systemowa. 1. Wstęp Specyfikacja wymagań jest zbiorem wymagań; określa zakres funkcjonalności i ograniczenia zamawianego systemu. Specyfikacja wymagań może obejmować listę zdarzeń niepożądanych i wymagany algorytm odpowiedzi na te zdarzenia [Pressman 2010, s. 51]. Określenie wymagań oprogramowania jest tym etapem projektu informatycznego, gdzie stykają się interesy wszystkich jego udziałowców [Sacha 2010, s. 50; Wiegers 2003; Guide to the Software ], m.in.: * Artykuł zawiera obszerne fragmenty pracy dyplomowej jednego z autorów G. Tomali, zatytułowanej Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia istniejących systemów oprogramowania biznesowego, której promotorem był dr inż. Jarosław Wilk, napisanej na Politechnice Warszawskiej w 2012 r.

268 Grzegorz Tomala, Jarosław Wilk klientów, którzy finansują dany projekt, oczekując, że przyniesie im korzyści biznesowe, użytkowników, którzy będą korzystać z nowego systemu i liczą, że ułatwi on wykonywanie zadań, kierownika projektu odpowiedzialnego za oddanie gotowego produktu w określonym czasie i przy wykorzystaniu skończonych zasobów, deweloperów, którzy na podstawie wymagań konstruują gotowy system, testerów, dla których wymagania są wzorcem poprawnego działania systemu, dokumentalistów, tworzących instrukcje użytkownika i pliki pomocy, personelu prawnego czuwającego nad kwestiami prawnymi, analityków systemowych, którzy są odpowiedzialni za wyspecyfikowanie wyżej wymienionych wymagań. Specyfikacja wymagań jest swego rodzaju łącznikiem pomiędzy światem biznesu a światem projektu. Stanowi często załącznik do kontraktu na jej podstawie możemy oszacować wielkość zamówienia, a co za tym idzie pracochłonność danego projektu. D. Hamlet i J. Maybee wyrazili pogląd, że [Dick, Maybee 2003, s. 10]: w literaturze poświęconej inżynierii oprogramowania nie ma spójności nazw części opracowania oprogramowania. Panuje zgoda co do działań, jakie należy podjąć, ale nie na ile różnych etapów te działania powinny być podzielone i jak nazwać poszczególne etapy. Dlatego też autorzy niniejszego opracowania, bazując na własnych doświadczeniach zawodowych, przedstawili rekomendowany przebieg projektu informatycznego w podziale na poszczególne etapy i umiejscowili w nim etap specyfikacji wymagań (por. rys. 1), zgodnie z ogólnie przyjętą zasadą, że analiza wymagań jest pierwszym technicznym etapem w procesie wytwórczym oprogramowania. Jest ona podstawą dla kolejnych aktywności wykonywanych w projekcie [Pressman 2010, s. 294]. Rys. 1. Etapy życia projektu informatycznego

Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia... 269 Proces specyfikacji wymagań niesie ze sobą ryzyko zbudowania systemu, który nie spełnia wymagań zamawiającego. Program naprawczy może być długotrwały i kosztowny, dlatego też bardzo ważna jest wysoka jakość wyspecyfikowanych wymagań na każdym etapie życia projektu. Standish Group w swoich badaniach [The Standish Group 1995], przeprowadzonych wśród kadry menedżerskiej IT, dotyczących czynników sukcesu w projektach informatycznych, podaje, że 13% odpowiedzi wskazuje na jasne sformułowanie wymagań jako czynnik wpływający na sukces projektu, przy czym sukces rozumiany jest jako projekt zakończony w ramach zaplanowanego czasu, w granicach oszacowanego budżetu oraz zgodny z wymaganiami, co stawia ten czynnik na 3. miejscu (zaraz po zaangażowaniu użytkowników w działania projektowe i wsparciu projektu ze strony zarządu) wśród tych mających największy wpływ na powodzenie projektów informatycznych. Biorąc pod uwagę czynniki, które według respondentów opisywanego badania oddziałują na przekroczenie w projekcie planowanego czasu/budżetu/brak zgodności lub niską zgodność z wymaganiami, na 2. i 3. miejscu w rankingu plasują się czynniki odwołujące się do wymagań użytkownika; są to: odpowiednio niekompletna specyfikacja wymagań i zmiana w trakcie trwania projektu specyfikacji wymagań. Z kolei jako przyczyny całkowitego porzucenia projektów wyżej wymienione czynniki zajmują odpowiednio 1. i 6. pozycję. Kolejnym, ważnym argumentem, świadczącym o istotnej roli specyfikacji wymagań w procesie wytwórczym oprogramowania, jest zależność przedstawiona przez A. Davisa [Davis 1990, s. 13 ]: jeżeli koszt jednostkowy równy jeden jest przypisany wysiłkowi potrzebnemu do wykrycia i naprawienia błędu podczas etapu kodowania, to koszt wykrycia i naprawienia błędu podczas etapu określania wymagań jest mniejszy pięcio-, dziesięciokrotnie. Co więcej, koszt wykrycia i naprawienia błędu podczas etapu pielęgnacji oprogramowania jest dwadzieścia razy większy, co wskazuje, jak duży wpływ na koszty projektu może mieć jakość wyspecyfikowanych wymagań. Na podstawie doświadczenia zdobytego w projektach informatycznych autorzy niniejszego opracowania uważają, że ustandaryzowanie struktury dokumentu wymagań ułatwia zespołowi zorganizowanie swojej pracy i przyspiesza proces tworzenia specyfikacji. Celem artykułu jest zaproponowanie wzorca specyfikacji wymagań dla przedsięwzięć rozwoju systemów oprogramowania biznesowego. W tekście zostały opisane cechy dobrze wyspecyfikowanych wymagań zgodne z normą IEEE 830-1998, a dla wyżej wymienionych przedsięwzięć zaproponowano wzorzec specyfikacji wymagań systemowych. 2. Cechy dobrze wyspecyfikowanych wymagań Brakuje jednoznacznych cech dobrze wyspecyfikowanych wymagań cechy te są różnie przedstawiane przez różnych autorów. Dla większości badaczy dobre wyma-

270 Grzegorz Tomala, Jarosław Wilk gania charakteryzują się właściwościami, które pomagają utrzymać spójność działań i powodują, że dokumentacja wymagań jest maksymalnie przydatna w pozostałych etapach cyklu projektowego. Dobre praktyki i strukturę dokumentu specyfikacji wymagań opisuje standard IEEE 830 [830-1998 IEEE Recommended Practice ]. Według niego cechy dobrze wyspecyfikowanych wymagań powinny spełniać m.in. następujące założenia [830-1998 IEEE Recommended Practice ]: Poprawność Poprawność oznacza, że dane wymaganie wypełnia wszystkie lub część potrzeb biznesowych w ramach uruchomienia danego projektu. W celu określenia poprawności należałoby porównać specyfikację wymagań z innymi dokumentami projektu i standardami, które system musi przestrzegać. Jednoznaczność Specyfikacja jest jednoznaczna, gdy każde wymaganie w niej zawarte ma tylko jedną interpretację. Aby zapobiec wieloznaczności, dobrą praktyką jest zdefiniowanie słownika skrótów i pojęć, których znaczenie może być niejednoznaczne. Należy również używać formalnych metod opisu wymagań. Wymagania powinny być jednoznaczne dla osób zarówno je tworzących, jak i korzystających z nich w kolejnych etapach projektu. Kompletność Specyfikacja wymagań jest kompletna tylko wtedy, gdy spełnione są następujące warunki: zawiera wszystkie istotne wymagania (funkcjonalne i niefunkcjonalne), określa zachowanie systemu na każdy bodziec wejściowy (zarówno dla danych poprawnych, jak i niepoprawnych), nawiązuje do wszystkich diagramów, tabel, pojęć słownikowych. Wymagania zawierające zapisy typu: zostaną określone, do ustalenia (to be determined) należy uznać za niekompletne. Spójność Kryterium spójności oznacza, że jeżeli specyfikacja wymagań nie jest zgodna z dokumentem wyższego poziomu, to nie jest poprawna. Niespójność może wynikać m.in.: ze sprzecznych zapisów dotyczących tego samego obiektu (np. jedno wymaganie mówi, że dany raport powinien być prezentowany w formie tabelarycznej, natomiast drugie wymaganie że należy to uczynić w formie tekstowej), ze sprzecznych zapisów dotyczących logiki działania (np. jedno wymaganie mówi, że dany algorytm potrzebuje x danych wejściowych, natomiast drugie wymaganie, że danych wejściowych powinno być y), z używania różnych terminów do opisu tych samych obiektów. Priorytetyzajca Kryterium priorytetyzacji oznacza, że specyfikacja wymagań powinna być uporządkowana według istotności/stabilności wymagań ułatwia to pracę przy pro-

Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia... 271 jekcie i pozwala zidentyfikować kluczowe funkcjonalności. Określenie stabilności wymagań pomaga rozpoznać te obszary specyfikacji wymagań, w których prawdopodobieństwo zmian w trakcie życia projektu jest najmniejsze takie wymagania mogą być implementowane w pierwszej kolejności. Autorzy niniejszego opracowania uważają, że w specyfikacjach wymagań mogą być stosowane również inne kryteria priorytezyzacji od opisanych powyżej. Weryfikowalność Weryfikowalność wymagania oznacza, że w bezsporny sposób można stwierdzić, czy na podstawie danego wymagania powstał produkt końcowy, a także czy dany produkt końcowy został wykonany zgodnie z wymaganiem. Specyfikacja wymagań jest weryfikowalna, jeżeli wszystkie wymagania są weryfikowalne. Wymagania, które zawierają zapisy typu: będzie zachowywać się poprawnie, interfejs użytkownika będzie przyjazny itp., należy uznać za nieweryfikowalne. Modyfikowalność Specyfikacja wymagań jest modyfikowalna, jeżeli struktura i styl dokumentu pozwalają zmieniać wymagania w prosty, kompletny i spójny sposób. Elementy, które utrudniają modyfikację wymagań, są następujące: odwołania do danego wymagania znajdują się w wielu miejscach, struktura specyfikacji wymagań jest skomplikowana, wymagania w dokumencie zapisane są w sposób losowy. Możliwość śledzenia powiązań Możliwość śledzenia powiązań wymagań oznacza, że można sprawdzić pochodzenie poszczególnych wymagań (odwołanie się do dokumentu wyższego poziomu, na podstawie którego zostało utworzone dane wymaganie), a także znane są powiązania danego wymagania z innymi obiektami powstałymi na jego podstawie. 3. Przedsięwzięcia rozwoju systemów oprogramowania biznesowego koncepcja podziału prac analitycznych Przedsięwzięcia rozwoju systemów oprogramowania biznesowego (Business Software Systems Development and Enhancement Projects) można podzielić na [Czarnacka-Chrobot 2009, str. 29-42]: budowę systemu oprogramowania biznesowego (SOB) od podstaw wyjściowy zbiór funkcji SOB jest pusty, doskonalenie istniejącego SOB polegające na dodaniu/usunięciu/modyfikacji funkcji. W ramach doskonalenia istniejącego SOB (zakładając, że doskonalenia istniejącego SOB dokonujemy w ramach konkretnego projektu) należy uwzględnić uruchomienie prac analitycznych na dwóch poziomach szczegółowości: wysokim (High Level Definition HLD) oraz niskim (Low Level Definition LLD). W takim przypadku dokument wymagań HLD będzie dokumentem opisującym zmiany, które zostaną wprowadzone w ramach uruchomionego projektu. Będzie to specyfikacja

272 Grzegorz Tomala, Jarosław Wilk wymagań opisująca nowe funkcjonalności i modyfikację lub usunięcie już istniejących. Dokument ten będzie podlegał akceptacji oraz wersjonowaniu na etapie specyfikacji wymagań dokument powinien być konsultowany z zamawiającym dany SOB. Dokument LLD będzie natomiast dokumentem opisującym wymagania systemowe dla całego systemu, tj. specyfikacją dotychczasowych funkcjonalności wraz z uwzględnieniem zmian w ramach realizowanego projektu (por. rys. 2). Rys. 2. Proces specyfikacji wymagań systemowych dla koncepcji uruchomienia prac analitycznych na dwóch poziomach szczegółowości Rys. 3. Mapowanie wymagań HLD na wymagania LLD

Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia... 273 Zakres wymagań HLD zdefiniowany jest poprzez wymagania biznesowe dla konkretnego projektu. Specyfikacja wymagań LLD jest zatem o wiele bardziej obszerniejsza (zawiera funkcjonalności opisywane we wszystkich dokumentach HLD), jak również powinna być napisana o wiele bardziej szczegółowo niż na etapie HLD. Mapowanie wymagań HLD na wymagania LLD przedstawia rys. 3. Dopuszcza się, aby dokument wymagań HLD składał się z kilku poziomów, np.: HLD poziom 0, HLD poziom 1, HLD poziom N. Każdy z nich powinien być uszczegółowieniem poprzedniego. Takie podejście do pisania wymagań HLD sprawdza się podczas pracy nad dużymi projektami pozwala na przyrostowe uszczegóławianie wymagań. Wadą omówionego podejścia jest wydłużenie czasu specyfikowania wymagań (zakładając niezmienne zasoby). Podział specyfikacji wymagań HLD na dwa poziomy: 0 i 1, przedstawia rys. 4. Rys. 4. Podział specyfikacji wymagań HLD na dwa poziomy: 0 i 1 Wzorzec wymagań HLD Dokument wymagań HLD powinien m.in. opisywać przypadki użycia systemu, wymagania niefunkcjonalne i graficzne projekty ekranu. Wzorzec dokumentacji przypadków użycia Przypadki użycia podane w dokumencie HLD powinny opisywać zmiany, które wprowadza dany projekt. Przypadek użycia powinien mieć unikatowy identyfikator i nazwę odpowiadającą czynnościom, które opisuje. Powinien zawierać także scenariusz główny (sekwencja kroków, która musi zostać wykonana, aby osiągnąć cel dla danego przypadku użycia), a także scenariusze alternatywne. Może on zawierać również dodatkowe informacje dotyczące opisywanej funkcjonalności (Priorytet, Aktorzy, Warunki wstępne, Warunki końcowe itp.). Tabela 1 przedstawia zaproponowany wzorzec dokumentacji przypadków użycia na etapie specyfikacji wymagań HLD.

274 Grzegorz Tomala, Jarosław Wilk Tabela 1. Zaproponowany wzorzec dokumentacji przypadków użycia na etapie specyfikacji wymagań wysokiego poziomu Identyfikator Nazwa Priorytet Opis Aktor główny Aktorzy pozostali Warunki wywołania Rezultat wykonania Dane wejściowe Dane wyjściowe Scenariusz główny Scenariusze alternatywne Wymagania powiązane Uwagi Wzorzec dokumentacji graficznych projektów ekranu Każdy prototyp okna, oprócz projektu graficznego, powinien zawierać również opis poszczególnych elementów znajdujących się na formatce, uwzględniając: typ elementu, wartości początkowe, sposób wyliczenia, warunki aktywności, a także reakcje systemu na niepożądane działanie (por. tab. 2). Tabela 2. Wzorzec opisu pól graficznego projektu ekranu na etapie specyfikacji wymagań wysokiego poziomu Element Typ elementu Wartość początkowa / sposób wyliczenia Warunki aktywności Opis Typ elementu oznacza rodzaj danego elementu. Może to być m.in. button, text box, checkbox, radiobutton, drop-down list. W przypadku elementów prezentujących wybrane informacje (m.in. text box, drop-down list) możliwe jest zdefiniowanie wartości początkowych/domyślnych, które będą widoczne podczas prezentacji danego elementu. Każdy z elementów powinien mieć określone warunki aktywności, określające widoczność i możliwości wywołania lub modyfikacji danego elementu z poziomu graficznego interfejsu użytkownika (Graphical User Interface GUI).

Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia... 275 Ważnym zagadnieniem jest określenie walidacji pól i reakcji systemu na niepożądane działanie (por. tab. 3). Może to mieć miejsce m.in. w sytuacji, kiedy dane pole tekstowe może przyjmować wyłącznie określony zbiór wartości, a użytkownik wprowadził wartość, która jest poza danym zbiorem. Reakcją na takie działanie może być na przykład wyświetlenie komunikatu z dedykowaną informacją. Tabela 3. Wzorzec opisu walidacji pól graficznego projektu ekranu na etapie specyfikacji wymagań wysokiego/niskiego poziomu Element Rodzaj operacji wykonanej na elemencie Walidacja, która wywoła reakcję Reakcja W specyfikacji graficznych interfejsów użytkownika powinna znaleźć się również informacja o tzw. funkcjonalnościach wywoływanych, tj. o przypadkach użycia lub graficznych interfejsach użytkownika możliwych do wywołania z poziomu danego ekranu (por. tab. 4). Tabela 4. Wzorzec opisu funkcjonalności wywoływanych z poziomu graficznego projektu ekranu na etapie specyfikacji wymagań wysokiego/niskiego poziomu Sposób wywołania Opis działania Wzorzec metryki zmian Metryka zmian służy do rejestrowania informacji o zmianach dokonanych w poszczególnych przypadkach użycia systemu, wymaganiach niefunkcjonalnych oraz graficznych projektach ekranu. Metryka zmian powinna być nierozłączną częścią każdego wymagania. Powinna przechowywać najważniejsze informacje administracyjne, m.in. autora, datę utworzenia i ewentualnie daty i przyczyny modyfikacji danego wymagania (por. tab. 5). Tabela 5. Wzorzec metryki zmian Data zmiany Źródło zmiany Imię i nazwisko osoby modyfikującej Szczegóły zmiany

276 Grzegorz Tomala, Jarosław Wilk Wzorzec wymagań LLD Wymagania LLD są bardziej szczegółowe niż wymagania HLD i obejmują całościowy opis systemu. Szczegółowość polega m.in. na odniesieniu się do modelu klas, a dla przypadków użycia na uwzględnieniu wszystkich scenariuszy alternatywnych. Wzorzec dokumentacji przypadków użycia Podobnie jak na etapie HLD, przypadek użycia powinien posiadać unikalny identyfikator (różny od identyfikatora z poziomu HLD), nazwę odpowiadającą czynnościom, które opisuje, scenariusze główne i alternatywne. Może on zawierać również dodatkowe informacje (tzw. atrybuty) dotyczące opisywanej funkcjonalności. Atrybuty te mogą być analogiczne do atrybutów na etapie HLD. Wzorzec dokumentacji graficznych projektów ekranu Graficzne projekty ekranów opisywane w dokumencie LLD powinny przedstawiać wygląd aktualnych graficznych interfejsów użytkownika. Co do swojej konstrukcji i sposobu prezentacji nie powinny różnić się od projektów z dokumentu HLD. Podobnie jak w przypadku HLD dla opisu elementów prezentujących wybrane informacje możliwe jest zdefiniowanie wartości początkowych/domyślnych. Każdy z elementów powinien mieć także określone warunki aktywności. Dodatkową informacją, która powinna znaleźć się na etapie specyfikacji LLD, jest odwołanie do modelu klas (jeśli on istnieje). Wzorzec ten przedstawia tab. 6. Tabela 6. Wzorzec opisu pól graficznego projektu ekranu na etapie specyfikacji wymagań niskiego poziomu Element Odwołanie do modelu klas Typ elementu Wartość początkowa/ sposób wyliczenia Warunki aktywności Opis Określenie walidacji pól, reakcji systemu na niepożądane działanie i informacja o funkcjonalnościach wywoływanych powinny znaleźć się również na etapie LLD sposób opisu nie powinien się różnić od tego w HLD (por. tab. 3 i 4). Wzorzec metryki zmian Metryka zmian na etapie LLD powinna umożliwić rejestrowanie informacji o zmianach dokonanych w poszczególnych przypadkach użycia systemu, wymaganiach niefunkcjonalnych i graficznych projektach ekranów, a także nieść informację o projekcie, w ramach którego dana zmiana została wykonana. Wzorzec metryki zmian na etapie specyfikacji wymagań LLD przedstawia tab. 7.

Wzorzec specyfikacji wymagań systemowych dla przedsięwzięć doskonalenia... 277 Tabela 7. Wzorzec metryki zmian na etapie LLD Data zmiany Źródło zmiany Imię i nazwisko osoby modyfikującej Szczegóły zmiany Nazwa projektu 1 Nazwa projektu 2 4. Podsumowanie Podział prac analitycznych w ramach projektu doskonalenia istniejącego systemu oprogramowania biznesowego na wymagania wysokiego i niskiego poziomu wydaje się zasadny. Podejście takie sprawdza się podczas pracy nad dużymi projektami, wymagającymi szczegółowej analizy. Modyfikacja zakresu w trakcie trwania projektu pozwala na zmianę wymagań w prosty, kompletny i spójny sposób. Ponadto przy omówionym podejściu specyfikacja wymagań staje się bardziej przejrzysta pozwala szybko zapoznać się z treścią wymagań. Dodatkowo specyfikacja wymagań opisująca zmiany, które wprowadza konkretny projekt, pozwala na dokładniejsze szacowanie zakresu produktu, a co za tym idzie pracochłonności, kosztów i czasu realizacji danego projektu. Zastosowanie takiego podejścia przy niedużych i mało skomplikowanych projektach nie jest konieczne wydłuża jedynie czas specyfikowania wymagań (zakładając niezmienne zasoby). Literatura 830-1998 IEEE Recommended Practice for Software Requirements Specifications. Czarnacka-Chrobot B., Wymiarowanie funkcjonalne przedsięwzięć rozwoju systemów oprogramowania wspomagających zarządzanie, Szkoła Główna Handlowa w Warszawie Oficyna Wydawnicza, Warszawa 2009. Davis A., Software Requirements Analysis & Specification, Prentice-Hall, International Edition, 1990, s. 13, [w:] D. Leffingwell, D. Widriga, Zarządzanie wymaganiami, Wydawnictwa Naukowo-Techniczne, Warszawa 2000. Dick H., Maybee J., Podstawy techniczne inżynierii oprogramowania, Wydawnictwa Naukowo-Techniczne, Warszawa 2003. Guide to the Software Engineering Body of Knowledge 2004 Version, red. A. Abran, J. Moore, P. Bourque, R. Dupuis, IEEE Computer Society.

278 Grzegorz Tomala, Jarosław Wilk Leffingwell D., Widrig D., Zarządzanie wymaganiami, Wydawnictwa Naukowo- Techniczne, Warszawa 2000 Nawrocki J., Materiały z wykładu Zaawansowana inżynieria oprogramowania, http://wazniak.mimuw. edu.pl/index.php?title=zio-8-wyk-toc. Pressman R., Software Engineering: A Practitioner s Approach, McGraw Hill, Boston 2010. Sacha K., Inżynieria oprogramowania, Wydawnictwo Naukowe PWN, Warszawa 2010. The Standish Group Report, Chaos, The Standish Group International 1995. Wiegers K., Software Requirements, Microsoft Press, Washington 2003. REQUIREMENTS SPECIFICATION PATTERN FOR BUSINESS SOFTWARE SYSTEMS DEVELOPMENT AND ENHANCEMENT PROJECTS Summary: The aim of the paper is to propose the concept of analytical work for Business Software Systems Development and Enhancement Projects on two levels of detail: a high level, which describes changes introduced by a new project, and at low level, which describes all functionalities of a system (including those which had been in use before the project concept was created). Requirements specification patterns were proposed for use case specification, graphical user interface and metric changes. Keywords: software engineering, software requirements specifications, requirements analysis.