lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

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 &amp; modeling"><h2 id="Software abstraction &amp; modeling">Software abstraction &amp; 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 &amp; 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>