View
264
Download
5
Category
Preview:
Citation preview
Ekkart Kindler
Software Engineering 2 A practical course on software engineering
Ekkart Kindler
Technical University of Denmark
Informatics and Mathematical Modelling
Ekkart Kindler
5 SE 2 (02162 e13), L11
1. What did you learn?
Objectives of this course:
Basic skills in software engineering!
Ekkart Kindler
6 SE 2 (02162 e13), L11
Software Engineering is
… much more than programming!
… listening and understanding!
… analytic and conceptual work!
… communication!
… a social process!
…
… acquiring new technologies!
… a discipline with proven concepts, methods, notations, and tools!
… and ever new technologies emerging!
Ekkart Kindler
7 SE 2 (02162 e13), L11
Experience
Software Engineering requires much
experience!
This experience
can not be taught theoretically!
will be provided in this course!
tutorial
project
and (only) backed by the lectures
Ekkart Kindler
8 SE 2 (02162 e13), L11
Objective
Practice the concepts, methods, notations and
Tools for software engineering
(improve programming skills)
understanding of the software engineering process
experiences with problems and concepts for
solving them
writing documents and creating models
use of methods and tools
practice communication and presentation skills
capability of teamwork and leadership
acquire new technologies
…
Ekkart Kindler
10 SE 2 (02162 e13), L11
Problems
imprecise requirements
mistakable and unclear requirements
inconsistent requirements
changing requirements
changing environments (software / hardware)
different versions and configurations
changing tools, notations, languages, methods, concepts, technologies
collective knowledge only
communication
…
Ekkart Kindler
11 SE 2 (02162 e13), L11
Software engineering
Branches: Development:
actual development of the software product
Management: Manage (control and improve) the development process
Quality management: Planning and implementing measures that guarantee that the software meets the required quality
Software maintenance: Remove faults occurring in operation, adapt software to changing requirements and environments
Ekkart Kindler
12 SE 2 (02162 e13), L11
Process
Planning
phase
Definition
phase
Design
phase
Implem.
phase
Acceptance
phase
Mainten.
phase
Ekkart Kindler
13 SE 2 (02162 e13), L11
Process Meta model
Phase
Role
Document
needs
produces
needs
Method Notation
used in
uses
is involved
works on
written in
State has
Ekkart Kindler
14 SE 2 (02162 e13), L11
Process
Planning
phase
Definition
phase
Design
phase
Implem.
phase
Acceptance
phase
Mainten.
phase
Ekkart Kindler
15 SE 2 (02162 e13), L11
Models
:Place
:Transition
:Arc
:Transition
:Place
:Arc
:Arc
source
target source
target
target source
:Arc source target
:Petrinet
:Token
Place Transition
1 source
1 target
Arc
*
PetriNet
Token *
Node
Object
1 source
1 target
Association Class
ClassDiagram
* *
:Class :Class
:Association
:Association
…
…
Place
Transition
Arc
Token
Ekkart Kindler
16 SE 2 (02162 e13), L11
Issues
Purpose and roles of models in SE
Model / View / Controller
Model Domain model and functions
View Representation of model and user interaction
Controller Makes changes and calls functions of the model
queries
informs on changes
makes changes
selects
informs on user interactions
Ekkart Kindler
17 SE 2 (02162 e13), L11
Issues
How to make useful UML models
Domain model OOA
Implementation OOD
Learn to use new technologies
YOURSELF!
Eclipse / GEF / EMF / GMF / Xtext…
Ekkart Kindler
18 SE 2 (02162 e13), L11
Issues
Get requirements straight
Write a systems specification
Petri net Animation info
shape: train
animation: move
geometry: track1
...
«3D models»
...
+
Simple interactive
3D animation of a
system
Ekkart Kindler
19 SE 2 (02162 e13), L11
Specifying Software
Project Definition
Requirements Specification
rough
detailed
Systems specification
Complete Models
Implementation, Documentation
Handbook
what
how
Ekkart Kindler
20 SE 2 (02162 e13), L11
Specifying Software
Project Definition
Requirements Specification
rough
detailed
Systems specification
Complete Models
Implementation, Documentation
Handbook
rough
detailed
Ekkart Kindler
21 SE 2 (02162 e13), L11
Specifying Software
Project Definition
Requirements Specification
rough
detailed
Systems specification
Complete Models
Implementation, Documentation
Handbook
low cost
high cost
Ekkart Kindler
22 SE 2 (02162 e13), L11
Issues
writing,
talking,
communicating, and
organizing yourself
work together
version management
(other/better tools)
Ekkart Kindler Issues
Quality
Management
Testing
Reviews
Many practical issues on programming and
solving problems
23 SE 2 (02162 e13), L11
Ekkart Kindler
24 SE 2 (02162 e13), L11
Issues
Integration and extension
Integrating features in existing software
(PlugIn Mechanisms, …)
Developing parts in parallel
(based on a common model)
Separating concerns
Stepwise extension
(prototyping, agile)
…
Ekkart Kindler
25 SE 2 (02162 e13), L11
Topics
Software Specifications (incl. writing)
Modelling & Meta modelling
Quality mangament (incl. testing)
Code generation
Working together
Management
Ekkart Kindler
27 SE 2 (02162 e13), L11
Technology issues
MOF (Meta Object Facility)
Content providers, …
Validation (OCL)
Transactionality (EditDomains)
Customised code transformations
(JET / XSLT and other concepts and
technologies)
Analyse, validate, verify these models, …
Other SE-Principles:
e.g. Aspect oriented Modelling
…
Ekkart Kindler
29 SE 2 (02162 e13), L11
Future technologies
Modelling dynamic behaviour
(and generating code from that)
Defining transformations
Get completely rid of programming?!
Ekkart Kindler
30 SE 2 (02162 e13), L11
Example: Moving Shuttles
Track Shuttle
Simple …
at occupied
1 0..1
pred
succ
Ekkart Kindler
31 SE 2 (02162 e13), L11
An Instance
t1:Simple s:Shuttle
pred
occ
t2:Simple
succ
at
:Simple
pred
succ
pred
:Simple
succ
Ekkart Kindler
32 SE 2 (02162 e13), L11
Behaviour
t1:Simple s:Shuttle
pred
occ
t2:Simple
succ
at
at
occ
:Simple
pred
succ
pred
:Simple
succ
before
<<delete>>
after
<<create>>
Ekkart Kindler
33 SE 2 (02162 e13), L11
Behaviour as Story Pattern
t1:Simple s:Shuttle
pred
occ
t2:Simple
succ
at
at
occ
<<delete>>
:Shuttle occ at
Ekkart Kindler
34 SE 2 (02162 e13), L11
More details & experience
Master courses
Systems integration (H.B.)
Formal methods (A.H.)
Advanced topics in SE (E.K., f13)
Bachelor and master projects
(next slides)
Ekkart Kindler
36 SE 2 (02162 e13), L11
Bachelor
3D-Visualisation (more advanced features / net
types)
fault
diagnosis
Real world
verification
controller
synthesis
simulation
performance
analysis
Virtual world
Ekkart Kindler
37 SE 2 (02162 e13), L11
Bachelor / Master
ePNK, PNML Tools, ISO/IEC 15909-2
Place Transition
1 source
1 target
Arc
*
PetriNet
Token
*
Node
Object
Ekkart Kindler
39 SE 2 (02162 e13), L11
Master
Behaviour modelling: ECNO
: Slot
:Panel
:Control
:Coffee
:Output
: Safe
:Coin
:Tea
:Coffee
:Coin
:Coin
cancel reset
reset
reset reset
return
return
cancel
reset return
reset: ALL cancel: ALL
reset: ALL
reset: ALL reset: ALL
return: ALL
return: ALL
Recommended