Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering...

25
Slide 1 Project Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016

Transcript of Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering...

Page 1: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 1

Project

Grundlagen des Software EngineeringFundamentals of Software Engineering

Prof. Dr. Dr. h.c. Dieter Rombach

SS 2016

Page 2: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 3: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 3

Topics

Goal

Project

Applied Techniques

Infrastructure

Page 4: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 4

Goal

Apply engineering methods and techniques for the

systematic development of software-intensive

systems

Requirements

Engineering

Architectural design Component

EngineeringTesting

Page 5: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 5

Goal

Apply engineering methods and techniques for the

systematic development of software-intensive

systems

Requirements

Engineering &

Interaction Design

Architectural design Component

EngineeringTesting

Page 6: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 7: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 7

Bürgerbus Weilerbach

Page 8: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 9: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 10: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 11: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 12: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 12

Infrastructure

• Project environment is provided • Technical support: Christian Wolschke, Thomas

Schneider

Thomas Schneider

[email protected]

32-418

Page 13: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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.

Page 14: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 15: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 16: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 17: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 18: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 19: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 20: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 21: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 22: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 22

Your work

• You will work as ONE Team

[email protected]

• Three groups exist

• Group 1: Backend

[email protected]

• Group 2: Citizen App

[email protected]

• Group 3: Bus App

[email protected]

• "Group 4": Supervisors

[email protected]

• 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

Page 23: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 24: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

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

Page 25: Grundlagen des Software Engineering Fundamentals of ......Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016. Slide

Slide 25

Workshop

For requirements elicitation

On Friday, April 22, in 32-439 at 13:15 h

Preparation is necessary