software-abstraction-modeling.html (2241B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script type="text/javascript" async src="https://cdn.jsdelivr.net/gh/mathjax/MathJax@2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 5 <link rel="Stylesheet" type="text/css" href="style.css"> 6 <title>software-abstraction-modeling</title> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 8 </head> 9 <body> 10 11 <div id="Software abstraction & modeling"><h2 id="Software abstraction & modeling">Software abstraction & modeling</h2></div> 12 <p> 13 software engineering: the application of engineering to software. a programmer writes a complete program, a software engineer creates a component. 14 </p> 15 16 <p> 17 engineers abstract away from details that can be <em>safely</em> ignored. 18 </p> 19 20 <p> 21 model: simplified/partial representation of reality, defined to accomplish a task or reach an agreement 22 </p> 23 24 <p> 25 abstraction: generalizing – setting aside specific and individual features 26 </p> 27 28 <p> 29 software design: creating models representing an abstract view of the system 30 </p> 31 32 <div id="Software abstraction & modeling-Models"><h3 id="Models">Models</h3></div> 33 <p> 34 what is a model? 35 </p> 36 <ul> 37 <li> 38 mapping feature: a model is based on an original 39 40 <li> 41 reduction feature: a model only reflects a relevant selection of the original's properties 42 43 <li> 44 pragmatic feature: a model needs to be usable in place of an original with respect to some purpose 45 46 </ul> 47 48 <p> 49 consumer and intent influence the abstraction level of a model 50 </p> 51 52 <p> 53 descriptive models: 54 </p> 55 <ul> 56 <li> 57 a subject is described by the model 58 59 <li> 60 sketches and throw-away models – short life time, used to better understand the reality 61 62 <li> 63 models of ideas and vision about the system to be developed – to exploit model for having feedback before actually implementing the system 64 65 <li> 66 models extracted from a running system or code – e.g. to visualize all calls between Java classes 67 68 </ul> 69 70 <p> 71 prescriptive models: 72 </p> 73 <ul> 74 <li> 75 a model prescribes the subject 76 77 <li> 78 the subject does not yet exist 79 80 <li> 81 the models guide the development of the system 82 83 <li> 84 most common consumers are code generators 85 86 <li> 87 often used for development, so their importance may decay when the system is implemented 88 89 </ul> 90 91 </body> 92 </html>