Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Programmering og systemudvikling

Lignende præsentationer


Præsentationer af emnet: "Programmering og systemudvikling"— Præsentationens transcript:

1 Programmering og systemudvikling
Lektion 3 Funktionalitetssyn Ó Bennedsen 2001 Programmering og systemudvikling

2 Programmering og systemudvikling
Målsætning Anvendelsesområdet Brugsmønstre hvad er det? hvad er formålet med brugsmønstre? skabelon for et brugsmønster hvad er et godt brugsmønster? hvordan anvendes brugsmønstre igennem et OOSU forløb? Hvorfor er det ”hot” at snakke om brugsmønstre. Funktioner – hvad er det, hvad bruges de til. Ó Bennedsen 2001 Programmering og systemudvikling

3 Programmering og systemudvikling
Målsætning (2) Supermarkedsprincippet objekt- og listebilleder. Specialbehovsbilleder. Anvendelse af klassemodellen som basis for en prototype og sammenhængen mellem klassemodel og - grænseflade. Ó Bennedsen 2001 Programmering og systemudvikling

4 Aktiviteter i analyse af anvendelsesområdet
brug System- definition og problem- område grænseflade Funktioner krav Ó Bennedsen 2001 Programmering og systemudvikling

5 Programmering og systemudvikling
Brug Vi skal skabe et edb-system der er tilpasset anvendelsesområdet ingen urimelige tilpasninger af arbejdet til edb-systemet ingen dyre modifikationer af andre edb-systemer og apparater Et edb-systems anvendelsesområde fastlægges ved brugsmønstre Ó Bennedsen 2001 Programmering og systemudvikling

6 Hvad er et brugsmønster?
Beskriver interaktionsmønstrene med systemet En sekvens af transaktioner fra/til en eller flere aktører En beskrivelse af mulige scenarier hvad aktøren oplever systemet skal gøre kun mulige funktioner for aktøren Aktør Brugsmønster Ó Bennedsen 2001 Programmering og systemudvikling

7 Brugsmønster principper
Et edb-systems anvendelsesområde fastlægges ved brugsmønstrene Brugsmønstre vurderes i prototyper i samarbejde med brugerne Vurder edb-systemets indvirken på anvendelsesområdet Ó Bennedsen 2001 Programmering og systemudvikling

8 Programmering og systemudvikling
Aktører Eksterne ting der interagerer med systemet (og stiler derfor krav!) Eksempler personer andre systemer ydre enheder,... Ó Bennedsen 2001 Programmering og systemudvikling

9 Programmering og systemudvikling
Aktører (2) aktør 2 Stillingsbetegnelser er brugbare, men tænk hellere i roller Hvordan kommer informationer til systemet? Hvem/hvad skal have information fra systemet? Aktive/passive aktører nogle use cases igangsættes ikke af en aktør (tiden, batchafvikleren, ..) Ó Bennedsen 2001 Programmering og systemudvikling

10 Brugsmønstre set som klasser
Et brugsmønster beskriver alle sæt af transaktions scenarier (for den givne funktionalitet) Et brugsmønster er som en klasse Kan instantieres En forekomst af en brugsmønster har de samme karakteristika som et objekt tilstand (hvor langt den er nået, systemets tilstand) operationer (start use case,…) Ó Bennedsen 2001 Programmering og systemudvikling

11 Programmering og systemudvikling
Scenarie  En specifik samling af hændelser/events mellem systemet og aktøren/aktørerne Kan generaliseres til et brugsmønster (objekt  klasse) Beskriv dem grundigt  gode testcases Ó Bennedsen 2001 Programmering og systemudvikling

12 Hvad er et brugsmønster IKKE?
Detaljer om hvad systemet gør internt En formaliseret beskrivelses teknik Ó Bennedsen 2001 Programmering og systemudvikling

13 Systemafgrænsning med brugsmønstre
Definer systemets aktører og de brugs-mønstre som de forventes at skulle løse System = brugsmønstre Ó Bennedsen 2001 Programmering og systemudvikling

14 Programmering og systemudvikling
Målgrupper Brugsmønstrenes primære målgruppe er aktørerne skal kunne læses af ikke edb-folk (hvis det er ikke edb-aktører :-) skal kunne forstås af edb-folk brug terminologi fra genstandsområdet Ó Bennedsen 2001 Programmering og systemudvikling

15 Strukturering af brugsmønstre
”Factor out common functionality” nødvendigt med mekanisme til opsplitning <<includes>> use case3 bliver et abstrakt brugsmønster svarer til et procedure kald <<includes>> UseCase 1 UseCase 3 use case3 use case1 Ó Bennedsen 2001 Programmering og systemudvikling

16 Strukturering af brugsmønstre (2)
”factor out common problems” muliggør udvidelser af brugsmønstre <<extends>> use case3 og use case1 er begge konkrete svarer til et patch/interrupt bruges til at modellere udvidelse af andre (komplete) use cases Ó Bennedsen 2001 Programmering og systemudvikling

17 Programmering og systemudvikling
Brug af extends Eksempler hvor extends kan bruges for at beskrive optionelle dele af et brugsmønster for at beskrive komplekse (og alternative) flow som sjældent forekommer (eksempel: ”Flaske sætter sig fast ved returnering af flasker i en automat) husk også [undtagelse] for at beskrive hvor flere use cases kan ”indsættes” i en anden ex: login/logout use case Indsættelsespunktet beskrives så præcist som muligt Ó Bennedsen 2001 Programmering og systemudvikling

18 Opdeling af store brugsmønstermodeller
To mulige måder at opdele systemer på basis/sub cases (konkrete vs. abstrakte) opsplitning i flere pakker hver især dækkende et funktionsområde Brug klassemodellen (og dens eventuelle opdelinger) som inspiration Kan bruges til release/leverance plan specielt ved funktionsområde opdeling Ó Bennedsen 2001 Programmering og systemudvikling

19 Programmering og systemudvikling
brugsmønster- UML Aktør Beskrivelse Bla bla bla Use case <<…>> Stereotype - extends - includes Interaktion Ó Bennedsen 2001 Programmering og systemudvikling

20 brugsmønsterbeskrivelse
Efter identifikationen af aktører og første bud på en brugsmønstermodel skal de enkelte brugsmønstre beskrives generaliser over mulige senarier overvej hvad der igangsætter brugsmønsteret fastlæg eventuelle startbetingelser overvej mulige (forretningsmæssige) undtagelser eller fejlsituationer undlad trivielle fejl brug en skabelon Ó Bennedsen 2001 Programmering og systemudvikling

21 Programmering og systemudvikling
CD afspiller Ó Bennedsen 2001 Programmering og systemudvikling

22 Programmering og systemudvikling
Et eksempel Ó Bennedsen 2001 Programmering og systemudvikling

23 Programmering og systemudvikling
Skabelon Ó Bennedsen 2001 Programmering og systemudvikling

24 brugsmønsterovervejelser
Små eller store use cases er lidt en smagssag men et brugsmønster skal være et samlet hele for aktøren et brugsmønster skal have et afsluttet forløb Brug abstraktionsmekanismerne <<includes>> <<extends>> Ó Bennedsen 2001 Programmering og systemudvikling

25 Programmering og systemudvikling
Syntaks En brugsmønster beskrivelse har ingen fast syntaks En brugsmønster beskrivelse er ikke pseudokode, men bør have en fast, ensartet stilart sekvens 1) punkt 1 gerne nummereret valgfrie dele (…) undtagelse [undtagelsesnavn] valg hvis .. så … ellers ... gentagelse for hver … gør … (indtil …) <<uses>> subcase udfør … Ó Bennedsen 2001 Programmering og systemudvikling

26 Standard brugsmønstre
Et system har typisk en række standard brugsmønstre Create Read Update Delete List Disse bør ikke beskrives bliver understøttet direkte af supermarkeds-grænsefladen Ó Bennedsen 2001 Programmering og systemudvikling

27 Programmering og systemudvikling
Niveau Det sværeste ved at bruge brugsmønster teknikken ”det er al for abstrakt for mig” ”jeg drukner i detaljer” Husk målgruppe Overvej om der må refereres til for eksempel supermarkedsgrænseflade Iterér ”Som at skrive en god dansk stil” Ó Bennedsen 2001 Programmering og systemudvikling

28 Programmering og systemudvikling
Et eksempel (1) Ó Bennedsen 2001 Programmering og systemudvikling

29 Programmering og systemudvikling
Et eksempel (2) Ó Bennedsen 2001 Programmering og systemudvikling

30 Programmering og systemudvikling
Start med det normale husk et brugsmønster dækker over flere mulige, ensartede scenarier man kan som hjælp skitsere sådanne undervejs først normaltilfældet så valg/alternativer, kombinationer og frihedsgrader sørg for at alle tænkelige scenarier er dækket af brugsmønsteret strukturer brugsmønstrene <<uses>> og <<extends>> Ó Bennedsen 2001 Programmering og systemudvikling

31 Programmering og systemudvikling
Ikke vandfald men et af synene for at forstå systemet udvikles ofte hånd i hånd med klassemodellen Ó Bennedsen 2001 Programmering og systemudvikling

32 Fordele ved brugsmønstre
Systemet ses fra brugerens side ikke teknik inddraget forståeligt for brugerne Gode til brainstorm Kan hjælpe ved håndtering af store systemkomplekser (Styring af) krav Kan bruges direkte til test Moderne :-) Ó Bennedsen 2001 Programmering og systemudvikling

33 Ulemper ved brugsmøsntre
brugsmønsterfilosofien er ikke i sig selv objektorienteret kan friste til traditionel funktionel nedbrydning ignorerér indkapsling giver passive objekter der skal påvirkes i stedet for aktive objekter der selv ”finder ud af det” Kan fastfryse en arbejdsgang skal beskrive et afsluttet interaktion med systemet ikke en række sammensætbare delprocesser Ó Bennedsen 2001 Programmering og systemudvikling

34 Programmering og systemudvikling
Ulemper (2) Svært at stoppe/finde et niveau størrelsen af brugsmønstre opdeling af brugsmønstre detaljeringsniveau ”formatitetsgrad” Ó Bennedsen 2001 Programmering og systemudvikling

35 Brugsmønstre og processen
definerer funktionaliteten af systemet afgrænser egenskaber i klassemodellen definerer grænsefladen mellem omverdenen og systemet definerer test-cases kan definere delleverancer de er meget bestemmende !! Ó Bennedsen 2001 Programmering og systemudvikling

36 Programmering og systemudvikling
Kvalitetskriterier Mål med brugsmønstre Brugsmønstrene skal være enkle, udgøre en afrundet helhed og være specificeret i relevant detalje Beskrivelsen af aktører og brugsmønstre skal fremme forståelse og overblik Beskrivelsen af de enkelte aktører og brugsmønstre skal være konsistent med deres indbyrdes struktur Strukturen skal leve op til de kriterier , som gælder for struktur mellem klasser Ó Bennedsen 2001 Programmering og systemudvikling

37 Programmering og systemudvikling
Funktioner Brugsmønstrene kan/skal nedbrydes til atomare enheder - funktioner de håndtag der stilles til brugerens rådighed Ikast penge hold (model af) problem- området Udbetal gevinst spil Ó Bennedsen 2001 Programmering og systemudvikling

38 Funktioner En ressource, som stilles til rådighed for aktørerne og nyttiggør modelkomponenten i udførelsen af arbejdsopgaver Funktionaliteten skal være komplet og fastlægges i sammenhæng med brugsmønstrene Opstår ud fra brugsmønstre, klassemodellen og hændelser  funktioner   brugsmønstre Ó Bennedsen 2001 Programmering og systemudvikling

39 Programmering og systemudvikling
Typer af funktioner Opdatering: En hændelse i problemområdet  tilstandsskrift i modellen gevinst ( højere kredit) Aflæsning: Fremvisning af (en del af) tilstanden af modellen Hvad viser de tre hjul Ó Bennedsen 2001 Programmering og systemudvikling

40 Programmering og systemudvikling
Typer af funktioner (2) Signalering: En ændret tilstand i modellen  reaktion til omgivelserne ikke flere penge til gevinstudbetaling ( blinkende lamper, uvirksom maskine) Beregning: Der fremvises resultatet af en beregning (ofte baseret på tilstanden af modellen) hvordan har overskuddet været fra en given dato Ó Bennedsen 2001 Programmering og systemudvikling

41 Programmering og systemudvikling
Find funktioner Ændringer og aflæsninger af klassemodel-len (CRUD funktioner) aflæsnings- og opdateringsfunktioner specificeres normalt ikke Hvilke hændelser i problemområdet skal registreres og hvordan Mønt indkastet arm trukket ... Ó Bennedsen 2001 Programmering og systemudvikling

42 Programmering og systemudvikling
Find funktioner (2) Understøttelse af arbejdsopgaver signalerings- og beregningsfunktioner (samt ovenstående) hvilke beregninger er der behov for hvilke kritiske tilstande er der for modellen de komplekse specificeres Ó Bennedsen 2001 Programmering og systemudvikling

43 Overordnet arkitektur
Grænsflade- komponent Brugergrænse- flade System- græsneflade Funktions- komponent Model- komponent Ó Bennedsen 2001 Programmering og systemudvikling

44 Programmering og systemudvikling
Grænseflader Grænsefladekomponenten Kobler edb-systemet med dets omgivelser. For det første muliggør den for brugerne at anvende systemet. For det andet skaber den forbindelse til andre systemer Brugergrænseflade Den del af et edb-system, som realiserer interaktionen med brugerne System grænseflade Den del af et edb-system, der realiserer interaktionen med andre edb-systemer og apparater Ó Bennedsen 2001 Programmering og systemudvikling

45 Programmering og systemudvikling
Brugsmiljøet Brugergrænsefladen afhænger af brugsmiljøet Ó Bennedsen 2001 Programmering og systemudvikling

46 Systematisk br.gr.flade design
Jo mere ”administrativt” jo nemmere Standard supermarked Ó Bennedsen 2001 Programmering og systemudvikling

47 Programmering og systemudvikling
Overordnet filosofi Funktions - objekt princippet Først vælges hvad der ønskes gjort herefter på hvad Indsættelse i en bank Objekt - funktions princippet Først vælges hvad der ønskes arbejdet på herefter hvad der skal gøres højre-klik Ó Bennedsen 2001 Programmering og systemudvikling

48 Programmering og systemudvikling
GUI og OO Med GUI går vi væk fra de transaktions-orienterede BGF til mange arbejds-opgaver Objekt-funktions princippet indføres i stedet for funktion-objekt princippet Begge principper kan understøttes af klassemodellen: Ó Bennedsen 2001 Programmering og systemudvikling

49 Hvorfor objekt-funktions princip
Naturligt for brugerne at arbejde med !? Objekter - fokus på understøttelse af arbejdet/forretningsgangen Lettere ændring i arbejdsgange Al funktionalitet hørende til et objekt er samlet - i modsætning til funktions objekt princippet Stabil grundstruktur fra objekterne frem for strukturering efter funktioner Ó Bennedsen 2001 Programmering og systemudvikling

50 Systematisk br. gr.flade design
For slutbrugere der med tiden vil have hundredvis af vinduer? For at mindske designernes ivrighed og kæpheste? Fordele let at lære at bruge billigere uddannelse alle systemet fungerer ens(-artet) jobmobilitet Ó Bennedsen 2001 Programmering og systemudvikling

51 Programmering og systemudvikling
To fremgangsmåder Supermarkedet (Objektdrevet) Specielle behov (transaktionsdrevet) En applikation består typisk af en blanding Ó Bennedsen 2001 Programmering og systemudvikling

52 Programmering og systemudvikling
Analogi (1) Ó Bennedsen 2001 Programmering og systemudvikling

53 Programmering og systemudvikling
Analogi (2) Ó Bennedsen 2001 Programmering og systemudvikling

54 1-1 sammenhæng: Objekt-vindue
Et vindue præsenterer ideelt set en klasse Ó Bennedsen 2001 Programmering og systemudvikling

55 Programmering og systemudvikling
Objektbillede (Alle) attributter fra klassen præsenteres Udvalgte associationer vises og oversættes til noget sigende (roller) Obligatoriske bør medtages For større objekter: bladring undervinduer forskellige views Ó Bennedsen 2001 Programmering og systemudvikling

56 Objektmenuens indhold
Funktioner til behandling af objektet placeres under klassenavnet std. Punkter pkt. fra funktionslisten Gråtoning jf. tilstandsdiagram og andre regler Muliggør hop til associerede objekter via referencer-pkt. Ó Bennedsen 2001 Programmering og systemudvikling

57 Præsentation af aggregeringer
Aggregerede objekter kan vises i objektbilledet eller opfattes som associ-erede objekter bounding box Ó Bennedsen 2001 Programmering og systemudvikling

58 Programmering og systemudvikling
Listebillede De udvalgte objekter præsenteres evt ved ikon beskrivende egenskaber medtages Klik på element åbner objektbilledet Administrator klasse eller klasseoperation til at fremfinde evt direkte i DB Ó Bennedsen 2001 Programmering og systemudvikling

59 Præsentation i listebillede
Antal forekomster der vises kan begrænses ved angivelse af søge-kriterier Generering af dynamisk SQL Bør kunne sorteres Ó Bennedsen 2001 Programmering og systemudvikling

60 Præsentation af hierarkier
Overvej antallet af vinduer mht. plads til attributter og associationer funktioner Vær opmærksom på overlapping/disjoint hierarki abstrakte klasser Antallet af vinduer Ó Bennedsen 2001 Programmering og systemudvikling

61 Specialbehovsbilleder
Ó Bennedsen 2001 Programmering og systemudvikling


Download ppt "Programmering og systemudvikling"

Lignende præsentationer


Annoncer fra Google