Föreläsning 7. Programmeringsmetodik och programmering i ett objektorienterat språk, 5p 2004-11-16



Relevanta dokument
Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Objektorienterad analys och design med CRC-kort

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77)

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Problemlösning. Analys och design OOA&D. Programutveckling sker i faser OOA&D. Fastställa och analysera förutsättningarna/ kraven.

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul

Uttagning för D21E och H21E

Arbetsmiljö för doktorander

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

Utvärdering SFI, ht -13

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal

OOMPA 2D1359 Föreläsning 2

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Föreläsning 15: Repetition DVGA02

PORTSECURITY IN SÖLVESBORG

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

Brommastafetten F 21 Luleå 1127 Urban Johansson Henrik Hansson

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Family appendix for applicants Appendix D

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterad programmering

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Item 6 - Resolution for preferential rights issue.

Programmering för språkteknologer II, HT2014. Rum

Objektorienterad programmering. Grundläggande begrepp

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Klasser och objekt? Objekt och klasser. Analys och design. Objekt. Klass. Programmering?

LARS. Ett e-bokningssystem för skoldatorer.

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Generics och polymorfism. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Objektorientering. Grunderna i OO

Objektorienterad Programmering (OOP) Murach s: kap 12-16

FINA SWIMMING WORLD CUP 2004 the 13th and 14th of January 2004 in Stockholm, Sweden

Arv. Objektorienterad och komponentbaserad programmering

Kursplan. IK1004 Java - Grafiska användargränssnitt med Swing. 7,5 högskolepoäng, Grundnivå 1. Java - GUI Programming with Swing - Undergraduate Level

Klasshierarkier - repetition

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA)

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. HT-15 Datum: Tid: kl

Imperativ programmering. Föreläsning 4

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Questionnaire for visa applicants Appendix A

Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

Adding active and blended learning to an introductory mechanics course

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Ändringar i språkfiler i e-line 4.12A

Preschool Kindergarten

Adress 15. August 2014

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

Inkapsling (encapsulation)

Övningsuppgift. Repeterbara citat. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

FOI MEMO. Jonas Hallberg FOI Memo 5253

Isolda Purchase - EDI


JUnit. Ska kompletteras med kodexempel på JUnit. DD2385 Programutvecklingsteknik Några bilder till föreläsning 12 21/5 2012

Anvisning om ansvarsförsäkran för studenter

JAG SKRIVER I BLINDO PDF

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

Certifikat. Detta certifikat intygar att. Moelven Årjäng Såg AB

Webbregistrering pa kurs och termin

Generics och polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Kursutvärderare: IT-kansliet/Christina Waller. General opinions: 1. What is your general feeling about the course? Antal svar: 17 Medelvärde: 2.

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.

Application for exemption - Ansökan om dispens

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

Team Captain s meeting for Intersport o Scandic Cup. Idre Fjäll 4-6 December 2015

Modeller, Objekt och Klasser

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09

Transkript:

Föreläsning 7 Programmeringsmetodik och programmering i ett objektorienterat språk, 5p 2004-11-16

Innehåll Svar på frågor från förra föreläsningen and the winner is Poster-tävlingen avgjord! OOA&D med CRC-kort CRC-häftet, Kapitel 6.2 F7 marie, kallin, jubo, thomasj 2004 2

Vad hette det på engelska? Överlagring = Overloading Två (eller fler) metoder med olika signatur Får vara deklarerade i samma klass Metodval beror på parameterlistan Omdefinition = Overriding Två (eller fler) metoder med samma signatur Deklarerade i olika klasser Originalversionen deklarerad i en superklass Omdefinitioner i olika subklasser Metodval beror på klasstyp F7 marie, kallin, jubo, thomasj 2004 3

Finns inte i Java Vän-klasser/Friend-klasser En lösning i C++ för att komma åt privata attribut En klass säger att den där klassen är min vän och får se/ändra mina attribut bryter idén med inkapsling och normalt inte en bra lösning Likheter/skillnader mellan C++ och Java finns på sidan http://lix.hisvux.se/martinf/kursinfo/java/cplusvsjava.html Obs! Sidan gammal, tar ej hänsyn till Java 1.5 F7 marie, kallin, jubo, thomasj 2004 4

and the Winner is 14 postrar som behandlade 6 olika delkapitel Betygsättning (1=inte alls bra till 5 = mycket bra!) Layout 3 betyg Val av färger och fonter Placering av rubriker, text och bilder Fördelning mellan text och bilder/grafer Innehåll 2 betyg Riktar sig postern till rätt läsare? Hur väl förstår man budskapet? En totalvinnare men först några hedersomnämnanden! Layout-gruppen, Innehålls-gruppen och Total-gruppen F7 marie, kallin, jubo, thomasj 2004 5

Layoutbetyget Poster 5: Fredrich Lindvall Erik Ramos Anders Rånes Olov Vikberg Kjell Winblad Jonas Wulff

Layoutbetyget Poster 12: Sara Johansson Tommy Jonsson Lovisa Pettersson Ann Rosenthal Thomas Sjödin Peter Sundqvist

Layoutbetyget Poster 6: Mika Adler Anne Drewett Jennifer Forssell Helena Gustavsson Helena Marklund Niklas Sandberg

Innehållsbetyget Poster 12: Sara Johansson Tommy Jonsson Lovisa Pettersson Ann Rosenthal Thomas Sjödin Peter Sundqvist

Innehållsbetyget Poster 9: Anders Berggren Magnus Häggkvist Sebastian Jansson Fredrik Nilsson Martin Nilsson John Talling

Innehållsbetyget Poster 6: Mika Adler Anne Drewett Jennifer Forssell Helena Gustavsson Helena Marklund Niklas Sandberg

Totalbetyget Poster 9: Anders Berggren Magnus Häggkvist Sebastian Jansson Fredrik Nilsson Martin Nilsson John Talling

Totalbetyget Poster 12: Sara Johansson Tommy Jonsson Lovisa Pettersson Ann Rosenthal Thomas Sjödin Peter Sundqvist

Totalbetyget Poster 6: Mika Adler Anne Drewett Jennifer Forssell Helena Gustavsson Helena Marklund Niklas Sandberg

OOA&D med CRC-kort Analys Förstå problemet/ uppgiften Utveckla en OO-modell av problemet Design Utveckla en OO-modell av lösningen Modeller underlättar kommunikation Oberoende av programspråk Abstraherar från oväsentliga detaljer Underlättar testning i tidigt skede CRC-kort UML (ett modelleringsspråk för OO utveckling) F7 marie, kallin, jubo, thomasj 2004 15

CRC-kort Class Responsibilities Collaborators Klass ansvar samarbetspartner Ett CRC-kort motsvarar en klassbeskrivning Bok: mängden av objekt som representerar böcker som kan lånas från biblioteket. Class: Bok Responsibilities vet om utlånad vet om försenad beräkna datum för återlämning Collaborators Datum Datum Informellt verktyg för att ta fram och utvärdera olika alternativ F7 marie, kallin, jubo, thomasj 2004 16

Grupparbete (4-6 personer) CRC- Metoden Hitta kandidatobjekt m.h.a. brainstorming Filtrera kandidatobjekten Skapa CRC-kort för kvarvarande kandidatobjekt Definiera scener för testning av modellen ( testfall) Förbereda gruppsessionen Spela in scener m.h.a. CRC-korten ( testning) Dokumentera scener m.h.a. RolePlay-diagram Uppdatera CRC-korten och scenerna F7 marie, kallin, jubo, thomasj 2004 17

RolePlay-diagram Uppdatera CRC-korten samtidigt som man bygger upp diagrammet. F7 marie, kallin, jubo, thomasj 2004 18

Klassdiagram (UML) När CRC-korten är någorlunda stabila kan de göras om till mera formella klassdiagram Game play() addplayer() deleteplayer() 5..* Die value roll() getvalue() 1..* Design 2..* Player name score playturn() getscore() rolls dice Cup getvalue() adddie() deletedie() ComputerPlayer playturn() F7 marie, kallin, jubo, thomasj 2004 19

Problemet: This application will support the operations of a technical library for a university department. This includes the searching for and lending of technical library materials, including books, videos, and technical journals. All library items have registration code (research area code + running number). Each borrower can borrow up to 10 items. Each type of library item can be borrowed for a different period of time (books 6 weeks, journals 3 days, videos 1 week). If returned after their due date, the employee will be charged a fine, based on the type of item (books 5:-/day, journals and videos 20:-/day). Materials will be lent to employees only if they have (1) no overdue lendables, (2) fewer than 10 articles out, and (3) total fines less than 100:-. F7 marie, kallin, jubo, thomasj 2004 20

Scenarios John Doe will borrow the book 1984; John Doe is a registered borrower in the system; currently he has not borrowed any items and has no outstanding fines. The book 1984 is available and not on loan. After borrowing, John Doe will be registered as borrower of 1984 and 1984 will have a valid return date. John Doe returns the book 1984 on time; John Doe is a registered borrower in the system; currently he has no outstanding fines. After borrowing, John Doe will no longer be registered as borrower of 1984. 1984 will no longer be on loan. Plus variationer på dessa! F7 marie, kallin, jubo, thomasj 2004 21