Plan Analyse af anvendelsesområde – Grænseflader

Slides:



Advertisements
Lignende præsentationer
Anskaffelse af ny teknologi
Advertisements

Et projekt til undersøgelse af udviklingsmetodologi.
Notation Oversigt Kapitel 18.
06.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Brug Oversigt, principper og teknikker Kapitel 6.
Præsentation: Obligatorisk opgave 1
Iterativ udvikling og UP
Et projekt til undersøgelse af udviklingsmetodologi.
Formularer (Access, del 3)
Dansk Landbrugsrådgivning Landscentret Continuous Integration DCFServices.
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
Lektion 4 – Fordybelses- og fornyelsesfasen
Et projekt til undersøgelse af udviklingsmetodologi.
Input FMEA Output Shit in = Shit out FMEA
Implementering af brandingstrategi på nettet
Design af brugerflader7.1 Kursusgang 7 Oversigt: Sidste kursusgang Opgaveanalyse ­ Dekomponering af opgaver ­ Vidensbaseret analyse ­ Entity-relationship-baseret.
Design af brugerflader8.1 Kursusgang 8 Oversigt: Sidste kursusgang Design ­ Design og beskrivelse ­ En simpel notation Eksempel på design af dialogen ­
Design af brugerflader3.1 Kursusgang 3 Oversigt: Sidste kursusgang Interaktion: ­ Model for interaktion ­ Ergonomi ­ Interaktionformer ­ Eksempler Brugbarhedsevaluering:
Artikel præsentation Kenneth Pedersen DESIGN SCIENCE IN INFORMATION SYSTEMS RESEARCH Hevner, A. R., March, S. T., Jinsoo, P. and Ram, S. (2004)
Representations for Path Finding in Planar Environments.
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Analyse af anvendelsesområde
Introduktion til Access (Access, del 1)
Rapporter (Access, del 5)
04.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Struktur Oversigt, principper og teknikker Kapitel 4.
OTA - et skoleprojekt ved E. Sjørlund, ES-DATA Projekt : News: news://news.the- coffeeshop.dk/coffeeshop.ota.
10.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Komponenter Oversigt, principper og teknikker Kapitel 10.
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
07.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Funktioner Oversigt, principper og teknikker Kapitel 7.
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Et projekt til undersøgelse af udviklingsmetodologi.
Dagens gang Sidste uges opgaver Design af grænseflader
OOA&D Et Crash-kursus.
TietgenSkolen – hovedopgaven til datamatiker.  Intro  Introduktion af ITemp  Gennemgang af ITempSys  Bruge af XP samt fordele/ulemper  Tortoise,
09.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Kriterier Oversigt, principper og teknikker Kapitel 9.
17.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Implementering Principper, teknikker og vurdering Kapitel 17.
Reflektion over jeres egen praksis
1 Dagens gang Sidste uges opgaver OA+D: Adfærd Nye opgaver.
Grunde til at jeg elsker dig
Microsoft Office System 21. Oktober 2003 Jesper Aaberg, Business Productivity Advisor Microsoft Danmark.
Serviceorienteret arkitektur SOA. SOA bygger på Der findes en serviceleverandør, som udstiller en formåen til at udføre en veldefineret og afgrænset aktivitet,
Fundamentale datastrukturer
08.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Grænseflader Oversigt, principper og teknikker Kapitel 8.
Aalborg Universitet Master i Informationsteknologi, IT i Byggeriet – 2. Års projekt TYPEHUSKATALOG.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Interaktionsformer En begrebsmæssig model kan understøttes med forskellige interaktionsformer Interaktionsformen fastlægger centrale egenskaber: Hvordan.
DIEB14.1 Kursusgang 14 Tidsforbrug til en usability-evaluering Oversigt: Sidste kursusgang Opgaver Aktiviteter Erfaringer med tidsforbrug Instant Data.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
DIEB3.1 Kursusgang 3 Oversigt: Sidste kursusgang Design og dialognotationer ­ Fra analyse til design (Dix) ­ Notation: state transition networks (STN)
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
Usability ITU, forår 2008 Usability ITU Forår 2008 ’Teori 2’ 3. kursusgang, 14. februar 2008.
DIEB12.1 Kursusgang 12 Feedback fra en usability-evaluering Oversigt: Sidste kursusgang Opgaver Feedback Are Usability Reports Any Good? Alternativer til.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
Dagens gang Komponenter Projektetablering Opgave i komponenter til næste gang.
DIEB3.1 Kursusgang 3 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design Begrebsmæssig model Interaktionsrum og interaktionselementer Analysedokumentet.
 Jens Bennedsen 2002Objektorienteret systemudvikling Arkitektur.
On the Essential Contexts of Artefacts or on the Proposition that ”Design Is Making Sense (of Things)” Af Klaus Krippendorff 1989.
23. juni 2015 Det Semantiske Web Mads Carlsen. 23. juni 2015 Problemer med det nuværende Internet Ingen semantiske specifikationer. Søgning giver mange.
 Jens Bennedsen, 2003, revideret af EE Introducerende objektorienteret programmering MVC Et mønster for grænseflader.
Repetition: Ekspert review. ? Principper? Udfordringer? Hvornår i udviklingsprocessen? Fordele/ulemper ekspertreview i forhold til brugertest?
Design - brugervenlighed
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
CEAC Hvad er det ? Hvad kan vi få ud af det ? v/ Dan Foldager.
Software Testing Software testing.
MaaS i Europe Rasmus Lindholm.
Præsentationens transcript:

Plan Analyse af anvendelsesområde – Grænseflader OOSU Plan Analyse af anvendelsesområde – Grænseflader Design af arkitektur – komponenter Extreme Programming (XP)

Analyse af anvendelsesområde III Grænseflader

Formål og principper Formål Begreber Principper Resultater OOSU Formål og principper Formål At fastlægge et systems grænseflader Begreber Grænseflade: Faciliteter, der gør model eller funktion tilgængelig for aktører Brugergrænseflade Systemgrænseflade Principper Skræddersy brugergrænsefladen til anvendelsesområdet Ekperimentér og iterér Identificér alle bestanddele i grænsefladerne Resultater For brugergrænseflade: Dialog- og præsentationsformer Liste af bestanddele Vinduesdiagrammer Navigeringsdiagram For systemgrænseflade: Klassediagrammer for ydre enheder Protokoller for interaktion med andre systemer

OOSU Delaktiviteter

Brugbarhed? Hvad er den bedst mulige brugergrænseflade? OOSU Brugbarhed? Hvad er den bedst mulige brugergrænseflade? Et kompromis… Tilpasset anvendelse og teknologi… Minimerer afstand mellem udførelse og evaluering… Konsistens, feedback, læring, fortrydelse, genveje, hastighed, simpel, naturlig, konsistent, vinduer, look, feel, …?

Tilpasning til brug Opgaver Krav Teknologi Rutineopgaver OOSU Tilpasning til brug Opgaver Krav Teknologi Rutineopgaver Faste, velstrukturerede opgaver Hurtig betjening Sikker betjening Aktivering af funktioner Fast defineret dialog Menu- og kommando-drevet manipulation Simple skærme Sagsbehandling Varierende. problemløsende opgaver Fleksibelt i brug Let at lære nye funktioner Manipulering af objekter Løst defineret dialog Direkte manipulation Grafiske skærme

Udforsk dialogmønstre OOSU Udforsk dialogmønstre Menuvalg Kort indlæring, få indtastninger, struktur, let at programmere Fare for mange menuer, ikke hurtigt, pladsforbrug Skemaudfyldelse Simpel indtastning, begrænset træning, indeholder vejledning, let at programmere Optager plads Kommandosprog Fleksibelt, hurtigt, bruger i kontrol, let at lave makroer Ringe fejlhåndtering, omfattende træning, sværere at implementere Direkte manipulation Let at lære og huske, understøtter udforskning, subjektiv tilfredsstillelse Vanskeligt at programmere, kræver grafisk skærm og pegeinstrument Og mange andre Naturligt sprog Gestikulation Taktilt input …

Tekniske muligheder... Hvilke dialogformer er teknisk mulige? OOSU Tekniske muligheder... Hvilke dialogformer er teknisk mulige? Hvilke muligheder og begrænsninger er der for svartider? Hvilke muligheder er der for flerbrugeradgang? Hvilke kommunikationsmuligheder?

Eksempel: Maersk Booking OOSU Eksempel: Maersk Booking

Eksempel: Ideogramic UML OOSU Eksempel: Ideogramic UML

Valg af dialogform Hvilken orientering? OOSU Valg af dialogform Hvilken orientering? Funktionsorienteret: Menuer med valg af funktioner er dominerende Objekt-orienteret: Fremvisning af objekter fra modellen er dominerende Hvilken kombination af dialogformer? De grundlæggende dialogformer kan bidrage til begge “orienteringer” Kriterier Relaterer sig til arbejdssituationen Enkel, naturlig og konsistent Få krav til brugerens hukommelse Feedback informativ og konstruktiv Fejl forebygges

Udformning af brugergrænsefladen OOSU Præsentation af model og funktioner Præsentere objekter og klasser på en letforståelig måde Idéer Klasse: et vindue for klassen, attributter som felter Klynge: vises ikke Generalisering: forskellige varianter af det samme vindue Aggregering: overblik over delobjekter i helhedsobjektets vindue Associering: overgang til associerede objekter gennem sekundære vinduer Funktioner i menuer (+acceleratorer), knapper, kommandoer Koordinering af helhedens fremtræden ...med udskrifter, brugervejledning og undervisning Rapportgenerering bør også overvejes periodiske rapporter på brugerforanledning eller automatisk beregningskriterier layout Afprøv konkrete forslag i form af prototyper/mock-ups

Resultater Valg af dialogform og præsentationsformer OOSU Resultater Valg af dialogform og præsentationsformer Vinduesdiagrammer, skitser Navigeringsdiagram

Systemgrænseflade Hvilke informationer sendes/modtages? OOSU Systemgrænseflade Hvilke informationer sendes/modtages? Hvilke forbindelser til konkrete objekter i problemområdet? fysiske forbindelse fx til måleinstrumenter og kortlæsere overførsel af data fra eksisterende databaser Hvilke muligheder for kommunikation? direkte kommunikation (DDE, DCOM/ActiveX, CORBA, TCP/IP sockets, ...) overførsel af filer ”screen scraping” (gen)indtastning Evaluering gennem reviews og eksperimenter Eksperimenter kan være omfattende…

Design af arkitektur Komponenter

Formål og principper Formål Begreber Principper Resultat OOSU Formål og principper Formål At strukturere et system Begreber Kriterium: En ønsket egenskab ved en arkitektur Komponentarkitektur: En strukturering af et system i indbyrdes forbundne komponenter Procesarkitektur: En strukturering af et systems udførelse i indbyrdes afhængige processer Principper Fastlæg og prioriter kriterier Byg bro mellem kriterier og teknisk platform Afprøv design så tidligt som muligt Resultat En strukturering af et systems komponenter og processer

OOSU Delaktiviteter

OOSU Hvad er arkitektur? Strukturerne af et system i form af komponenter, deres eksterne egenskaber og deres sammenhæng En overordnet forståelse af system, der styrer dets udvikling og brug Strukturer og metaforer Eksterne egenskaber og overordnet forståelse

Hvorfor se på arkitektur? OOSU Hvorfor se på arkitektur? Indeholder overordnede designbeslutninger Kan og bør evalueres tidligt Uhensigtsmæssige valg har store konsekvenser Ramme for udvikling Strukturerer et system i dele Opfylder bestemte designkriterier Alle systemer har en arkitektur Basis for overordnet forståelse Bør respekteres under vedligehold

OOSU To forskellige syn

Komponenter Komponentarkitekturen opdeler systemet i komponenter OOSU Komponenter Komponentarkitekturen opdeler systemet i komponenter Komponent: En samling af programdele, der udgør en helhed og har et veldefineret ansvar Klasse <= komponent <=system Lav kobling Høj samhørighed

Proces Reducer kompleksitet gennem ansvarsfordeling OOSU Proces Reducer kompleksitet gennem ansvarsfordeling Indtænk stabile strukturer fra omgivelserne Genbrug komponenter

OOSU Mønster: Lagdeling Lag: beskriver en komponents ansvar ved hvilke operation, der tilbydes opad og hvilke der udnyttes nedefra Del: Ingen væsentlig interaktion med andre dele i samme lag Lukket arkitektur: kun anvende operationer på det umiddelbart under-liggende lag Åben arkitektur: anvende alle underliggende lag Eksempel: ISO OSI

Mønster: Grundarkitektur OOSU Mønster: Grundarkitektur Grundarkitekturen afspejler opdelingen af omgivelserne i problem-område og anvendelses-område “Teknisk platform” er en udvidelse og indkapsling af den underliggende tekniske platform Eksempel: Maersk

Mønster: Client/Server OOSU Mønster: Client/Server Optimere udnyttelse af klienters ressourcer og netværkskapacitet Klient Server Arkitektur B B+F+M Distribueret præsentation F+M Lokal præsentation B+F Distribueret funktionalitet M Centraliserede data Distribuerede data

Opdeling i komponenter OOSU Opdeling i komponenter

Resultater Klassediagram med komponenter OOSU Resultater Klassediagram med komponenter Specifikation af komplekse komponenter

Extreme Programming Highsmith (2002)

”Advarsel” White paper – ikke videnskabelig artikel: OOSU ”Advarsel” White paper – ikke videnskabelig artikel: Udgivet af en organisation (Cutter Consortium) Skal uddanne industrifolk, ikke overbevise videnskabsfolk Intet ”peer review”, ikke gennemlæst og bedømt af kolleger Generelt problem med ”proces-artikler”

Extreme Programming Motivation Extreme Programming (XP) OOSU Extreme Programming Motivation Deliver functionality quickly Keep up with near-continuous change People don’t enjoy requirements gathering, documentation, testing, … Current processes are hard to learn and execute Extreme Programming (XP) Lightweight software development method Small teams (2-10 people) Changing requirements Focus on programming Beck, K. (1999) Extreme Programming Explained. Embracing Change. Addison-Wesley Longman. Reading, Massachusetts.

Agile Software Development OOSU Agile Software Development Manifesto made by the Agile Alliance in 2001 Four values: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Covers a number of development processes Ideas not new go back to the early days of participatory design in the seventies (Nygaard and Bergo)

Some Key Agile Methods Adaptive Software Development (Jim Highsmith) OOSU Some Key Agile Methods Adaptive Software Development (Jim Highsmith) speculate-collaborate-learn, focus on learning, larger projects Agile Modeling (Scott Ambler) modelling “add-on” to processes, combination of methods Crystal Family (Alistair Cockburn) JIT method construction, process anthropology Dynamic Systems Development Method (Jennifer Stapleton) RAD-based, focus on user involvement Extreme Programming (Kent Beck) system of (fixed) practices, emergence Feature Driven Development (Peter Coad, Jeff De Luca) feature-focus, simplicity, traceability Lean Development (Bob Charette) minimality, needs-based Rational Unified Process… (Philippe Kruchten) framework, large range of methods Scrum (Jeff Sutherland, Ken Schwaber) chaos as outset, tacit knowledge-focus

The Crystal Family large military system banking system OOSU The Crystal Family Alistair Cockburn (2002). Agile Software Development. Addison Wesley different kinds of projects need different kinds of methods the project changes as people changes effective communication and frequent delivery essential Methods need to be chosen based on multiple factors large military system banking system medium-sized productivity tool small utilities

Four Variables of XP An XP project controls four variables OOSU Four Variables of XP An XP project controls four variables Cost Time Quality Scope Scope is the most important variable fix date, quality, and cost adjust scope

Four (Social) Values Communication Simplicity Feedback Courage OOSU Four (Social) Values Communication lack of communication within a project is a root cause of problems programming practices should enforce communication Simplicity do the simplest thing that could possibly work risks and the low cost of change makes this feasible Feedback tests provide immediate feedback about code the system is put into early production Courage change systems in production, throw code away supported by the other values

Basic Principles The values are distilled into concrete principles OOSU Basic Principles The values are distilled into concrete principles Rapid feedback crucial in learning Assume simplicity economics of software as options favour this Incremental change problems are solved in the smallest steps that make a difference Embracing change preserve options while getting work done Quality work

The Technical Premise of XP OOSU cost of change cost of change time time The cost of a design change does not necessarily increase exponentially technology and programming practice make the cost raise slowly

Balancing design and refactoring OOSU Balancing design and refactoring Anticipatory Design Refactoring Refactoring Anticipatory Design Lower  Rate of Change  Higher Lower  Rate of Change  Higher

XP practices Refactoring OOSU (noun): a (small) change that preserves semantics made to a program in order to improve its structure (verb): to restructure a program through a series of refactorings Adding new functionality and refactoring are two different activities Design and architecture can be constructed through a series of test-code-refactor cycles Fowler, M. (1999). Refactoring. Improving the Design of Existing Code.. Addison-Wesley Longman. Reading, Massachusetts.

XP practices Use with small co-located teams OOSU XP practices Use with small co-located teams Tendency towards minimalism Rules <-> Guidelines Situated (depends on project/people/…) Which to pick and which to discard?

XP practices Planning game - Roles OOSU Stories XP Components Business Development Estimates Abstract Stories Dragon Time boxing Business Development Concrete stories, constraints MoSCoW

XP practices Planning game - Players OOSU XP Development Business All decision makers All Responsible Dragon Business Development Responsibility is taken rather than given All decision makers 1-2 Responsible Business Development All decision makers + Business Reps Transparency Commitment All Developers

XP practices Continued … OOSU Small releases Small as possible Most valuable Provide sense of accomplishment Metaphor Overall coherent theme (‘one-stop-shopping’) Metaphors, stories, and architecture

XP practices Continued … OOSU Simple design Design for what has been defined, not potential future functionality Create the best design that can deliver that functionality Put in what you need when you need it Testing “Test and then code” Listen -> Test -> Code -> Design

XP practices Continued … OOSU Pair programming Extreme of inspections/walkthroughs/reviews 2 people programming with 1 keyboard, 1 mouse, 1 monitor Pairs typically change a couple of times a day Prevents rather than detects defects Collective ownership Anyone may change any code at any time

XP practices Continued … OOSU Continuous integration Frequent builds every couple of hours 40-hours-week “Overtime is the time in office where you don’t want to be there”? On-site customer Full time, on-site, user/customer involvement Coding standards Hand in hand with collective ownership

Summary Iteration Cycles OOSU Testing Analysis Coding Design Supported by the practices of XP Analysis Metaphor, On-Site Customer, The Planning Game, ... Testing Continous Integration, Short Releases, Simple Design, ... Coding Coding Standards, Pair Programming, 40-Hour-Week, ... Design Refactoring, Simple Design, Pair Programming, Collective Ownership, ...

User Involvement XP Dragon User(s)/customer(s) in development team OOSU User Involvement XP User(s)/customer(s) in development team Application in use Dragon User(s) in development team User site (and dev. team on user site) Extended reviews Workshops at sites in Europe, Asia, America Demos at sites in Europe, Asia, America

Metaphors XP Dragon Easy to understand Ping-Pong “Travels” OOSU Metaphors XP One overarching metaphor Contracts, customers, endorsement Like a spreadsheet … Dragon Many metaphors on various levels The Dragon Garment story One-Stop shopping A product Bremerhaven Algeciras Easy to understand Ping-Pong “Travels” Re-constructs

Evolution Software systems evolve XP Dragon OOSU Evolution Software systems evolve Requirements change over time Problem domain understanding increases Understanding of technical ways to realise the system increases XP Architectural evolution is handled through series of refactorings Dragon Explicit focus on architecture & architectural restructuring

MAD: Multiperspective… OOSU MAD: Multiperspective… Before and while coding: Discuss “metaphor” and its implications on design with participatory designer, on-site customer and/or ethnographer Division of work according to architecture and/or business domain Consulting other programmers: code-dependency responsibility expertise

MAD: Multiperspective… OOSU MAD: Multiperspective… Culture and environment: Your place or mine? Open workspace 80 hour week 