Objektorienterad Systemutveckling 2 2018 Period 3 kurskod C1OB2B
Innehåll Kursintroduktion Kursmaterialet finns temporärt även på http://www.gidenstam.org/hb/oosu2
KURSINTRODUKTION
Kursintroduktion Inblandade lärare Anders Gidenstam, AGD (kursansvarig, examinator) Har tidigare undervisat för DE/SV i: Grundläggande programmering med C# (VT09, VT13) Objektorienterad systemutveckling 1 (HT17) Objektorienterad systemutveckling 2 (VT17) Visuell programutveckling med C# (HT09 HT11(/12)) Systemutvecklingsprojekt (HT16 HT17) Johannes Sahlin, JHSA Har tidigare undervisat för DE/SV i: Objektorienterad systemutveckling 1 (HT17) Objektorienterad systemutveckling 2 (VT17)
Kursplan - Innehåll Kursen är en fördjupningskurs som bygger vidare på befintliga kunskaper om objektorienterad problemlösning och programmering i C#. De tre huvudsakliga områdena som behandlas i kursen är fördjupning i tillämpning av objektorienterad (analys och) design (OO(A)D), persistent data och Användarinteraktion och grafiska användargränssnitt. Designmönster och designprinciper enligt GRASP, SOLID och GoF används genomgående för att visa på vad som är standardlösning för olika typer av utvecklingsproblem.
Kursplan - Innehåll Persistent data utgör en central del i många system och kursen behandlar lösningar för att hantera interaktionen mellan den objektorienterade lösningen av domänlogiken och data som lagras i t.ex. databaser med utgångspunkt i ramverket Entity Framework. Vidare behandlar kursen implementationsaspekter kring användarinteraktion genom att introducera användning av gränssnittskomponenter i C#.
Kursplan - Förkunskaper Avklarade kurser Databasteknik 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng och Objektorienterad systemutveckling 1 7,5 högskolepoäng eller motsvarande. Tentamen eller båda laborationerna är tillräckligt. Dispens måste sökas av alla som inte uppfyller förkunskapskraven. För C1OB1B (OOSU1) går det att invänta resultat från tentamen och/eller laborationerna, men åtkomst till PingPong kan dröja då. Dispens ges utan förbehåll till dem som varit aktiva i OOSU1 och har klarat DBT och har VG i grundläggande programmering. Övriga fall bedöms individuellt utifrån resultat i LADOK mm. Att läsa en kurs som man fått dispens för medför ett extra ansvar för den enskilde studenten att inhämta och uppdatera nödvändiga förkunskaper Kursmaterialet finns temporärt även på http://www.gidenstam.org/hb/oosu2
Kursplan - Mål Efter avklarad kurs ska studenten kunna, med avseende på, Kunskap och förståelse 1.1 beskriva och diskutera den vetenskapliga grunden för objektorienterad analys och design, 1.2 redogöra ingående för de viktigaste principerna för objektorienterad programmering, 1.3 förklara grundläggande koncept i hantering av persistent data, 1.4 redogöra för tillämpliga metoder och tekniker inom hantering av persistent data, 1.5 redogöra för tillämpliga metoder och tekniker för gränssnittsimplementation i ett objektorienterat programspråk (C#), 1.6 visa kunskap i användningen av UML i arbetet med att designa och dokumentera ett objektorienterat system, Färdighet och förmåga 2.1 söka, samla, värdera och kritiskt tolka systemkrav och utifrån dessa skapa objektorienterade modeller, 2.2 utifrån systemkrav och objektorienterade modeller skapa en implementation i ett objektorienterat programspråk (C#), 2.3 motivera och tillämpa de centrala principerna för objektorienterad programmering, såsom att skilja mellan gränssnitt och logik samt inkapsling av objekt, 2.4 praktiskt kunna tillämpa metoder och tekniker inom hantering av persistent data med tillämpning i ett objektorienterat programspråk (C#), 2.5 praktiskt kunna implementera ett grafiskt användargränssnitt i ett objektorienterat programspråk (C#), Värderingsförmåga och förhållningssätt 3.1 visa förmåga att göra en bedömning av lämpligheten av en systemdesign utifrån ett givet problem, och 3.2 visa förmåga att söka, samla, värdera och kritiskt tolka information kring givna problem, för att skapa objektorienterade lösningar.
Kursplan Mål och examinationer Laboration 1: Analys och designuppgift i grupp (4 studenter) Högskolepoäng: 1.5 Betygskala: UG Lärandemål: 2.1 söka, samla, värdera och kritiskt tolka systemkrav och utifrån dessa skapa objektorienterade modeller, 2.2 utifrån systemkrav och objektorienterade modeller skapa en implementation i ett objektorienterat programspråk (C#), 2.3 motivera och tillämpa de centrala principerna för objektorienterad programmering, såsom att skilja mellan gränssnitt och logik samt inkapsling av objekt,
Kursplan Mål och examinationer Laboration 2: Programmeringsuppgift i grupp Högskolepoäng: 1.5 Betygskala: UG Lärandemål: 2.2 utifrån systemkrav och objektorienterade modeller skapa en implementation i ett objektorienterat programspråk (C#), 2.3 motivera och tillämpa de centrala principerna för objektorienterad programmering, såsom att skilja mellan gränssnitt och logik samt inkapsling av objekt, 2.4 praktiskt kunna tillämpa metoder och tekniker inom hantering av persistent data med tillämpning i ett objektorienterat programspråk (C#)
Kursplan Mål och examinationer Laboration 3: Interaktions- och gränssnittsuppgift i grupp Högskolepoäng: 1.5 Betygskala: UG Lärandemål: 2.2 utifrån systemkrav och objektorienterade modeller skapa en implementation i ett objektorienterat programspråk (C#), 2.3 motivera och tillämpa de centrala principerna för objektorienterad programmering, såsom att skilja mellan gränssnitt och logik samt inkapsling av objekt, 2.5 praktiskt kunna implementera ett grafiskt användargränssnitt i ett objektorienterat programspråk (C#),
Kursplan Mål och examinationer Tentamen: (TENT): Salstentamen Högskolepoäng: 3.0 Betygskala: UVG Lärandemål : Alla(!) Tentamen kommer vara uppdelad i 3 delar Del 1 omfattar mål 1.1, 1.2, 1.6, 2.1, 2.1, 2.3, 3.1, 3.2 Del 2 omfattar mål 1.3, 1.4, 2.4 Del 3 omfattar mål 1.5, 2.5 Se till att kunna det som laborationerna prövar!
Innehåll och progression Grundläggande Programmering med C# Systemanalys och design Objektorienterad Systemutveckling 1 Databasteknik Objektorienterad Systemutveckling 2 Förändringsarbete och design av informationssystem Systemutvecklingsprojekt
Innehåll och progression Del 3 Del 1 Grundläggande programmering med C# Objektorienterad systemutveckling 1 Del 2
Kursplan - Litteratur Booch, G., Maksimchuk, R. A., Engle, M. W., Young, B. J., Conallen, J. och Houston, K. A.. Object-oriented analysis and design with applications. Addison Wesley, (senaste upplagan). [Tillgänglig elektroniskt] Deitel, H.M. och Deitel, P.J.. Visual C# 2012 How To Program. Pearson, (senaste upplagan). Microsoft Patterns & Practices Team. Microsoft Application Architecture Guide (Patterns & Practices). [Tillgänglig elektroniskt]
Litteraturhänvisning (ungefärlig) Kursbok A: Object-oriented analysis and design with applications B: Visual C# 2012 How To Program C: Microsoft Application Architecture Guide (Patterns & Practices) Föreläsning Bok:kapitelnummer OO(A)D + Designprinciper A: (1-)6, 7 Designmönster + Arkitektur A: (8-12) C: 1-3 LINQ + LINQ to Entities B: 9+22 Entity Framework + lagerindelning Webresurser DB and Model First and Code first B: 22 + Webresurser Windows Presentation Foundation B: 32-33 + Webresurser Windows Presentation Foundation + Model-View-ViewModel B: 32-33 + Webresurser Windows Forms + Lagerseparation B: 14-15 + Webresurser
Övrigt Schema Kontrollera schemat noggrant Meddela snarast om det förekommer omöjliga konflikter Handledningar och övningar kan krocka med andra kurser Frågor?