• Ingen resultater fundet

Software Engineering 2

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "Software Engineering 2"

Copied!
30
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

Software Engineering 2

A practical course in software engineering

Ekkart Kindler

(2)

IV. Working together

IV.1. Management

(3)

Ekkart Kindler

Definition

(Software) Management

Planning, organizing, leading, monitoring and controlling the software development process.

(4)

Ekkart Kindler

Management Goals

Define goals and make sure that they will be achieved

General goals:

 Increase productivity

 Increase quality

decrease

development costs Increase

product value

In short:

(5)

Ekkart Kindler

Short- vs. Long-term Goals

Software Management requires

 short-term

(within a project or even within a phase) and

 long-term

(spanning more projects)

(6)

Ekkart Kindler

Management

Planning

set goal

set dates

define course of action

assign resources

Organization

assign tasks

define organisation structures

assign responsibilities

(7)

Ekkart Kindler

Management

Leading

lead and motivate team members

improve communication

solve conflicts

Monitoring and controlling

check progress

identify problems (early)

produce relief

(8)

Ekkart Kindler

Management cycle

 Planning

 Organization

 Leading

 Monitoring & controlling

(9)

Ekkart Kindler

Management issues

On the following slides some

mangament ”issues” are raised, for triggering a discussion!

(10)

Ekkart Kindler

Management:

 Measure / picture / control progress of project

 Predict cost / time

 Minimise risk

(minimise negative impact of risk)

 Manage size and complexity

 Minimize complicatedness (see next slide)

 Balance workload

(11)

Ekkart Kindler

Complex vs Complicated

 Complexity is inherent to the problem solved

 ”Complicatedness is difficulty that serves no purpose ...”

http://picture-poems.com/week4/complexity.html

(12)

Ekkart Kindler

Make sure to

 Understand the problem

 Define the solution

 Design the solution

 Implement the solution

WHAT”

HOW”

WHY”

D

I

O C

(13)

Ekkart Kindler

CDIO

 Conceiving

 Designing

 Implementing

 Operating

(14)

Ekkart Kindler

Process models

Process models are the distilled experience of project plans of successful software projects

they are idealized and abstract from (many) details this is their strength (and maybe also their weakness)

 adaptive (e.g. agile, Scrum, evolutionary, …) vs.

 predictive (e.g. waterfall, V-model, RUP, …)

(15)

Ekkart Kindler

Agile manifesto

„We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.“

(16)

Ekkart Kindler

Waterfall Model

Planning phase

Definition phase

Design phase

Implem.

phase

Acceptance phase

Mainten.

phase

(17)

Ekkart Kindler

Mistakes

 I without C/D

 C/D goes on forever (I never starts)

 requirements are illusive

Observation:

 Often C/D needs or is inspired by I

(only an first implementation reveals what we really wanted)

 ”co-evolution” of understanding of problem and

(18)

Ekkart Kindler

In all process models

 Understand the problem

 Define solution

 Design & implement solution

why

what

how

(19)

Ekkart Kindler

Why / what

Why?

 Understand what there is already!

 Understand why this is not sufficient!

What?

 What can be done about it!

 define (better) solution

(20)

On the dimensions of software documents

An idea for framing the

software engineering process

Ekkart Kindler, Joseph Kiniry,

Anne Haxthausen, Hubert Baumeister

(21)

Ekkart Kindler

SE ”theories”

”General” Theory

Terminology / Ontology (”important parameters”)

Laws

Methodology (Practices)

Chosen principles

Facts / observations

Experiences

Empirical studies

Facts (”laws”) used to phrase

justifies

(22)

Ekkart Kindler

Teaching SE

what rough

(23)

Ekkart Kindler

Describing Software

rough detailed

formal

(24)

Ekkart Kindler

Schema for dimension

Name:

Definition:

”Litmus test”:

Examples:

(25)

Ekkart Kindler

Entanglement: ex. ”Rough/detailed”

 Level of detail, Abstraction, Composition, ...

Coverage

(26)

Ekkart Kindler

Entaglement

 level of detail

 declarative / executable

 informal / formal

 textual / graphical

 ”imprecise” (loose) / precise

(27)

Ekkart Kindler

The goal?

rough detailed

formal

(28)

Ekkart Kindler

”Waterfall model”

rough detailed

formal

informal

(29)

Ekkart Kindler

”Agile”

rough detailed

formal

(30)

Ekkart Kindler

Example documents

 Product objective

 Product use

 Use cases

 User story

 Domain model

 Code (implementation)

 Prototype

 GUI definition

 GUI mockup

 ...

 Design

 Architecture

 Data base schema

 XML Schema

 OOA

 OOD

 Systems specification

 Requirements specification

 Formal model

Referencer

RELATEREDE DOKUMENTER

The results are based on a full scale experiment in the education, Master of Industrial Information Technology (MII) and is one of many projects deeply rooted in the project

Three years of experience with the MII basis year indicate that a successful project-based and group-organised learning model for on-campus engineering programs, the Aalborg model,

The results are based on a full scale experiment in the education, Master of Industrial Information Technology (MII) and is one of many projects deeply rooted in the project

We first illustrate the ideas of modelling domain phenomena and concepts in terms of simple entities, operations, events and behaviours, then we model the domain in terms of

Due to the difficulty involved in the design and development of complex software systems, wide ranges of software engineering paradigms have been developed, such as

 Concepts and underlying theory of Model-based Software Engineering (with focus on the meta-level).  Relation between the concepts and rationale

Results show that the substitution of money for time is more prominent for women than for men, because they have a larger income share of time-intensive value of housework, while

Principles of Good Design Software Development Process Project Introduction...