Kravhantering IV2032 Kursintroduktion Föreläsning 1: Introduktion till kravhantering
Kursintroduktion
Föreläsare Utbildning: Doktor i Datavetenskap Forskning: Verksamhets och process modellering, tjänst modellering. Praktiska erfarenheter: Utveckling av objekt och komponentbaserade system (MS COM/DCOM/ MTS, C++, Java, J2EE EJB, etc.) Kontakt: jelenaz@dsv.su.se Jelena Zdravkovic 3
Kursens mål Kursens mål är at ge kunskaper och färdigheter i: Kravhanteringsprocessen Förståelse av basaktiviteterna i processen insamling, analys, förhandling och skrivning av krav. Utföring av RE Insamling, strukturering och motivering av systemkrav, från verksamhetsperspektiven. Praktisk kravhantering Övning av kravhantering genom olika roller, aktiviteter och tekniker. För en mer detaljerad beskrivning av kursmålen, kolla Kursbeskrivning i Daisy eller i FirstClass 4
Kursinformation och dokumenten Alla information och dokumenten kan hittas på: First Class konferensen REQ, och www.dsv.su.se/~jelenaz 5
Kursliteratur Kursbok: Requirements Engineering: Processes and Techniques, Gerald Kotonya and Ian Somverville, WILEY, ISBN: 0471972088 Föreläsningsbilder Givna artiklar 6
Kursverktyg Rational RequisitePro från Rational Enterprise Suite Tools 7
Schemat Kolla i Daisy: Föreläsningarna Lektionerna Gäst föreläsning Tentorna 8
Schemat 36 37 38 39 40 41 42 F1 F3 F4 F5 F6 F7 F8 F2 E1 E1 E2 E2 E3 E3 E4 E4 E5 E5 Projekt Handledning Kontroll 9
Kursaktiviteter Föreläsningar Lektioner Projektet (3,5p + bonus), i grupper av 2 Skriftlig tentan (4p), individuellt Alla kursaktiviteterna är samtyckta och betäcker kursmålen. 10
Frågor? 11
Föreläsning 1: Introduktion till kravhantering Kursbok: kapitel 1, kapitel 2
Föreläsningssyftet Syftet med denna föreläsning är att ge en introduktion till kravhantering och disciplinens huvudsakliga koncept. 13
Varför kravhantering behövs? (1) However well the system may appear to work at first, if it is not the system that users want or need, then it will be useless. - Rational (2) If we plan to build a new system, it is worthwhile to describe the problem to be solved separately from particular solutions. - Fundamentals of RE, S. Easterbrook 14
Innehåll Bakgrund, definitioner och rollen av kravhantering under systemutveckling Nyckel begrepp Översikt av kravhanteringsprocessen 15
Bakgrund aktuella trender Snabbtförändring av teknologier och ökade konkurrans pressar systemutveckling processen. Resultatet är en hög press att minska ned utvecklingsklivcykeln och leveranstiden. Dock, time to market inte förslår - det riktiga syftet är time to market with the right product Inrättning av korrekta krav möjliggör att komma överens om den rätta produkten och att visualisera den. Genom att strukturera och spåra systemkrav och hantera deras förändring, förbättrar vi chanser att komplettera ett projekt under givna tid och resurser, och som mest viktigast, leverera produkten vilken kunden vill verkligen ha. 16
Bakgrund typiska problem och konsekvenser Insamlade kraven reflekterar inte det riktiga kundbehovet för nya systemet. Krav är ofullständiga och/eller inkonsekventa. Missförstånd mellan kunder och kravhanterare. Addering av ej planerade förändringar till produktegenskaper. Oförmåga att spåra krav Varierande kravkällor Osv.. Kunder och användare är inte nöjda med systemet de använder inte alla systemfaciliteter eller de bestämmer att ersätta systemet med en annan lösning. Systemet kan bli opålitlig, dvs. inkludera båda logiska och tekniska problem. Systemet kan bli levererad sent eller kan kosta mer än det var förhandlad. Osv. 17
Bakgrund rapporter De vanligaste anledningarna för projektsuccén eller fel är inte tekniska! (Standish Group survey 95-96, published in Scientific American) Project success factors User involvement 15,9% Management support 13,9% Clear statement of requirements 13,0% Proper planning 9,6% Realistic expectations 8,2% Smaller milestones 7,7% Competent staff 7,2% Ownership 5,3% Reasons for project failure Incomplete requirements 13,1% Lack of user involvement 12,4% Lack of resources 10,6% Unrealistic expectations 9,9% Lack of executive support 9,3% Changing requirements 8,7% Lack of planning 8,1% Did not need it any longer 7,5% 18
Definitioner Ett krav beskriver en förutsättning eller förmåga vilken systemet bör stödja - - krav insamlas från användares behov och specificeras i kravkontrakten / något annat formell dokument. Nivåer av krav: Problem and solution spaces Requirements layer Domain View Role Stakeholders requirements System requirements Architectural design Problem domain Solution domain Solution domain Stakeholder s view Analyst s view Designer s view State what the stakeholders want to achieve through the use of system. Avoid ref. to an y particular solution. State abstractly how the system will meet the stakeholder requirements. Avoid ref. to any particular design. State how the specific design will meet the system requirements. 19
Roll av kravhantering Etablera bra kravhanteringsprocesser och kravledning så att minimera antalet av problem som kan få effekter på det nya systemet. Den kravhanteringsprocessen är en strukturerad mängd av aktiviteter för utveckling av systemkrav. Kravhanteringsprocessen styr insamling, kommunikation och samförstånd av kraven för det nya systemet. Kravledning är en process involverad i hantering av kravförändringar. Processen etablerar spårbarhet mellan krav som ligger på samma och olika nivåer. 20
Exampel Remiss hantering: Krav för nya systemet Systemet skulle kunna hantera patienter, deras behandlingar och skicka remisser till specialister (krav av stakeholder) Registrera patienter i en databas (systems funktionell krav) Mejla remiss (systems funktionella krav) Begränsa access till patientjournaler (systems ickefunktionell krav) 21
Innehåll Bakgrund, definitioner och rollen av kravhantering under systemutveckling Nyckel begrepp Översikt av kravhanteringsprocessen 22
Nyckel begrepp Stakeholders (intressenter) Kravspecifikation 23
Om stakeholders System stakeholders är individer eller organisationer som har direkt eller indirekt påverkan på systemkrav. Stakeholders inkluderar kunder, system användare, ledare och andra som är involverade i verksamhetsprocessen som ska automatiseras med ett IT system. Exampel ögonvård verksamhet inkluderar följande intressenter: Patienter Primär lekare Sjuksköterskor Sekreterare, osv. En av huvudsakliga uppgifter i kravhanteringsprocessen innebär identifikation av system stakeholders. 24
Om kravspecifikation Vanligen samlas krav i ett formellt dokument som kallas kravspecifikation. Den används för att kommunicera krav till kunder, användare, kravhanterare, projektledare, osv. Ett kravspecifikation vanligen inkluderar: Systemkrav som givna av stakeholdes Funktionerna som systemet borde tillhandahålla. Restriktionerna under vilka systemet borde fungera Ett antal av organisationer, som tex. IEEE och US Department of Defense har definierad mal för kravspecifikationer (kursbok, sida 18). Dock ingen standard är tillämplig. 25
Innehåll Bakgrund, definitioner och rollen av kravhantering under systemutveckling Nyckel begrepp Översikt av kravhanteringsprocessen Om kravhanteringsprocessen Aktiviteter i processen Aktörer i processen Stöd för processen Problem i processen 26
Om kravhanteringsprocessen Den kravhanteringsprocessen är en strukturerad mängd av aktiviteter vilka leder till tillverkning av en kravspecifikation vilken beskriver den nya systemet. Varför är det viktigt att ha en väl strukturerad process för samling av systemkrav? För bättre hantering av komplexa aktiviteter som inkluderar ett stor antal av krav. För processåterarvändning. 27
Aktiviteter i kravhanteringsprocessen Insamling Insamling av av krav krav Analys Analys och och förhandling förhandling av av krav krav Dokumentering Dokumentering av av krav krav Validering Validering av av krav krav Användare behov, domäns information, befintliga systems information, regler Krav ändring Kravspecifikation Förhandlade krav De flesta kraven kan beskrivas med presenterade processen. I praktiken, bedrivs processen iterativt, och aktiviteterna interfolieras. 28
Aktörer i kravhanteringsprocessen Aktörerna i kravhanteringsprocessen är de individerna som är involverade i genomföring av processen. Vanligen är aktörerna identifierade genom deras roller. Role Description Domain expert System end-user Requirements engineer Software engineer Project manager Responsible for providing information about the application domain and the problem which is to be solved. Responsible for using the system after delivery Responsible for eliciting and specifying system requirements Responsible for developing (prototype) software system Responsible for planning and estimating the prototyping project 29
Stöd för kravhanteringsprocessen Det finns en betydelsefull behov för att skaffa en automatiserad stöd för kravhantering så att möjliggöra: En effektivt strukturering, hantering och uppdatering av ett stor antal av krav. Bearbeting av krav på ett elektroniskbaserat sätt. Typiska egenskaper: Req. browser Req. query system NL requirements document Req. converter Requirements database Traceability support WP linker Report generator Traceability report Change control sys. Requirements report 30
Problem i kravhanteringsprocessen Brist av involvering av stakeholders förkommen av riktiga behov! Affärsbehov är inte beaktade krav är insamlad på en alltför låg nivå! Brist av kravledning kravändringar är inte korrekt hanterade! Problem i kommunikation med stakeholders den slut kravspecifikationen är inte begriplig och kan inte godkänns. Problemen i kravhanteringsprocessen leder till följande problem i systemutveckling och implementering. 31
Summering Vad är krav hantering för någonting? Varför behöver vi kravhantering? Vad innebär kravhanterings processen? Vilka är typiska problem i kravhantering? Vilka är huvud aktiviteter i kravhanterings processen? 32
Till nästa gång 33 3.Skriv ut Föreläsning 2 1.Repetera föreläsningen 2.Börja med at läsa kursboken