• No results found

Software Engineering Design and Accounting Process

N/A
N/A
Protected

Academic year: 2021

Share "Software Engineering Design and Accounting Process"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Engineering

Then, and Now

Hans van Vliet

Vrije Universiteit

Amsterdam, The Netherlands

email: [email protected]

My personal history

1967 computer operator, programmer

1973-1978 MSc Mathematics/CS 1979 PhD, ALGOL 68

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 2

1996- Research Software Architecture (ALMA, GRIFFIN, Stephenson) 1979 PhD, ALGOL 68

1986 Professor Software Engineering, VU University 1983 Software Engineering textbook (1993, 2000, 2008) 2008 Journal of Systems and Software (EiC)

Today’s agenda

Software Engineering = Engineering?Teaching Software Engineering

Recent developments

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 3

Software engineering The beginning

1968/69 NATO conferences: introduction of the term Software Engineering

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 4

Idea: software development is not an art, or a bag of tricks

Build software like we build bridges

Central themes

SE is concerned with BIG programs

complexity is an issuesoftware evolvesyou’re doing it together

It gets bigger and bigger

Handset: from 2 to 10 MLOC in the next 4 years

Car: from 1 to 100 MLOC between 2000 and 2010Car: from 1 to 100 MLOC between 2000 and 2010

(2)

Growth of maintenance problem

1975: ~75,000 people in maintenance (17%)

1990: 800,000 (47%)

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 7

2005: 2,500,000 (76%)

2015: ??

(Numbers from Jones (2006))

How high do you fly, on average?

IF read_meter1 (V1) THEN display(V1) ELSE IF read_meter2 (V2) THEN display(V2) ELSE

display(3000)

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 8

Engineering in SE

Engineering words: building software, requirements, specification, maintenance, prototyping, …

Metaphor plays active role in our thought processes

9 SE, NGI, 19-4-2011, Hans van Vliet, ©2011

Example

Requirements engineering:

Information flows from A (user) to B (software engineer)

Good communication is without friction or blockage

Good reception only involves extraction

Model: RE is about documentation

Alternative: RE is about understanding

10 SE, NGI, 19-4-2011, Hans van Vliet, ©2011

Overall message

There’s more to software engineering than engineering

In particular: there’s an important In particular: there s an important social dimension

Today’s agenda

Software Engineering = Engineering?

Teaching Software EngineeringRecent developments

(3)

13 SE, NGI, 19-4-2011, Hans van Vliet, ©2011

Characterization of students

entering the SE course

Not familiar with requirements engineeringDo not know how to relate requirements to

ff t effort

Do not know how to document a design

One comment: “how can I possibly write down what the system does when I haven’t programmed the damn thing yet?”

14 SE, NGI, 19-4-2011, Hans van Vliet, ©2011

Brooks’ law

Op een hard zadel is het slecht zitten

Adding manpower to a late project makes it later

15 SE, NGI, 19-4-2011, Hans van Vliet, ©2011

A utility tree

Performance

Transaction response time (H, M) Throughput 150 transactions/sec

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 16

Utility Usability

Maintainability

Training

Database vendor releases new version

Normal operations

What is a utility tree? Today’s agenda

Software Engineering = Engineering?

Teaching Software Engineering

(4)

Recent developmentsRise of agile methods

Shift from producing software to using software

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 19

Success of Open Source Software

Software development becomes more heterogeneous

Software engineering becomes data-intensive

The Agile Manifesto

Individuals and interactions over processes and tools

Working software over comprehensive

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 20

g p

documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Producing software Using software

Builders build pieces, integrators integrate them

Component-Based Development (CBSD)

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 21

Software Product Lines (SPL)

Commercial Off-The-Shelves (COTS)

Service Orientation (SOA)

Open Source: crowdsourcing

1. Go to LEGO site

2. Use CAD tool to design your favorite castle

3. Generate bill of materials

4. Pieces are collected, packaged, and sent to you

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 22

5. Leave your model in LEGO’s gallery

6. Most downloaded designs are prepackaged

No requirements engineers needed!

Gives rise to new business model

Heterogeneity

Old days: software development department had everything under control

Nowadays:y

Teams scattered around the globe

Components acquired from others

Includes open source parts

Services found on the Web

Data-intensive software engineering

Mining software archive (version control data)

Mining bug repositoryMining bug repository

Recovering audit information from a large set of documents

(5)

Context

hundreds of developers

decades of development

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 25 decades of development

millions LOC

developed in C, C++, C#, … Magnetic Resonance

(MR)

How (un)evolvable is this architecture?

Subs1 Subs

2 Subs3

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 26

Subs4

Subs5

Example cluster hierarchy

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 27

The Top 10 Hot Spots

Hot Spot

Non-issue

Issue

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 28

Already known

Yet unknown

1 2 3 4 5 6 7 8 9 10

Wide format printers, scanners, copiers

Mining bug repository

Architect can specify everything

Takes a lot of time

Curtails developers

Architects can specify less

Saves time

(6)

The Architect & Defects: a case studyDefects for the architect…

 What type of defects?

 How many are really about architecture?

 What is the relation with specs?

 Did the specs change?

 Did the architecture change?Did the architecture change?

 How many people were involved?

 …

Data mining: analyse the defects to find improvement areas.

31 SE, NGI, 19-4-2011, Hans van Vliet, ©2011

A Reading Guide for Newcomers

Problem:

No reading guide for software product documentation

Where can one find relevant architectural knowledge?

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 32

Solution:

Architectural Knowledge Discovery

‘Reading guide’ for software product documentation

Technique: Latent Semantic Analysis (LSA)

Uncovers latent semantic structure of documentation

Employ this structure to guide the reader

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 33

A ≈ A*= U* * S* * V*T

A Reading Guide: Where to start reading?

Auditor knows nothing yet interested in ‘architecture’ in a broad sense

Preference of short documents over long documents

SE, NGI, 19-4-2011, Hans van Vliet, ©2011 34

Q: What is the document that best matches the term ‘architecture’ ordered by document size?

A: Document #46:

2 pages long,

does not contain the literal word ‘architecture’,

doesprovide an architectural overview (components, environment, relations, …)

Conclusions

Software engineering is ALIVE

Themes come and go

Software engineering is social too

References

Related documents

decide on money instead of contracts see, for instance, Shapley and Shubik, 1972, Roth and Sotomayor, 1990, and Pérez-Castrillo and Sotomayor, 2002). Any stable outcome is also

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and

Once ESCAT is implemented, the appropriate military authority (see section 3 of this enclosure) will consult regularly with the Department of Transportation (DOT) (through the

To understand whether uncertainty is more detrimental to hiring when firms face higher firing costs we analyze whether the lack of information about a candidate’s industry fit

The aim of this study was to investigate predictors for achieving protein and energy requirements on the fourth day of admission in undernourished hospitalized patients.. Methods:

One possible approach, found in the Obama campaign plan, would be to establish a purchasing exchange at the federal level. Ensuring that health insurance is uniformly available

Following the literature of collective households (see Chiappori and Donni 2010 for a recent survey), the utility of each individual in the household carries a weight,