180 likes | 301 Views
Programmering af Store OO Sys. Programmeringsprojekt. Henrik Bærbak Christensen Department of Computer Science University of Aarhus Denmark. Målsætning. Læringsmål
E N D
Programmering af Store OO Sys.Programmeringsprojekt Henrik Bærbak Christensen Department of Computer Science University of Aarhus Denmark
Målsætning • Læringsmål • • Anvende begreber, teknikker og praktiske metoder fra fagpakken til at analysere, designe, og implementere en pålidelig og fleksibel løsning for en given problemstilling af større kompleksitet. • • Evaluere og diskutere teknikkers, metoders, og fundamentale begrebers styrker og svagheder i den konkrete sammenhæng. • • Beskrive og dokumentere løsningen og analyser klart og utvetydigt på skrift. • Indhold: • Projektet formuleres som en central, bunden, opgave samt krav om en eller flere udvidelser som vælges af kursisten. • Projektet vil tage udgangspunkt i et antal centrale problemstillinger: • Objektorienteret design og designdokumentation • Fleksibilitet gennem brug af design- og arkitektur patterns • Anvendelse og konstruktion af frameworks. • Systematisk test og test-dreven udvikling • Værktøjsstøtte, build-management, versionskontrol. • Desuden vil kursisten kunne inddrage et eller flere andre aspekter i projektet, såsom relationelle databaser, distribution og concurrency, o.a. Henrik Bærbak Christensen
Projekt: HotTargui • Produkt-mål: • Udvikle et framework til at afvikle varianter af spillet Targui. • Hvorfor brætspil? • Veldefineret domæne • Variabilitet • Kompleksitet • Valgfrie udvidelser Henrik Bærbak Christensen
Projekt: HotTargui • Læringsformål: • Test-dreven udvikling • Software arkitektur views og UML • Kompositionelt design og Patterns brug • i udviklingen • i kobling med grafisk brugergrænseflade • Framework • “reading”: brug af MiniDraw • “writing”: definition og implementation af HotTargui • Systematisk test • på udvalgt algoritme Henrik Bærbak Christensen
Projekt: HotTargui • Læringsformål: • Værktøjer: Ant og SCM (CVS el. SubVersion) • Valgfrie emner • Distribution • Databaser • Web-services • eller noget fjerde (inden for fagpakkens rammer) • Reflektion over teknikker Henrik Bærbak Christensen
Projekt-plan • Seminar 1 • Projekt definition. Afleveringsplan. Gruppearbejde over specs. MiniDraw GUI. APere • Seminar 2 • Diskussion over formulerede problemstillinger. • Seminar 3 • Pending... • Aflevering: • ? Henrik Bærbak Christensen
Praktiske detaljer • Rapporter i grupper af 2-3 personer. • Grupper: • Alle individuelle bidrag skal fremgå af et bilag • ikke kun “ib skrev afsnit 4”! • deltagelse i diskussioner, implementationsarbejde, analyser, osv. • “Retvisende uden at være pedantisk” • Tvivl om individuelle bidrag: så holder vi et lille møde med gruppen • Jeg går ud fra grupperne er organiserede? Henrik Bærbak Christensen
HotTargui Framework for Brætspil
Targui Territorier Kameler Bevægelse Stamme-kort Penge Runder Henrik Bærbak Christensen
Computski version Henrik Bærbak Christensen
Varianter • AlphaTargui • opgave 1 • BetaTargui • opgave 2 • GammaTargui eller DeltaTargui + SemiTargui • opgave 3 • Grafisk brugergrænseflade • opgave 4A • Distribueret Targui • opgave 4B • ? • opgave 4C Henrik Bærbak Christensen
1. Delaflevering • Deadline: Ti 22/4 2008 • Til: hbc@daimi.au.dk • Format: email: pdf+zip • Indhold: • Status på assignment 1, (2) og 3 • hvad har vi nået, hvad har vi lært, hvad funker ikke • Rapport i skeletform • Mindst to diskussionsoplæg ala • Design alternativer A og B på problem X • Brug af teknik X giver ikke de forventede fordele • Hvordan opnår man kvalitet X bedst Henrik Bærbak Christensen
2. Delaflevering • Deadline: 13/5 2008 • Til: hbc@daimi.au.dk • Format: email: pdf+zip • Indhold: • “næsten” færdigt udkast til delopgave 1,2 og 3 • Status på assignment 4x • hvad har vi nået, hvad har vi lært, hvad funker ikke • Hold øje med website ang krav og seminar status. Henrik Bærbak Christensen
Endelig aflevering • Deadline: 29/5 2008 • Til: hbc@daimi.au.dk • Format: email: pdf+zip • Indhold: Rapport + Kode til evaluering. Henrik Bærbak Christensen
Kommentar • Formål med delafleveringer • Taktslag i arbejdsprocessen • Indspark til diskussioner på seminarerne • Jeg giver ikke individuelle kommentarer på delafleveringer • Kommentar + evaluering på endelig aflevering medio juni 2008. Henrik Bærbak Christensen
Øvelse • Gør jer bekendt med • domænebeskrivelse • opgave formuleringer • Lav oplæg til • Spørgsmål til domæne og opgavebeskrivelse • Test liste for opgave 1 • Evt lave de første par JUnit tests og iterationer • Overvej hvilke partitioner der er i opgave 2 • Overvej variabilitetspunkter og kompositionel design for opgave 3 Henrik Bærbak Christensen