Otto-von-Guericke Universität Magdeburg
http://ivs.cs.uni-magdeburg.de/sw-eng/agruppe/
http://www.smlab.de
Programming Project (PPJ)
Programming Project (PPJ)
Reiner R. Dumke, University of Magdeburg
1. Programming
1. Programming
2. Software Development
2. Software Development
Agenda
3. Project Management
3. Project Management
Programming Project
Programming Project
0. Our Team
0. Our Team
4. Programming Project
4. Programming Project
Our
Our
Team
Team
–
–
Members
Members
& Partners
& Partners
Team
external PhD‘s
Reiner R. Dumke, University of Magdeburg
Our
Our
Team
Team
-
-
Teaching
Teaching
Software Engineering
Software Quality Management
Formal
Specifi-cation (LOTOS, Z)
Compiler Constrcution
Web Engineering
Component-based
Software Engineering (EJB)
Distribted System
Development (CORBA)
Service Engineering
Programming Concepts
(AspectJ, Prolog, Haskell)
Programming (C++/Java)
Agent-oriented Software
Engineering (JADE)
Software Infrastructures
(Server Farms, P2P, Grids)
V&V
Performance Engineering
http://ivs.cs.uni-magdeburg.de/
sw-eng/agruppe/lehre/
Our
Our
Team
Team
-
-
Education
Education
Teaching in Cuba
PhD Seminars
in Idaho
Presentation Skills in Seminars
Industrial courses
Reiner R. Dumke, University of Magdeburg
Our
Our
Team
Team
-
-
Research
Research
6 GI-Fachgruppe 2.1.10 Software-Messung und -Bewertung
Industrial Partners
Industrial Partners
Uni Partners
Uni Partners
Communities
Communities
http://ivs.cs.uni-magdeburg.de/
sw-eng/agruppe/forschung/
Our
Our
Team
Team
-
-
Communities
Communities
Project areas:
•
Measurement
models
and paradigms
•
Measurement
infrastructures
and cockpits
•
Risk
analysis
•
Quality
assurance
in automotiv
software
•
Efficiency
in e-Business systems
•
etc.
Conference discussions
Reiner R. Dumke, University of Magdeburg
Our
Our
Team
Team
-
-
Publications
Publications
1. Programming - Principles
Tasks, activity
description
Task,
Activity
in the context of:
Ubiquitous Computing
Pervasive Computing
Wearable Computing
Reiner R. Dumke, University of Magdeburg
1. Programming - Description
Pseudocode
Modul
read the number of values
while (values existing?)
do read value;
sum of the positive values
od write result Endmodul
Structogram
Flowgraph
Program chart
Syntactical diagram
Reiner R. Dumke, University of Magdeburg
1. Programming - Experience
FAQ Java:
Java Tutorial:
Reiner R. Dumke, University of Magdeburg
Reiner R. Dumke, University of Magdeburg
Reiner R. Dumke, University of Magdeburg
Reiner R. Dumke, University of Magdeburg
1. Programming - Overview
Source code-Example
using Eclipse
Usual executing
Java Tutorials (Grammar, Class Overview)Course Script
(Examples)
Static Testing
(FindBugs)
Debuggen
(eclipse)
Course Script
(Test methods)
Testdata from
the
specifi-cation
Javadoc
Course Script
(Doc. principles)
Program
efficiency
Course Script
(Analysis)
OO Testing
(JUnit)
2. Software Development
Process (Project)
Requirements
Software Product
Resources:
Personnel
Software
Hardware
Standards
Measures
Experience
Reiner R. Dumke, University of Magdeburg
2. Software Development - Product
•
User manual
•
Reference manual (Demo)
•
Setup routines
•
Tutorials
•
Development documentation
- Programs
- Quality reports
- Test reports
- Charts & diagrams
- Change documentation
- Support programs
2. Software Development - Process
•
Problem definition
•
Requirement Analysis
•
Specification
•
Design
•
Implementation
•
Field test
•
Operation
Reiner R. Dumke, University of Magdeburg
2. Software Development - Ressources
Personal:
•
Analyser
•
Developer
•
Programmer
•
Tester
•
Technical writer
Software:
CASE: Computer-Aided Software Engineering
vs.
Components (COTS, Libraries etc.)
2. Software Development - UML
Reiner R. Dumke, University of Magdeburg
2. Software Development – UML: Behavior description
Sequence diagram
Activity diagram
2. Software Development – UML: Architecture description
Deployment diagram
Component diagram
Class diagram
Reiner R. Dumke, University of Magdeburg
3. Project Management - Overview
•
Development Management
•
Project management
•
Quality management
•
Configuration management
•
Maintenance Management
•
Configuration management
•
Compatibility management
•
Triage management
•
Operation Management
•
Application management
•
Migration management
•
Damage management
Staff
CASE-Tools
M
E
A
S
U
R
E
M
E
N
T
Reiner R. Dumke, University of Magdeburg
3. Project Management – Development Teams
Staff / Personnel:
•
Customer
•
User
•
Analyst
•
Developer
•
Programmer
•
Administrator (DB & Net)
•
Technical staff
Egoless programming
team (ET)
Virtual team (ST)
Extreme programming
team (EP)
Teleworker
Chief Programmer (CPT)
3. Project Management – Planning methods
PERT diagram
especially: Critical Path
Method (CPM)
Milestones
Gannt diagram
Produkt-Erstellungsart Vermittlung Beschaffung Anpassung Realisierung Entwicklung Neukonzept P10 A10 T10 T30 T50 B70 B90 Zeit
Reiner R. Dumke, University of Magdeburg
3. Project Management - Evaluations
Reiner R. Dumke, University of Magdeburg
4. Programming Project - Overview
Team forming
Task definition
Project initiation
Milestone
iResult presentation/defense
Project work
Reiner R. Dumke, University of Magdeburg
4. Programming Project – Team forming
Team member
roles
(
≈
4 students)
Communication
Scheduling
4. Programming Project – Task definition, project initiation
Task
could
be
chosen
Task
could
be
mid-size
complex
problem
Task
could
be
committed
Reiner R. Dumke, University of Magdeburg
4. Programming Project – Project work, milestones
Meeting: every
Friday
(except
Nov. 20) in G22A-208
Tools: Doc Tool, Programming
Environment
Very
important: Team discipline
4. Programming Project – Result presentation
Every
team
has a defense
date
Evaluation: mark
Reiner R. Dumke, University of Magdeburg