Slide 1
Project
Grundlagen des Software EngineeringFundamentals of Software Engineering
Prof. Dr. Dr. h.c. Dieter Rombach
SS 2016
Slide 2
Organizer
Anne [email protected]
0631 / 6800 - 2104
Malte [email protected]
32-432
0631 / 205 – 26 25
Sebastian Mü[email protected]
32-429
0631 / 205 – 34 49
Christian [email protected]
32-419
0631 / 205 – 33 33
Prof. Dieter [email protected]
32-423
Slide 3
Topics
Goal
Project
Applied Techniques
Infrastructure
Slide 4
Goal
Apply engineering methods and techniques for the
systematic development of software-intensive
systems
Requirements
Engineering
Architectural design Component
EngineeringTesting
Slide 5
Goal
Apply engineering methods and techniques for the
systematic development of software-intensive
systems
Requirements
Engineering &
Interaction Design
Architectural design Component
EngineeringTesting
Slide 6
Project
This year’s project will deal with the development of
a mobile people’s bus system. The systems
consists of a mobile app that serves as the people’s
bus host system and another mobile app for
citizens to use the different people’s busses. It is
intended, that the system will be used within the
project Digitale Dörfer (for further information see
www.digitale-doerfer.de). Real life evaluations with
concrete existing people’s bus systems are also
optionally possible.
Steffen [email protected]
0631 6800 2275
Slide 7
Bürgerbus Weilerbach
Slide 8
Applied Techniques
Experience Factory
Project Organization n
Project Organization 2
Project Organization 1
Project Database
- Products
- Data
- […]
Problem
/ Rqmts
Product
Goal and
Character-
istics
Project Management
Project
Plan
Project
Planning
Storage
(Products, Measures)Reuse
Experience Database
- T/M/T
- Products
- Project plans
- […]Process-
models
Product-
models
Quality-
models
Reuse (Models)
Storage
SW-
System/
Product
Quality Assurance
RE / ID CO TestAD
RE: Requirements EngineeringID: Interaction DesignAD: Architecture DesignCO: Coding
Slide 9
Applied Techniques
Experience Factory
Project Organization n
Project Organization 2
Project Organization 1
Project Database
- Products
- Data
- […]
Problem
/ Rqmts
Product
Goal and
Character-
istics
Project Management
Project
Plan
Project
Planning
Storage
(Products, Measures)Reuse
Experience Database
- T/M/T
- Products
- Project plans
- […]Process-
models
Product-
models
Quality-
models
Reuse (Models)
Storage
SW-
System/
Product
Quality Assurance
Process Modeling (MVP-L)
Req-Mgmt
Version
Mgmt
mConcAppt
Stepwise
Abstraction
Inspections
with PBR
RE / ID CO TestAD
TestingMIL
RE: Requirements EngineeringID: Interaction DesignAD: Architecture DesignCO: Coding
Slide 10
Applied Techniques
Experience Factory
Project Organization n
Project Organization 2
Project Organization 1
Project Database
- Products
- Data
- […]
Problem
/ Rqmts
Product
Goal and
Character-
istics
Project Management
Project
Plan
Project
Planning
Storage
(Products, Measures)Reuse
Experience Database
- T/M/T
- Products
- Project plans
- […]Process-
models
Product-
models
Quality-
models
Reuse (Models)
Storage
SW-
System/
Product
Quality Assurance
Process Modeling (MVP-L)
Req-Mgmt
Version
Mgmt
mConcAppt
Stepwise
Abstraction
Inspections
with PBR
RE / ID Co TestArch
TestingMIL
RE: Requirements EngineeringID: Interaction DesignAD: Architecture DesignCO: Coding
Github-Wiki
Git-Repo
Slide 11
Supervision
Steffen Hess Christian Wolschke
Anne Hess Sebastian Müller
Malte Brunnlieb
New feature requests
Project Management
Issue Tracker
RequirementsEngineering / InteractionDesign with mConcApptin Wiki
Entries in Wiki for testreports
Test cases
Architecture
Git commits
Jenkin builds
Code
Slide 12
Infrastructure
• Project environment is provided • Technical support: Christian Wolschke, Thomas
Schneider
Thomas Schneider
32-418
Slide 13
Project Management
Kick-off Meeting
4 Iterations
Each iteration consists of
Requirements & Interaction Design
PBR: Test cases and customer interview
Architecture
Checklist-based review
Coding
Code reviews
Testing
Each iteration ends with testate
Final Presentation
with Prof. Rombach
Date: t.b.d.
Slide 14
Project Management
April May June JulyCW 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Iter 1 1 1 1 1
Req +Des 1 1
Co 1
QA 1
Iter 2 2 2 2
Req +Des 2
Co 2
QA 2
Iter 3 3 3 3
Req +Des 3
Co 3
QA 3
Iter 4 4 4 4
Req +Des 4
Co 4
QA 4
Buffer X
Finalize X
Slide 15
Workflow (1)
Create New Idea
Issue
Assign for next stepPrioritize
(-> milestone)
StakeholdersGoals
Use CasesSystem Functions
Track changes
Requirements Engineering
Architecture
System Designing
Interview CustomerCreate System Test
Cases
System TC
Checklist based review
document related artifacts + changes
Slide 16
Workflow (2)
Issue
Unit interface + specification
Unit Designing
Code
Coding
Automatic build + Unit Test
Create Unit Test Cases
Unit TC
document related artifacts + changes
Architecture
Review
build artifacts
Slide 17
Requirements Engineering & Interaction Design
Phase 1 Elicit Requirements
Phase 2 Specify Interaction Design
Phase 3 Validate Interaction Design
Prepare & Conduct WorkshopDocument Results
Identify key functionality Specify Interaction CasesModel flow of interaction casesCreate WireframesModel screen flows
Specify usage scenariosCreate clickable prototypeConduct user review
See „[email protected]“ for detailed guideance
Slide 18
OASP
OASP4J OASP4JS OASP4NET
Client
Server JEE-Standards
Best-Practices
Modules
Sample Application
Application Template
Currently not addressed
JavaFx planned
AngularJS
Best-Practices
Modules
Sample Application
Application Template
Not planned (node.js)
Not planned
In Progress
Slide 19
Architecture
Subsystem Server
Cross-Cutting
Service-Layer
Logic-Layer
Data-Access-Layer
Security
Logging
Monitoring
Transaction
Handling
Exception
Handling
Subsystem Client
Cross-Cutting Client-Layer
HTTPS
Client-
Component X
Client-
Component ...
Server-
Component ...
Client-
Component A
Server-
Component Y
Server-
Component Z
Caching
Caching
External System S1
(Service Consumer)
External System S2
(Service Provider)
Server-
Component X
Server-
Component A
X-Entities &
X-DAOsA-Entities &
A-DAOs
A-Services
A-UseCases
X-Services Y-Services
X-UseCases Y-UseCases Z-UseCases
Z-DAOs
A-Dialogs X-Dialogs
Servlet-Container
JAX-RSJAX-WS
JSR330CDI
JPA
JMX
JAAS
JSR303
Java
Slide 20
Code Architecture
Subsystem Server
Cross-Cutting
Service-Layer
Logic-Layer
Data-Access-Layer
Security
Logging
Monitoring
Transaction
Handling
Exception
Handling
Subsystem Client
Cross-Cutting Client-Layer
HTTPS
Client-
Component X
Client-
Component ...
Server-
Component ...
Client-
Component A
Server-
Component Y
Server-
Component Z
Caching
Caching
External System S1
(Service Consumer)
External System S2
(Service Provider)
Server-
Component X
Server-
Component A
X-Entities &
X-DAOsA-Entities &
A-DAOs
A-Services
A-UseCases
X-Services Y-Services
X-UseCases Y-UseCases Z-UseCases
Z-DAOs
A-Dialogs X-Dialogs
Slide 21
Coding
Infrastructure
Git for source code management (SCM)
Jenkins
At least one Mac & Win10 for mobile builds
Follow the guidelines of the OASP!
Think in use cases. Trace use cases to components.
Testing
Try to perform your tasks test-driven (TDD) by unit tests
Implement consumer-based tests
Slide 22
Your work
• You will work as ONE Team
• Three groups exist
• Group 1: Backend
• Group 2: Citizen App
• Group 3: Bus App
• "Group 4": Supervisors
• You will only be able to finish your tasks if you
continuously work on them
• 8 ECTS Points -> 240 hours, 13 weeks -> ~ 18,5
hours/week
Slide 23
Your NamesGruppe Name
1Jay Bonkile1Sriram Kumar Srinivasan1Ricarda Rosemann1Muhammad Zeeshan1Mohammad Baniasad1Hafiz Ahsan Raza2Marcel Müller2Johann Heinz
2Dominik Skalnik2Steffen Benjamin Holzer2Patrick Müssig2Tim Dellman2Maissa Kerkeni3Mher Ter-Tovmasyan3Charel Irrthum3Patrick Pschorn3Sascha Müller3Sviatlana Shukailava3Erik Grüner3Oliver Säger
Slide 24
Next steps
Sign participation declaration
you agree your result to be public and reusable
Get access to our lab
Physical keys
Get access to
PCs in lab
Github project
Jenkins-Server
Read guidelines for working
Start to work
Slide 25
Workshop
For requirements elicitation
On Friday, April 22, in 32-439 at 13:15 h
Preparation is necessary
Top Related