1 6. Glossario, Definizione e Specifica Glossario dei termini Tecniche per definire e specificare i requisiti di un sistema software Un metodo basato su.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Strutture dati per insiemi disgiunti
Corsi per il personale Bicocca-Insubria
File System Cos’è un File System File e Directory
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Interfaccia del file system
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
4. INGEGNERIA DEI REQUISITI
Semantiche dei linguaggi di programmazione
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Identificazione delle attività
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
File.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
eliana minicozzi linguaggi1a.a lezione2
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Struttura dei sistemi operativi (panoramica)
Analisi ed ottimizzazione di strumenti Software per l'utilizzo di IDL sulla GRID ENEA S.PI.1.2 Strumenti per la grafica Marta Chinnici Portici, 11 Dicembre.
Queuing or Waiting Line Models
Fare clic per modificare lo stile del sottotitolo dello schema Lezione 2 Corso di Contabilità Direzionale Prof. Riccardo Acernese Lezione 2 Prof. Riccardo.
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Espressioni condizionali
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Analisi di Immagini e Dati Biologici
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
DBMS ( Database Management System)
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
Progettazione multimediale
Elementi di Informatica di base
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
L’ingegneria del software
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
La versione 18 di Aleph500: le novità CATALOGAZIONE Rita Vanin Ottobre 2007.
14 marzo 2002 Avvisi:.
Documentazione Tecnica
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
Analisi dei Requisiti (Requirements Engineering) Seminario RE Università degli Studi di Padova, 12 Gennaio 2004.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Commenti alle Attività Generiche. Attività Generiche (Pressman) Principali: Comunicazioni; Pianificazione; Modellazione; Costruzione, Dispiegamento Collaterali:
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche che tipicamente servono per portare a termine i compiti iniziali.
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Esercitazioni di Ingegneria del Software con UML
USO DEL COMPUTER E GESTIONE DEI FILE
Progettazione concettuale di SI basati su Web
Modulo 6 Test di verifica
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
1 Il documento di specifica. 2 E’ il documento ufficiale che contiene ciò che è richiesto agli sviluppatori del sistema Include sia definizione e specifica.
Corso Web CSV – Andiamo on-line 1 Andiamo on-line Corso di formazione Elementi base per la costruzione di un sito web.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
Microsoft Word Interfaccia grafica
FUNZIONI Dichiarazione: Definizione:
Transcript della presentazione:

1 6. Glossario, Definizione e Specifica Glossario dei termini Tecniche per definire e specificare i requisiti di un sistema software Un metodo basato su forms per stilare la definizione dei requisiti Metodi per scrivere specifiche precise Limportanza dei requisiti non funzionali, e come questi possono essere specificati

2 Dizionario dei dati Un dizionario dei dati è una lista dei nomi di tutti gli oggetti prodotti o consumati dal software con relativa descrizione E qui che vengono raccolte tutte le informazioni utili al sistema E un ponte tra lanalisi e limplementazione Serve come riferimento comune nel lavoro dequipe (risoluzione di ambiguità)

3 Voci del dizionario Tutti i nomi usati nel modello del sistema, nella progettazione e nellimplementazione devono essere presenti come voci nel dizionario dei dati Usare software di supporto per creare, mantenere e interrogare il dizionario Il dizionario può essere integrato con strumenti CASE per automatizzarne parzialmente la costruzione

4 Voci del dizionario

5 Definizione dei Requisiti Descrizione delle funzionalità del sistema e dei vincoli operazionali, orientata al cliente Deve specificare il comportamento esterno del sistema: i requisiti non devono essere definiti usando un modello computazionale Include requisiti funzionali e non funzionali Requisiti funzionali: dichiarazione di servizi che il sistema deve offrire Requisiti non funzionali = vincoli sui servizi e sulle operazioni che il sistema deve realizzare

6 Scrivere una definizione di requisito Il modo normale di scrivere le definizione dei requisiti è usando il linguaggio naturale arricchito da diagrammi e tabelle Problemi: Mancanza di chiarezza. La precisione è direttamente proporzionale alla difficoltà di leggere il documento. Confusione tra requisiti. Requisiti funzionali e non- funzionali tendono ad essere mescolati Amalgama di requisiti. Diversi requisiti espressi tutti in una volta anziché in modo distinto

7 Esempio 4.A.5 Il database deve supportare la creazione e il controllo di oggetti di configurazione, ovvero di oggetti che sono a loro volta raggruppamenti di altri oggetti nel database. Le facilities di controllo di configurazione devono consentire di accedere a un raggruppamento di oggetti usando un nome incompleto. E un caso di amalgama: si mettono assieme concetti (prima frase) e dettagli (seconda frase)

8 Esempio 2.6 Griglia Per aiutarsi nel posizionamento di entità in un diagramma, lutente può attivare una griglia, in centimetri o pollici, attraverso una opzione del pannello di controllo. La griglia può essere attivata o disattivata in qualsiasi momento del processo di editing e può essere impostata in centimetri o pollici in qualsiasi momento. Nella riduzione delle dimensioni del documento nella finestra (reduce-to-fit) il numero di linee della griglia deve essere ridotto per evitare di riempire il diagramma solo con linee fitte della griglia. Confusione di requisiti funzionali e non funzionali La definizione è incompleta

9 Esempio 2.6 Griglia Per aiutarsi nel posizionamento di entità in un diagramma, lutente può attivare una griglia, in centimetri o pollici, attraverso una opzione del pannello di controllo. La griglia può essere attivata o disattivata in qualsiasi momento del processo di editing e può essere impostata in centimetri o pollici in qualsiasi momento. Nella riduzione delle dimensioni del documento nella finestra (reduce-to-fit) il numero di linee della griglia deve essere ridotto per evitare di riempire il diagramma solo con linee fitte della griglia. Confusione di requisiti funzionali e non funzionali La definizione è incompleta

10 Regole di stesura Aderire ad un formato standard: permette di evitare omissioni e semplifica i controlli incrociati Raggruppare i requisiti che sono legati fra loro Evidenziare i requisiti principali Associare motivazioni ai requisiti

11 Definizione di una grigia di un editor 2.6Griglia 2.6.1Leditor deve offrire una griglia di linee orizzontali e verticali come sfondo della finestra di editing. Questa griglia deve essere una griglia passiva. E lasciata allutente la responsabilità di allineare o meno le entità. Motivazione: Una griglia aiuta lutente a creare diagrammi ordinati con entità ben posizionate. A differenza di una griglia attiva, dove le entità sono catturate dalle linee della griglia, il posizionamento è impreciso. E lutente che deve decidere dove posizionare le entità Quando la griglia viene usata in modalità reduce-to-fit (see 2.1), il numero di punti che separano le linee della griglia deve essere incrementato. Motivazione: Se non si incrementa la spaziatura tra linee, lo sfondo diventerebbe offuscato dalle linee della griglia.

12 Motivazione del requisito La motivazione di un requisito è importante per aiutare lo sviluppatore a capire il dominio di applicazione e a capire perché il requisito è descritto in quella forma E particolarmente importante quando si debbano modificare i requisiti: la presenza della motivazione di un requisito riduce la probabilità che il cambiamento produca effetti inaspettati.

13 Creazione di un nuovo nodo 3.5.1Adding nodes to a design The editor shall provide a facility where users can add nodes of a specified type to a design. Nodes are selected (see 3.4) when they are added to the design The sequence of actions to add a node should be as follows: 1. The user should select the type of node to be added. 2. The user moves the cursor to the approximate node position in the diagram and indicates that the node symbol should be added at that point. 3. The symbol may then be dragged to its final position. Rationale: The user is the best person to decide where to position a node on the diagram. This approach gives the user direct control over node type selection and positioning. Specification: ECLIPSE/WS/Tools/DE/FS. Section 3.5.1

14 Specifica dei Requisiti Descrizione precisa e dettagliata delle funzionalità del sistema. Serve come base da una parte per il contratto, e dallaltra per la progettazione e lo sviluppo. Deve essere consistente con la definizione. Di solito viene presentata con il modello di sistema sviluppato nellanalisi dei requisiti Spesso scritta in linguaggio naturale, anche se questo può essere problematico

15 Problemi col linguaggio naturale Si assume che chi scrive e chi legge usino la stessa parola per lo stesso concetto Problemi di troppa flessibilità e di diverse interpretazioni Le strutture linguistiche del linguaggio naturale possono non essere sufficienti a partizionare i requisiti.

16 Alternative al linguaggio naturale Linguaggio naturale strutturato Linguaggi di Descrizione di Programmi (PDL) Notazioni grafiche (SADT) Specifiche formali: Reti di Petri Sistema Z Sistema B Logiche temporali Asserzioni di specifica

17 Tracciabilità dei requisiti Tracciabilità = requisiti correlati sono in qualche modo raggiungibili luno dallaltro. Assegna ad ogni requisito un numero (unico) Inserisci riferimenti incrociati a requisiti che sono correlati Scrivi una matrice di riferimenti incrociati che evidenzia la correlazione tra requisiti. Occorreranno diverse matrici per i diversi tipi di relazione

18 Specifiche basate su forms Forma limitata di linguaggio naturale: impone un grado di uniformità alla specifica. Metodo: Descrizione della funzione o entità da specificare Descrizione degli input e da dove provengono Descrizione degli output e dove vanno a finire Indicazioni di altre entità richieste Pre e post condizioni Effetti collaterali (se ce ne sono)

19 Specifica basata su forms di un nodo

20 Definizione dei requisiti con PDL I requisiti possono essere definiti in modo operazionale usando un linguaggio simile ad un linguaggio di programmazione ma più espressivo Metodo appropriato in due casi Quando unoperazione è specificata come sequenza di azioni e lordine è importante Quando si devono specificare interfacce hardware e software Svantaggi Il PDL può non essere abbastanza espressivo da definire i concetti del dominio in modo adeguato Si può generare confusione tra specifica e progettazione

21 Descrizione in PDL di un ATM procedure ATM is PIN: Pin_no ; Acc_no: Account_number ; Balance: Amount ; Service: Available_services ; Valid_card, Valid_PIN: Boolean ; begin loop Get_card ( Acc_no, PIN, Valid_card) ; if Valid_card then Validate_PIN (PIN, Valid_PIN) ; if Valid_PIN then Get_account (Acc_no, Balance) ; Get_service (Service) ; while a service is selected loop Deliver_selected_service ; Get_service (Service) ; end loop ; Return_card ; end if ; end loop ; end ATM ;

22 Specifica di interfacce in PDL Tutti i sistemi software operano in un ambiente con altri sistemi. Possono interfacciarsi a questi sistemi in vari modi Le interfacce che una specifica di requisiti può trovarsi a dover definire sono di tre tipi Interfacce procedurali: i sottosistemi offrono un certo insieme di servizi Interfacce di rappresentazione dei dati. Scambio di strutture-dati Interfacce di rappresentazione concreta. Rappresentazioni (dei dati) fissate da sottosistemi esistenti

23 package Print_server is procedure Initialise (P: PRINTER) ; procedure Print (P: PRINTER ; F: PRINT_FILE ) ; procedure Display_print_queue (P: PRINTER ) ; procedure Cancel_print_job (P: PRINTER; N: PRINT_ID) ; procedure Switch_printer (P1, P2: PRINTER; N: PRINT_ID) ; end Print_server ; Esempio: interfaccia procedurale (Linguaggio Ada)

24 Esempio: interfaccia di dati type MESSAGE is record Sender : SYSTEM_ID; Receiver : SYSTEM_ID; Dispatch_time : DATE; Length: MESSAGE_LENGTH ; Terminator: CHARACTER ; Message : TEXT; end record; type SYSTEM_ID is range 20_ _000 ; type YEAR_TYPE is range ; type DATE is record Seconds: NATURAL ; Year: YEAR_TYPE ; end record ; type MESSAGE_LENGTH is range 0..10_000 ; type TEXT is array (MESSAGE_LENGTH) of CHARACTER ;

25 Esempio: interfaccia di rappresentazione for SYSTEM_IDSIZE use 2*BYTE ; for YEAR_TYPESIZE use 2*BYTE ; for MESSAGE_LENGTHSIZE use 2*BYTE ; Rappresentazione di size Rappresentazione di stato condiviso type STATE is (Halted, Waiting, Ready, Running); for STATE use (Halted => 1, Waiting => 4, Ready => 16, Running => 256);

26 Requisiti non funzionali Proprietà di comportamento del sistema: affidabilità, tempi di risposta e di memorizzazione, vicoli sullI/O, ecc. Possono essere più critici dei requisiti funzionali, perché possono rendere inutile il sistema se non sono soddisfatti Tipologia dei requisiti non funzionali requisiti di prodotto requisiti di processo requisit esterni

27 Classificazione dei requisiti non funzionali Requisiti di prodotto Specificano che il prodotto deve comportarsi in un certo modo, es. velocità di esecuzione, affidabilità, ecc. Requisiti di processo Requisiti che sono conseguenza di scelte di tipo organizzativo, ad es. standard di processo utilizzato, requisiti sullimplementazione ecc. Requisiti esterni Requisiti che derivano da fattori esterni al sistema e al suo processo di sviluppo, ad es. requisiti legislativi, etici ecc.

28 Requisiti non funzionali Requisiti di Prodotto Requisiti di usabilità Requisiti di efficienza Þ Performance Þ Requisiti di spazio Requisiti di affidabilità Requisiti di portabilità Requisiti di Processo Requisiti sulle deliveries Requisiti sullimplementazione Requisiti sugli standards Requisiti Esterni Requisiti di interoperabilità Requisiti etici Requisiti legali ÞPrivacy ÞSicurezza

29 Esempio Requisiti di prodotto 4.C.8 It shall be possible for all necessary communication between the APSE and the user to be expressed in the standard Ada character set. Requisiti di processo The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95. Requisiti esterni The system shall provide facilities that allow any user to check if personal data is maintained on the system. A procedure must be defined and supported in the software that will allow users to inspect personal data and to correct any errors in that data.

30 Verificabilità dei requisiti I requisiti devono essere scritti in modo da poter essere facilmente verificati Evitare termini vaghi: non ha senso scrivere Il sistema deve essere facile da usare per un operatore specializzato e devessere organizzato in modo da minimizzare gli errori Ma bisogna quantificare: Un operatore specializzato deve essere in grado di utilizzare il sietma dopo due ore di training. Dopo tale training, il numero medio di errori fatti da un operatore specializzato deve essere inferiore a due per giorno lavorativo

31 Misure per i requisiti

32 Requisiti a livello di sistema Alcuni requisiti pongono dei vincoli al sistema nella sua interezza, non a funzioni specifiche Esempio Il tempo richiesto per la formazione degli operatori del sistema non dovrà eccedere i 2 giorni lavorativi Ci possono essere dei requisiti che non possono essere derivati da nessun singolo sottoinsieme di requisiti del sistema