Science SWE Differences and Similarities Amardeo Sarma Basic
Science & SWE Differences and Similarities Amardeo Sarma
Basic Assumptions of Science n Realism: The world exists independent of our existence and perceptions n Naturalism: There exist natural causes for all phenomena n Skepticism: Our theories and assumptions are revisable in the light of new evidence – no final truths 13. 12. 2021 2
Basic Assumptions of Science n Universalism: Scientific theories are or should be independent of culture n Testability: Scientific theories must be testable by evidence and must have consistently passed tests n Falsifiability: There must be some way to show a theory is wrong 13. 12. 2021 3
Illustration: Anti-Science n Supernaturalism: Supernatural causes for phenomena n Postmodernism: Truth is relative n Traditionalism: Truth depends on the length of belief in something n Constructivism (as a philosophy): Theories are just constructions of the mind 13. 12. 2021 4
Procedure n Invent a hypothesis with good mathematics n n Empirists: Induction Rationalists: Just think Test the hypothesis based on observations of the real world (experience) n Falsification more severe than verification n After long successful testing the hypothesis becomes a tested theory n A theory can be killed by new evidence n 13. 12. 2021 5
Software Engineering Assumptions n All assumptions of science and scientific theories are valid n Engineerability: A partial world can be developed (constructed) according to our desires n Specifiability: Our desires can be formulated as a formal specification 13. 12. 2021 6
Software Engineering Assumptions n Implementability: A specification should lead to an implementation n Conformance: An implementation should work according to the specification 13. 12. 2021 7
Procedure (for good software engineering) n n n Invent and agree on a Specification with good formalisms Create an implementation based on the specification Test the implementation based on observations of the partial real world (testing) Verification more important than falsification After long successful testing the implementation becomes a product A product can be killed if it doent work 13. 12. 2021 8
Comparison n The procedure is very similar n Correspondence between hypothesis or specification with the (SWE: constructed) real world is called for n In science what is (the real world) is important n In software engineering what we want is important 13. 12. 2021 9
Constructivism doesn‘t work for SW engineering either n Imagine: A car that just works for Europeans n A compiler that creates different code for women n A coffee machine delivers coffee if you use a German coin for a Swiss machine because you think it is a Swiss coin n 13. 12. 2021 10
- Slides: 10