forked from ggiuffre/sweki
-
Notifications
You must be signed in to change notification settings - Fork 3
/
08_documentazione.html
95 lines (81 loc) · 6.2 KB
/
08_documentazione.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<title>Documentazione - sweki</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="author" content="FIUP" />
<meta name="keywords" content="sweki, ingegneria, software, requisiti" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="main.css" />
<link rel="prev" href="07_progettazione.html" />
<link rel="next" href="09_projdidattico.html" />
</head>
<body>
<div id="header">
<h1>
<a class="prev" title="prev" href="07_progettazione.html"><</a>
<a href="index.html"><acronym title="SoftWare Engineering wiKI">sweki</acronym></a>
<a class="next" title="next" href="09_projdidattico.html">></a>
</h1>
<h2>la wiki di Ingegneria del Software</h2>
</div>
<div id="content">
<h1>Documentazione</h1>
<h2>Definizione</h2>
<p>Documentazione è tutto il materiale che documenta le attività di un progetto (e i loro prodotti). <a href="https://en.wikibooks.org/wiki/General_Engineering_Introduction/Documentation">wikibooks.org</a> afferma che, in ingegneria, l'obiettivo primario della documentazione di un prodotto è la <em>replicabilità</em> di tale prodotto: <q xml:lang="en">You are not an engineer until others can replicate what you have done [...] without your presence [...] without your words [...] without your physical personality on the planet.</q> I documenti di un progetto software e del prodotto che si sta sviluppando hanno diversi motivi di esistere:</p>
<ul>
<li>per i membri del progetto, sono un mezzo di comunicazione;</li>
<li>per chi dovrà manutenere il prodotto, servono da <span xml:lang="en">repository</span> di informazioni sul sistema;</li>
<li>per l'amministrazione, forniscono informazioni che aiutano la pianificazione dello sviluppo;</li>
<li>per gli utenti del prodotto, alcuni documenti sono utili per capire come interfacciarsi con il prodotto.</li>
</ul>
<p>I principali documenti di progetto sono:</p>
<ul>
<li>analisi dei requisiti;</li>
<li>specifica software (descrizione ad alto livello del sistema);</li>
<li>specifica tecnica (architettura logica);</li>
<li>definizione di prodotto (architettura di dettaglio);</li>
<li>manuale utente.</li>
</ul>
<!--
AGGIUNGERE:
/==> di processo
documenti ====C /==> di sistema
\==> di prodotto ====C
\==> utente
-->
<h2>Specifica software</h2>
<p>La specifica software dev'essere una descrizione ad alto livello del sistema tramite rappresentazione gerarchica.</p>
<h2>Specifica tecnica</h2>
<p>La specifica tecnica (<abbr title="Specifica Tecnica">ST</abbr>) segue l'analisi dei requisiti e descrive l'<strong>architettura logica</strong> del sistema, mostrando ciò che il sistema deve fare senza però fissarne i dettagli implementativi; difatti, la specifica tecnica descrive l'<em>interfaccia</em> di ogni componente del sistema, attraverso più livelli gerarchici di decomposizione. In particolare, di ogni componente vengono specificati:</p>
<ul>
<li>funzione svolta;</li>
<li>tipo dei dati in ingresso;</li>
<li>tipo dei dati in uscita;</li>
<li>risorse necessarie per il suo funzionamento.</li>
</ul>
<h2>Definizione di prodotto</h2>
<p>Dall'architettura logica procede l'<strong>architettura di dettaglio</strong>, descritta dalla definizione di prodotto (<abbr title="Definizione di Prodotto">DP</abbr>). Questo documento decompone l'architettura in moduli a grana più fine, finché ogni modulo ha dimensione, coesione, complessità e accoppiamento tali per cui i moduli possano essere sviluppati in parallelo dai programmatori. La <abbr title="Definizione di Prodotto">DP</abbr> deve fornire tutti i dettagli necessari alla codifica e alla verifica di ciascun modulo<sup class="footnote"><a id="txt1" href="#ftn1">[1]</a></sup>. La <abbr title="Definizione di Prodotto">DP</abbr> consente di stimare costi e tempi di realizzazione.</p>
<h2>Analisi dei requisiti</h2>
<p>Una delle preoccupazioni maggiori nel documentare l'analisi dei requisiti (<abbr title="Analisi dei Requisiti">AR</abbr>) è il <strong>tracciamento dei requisiti</strong>. Tracciare un requisito significa motivarne l'esistenza, spiegando qual è l'origine di tale requisito (che magari non era esplicito e quindi è stato dedotto da requisiti più espliciti) e badando a garantire la necessità e la sufficienza di ogni requisito. Per fare tutto questo si può usare una matrice, un grafo o una qualsiasi struttura dati appropriata.</p>
<h2>Manuale utente</h2>
<p>Il manuale utente (<abbr title="Manuale Utente">MU</abbr>) ha la funzione di spiegare all'utente come utilizzare il prodotto. Chi lo redige deve stare attento allo stile: deve preferire frasi brevi, paragrafi focalizzati, uso di liste, stile semplice, terminologia precisa e uso della forma attiva dei verbi. Può essere di diversi tipi, a seconda del grado di esperienza dell'utente (manuale introduttivo, manuale completo...) e in diversi formati (cartaceo, <abbr title="Portable Document Format">PDF</abbr>, ipertestuale...).</p>
<h2>Tracciamenti</h2>
<p>In generale, i principali tracciamenti all'interno di un prodotto sono:</p>
<ul>
<li>tra requisiti utente (capitolato) e requisiti software (<abbr title="Analisi dei Requisiti">AR</abbr>);</li>
<li>tra requisiti software (<abbr title="Analisi dei Requisiti">AR</abbr>) e descrizione dei componenti (<abbr title="Specifica Tecnica">ST</abbr>);</li>
<li>tra test di unità e moduli della progettazione di dettaglio (<abbr title="Definizione di Prodotto">DP</abbr>);</li>
<li>tra test di integrazione e componenti architetturali (<abbr title="Specifica Tecnica">ST</abbr>);</li>
<li>tra test di sistema e requisiti software (<abbr title="Analisi dei Requisiti">AR</abbr>);</li>
<li>tra test di accettazione e requisiti utente (capitolato).</li>
</ul>
</div>
<div id="footnotes">
<ol>
<li id="ftn1">La natura del termine "modulo" è determinata dal linguaggio di programmazione che verrà usato.</li>
</ol>
</div>
</body>
</html>