Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduction
Koen Pelsmaekers
Team Informatie & ICT@groept (GT 03.14.05)
examombuds/studytrack counselor (GT 01.4/02.1)
email: koen.pelsmaekers@kuleuven.be
Software Development
KP
2016-2017
-1-
Who am I?
@Groep T: 1986
40% ict/examombuds/study track counselor
Software Development
Lab OOP (sometimes)
Software Development
KP
2016-2017
-2-
Language information
Multilangual course?
lectures
excercises/labs
2016-2017
-3-
Goal
Process, Notation
Polymorphism (interface) and dynamic or polymorphic
binding
Data structures/streams/lambdas
Refactoring and Design patterns
Parallellism (multithreading), Recursion, ...
Implementation in Java (7 or 8)
Software Development
KP
2016-2017
-4-
Content
Software Development
KP
2016-2017
-5-
Prerequisite knowledge
Software Development
KP
2016-2017
-6-
Lectures
Available in pdf
Lab
Software Development
KP
Interesting Books
Software Development
KP
2016-2017
-8-
Software Development
KP
2016-2017
-9-
On-line documentation
Unified Process
http://en.wikipedia.org/wiki/Unified_Process
http://en.wikipedia.org/wiki/Rational_Unified_Process
http://www-128.ibm.com/developerworks/rational
http://www.augustana.ab.ca/~mohrj/courses/2000.winter/csc22
0/papers/rup_best_practices/rup_bestpractices.html
Open Unified Process (OpenUp)
http://www.eclipse.org/epf
...
UML
Software Development
KP
http://en.wikipedia.org/wiki/Unified_Modeling_Language
http://www.uml.org/
http://www-306.ibm.com/software/rational/uml/
...
2016-2017
- 10 -
Java
Voxxed (www.voxxed.com)
www.devoxx.com
Voxxed is a place for developers to share news, tutorials, spotlight
projects, or just throw out ideas. Got something to say? Then get
clicking. We want to hear from you!
www.parleys.com
TheServerSide (enterprise Java)
Software Development
KP
www.theserverside.com
2016-2017
- 11 -
5 credits
== > 1/12th or 138-150 hours of your s tudy-e ffort this ac ade mic ye ar
Lectures
Lab
Organisation
Software Development
KP
Course info@Groep T
Site
Toledo course
Content
2016-2017
- 13 -
Object-oriented Software
development
is
The key to modern
Software engineering...
(cfr. 2nd pase)
Software Development
KP
2016-2017
- 14 -
Structured Programming
Semantic gap
Software == procedural
Software Development
KP
2016-2017
- 15 -
xxxxxxxxx
xxxxxx
xxxxxxxxxxxxxxxxxxxxxx
xxxxxx
xxxxxx
xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxx
xxxxxxxxx
xxxxxxxxxxxxxxxxxxx
xxxxxx
xxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxx
xxxxxxxxxxxxxxxxxxx
xxxxx
xxxxxxxxxxxx
Software Development
KP
2016-2017
- 16 -
Software crisis:
Semantic gap
Solution
2016-2017
- 17 -
17%
12%
9%
6%
7%
Object-oriented Programming
'90: Good Programming == Object-oriented Programming
+ language support (Smalltalk,
C++, Java, ...)
Real world
Software == OO
Pol
drives
Car
House
Software Development
KP
2016-2017
- 18 -
lives in
Benefits of OO
Software Development
KP
2016-2017
- 19 -
Software Development
KP
2016-2017
- 20 -
Software Development
Or
Software engineering
Software Development
KP
2016-2017
- 21 -
Software engineering
What?
Software Development
KP
Software Development
KP
2016-2017
- 23 -
Motivation
Software Development
KP
2016-2017
- 24 -
Need for:
Engineering process
Way to communicate
Software Development
KP
with customer
with teammembers
way to document, to communicate about the system being built
"the" standard notation
2016-2017
- 25 -
Software Development
KP
2016-2017
- 26 -
Software Development
KP
2016-2017
- 27 -
Waterfall model
Software Development
KP
2016-2017
- 28 -
we don't find out that the system is failing until the bulk of
the development has been carried out
Software Development
KP
2016-2017
- 29 -
Software Development
KP
2016-2017
- 30 -
Iterative
Incremental
Example:
Spiral Model
System evolves toward
final form
Software Development
KP
2016-2017
- 31 -
Waterfall model
Evolutionary model
Incremental
Iterative
Early production of code
Unified Process
2016-2017
- 32 -
2016-2017
- 33 -
Object-oriented Software
development
is
The key to modern
Software engineering...
(cfr. 2nd phase)
Software Development
KP
2016-2017
- 34 -