B.Sc. Informatica Module 4: Data & Informatie



Vergelijkbare documenten
Scrum. Een introductie

Program overview. Year 2013/2014 Electrical Engineering, Mathematics and Computer Science

Scrum: Een Agile aanpak voor ontwikkeling van producten. Scrumteam rollen. Verder dan de vraag 2

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil

Curriculum Vitae Ishak Atak. Naam : Ishak Atak Roepnaam : Ishak. Woonplaats : Utrecht Geboorte datum :

Agile bij grote administratieve systemen. Omgaan met requirements

BDD/Gherkin. Een introductie

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11

WHITEPAPER IN 5 MINUTEN. 11. Scrum

Informatica aan de Universiteit Antwerpen

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

1750,00 excl. BTW. analytisch denkvermogen, empathie, assertief, communicatief, aanleg voor formalisme,...

Definitief 1.0 Handreiking voor toepassen van Agile Scrum binnen Overheidsdiensten april 2012

[ SCRUM. ] Een introductie

IIBA NL Jaarcongres "Business Analyse in Scaled Agile"

Futureproof met de software engineering track van Capgemini

Agile (Scrum) Werken Jeroen Hak

SCRUM FRESHAPPLE.NL #DIGITALATHLETES

MODULEBESCHRIJVING Databases DBS1

Scrum. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

SQL & Datamodelleren

Inhoud. Introductie tot de cursus

Agile Testen in de praktijk

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

Unified Process. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Plan van Aanpak. project Tetris Packing

End-to-End testen: de laatste horde

Inhoud Deel een Het ontwikkeltraject 1 2 3

Software-ontwerp User stories Use cases Opdracht. Ontwerpmethodologie. Nick Vannieuwenhoven. October 17 18,

BOKS HBO-ICT NIOC APRIL 2013 MISCHA BECKERS

Agile, Scrum en Kanban in de praktijk

Welkom. bij scrum. Zin in Onderwijs

Secure Software Alliance

1. De watervalmethode Agile softwareontwikkeling Iteratief werken Agile technieken voor teams... 3

Bijlage bacheloropleiding Informatica

Voor en nadelen (spatieel) gedistribueerd

SQL & Relationele datamodellen in interactieve media

Van testproces tot testvak... en verder

Op de computer kan naar eigen inzicht software op worden geïnstalleerd, een andere besturingssysteem is mogelijk.

Niveau 2 Medewerker ICT

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE

Xebic. Cloud Solutions voor het Onderwijs

INHOUDSOPGAVE Het Boekenwinkeltje Registreer.aspx Opgaven... 97

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

Scaled agile in de praktijk: welke modellen zijn er en wat werkt het beste in jouw situatie?

Bijlage D Nadere uitwerking van de onderwijseenheden van het Associate degree-programma:

Game en Software Project

Studieschema bachelor Informatica

Titel, samenvatting en biografie

Agile Testing isn t Risking IT! Bram Bronneberg Test Manager Logica - CGI

Model driven Application Delivery

Agile Foundation examen - OEFENVragenformulier

Responsive web applicaties op Oracle

Zelftest Informatica-terminologie

Effectief testen in complexe omgeving

Leergang Java Development

AGILE INSPIRATION BOOST. Agile. Sneller, slimmer, beter? Inspiratie voor Agile / Scrum teams

Training en workshops

Studielink Dashboard terugbrengen beheerskosten Studielink bij zowel instellingen, DUO als Studielink. SISLINK juni 2010

Software Test Plan. Yannick Verschueren

Agenda. Introductie Aan het werk Conclusie / restrospective

BWI Bedrijfscase Projectmanagement deel 2 1. VU BWI Bedrijfscase. Cursus Project management deel 2

Je kunt de presentatie na afloop van elke les downloaden. Ga naar : Kies voor de map Systeemontwikkeling

Analist-programmeur - avondopleiding

Nationaliteit Belg Geslacht. Man Geboortejaar 1979

Aliens?

Enterprise Resource Planning. Hoofdstuk 3 Planning, ontwerp en implementatie van Enterprise Resource Planning-systemen

De Agile Analist. Ebook over requirements en agile. Deel I

Ik had overigens het schrijven van dit voorwoord ingeschat op 1 storypoint. Het zijn er uiteindelijk 3 geworden. En het aantal iteraties? Oneindig.

Persoonskenmerken: analytisch, sociaal, integer, innemend, vastberaden, buiten eigen denkkader denken, creatief, transparant.

WAARDE CREËREN MET DE QUERCIS BUSINESS PORTAL RONALD VAN KESSEL

Master Class Java Accelerated

Stichting NIOC en de NIOC kennisbank

Inhoud. Introductie tot de cursus

Leergang Java Development

Opleidingsaanbod: testopleidingen.com

Technologie en Interactie 3.2: software architectuur

Wie ben ik? Agile Software Development. Het waterval model. Inhoud

PRODUCT OWNER.

Requirements Management Werkgroep Traceability

Module 1 Programmeren

Transcriptie:

B.Sc. Informatica Module 4: Data & Informatie Djoerd Hiemstra, Klaas Sikkel, Luís Ferreira Pires, Maurice van Keulen, en Jan Kamphuis 1 Inleiding Studenten hebben in modules 1 en 2 geleerd om moeilijke software problemen op te lossen door middel van losstaande, op zichzelfstaande, applicaties. In deze module leren ze complexe software te ontwerpen, bestaande uit meerdere lagen (tiers), gebruik makend van standaard gereedschappen zoals Database Management Systemen en Scripting raamwerken (frameworks), en bestaande services (RESTful services). Studenten gaan in het project aan de slag met moderne ontwikkelmethoden geinspireerd door Scrum en Agile software ontwikkeling. Studenten leren en oefenen het ontwerpen, implementeren en testen van systemen voor de voorziening van gestructureerde en semigestructureerde gegeven voor organisaties. Dit omvat zowel de klassieke gestructureerde gegevens in databases als ook het verkrijgen van gegevens uit sociale media en andere web resources. Ook omvat het de evolutionaire afstemming van de gegevensvoorziening met gestructureerde en semigestructureerde processen in organisaties. 2 Globale opzet en leerdoelen We onderscheiden 5 thema's voor deze module. Elk thema heeft een verantwoordelijk docent: 1. Programmeren van complexe software (Verantwoordelijk docent: Luis Ferreira Pires; web applicaties, multi tiered applicaties, aanpassing van/integratie met bestaande software). 2. Gestructureerde data (Verantwoordelijk docent: Djoerd Hiemstra; relationeel, databaseseontwerp, normalisatie). 3. Semi gestructureerde data (Verantwoordelijk docent: Maurice van Keulen; tekst, web data, XML, information retrieval) 4. Requirements Engineering (Verantwoordelijk docent: Klaas Sikkel; BPMN, requirements elicitation en prioritization) 5. Wiskunde (Calculus, kettingregel, Taylorpolynoom) Daarnaast onderscheiden we onderdelen behorende bij 4 leerlijnen: 1. Academische vaardigheden (Ethiek, maar ook samenwerken, plannen Agile) 2. Veiligheid (Security: SQL injection, Authenticatie, Cross side scripting) 3. Concurrency (Database transacties, Isolation levels, etc.)

4. System Development We bouwen voort op Module 2, Softwaresystemen, met de volgende voorkennis: 1. Softwarespecificatie met UML (class diagrams, use case diagrams ) 2. Programmeren in Java 3. Software testen 4. Lineair ontwikkelmodel (watervalmodel) We onderscheiden de volgende leerdoelen, gegroepeerd per thema. Na afloop van de module kunnen de studenten... Programmeren van complexe software, P2 1. werken volgens de volgende principes van Agile software ontwikkeling: scrum bijeenkomsten, task boards, burn down charts, user stories, etc. (leerlijn 1) 2. gebruik maken van Server side vs. client side scripting, Ajax, JSP, Web frameworks 3. werken volgens requirements based testing (naar het thema REQ? DH) 4. user interfaces bouwen met HTML/CSS, CSS frameworks. 5. [nog nader definieren] Ontwerp (leerlijn 4) Gestructureerde data, DATA 6. een UML class diagram omzetten naar een logisch databaseschema 7. functionele afhankelijkheden identificeren en gebruiken voor het normaliseren van de database 8. vragen formuleren in eerste orde logica, en deze logische expressies omzetten naar SQL queries 9. transacties identificeren (leerlijn 3) 10. het effect van verschillende isolation levels beschrijven op concurrency (leerlijn 3) Semi gestructureerde data, SEMI 11.... tekstuele data bevragen door middel van zoekmachines 12. modellen voor information retrieval toepassen op verschillende ranking problemen 13.... basisgereedschappen van XML toepassen, zoals DTDs, XPath, XQuery 14. [iets met] Semantic Web 15. [<werkwoord> met] SQL Injection (leerlijn 2) Requirements Engineering REQ 16. een bedrijfsproces specificeren in BPMN 17. business requirements identificeren en vertalen naar user stories 18. functionele en niet functionele eisen opstellen 19. prioriteiten stellen in overleg met verschillende stakeholders 20. Ethiek (nog toevoegen, leerlijn 1)

Wiskunde 21. (nog toe te voegen) 3 Bijeenkomsten en rooster Week 1 Bijeenkomst 1, dinsdag 1/2: Hoorcollege, Introductie Bijeenkomst 2, dinsdag 3/4: Werkcollege, Agile softwareontwikkeling Bijeenkomst 3, dinsdag 5/6/7/8: Practicum: SQL practicum Bijeenkomst 4, woensdag 6/7: Hoorcollege: REQ 1 Scrum meetings: woensdag, donderdag, vrijdag 1/2 (10 minuten) Week 2 Bijeenkomst 8, maandag 6/7: Hoorcollege: DATA 1 Bijeenkomst 9, dinsdag 5/6/7/8: Practicum: SQL practicum Bijeenkomst 10, woensdag 6/7: Hoorcollege: REQ 2 Scrum meetings: woensdag, donderdag, vrijdag 1/2 (10 minuten) Week 3 Bijeenkomst 1, maandag 6/7: Hoorcollege Bijeenkomst 3, dinsdag 5/6/7/8: Practicum Bijeenkomst 4, woensdag 1/2: Scrum meeting (10 minuten) Bijeenkomst 5, woensdag 6/7: Hoorcollege: Bijeenkomst 6, donderdag 1/2: Scrum meeting (10 minuten) Bijeenkomst 7, vrijdag 1/2: Scrum meeting (10 minuten) 4 Het project Een van de leerdoelen van de module is om de studenten een Agile werkwijze aan te leren. De gehele module zal daarom op een 'Agile manier' gegeven worden, waarbij we methoden uit de beroepspraktijk direct gebruiken als onderwijsmethode. Dit heeft de bijvoorbeeld de volgende consequenties: Het project wordt opgedeeld in 5 iteraties (iterations, ook wel sprints genoemd) van ongeveer 2 weken. In elke iteratie werkt een klein team van 5 studenten de gehele software ontwikkelcyclus door, inclusief planning, requirements analyse, ontwerp,

implementatie, unit testing, en acceptance testing in overleg met de opdrachtgever. Elk team heeft regelmatig contact met een klantvertegenwoordiger (customer representative). De klantvertegenwoordiger is een studentassistent of docent, en zal vragen beantwoorden namens de klant of namens andere belanghebbenden voor het afstemmen van de software met de wensen van de opdrachtgever en de doelstellingen van het bedrijf. Elk team heeft een verplichte dagelijkse bijeenkomst met de klantvertegenwoordiger (?) op woensdag, donderdag en vrijdagmorgen (stand up meeting of scrum meeting genoemd). In een korte sessie rapporteren teamleden aan elkaar wat ze de vorige dag gedaan hebben, wat ze van plan zijn te doen, en welke problemen/belemmeringen ze zijn tegengekomen. De bijeenkomst vindt elke dag op hetzelfde tijdstip plaats en duurt niet langer dan 15 minuten (bij voorkeur 10 minuten). Problemen die geidentificeerd worden tijdens de bijeenkomst worden na de bijeenkomst besproken met de verantwoordelijken. Teams zijn multi disciplinair en zelf organiserend. Elk teamlid neemt de verantwoordelijkheid voor eigen taken binnen de iteratie. Het is mogelijk dat BIT studenten een andere rol nemen binnen het team dan de INF studenten. Doel van het project is niet alleen om studenten kennis te laten maken met Agile software ontwikkeling, maar om deze methode eigen te maken en de methode te ondergaan. Het thema van het project is filmdata Toetsschema Programmeren van complexe software 1 werken volgens de volgende principes van Agile software ontwikkeling: scrum bijeenkomsten, task boards, burn down charts, user stories, etc. 2 gebruik maken van Server side vs. client side scripting, Ajax, JSP, Web frameworks Project Project 3 werken volgens requirements based testing Project 4 user interfaces bouwen met HTML/CSS, CSS frameworks Project 5 [nog nader definieren] Ontwerp Project Gestructureerde data 6 een UML class diagram omzetten naar een logisch databaseschema Toets 2 7 functionele afhankelijkheden identificeren en gebruiken voor het normaliseren van de database 8 vragen formuleren in eerste orde logica, en deze logische expressies omzetten naar SQL queries Toets 2 Toets 2

9 transacties identificeren Toets 2 10 het effect van verschillende isolation levels beschrijven op concurrency?? Semigestructureerde data 11... tekstuele data bevragen door middel van zoekmachines Toets 3 12 modellen voor information retrieval toepassen op verschillende ranking problemen Toets 3 13... basisgereedschappen van XML toepassen, zoals DTDs, XPath, XQuery Toets 3 14 [iets met] Semantic Web Toets 3 15 [<werkwoord> met] SQL Injection Toets 3 Requirements Engineering 16 een bedrijfsproces specificeren in BPMN Toets 1 17 business requirements identificeren en vertalen naar user stories Toets 1 18 functionele en niet functionele eisen opstellen Toets 1 19 prioriteiten stellen in overleg met verschillende stakeholders Project Ethiek 20 (nog toe te voegen)?? Wiskunde 21 (nog toe te voegen) W toets