software development cycle in astronomy · eszter pozna - vienna dynamics workshop 8-11 october...

Post on 20-May-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 1

Software Development CYCLE

in Astronomy

2

Convert ideas to software

Deliver on time

Keep it running..(reliably, efficiently)

What is software engineering?

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 3

101010

Its about…

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 4

Project pitfalls…

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 5

SDLC

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 6

Process for Small project

Big Bang Model• This model is ideal for small projects

like academic projects or practical

projects. One or two developers can

work together on this model.

• In this model, developers do not follow

any specific process. Development

begins with the necessary funds and

efforts in the form of inputs.

• And the result may or may not be as

per the customer's requirement,

because in this model, even the

customer requirements are not

defined.

• https://www.javatpoint.com/software-

engineering-big-bang-model

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 7

triaxalSchwarzchild

➢ 10K LOC

➢ Complex concepts

➢ Less formality

Prototyping

Requirements

Requirements

Development

Test

Maintenance

Analysis

Planning

Design

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 8

Requirements

Requirements

Development

Test

Maintenance

Analysis

Planning

Design

Planning

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 9

Modelling stellar dynamics•parameter fitting•Select the best model

What?

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 10

How?

Parallel computing is perfect

for modeling, simulating

make better use of underlying parallel hardware Cluster of computer

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 11

When?

2020

GPU

present triaxialSchwarzchild

Collect ideas

Kick off

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 12

Requirements

Requirements

Development

Test

Maintenance

Analysis

Planning

Design

Analysis

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 13

Feasibility study

➢Details

➢Prototyping/Testing

➢Discuss GUI

Check availability reusability of existing software

Cost, Time

Analysis

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 14

Analysis

Document your idea in a way that is meaningful

for software people (UML, Activity diagram)

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 15

Concept via UML activity diagrams

Analysis

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 16

Milestones

Milestones

New features: models C++triaxialSchwarzchild via C++

C++ wrappers

Parallel execution MAC

GPU

First prototype

AI

Data handling

Optimisation

Best Fit Loop

100%

C++

User reqGUItests

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 17

Requirements

Requirements

Development

Test

Maintenance

Analysis

Planning

DesignDESIGN

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 18

➢Architecture• Packages

– classes

• Connections

➢Data handling (memory and file handling)

➢Flexibility/ Configuration etc.

➢Logging and debugging

➢User interface

Design

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 19

Design patterns

Design decisions ( e.g. process or thread)

Software Design

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 20

Requirements

Requirements

Development

Test

Maintenance

Analysis

Planning

Design

Development

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 21

Free stuff

➢Platform : Linux by Linus Torvalds

➢GIT version control

➢Language : C++ by Bjarne Stroutstroup

➢ IDE

➢Download support Libraries

➢ Installation method (Makefile,Maven,Gradel,Waf..)

➢Problem reporting system (Jira, Bugzilla)

➢Setup Database

Preparation

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 22

80 % of the time the software runs in 20% of the

code (Pareto rule)

➢Stability is given by the rest!! • Error handling, Special cases,

• preparation, logging,

• startup/shutdown actions

Unit test

Documentation

Development…

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 23

Software development practices

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 24

Interface Fortran/C++

Parallelization

➢Race conditions

Memory handling

Flexibility via design pattern

Stability

Optimization for speed

Software Challenges

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 25

Requirements

Requirements

Development

Test

Maintenance

Analysis

Planning

Design

TEST

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 26

Test: phaseA (developer) → phaseB (professional testers) → phaseC (requester)

Integration: Test platform ➔ User platform

Test and integration

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 27

MAINTENANCE

Evolution

UVES

ISAAC

ISF:OOP

BOSS

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 29

• repeatedly updating software for various reasons

• improvement: Involve changes in functionality

• Adaptative: Changes in the environment are adapted to the requirements

• Corrective: Activities for error correction

• Preventive: Improvements to avoid future problems

Maintenance

https://larlet.fr/static/david/blog/

ensmenger-maintainers-v2.pdf

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 30

50% and 70% of all total costs

MAINTENANCE COST

Lehman's Laws

• "Continuing Change“

• "Increasing Complexity“

• "Declining Quality"

Eszter Pozna - Vienna Dynamics Workshop 8-11 October 2019 31

top related