F3-Dokumentering av krav Flashcards
Kravdokumentet (kravspecifikationen) är en systematiskt representerad samling av krav. De viktigaste fördelarna är:
Persistens - under ett projekt insamlas en stor mängd av krav vilket intressenter knappast kan memorera och reflektera.
Gemensam referensram och kontrakt - gemensam information finns tillgänglig och delas bland alla projektdeltagare.
Främjar kommunikation – gemensama dokumentet främjar diskussioner, därmed förbättrar kommunikationen i projektet.
Främjar objektivitet - skriftligt informationsutbyte är mindre sårbart än verbalt utbyte för subjektiva tolkningar.
Hjälper till att hitta fel - eftersom informationen dokumenteras systematiskt hjälper det att identifiera inkonsekvenser.
Grund för systemutveckling, test, användning och förvaltning – kravspecifikationen används i alla dessa faser som informationskällan om systemet.
Grund för kravstyrning – vid förändring av krav framkallar kravdokumentet påverkan till de andra specificerade kraven.
Dokumentering med användning av verktyg möjliggör:
Unik identifiering av krav och i olika format (text, modeller, blider)
En effektiv strukturering, hantering och uppdatering av ett stort antal krav.
Sökning av olika krav, olika vyer och rapporter.
Det finns tre olika språk i vilket krav formuleras i. Vilka?
Informell, semiformell, formell.
Informell:
närkravenuttrycksiettnaturligtspråkutan innehållsbegränsningar.
Semiformell:
när kravet uttrycks a) i en strukturerad och / eller begränsad form av ett naturligt språk, eller b) när text och modeller kombineras (exempel - UML).
Formell:
när kravet uttrycks i ett fastställt språk med tydliga termer och semantik. Formella språk uttrycks med symboler och formler som exakt definierar syntaxen (vad som skrivs) samt semantiken (meningen om det som skrevs).
Fördelar och nackdelar med informellt (naturligt) språk?
Viktiga fördelar:
Universal: kan användas i alla problemområde eller domäner Flexibel: godtyckliga abstraktioner och förfiningar
Begriplig: ingen utbildning eller specialverktyg behövs
Viktiga nackdelar:
Under-specifikation: detaljer kan missas
Fel av naturligt språk: tvetydighet - olika tolkningar Vaga termer: suddiga definitioner
För att minska tvetydigheten av naturliga språk använder man sig av:
Modellerade krav: modellbaserade krav (konceptuella modeller) ger mer kompakta beskrivningar än NL; de är mindre tvetydiga än NL; men de kräver kunskap om modellering. När kravet uttrycks med hjälp av modeller uttrycker det vanligtvis ett enda perspektiv (data eller funktionalitet, osv.)
b. Kontrollerat språk – för en specifik domän definieras en begränsad naturlig språk grammatik (syntax) och en uppsättning av termer (inklusive deras semantik) som ska användas med den begränsade grammatik. Viktiga fördelar:
Krav är lätta att förstå, eftersom de liknar uttrycken i de naturliga språk
Uttryck är mindre tvetydiga än i naturliga språk eftersom de har en
strukturerad syntax och en förenklad grammatik.
Gör det lättare att läsa krav, och (semi) -automatisera deras ytterligare bearbetning (för utveckling).
Den semiformella strukturen som ska användas under tentan:
Subjekt (substantiv): “system”* eller ansvarig aktör (läkare)
- Process (verb): registrera, skicka, visa, söka, osv.
- Objekt (substantiv): patient, kund, student, order, faktura, osv.
- Objekts detaljer (substantiv): patients ID, namn, adress.
- När?: logiska / tids förusättningar under vilka processen ska tillhandhållas.
Kvalitetskriterier för individuella krav är:
1) Komplett: kravet måste helt beskriva funktionaliteten (eller kvalitet) som kravet specificerar.
2) Spårbar: kravs källa, genomförande, och relation till andra krav kan spåras.
3) Nödvändigt: kravet är bekräftad (överens) som korrekt av intressenterna.
4) Entydigt: kravet kan tolkas på ett enda sätt.
5) Begripligt: kravet är begripligt för alla berörda parter.
6) Konsekvent: kravet får inte stå i konflikt med andra krav, eller till sig själv
7) Kontrollbart: kravet kan testas eller mätas i implementerade systemet
8) Genomförbart: det måste vara möjligt att genomföra kravet med tanke på de organisatoriska, juridiska, ekonomiska eller tekniska begränsningar.
9) Ett resultat: kravet beskriver en enda (affärs)process.
Hur är det vanligt att göra idag?
2 nivåer av systemkrav dokumenteras vanligtvis:
1. “Intressenters” (användares) krav för system:
Kraven som anges av intressenterna.
De är ofta uttrycks med hjälp av text, dvs naturligt språk, eller med hjälp av en strukturerad version av NL (dvs. ”lätt semi-formellt”)
Skiljer inte mellan funktionella och icke-funktionella krav.
2. Funktionella och icke-funktionella krav:
De mappas från intressenters krav.
Funktionella krav är typiskt modellbaserade (AF, domän modeller, osv) för att kunna tolkas enklare/snabbare av systemutvecklare och även att kunna automatiskt bearbetas (”stark semi-formellt”)
Icke-funktionella krav kan typiskt inte modelleras, dvs. de behålls i from av strukturerad text.