software development cycle in astronomy · eszter pozna - vienna dynamics workshop 8-11 october...
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