In 140 Forelesning Nr 7 Sommerville kap 5

Slides:



Advertisements
Liknende presentasjoner
Antalis-HQ BRUKERVEILEDNING FOR BESTILLINGER. Antalis, Europas ledende distributør av papir, emballasjeløsninger og dekor & display produkter, presenterer.
Advertisements

SuperOffice - Visma Global ERP link - Tilbud/Ordre SuperOffice - Visma Global integrasjonen består av 3 produkter. ERP link SuperOffice - Visma Global.
Hvordan etablere nettbutikk med GoOnline Commerce
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
“UNDER THE KNIFE” Et planleggingssystem for operasjonsavdelingen Fylkessykehuset i Molde Prototype for planlegging, logistikk, og kostnads estimering.
Praktisk info til prosjektkunder
IT For medisinsk sekretær Fredrikstad Kai Hagali
1 Tilgjengeliggjøring av elektroniske registre – idéer og problemstillinger Seminar om tilgængeliggørelse af elektroniske arkivalier, Skógar, Island,
10. Presenting Page Elements Presentere sideinformasjon.
Prosjektstyring In 140 Sommerville kap 4.
Målinger generelt •I et moderne samfunn brukes målinger i mange ulike sammenhenger •Eksempler: –Sammenligne priser, lønninger –Høyde: størrelse på klær.
Leselos Ordforråd/metakognisjon
Prototyping & Use Case Software Engineering Gruppe
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Kunstner: Oddmund Mikkelsen
Ideutvikling - Problemdefinisjonen. Hva gjør de erfarne problemløserne? •Samler og analyserer informasjon og data •Snakker med mennesker som kjenner problemet.
IS-102 Klassedefinisjoner
Databasehåndtering med MySQL
Oppgave gjennomgang Kap. 3 og 4.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Regneark II IN 102 Forelesning 4.
Prosjektstyring In 140 Sommerville kap 4.
Programvarekrav In 140 Sommerville kap 5. Introduksjon Ofte kompliserte situasjoner Vanskelig å stille enkle og klare krav til programvaren Kravspesifikasjonen.
Verifikasjon og validering
Programvare-prosesser
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
Introduksjon til systemutvikling
Kravanalyse og spesifikasjon
Hvordan skrive en god utredning?
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Human Factors (HF) i kontrollrom - En revisjonsmetode 2003
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Software Requirements Elicitation
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Mandag 8. November Powerpoint..
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
Konfigurasjonsstyring Configuration Management
Kvalitative og kvantitative metoder
Induktivt og deduktivt design, metodevalg.
Spørsmål og aktiviteter på ulike nivåer
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
11. Balancing technology with people’s needs Bruk av teknologi.
Objektorientert utforming In 140 Sommerville kap. 12.
1 Systemering In 140 forelesning nr. 2 Sommerville kap. 3.
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
Programvareendring del 1 In 140 Forelesning Nr 21 Sommerville kap 27, 1. Del.
Programvare- prosesser - del2 In 140 Forelesning nr. 4 Sommerville kap. 3.
Programvarekrav In 140 Sommerville kap 5. Introduksjon Ofte kompliserte situasjoner Vanskelig å stille enkle og klare krav til programvaren Kravspesifikasjonen.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Forskning – 3 grupper (OECD 1981) Grunnforskning Originale undersøkelser som har til hensikt å skape ny kunnskap og forståelse Karakteriseres ved at den.
Objektorientert design
Konstruksjon og Testing Torsdag 30. september 2004 Av Even Aasland Harald Ueland.
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Datakortet – Modul 3 Word 2003, Kap Modul 3.
Identifisere behov – og etablere krav
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Krav til rettslig grunnlag for behandling av personopplysninger
Fag / tema Digital kompetanse som støtte og verktøy i ulike fag på ulike trinn Trinn 3.trinn og oppover Elever skal få trening i å se mulighetene ved å.
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Dybdelæring – regneark B – Samarbeid
Utskrift av presentasjonen:

In 140 Forelesning Nr 7 Sommerville kap 5 Programvarekrav In 140 Forelesning Nr 7 Sommerville kap 5

Mål Forstå ideen bak brukerkrav og systemkrav og hvorfor de krever hver sin skrivemåte Forstå forskjellen mellom funksjonelle og ikkefunksjonelle krav Forstå to teknikker for å uttrykke systemkrav Strukturert naturlig språk Programmeringsspråkbasert beskrivelse Forstå hvordan kravspesifikasjonen kan organiseres i et kravspesifikasjonsdokument

Introduksjon Ofte kompliserte problem Vanskelig å stille klare krav til programvaren Begrepsforvirring – kravspesifikasjon Fra kunden: Generell og abstrakt binder ikke løsning Fra leverandøren:Konkret beskrivelse av hva han vil levere forpliktende og validerbar Derfor bør vi tydeliggjøre med to begrep Brukerkravspesifikasjon Systemkravspesifikasjon Programvareutformingsspesifikasjon

Kravspesifikasjonene Brukerkrav Naturlig språk og diagrammer Tjenester og rammer Systemkrav (Funksjonelle krav) Detaljert beskrivelse av tjenester og rammer Presist Grunnlag for kontrakt (Programvareutformingsspesifikasjon) Abstrakt utformingsbeskrivelse Mer detaljert enn systemkrav Overgang til utforming

Eksempel Brukerkravspesifikasjon Systemkravspesifikasjon 1 Programvaren må gi muligheter for å presentere og gi tilgang til filer som er lagd av andre verktøy Systemkravspesifikasjon 1.1 Brukeren skal utstyres med muligheter til å definere filtypen til eksterne filer 1.2 Hver ekstern filtype kan ha et tilhørende verktøy som kan brukes på fila 1.3 Hver ekstern filtype kan bli vist med et ikon i brukerens skjermbilde 1.4 Brukeren skal kunne velge hvilken ikon som skal knyttes til hver ekstern filtype 1.5 Når brukeren klikker på ikonet knyttet til en ekstern fil, skal virkningen være å bruke verktøyet på fila

Hvem leser spesifikasjonene? Kundens ledere Sluttbrukere Kundens systemutviklere Kontraktøres ledere Systemarkitetker Brukerkrav Sluttbruekere Kundens systemutviklere Systemarkitekter Programvareutviklere Systemkrav Programvare-utformings-spesifikasjon (Kundens systemutviklere) Systemarkitekter Programvareutviklere

Funksjonelle og ikke funksjonelle krav Hva skal systemet utføre Hvordan skal det reagere på forskjellige inndata Hvordan skal det håndtere forskjellige situasjoner Hva skal systemet ikke gjøre Ikke funksjonelle krav =Rammer Tid Utviklingsprosess Standarder Kvalitet Krav som gjelder for anvendelsesområdet Kan være funksjonelle og ikke funksjonelle

Funksjonelle krav Brukerkrav: Systemet skal samle inn og lagre statistiske data om tilstanden i anlegget. Systemkrav For hver detektor skal brukeren kunne slå av og på datalogging. Brukeren bestemmer også tid mellom målinger og antall målinger som skal lagres . Systemet skal lagre løpende gjennomsnitt av verdiene. Systemet skal beregne En melding på skjermen skal vise hva som er problemet Ved flere samtidige alarmer, skal de høyest prioriterte vises først Alarmene skrives ut ettervert som de oppstår med dato, klokkeslett og detektorens navn og plassering.

Funksjonelle krav - Bibliotekssystemeksempel Brukeren skal ha mulighet til å søke i alle eller et utvalg av databaser Systemet skal inneholde leseprogramvare som kan brukes til å lese dokumenter fra dokumentdatabasen Hver ordre skal tildeles et unikt ordrenummer (order_id) som brukeren kan kopiere til sin kontos lagerområde

Funksjonelle krav Kan skrives med varierende detaljering Mange problemer med uklar formulering Tidspressede utviklere velger minste motstands vei.=>Misfornøyde kunder og senere endringer, dyre endringer. Funksjonell kravspesifikasjon bør være komplett og konsistent Brukere har ulike synsvinkler

Ikke funksjonelle krav Systemegenskaper pålitelighet svartid lagringsbehov Rammer Begensninger ved IOenheter Krav til datarepresentasjon ved systemgrensesnitt Ikkefunksjonelle krav ofte kritisk Klassifisering Produkktkrav Organisatoriske krav Eksterne krav

Ikke funksjonelle krav Kan være vanskelige å verifisere Generelle mål vs målbare krav Kan gi grunnlag for krangel Eksempel krav til brukbarhet (usability) Som mål: Systemet skal være lett å bruke for erfarne operatører og skal organiseres slik at det blir minst mulig feilbetjening Som verisfiserbart krav: Erfarne operatører skal kunne bruke systemet etter to timers opplæring og etter dette skal de ikke gjøre mer enn gjennomsnittlig to feilbetjeninger per dag.

Måltall (Metrics) for ikkefunksjonelle krav Egenskap Mål Hastighet Utførte transaksjoner per sekund, Behandlede hits/s Bruker/hendelsesresponstid, Skjermoppfriskningstid Størrelse kB, MB Brukbarhet (Usability) Treningstid, Antall hjelpesider Gjennomsnittlig betjeningstid per transaksjon Pålitelighet MTBF Gjennomsnittstid mellom svikt Oppetid Robusthet MTTR,Gjenstarttid etter svikt Andel av hendelser som fører til svikt Portabilitet Andel av målavhengige setninger Antall mål

Ikkefunksjonelle krav Måltallene kan testes under systemtest Ikke alltid så lett i praksis Kunden klarer ikke å oversette krav til måltall Noen krav er vanskelige å måle Vedlikeholdbarhet Kan være kostbart Konsekvensen er en blanding av mål og verifiserbare krav Nyttig, men kan feiltolkes Kan komme i konflikt med hverandre eller funksjonelle krav Bør de skilles fra funksjonelle eller settes i sammenheng?

Krav for anvendelsesområdet (Domain requirements) Krav som er spesielle for anvendelsesområdet En bokført transaksjon skal ikke kunne slettes Opptatt oksygen beregnes som (Oi-Ou)*F/M Fagterminologi Utelatt informasjon

Brukerkrav Kravene skal være forståelige for brukere uten teknisk kunnskap Holde seg til ytre beskrivelse Ikke implementeringsdetaljer Naturlig språk – problemer Presist og utvetydig kan lett bli ordrikt og tunglest Lett å blande funksjonelle og ikke funksjonelle krav, systemmål og utformingsavgjørelser Flere krav kan lett bli uttrykt som en. For mye informasjon binder systemutvikleren Begrunnelser er viktig

Rutenett For å lette posisjonering av enheter på et diagram, kan brukeren slå på et rutenett i cm eller tommer via et valg på kontrollpanelet. Ved starten er rutenettet avslått. Rutenettet kan slås av og på når som helst under en editeringssesjon og man kan velge mellom cm og tommer når som helst. Rutenettopsjon blir også plassert i tilpass størrelse visnig, men antall rutenettlinjer vil bli redusert for å unngå å fylle det mindre arealet med rutenettlinjer. Blanding av bruker og systemkrav Varierende detaljeringsgrad

Retningslinjer ved skriving av brukerkrav Lag og følg et standardformat Eksempel: Startkravet i feit skrift, alltid begrunnelse og referanse til kravspek Konsistent språkbruk Skal og bør Kursiv på viktige deler av kravspesifikasjonen Unngå teknisk språkbruk

Systemkrav Mer detaljert enn brukerkrav Kan være grunnlag for kontrakt Komplett og konsistent Startsted for utviklingsarbeidet. Hva skal systemet gjøre – ikke hvordan det skal bygges. Startarkitektur kan være nødvendig Systemet skal fungere sammen med andre system Bruk av naturlig språk Krever felles vokabulær For stor fleksibilitet

Alternativer til naturlig språk Strukturert naturlig språk Begrenset naturlig språk Skjemabasert Objektsentrert, Funksjonssentrert eller Hendelsessentrert Beskrivelse av funksjon eller entitet Beskrivelse av inndata og kilde Beskrivelse av utdata og sluk Beskrivelse av tjenester som brukes. Pre og post betingelser Sideeffekter Design Description Language Grafiske beskrivelser Matematisk spesifikasjon

Kravspesifikasjon med PDL(Program description language) Beskrivelsesspråk laget på grunnlag av et programmeringsspråk. Nøyaktig beskrivelse av hendelsesforløp og reaksjoner Kan sjekkes automatisk Kan være for nær implementering Anbefales når: Anvendelsen består av sekvenser av enklere handlinger der bestemt rekkefølge er nødvendig Ved spesifikasjon av grensesnitt mellom subsystemer Fordel hvis leseren kjenner språket Klarere, lettere å forstå, lettere overgang til implementering, mindre mulighet for feiltolkning Ulemper Ikke egnet i alle situasjoner Krever kjennskap til programmeringsspråk Kan bli brukt feil: dvs som utformingsspesifikasjon Har sin plass i kombinasjon med strukturert språk

Grensesnittspesifikasjon Nesten alle systemer skal brukes sammen med eksisterende systemer Grensesnittspesifikasjonen tidlig inn Tre sider av grensesnittet spesifiseres: Prosedyrer Når eksisterende system har mange tjenester som kalles gjennom prosedyrer (API er) Kan beskrives med PDL Datastrukturer Kan beskrives med javabasert PDL eller ER-diagram Datarepresentasjon Noen detaljer kan ikke beskrives i Java

Kravspesifikasjonsdokumentet Offisiell dokumentasjon av kravene Inneholder brukerkrav og systemkrav Lesere er ledelsen i bestillerorganisasjonen prosjektleder systemutviklere testutviklere vedlikeholdere

Krav til kravspesifikasjonen (Henninger 1980) Bare ytre oppførsel Rammer for implementering Lett å forandre Egne seg som oppslagsbok for vedlikehold Bør vise omtanke for livssyklusen Bør vise hvordan feilhendelser håndteres

IEEE/ANSI 830 - 1993 Introduksjon Generell beskrivelse Formål for kravspesifikasjonen Produktets formål Definisjoner, akronymer og forkortelser Referanser Oversikt over resten av dokumentet Generell beskrivelse Produktperspektiv Produktfunksjoner Brukeregenskaper Generelle rammer Forutsetninger og avhengigheter Bestemte krav med Funksjonelle, ikke funksjonelle og grensesnittkrav. Størst, men ikke spesifisert pga store forskjeller i bransjen. Tillegg Indeks

Mulig standard basert på IEEE 830 Forord Definere lesere og versjonshistorie Introduksjon Behovet, funksjoner, andre systemer, plass i organisasjonens forretning Ordliste Forklaring av alle tekniske begrep. Noen av leserne er ikke teknisk kyndige. Brukerkravspesifikasjon Tjenester, funksjonelle og ikkefunksjonelle krav. Beskrives med tekst, kart og annen forståelig skrivemåte

Mulig standard basert på IEEE 830 forts. Systemarkitektur Oversikt med fordeling av funksjoner på moduler Systemkravspesifikasjon Funksjonelle og ikke funksjonelle krav mer detaljert. (Grensesnitt til andre systemer) Systemmodeller Dataflytmodeller, Objektmodeller og datamodeller viser systemet og forholdet til omgivelsene Systemevolusjon Forutsetninger og forutsette forandringer Tillegg Mer spesifikk informasjon: Kan være Maskinvarespesifikasjon databaser ... Indeks