Opleiding Informatica — Doel en Ambitie Doelstelling: Het doel van de opleiding Informatica aan de Universiteit Antwerpen is bekwame en wetenschappelijk gevormde informatici af te leveren. Na hun opleiding • (a) zijn zij in staat zich de nieuwste technologische ontwikkelingen in de diverse deelgebieden eigen te maken, • (b) kunnen zij deze waar nodig ook exploiteren binnen hun beroepscontext, en • (c) kunnen zij zelf een originele bijdrage leveren tot de verdere evolutie van de informatica.
Software Engineering 3de BAC Informatica (Computer Science) [Academic year 2014-2015] !
© Prof. Serge Demeyer Ambitie: De onderwijscommissie Informatica van de Universiteit Antwerpen wil een unieke opleiding aanbieden gebaseerd op de aanbevelingen van gerenommeerde wetenschappelijke organisaties zoals ACM, IEEE en SIAM. Ze wenst dat haar alumni voldoende diepgang en flexibiliteit bezitten om gegeerd te zijn op de arbeidsmarkt en academische posities te bekleden in universiteiten en onderzoeksinstellingen met wereldfaam. Daartoe hanteert zij een transparant en activerend leerproces, conform de visie van de Universiteit Antwerpen rond “studentgecentreerd onderwijs”.
Universiteit Antwerpen
2
0.Praktische Zaken
, CM
le ) na io en AM at rd SI rn aa IS, te d A In tan EE, s IE
(A
Bachelor Programma - overzicht …
…
…
Master
Bachelor
profileringsruimte
Software Engineering
Databases
Computernetwerken & Gedistribueerde Systemen
Kerncompetenties Software Engineering Bachelor = bekwame informaticus
Analyse en ontwerp voor kleinschalige software projecten Implementatie van nieuwe softwaresystemen Onderhoud van bestaande softwaresystemen Implementatie en onderhoud van een databank Beheer van een lokaal netwerk Vakbekwaamheid Maatschappij Communicatievaardigheden
++ +++ +
Academische Bachelor = wetenschappelijke vorming
Wiskundige basis
Fundamenten van de Informatica Wetenschappelijke verankering
Formeel denken en abstraherend vermogen
+
Levenslang leren
++
Wetenschappelijke aanpak
+
Wetenschappelijke basis Autonoom en creatief functioneren
0.Praktische Zaken
+ + ++
3
0.Praktische Zaken
+ 4
HOOFDSTUK 0 – Praktische Zaken
Doel
Doel • Professionele Informaticus • Plaats in het Curriculum + Kerncompetenties • Beoordelingscriteria • Examen • Voorbeeldvragen Literatuur Inhoudstafel
Programmaboekje • “Het doel bestaat erin om de student een brede basis te verschaffen in het bouwen van softwaresystemen die te complex zijn om door één persoon gerealiseerd te worden.” ! • Dus - brede basis ➡ véél technieken - complexe systemen ➡ schaalbare technieken
0.Praktische Zaken
5
6
0.Praktische Zaken
Professionele Informaticus
40
diverse domeinen • traditionele “data processing”
(banken, verzekeringen) • spitstechnologie
(multimedia, embedded systems) • telecommunicatie
(netwerkbeheer, e-commerce) • ... • onderzoek ! zij verwachten • technische virtuozen + diverse specialiteiten • groepsspelers + sociale vaardigheden
35
Enquête onder alumni (april 2008) — JobProfiel
30
25
20
38
15 25
23
22
10
16
15 11
5
7
6
6
5
4
3
0
in g
in g
r
ik ke l tw on
e w ar ar d
H
Ve r
ko o
p
uu r
en
be
m ar
he
er
ke t
de
) el
k
tr ie us tr uc t
zo e er nd
In fr as
em
ke r
on
(i nd
H
el pd
es
in g
te n
ik ke l tw
kl an te
O
D
ie
ns te n
aa n
D &
si gn er de W eb
Sy s
id
ev el op
tle ec oj
Pr
e So
ft w ar
er
er
ct
) ch Ar
m
is
ite
ch
t ke r
(a ca
de
nt
e ft w ar
So
zo e er nd
7
O
0.Praktische Zaken
An al is
ul ta ns Co
So
ft w ar
e
on tw
ik
ke lin
g
0
Enquête onder alumni (april 2008) — Bedrijfssector
25
Enquête onder alumni (april 2008) — Bedrijfsgrootte 5 of minder werknemers 3%
20
tussen 5 en 50 werknemers 12%
15
22 10 18 15
tussen 50 en 500 werknemers 20%
5
se ct or
en
ds
em
s
m
vr ije
an
tij
ag
meer dan 500 werknemers 65%
/ t en ai nm
te rt En
an um H
ch
1
In
fo
rm
M
at
ed
is
rc e
re
or ct e
se
pe nb O
1 t
sw ez en
ze ke r
in g
le nc ië
/
so u
ge
1
se ct or
se ds ei dh
zo n
er m m Co
e ar
gi e no lo ch
ie te
1
ct
st r du In
ci ë
/ n di en
te &
ie
r se ct o
id
le
ov er
An st e
co le
rw
he
de re
at ic un m m
& ijs
ie
in g vo rm
nc y ta ns ul Co nd e O
1 or
1
Ve r
2
na
3
Fi
4 0
Criteria - Selectie
Criteria - Diversificatie
Accuraatheid • Een professionele software engineer werkt in groep en moet dus op een accurate manier kunnen communiceren met zijn collega’s en eindgebruikers. ➡ Juist gebruik van terminologie ➡ Parate kennis definities ! Toepasbare kennis • Een professionele software engineer moet in staat zijn gekende technieken toe te passen in een variërende context. ➡ “Know-how” ➡ Oefeningen
Inzicht • Een professionele software engineer moet technische keuzes kunnen verantwoorden ➡ “Know when” ➡ Afwegingen maken
SELECTIE • Je moet dit kunnen demonstreren tijdens het examen om te slagen !
0.Praktische Zaken
11
DIVERSIFICATIE: • De mate waarin je dit kunt demonstreren tijdens het examen laat je toe je te onderscheiden van je collega’s.
0.Praktische Zaken
12
Examen
Voorbeeldvragen (schriftelijk) Schriftelijk = Selectie (minimumnorm) • 1 vraag per hoofdstuk • kennisvragen (cfr. “You should know the answer to these questions”) • ook oefeningen
Schriftelijk
Enkele voorbeeldvragen • 1. Geef 2 redenen waarom het waterval model onrealistisch is. • 2. “Het systeem is voor 93% correct” is een geldige uitspraak. - Ja / Neen - Waarom? • 3. Bij het overschrijven van een methode in een subclasse ... + (a) moet de preconditie gelijk blijven + (b) mag de preconditie zwakker worden + (c) mag de preconditie sterker worden ➡ Waarom?
resultaat > 12
!
Mondeling
Mondeling = Herkansing • extra kennisvragen • evt. oefening
eind resultaat [0, 10]
Modelantwoorden • 1. + gebruikers kunnen behoeften nooit volledig specificeren + een werkende versie is veel te laat beschikbaar • 2. Ja / Neen + Correctheid is een absolute eigenschap. • 3. (b) + Een subklasse moet minstens hetzelfde contract vervullen.
Mondeling
Mondeling = Diversificatie • 1 a 2 inzichtsvragen (cfr. “Can you answer the following questions”) • evt. 1 creatieve vraag
eind resultaat [10, 20]
0.Praktische Zaken
13
0.Praktische Zaken
Voorbeeldvragen (mondeling)
Criteria (ii)
Een voorbeeld v. e. inzichtsvraag • Leveren CRC-kaarten het best mogelijke ontwerp? Argumenteer?
Levenslang leren • Een professionele software engineer zal zijn leven lang de technische evoluties op de voet moeten volgen. ! ➡ Vele referenties naar boeken, artikels, world-wide web ➡ “Engels” als voertaal voor de transparanten
!
• Modelantwoord + er is geen eenduidig criterium om te meten wat het “beste” ontwerp is + de techniek is heel vrij: elke stap kan verscheidene goede antwoorden bieden + veel hangt af van de groepsdynamiek
! !
14
Een voorbeeld v.e. creatieve vraag • Je baas heeft op de radio gehoord van het “I Love You Virus” en vraagt een veiligheidsplan. Wat zul je allemaal in dat veiligheidsplan opnemen ?
!
ACHTERGRONDINFORMATIE: • Je wordt verondersteld zelf selectief met diverse bronnen om te gaan.
• Modelantwoord • De context is niet voldoende duidelijk en je moet zelf vragen stellen om die helder te krijgen. + Wat voor soort systeem is het? Hoe hangt het aan het internet? + Wat voor soorten risico’s loopt het systeem? Hoeveel risico is je baas bereid te lopen? Hoeveel is hij bereid te investeren ?
0.Praktische Zaken
15
0.Praktische Zaken
16
Literatuur Aanbevolen is 1 van onderstaande boeken aandachtig door te nemen (INZICHT)
!
! • [Ghez91a] Fundamentals of Software Engineering, C. Ghezzi, M. Jazayeri, D. Mandroli, Prentice Hall, 1991.([Ghez02a] = Second edition) - Tijdloos door de nadruk op onderliggende principes, maar daardoor moeilijk.
!
• [Pres97a] Software Engineering — A Practitioner’s Approach, R. Pressman, Mc-Graw Hill, Fourth Edn., 1997. ([Pres09a] = Ninth edition) - Zeer praktisch en zeer diep, maar anderzijds weinig selectief en volumineus (dus duur).
!
• [Somm96a] Software Engineering, I. Sommerville, Addison-Wesley, Fifth Edn., 1996. ([Somm06a] = Eighth edition) - Zeer populair, zeer breed en makkelijk leesbaar, maar mist af en toe wat diepgang.
!
Andere literatuur wordt per hoofdstuk vermeld, incl. referenties op het web.
0.Praktische Zaken
17