UniRoma2 - Ingegneria del Software 1 1



Documenti analoghi
Requisiti Software. UniRoma2 - Arch. e Servizi SW per Internet 1

Send message Transaction list. Transfer funds

Stabilire cosa richiede il cliente ad un prodotto software (Non stabilire come il prodotto verrà costruito)

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Specifica dei requisiti

Ingegneria dei Requisiti

Ingegneria del Software

Lezione V. Aula Multimediale - sabato 29/03/2008

Ciclo di Vita Evolutivo

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013

4. Requisiti del Software

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Ruolo delle associazioni di impresa nella informazione corretta sui pericoli da sostanze e miscele

REGISTRATION GUIDE TO RESHELL SOFTWARE

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

WorkFlow Management Systems

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

WELCOME. Go to the link of the official University of Palermo web site Click on the box on the right side Login unico

GstarCAD 2010 Features

Organizzazione degli archivi

TNCguide OEM Informativa sull introduzione di documentazione aggiuntiva nella TNCguide

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

I Sistemi Informativi

Concetti di base di ingegneria del software

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

Ingegneria dei Requisiti

Copyright 2012 Binary System srl Piacenza ITALIA Via Coppalati, 6 P.IVA info@binarysystem.eu

Informatica per la comunicazione" - lezione 10 -

Informatica per le discipline umanistiche 2 lezione 10

Dispensa di database Access

Act: : un caso di gestione della conoscenza di processo. Tiziano Bertagna Responsabile SOX Office, RAS Group

Calcolo efficienza energetica secondo Regolamento UE n. 327/2011 Energy efficiency calculation according to EU Regulation no.

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

GESTIONE IMMOBILIARE REAL ESTATE

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

Compatibilità del Portale Piaggio con Internet Explorer 10 e 11. Internet Explorer 10

Ingegneria dei requisiti. Proprietà (funzionali e non) che l applicazione dovrà avere, descrivono

Gestione delle configurazioni software

Pentair ensures that all of its pumps (see Annex) affected by the above mentioned Regulation meet the 0,1 MEI rating.

DBMS (Data Base Management System)

Sistemi informativi secondo prospettive combinate

ATEX ed Ambienti Confinanti DCS Safety System Sistemi di Sicurezza e Controllo in ambienti a rischio esplosione

UML Component and Deployment diagram

Database. Si ringrazia Marco Bertini per le slides

IS Governance. Francesco Clabot Consulenza di processo.

Corso di Informatica

Java. Traditional portability (ideal)

Gruppo di lavoro 1 Metadati e RNDT. Incontro del 22 luglio 2014

-Fig.1-

Strumenti di modellazione. Gabriella Trucco

INFORMAZIONE AGLI UTENTI DI APPARECCHIATURE DOMESTICHE O PROFESSIONALI

N 1 alla versione bilingue (italiano-inglese) NORMA UNI EN ISO 9001 (novembre 2008) Sistemi di gestione per la qualità - Requisiti.

Metodologie di progettazione

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

PLANET GYM IL PIANETA DEL FITNESS. Emanuele Cesari Anno scolastico 2013/2014 Agostino bassi 4D SIA Relazione palestra

REGIONE BASILICATA UFFICIO S. I. R. S.

Introduzione Kerberos. Orazio Battaglia

Lezione 4. Modello EER

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

INSTALLARE PALLADIO USB DATA CABLE IN WINDOWS XP/ME/2000/98

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

La portata del software

Specifiche tecniche e funzionali del Sistema Orchestra

FTP NAV - Guida tecnica FTP NAV - Technical Guide

Base di dati e sistemi informativi

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Università degli Studi di Napoli Federico II Facoltà di Ingegneria. Corso di. Sistemi Distribuiti. Prof. Stefano Russo. Field Failure Data Analysis

UniRoma2 - Ingegneria del Software 1 1

NOTE LEGALI E PRIVACY

La Norma ISO Ed Guidance on project management

Posta elettronica per gli studenti for the students

Capitolo 13. Interrogare una base di dati

A3_1 V2.2 Analisi dei Requisiti e Specifica Significato, motivazioni e processi

Requirement Engineering. Enrico Giunchiglia

Metodologia Classica di Progettazione delle Basi di Dati

Introduzione ai Web Services Alberto Polzonetti

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO per la Sicurezza Funzionale

> Visionest Business Protection

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

WELCOME UNIPA REGISTRATION:

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive

Come usare TwinSpace. Benvenuti in TwinSpace!

Iptables. Mauro Piccolo

Ciclo di vita dimensionale

Sicurezza e Gestione delle Reti (di telecomunicazioni)

Modellazione di sistema

Manutenzione del software

Vittorio Veneto,

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Introduzione all ambiente di sviluppo

Transcript:

Requisiti Software Requisiti software (software ): descrizione dei servizi che un sistema software deve fornire, insieme ai vincoli da rispettare sia in fase di sviluppo che durante la fase di operatività del software Def. IEEE Std 610.12 (1990): (A) A condition or capability needed by a user to solve a problem or achieve an objective (B) A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document. (C) A documented representation of a condition or capability as in definition (A) or (B). UniRoma2 - Ingegneria del Software 1 1

Requisiti software (2) I requisiti vengono generati applicando un processo di ingegneria dei requisiti ( engineering) Requirements abstraction (Davis, 1993) "If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. The must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organisation's needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the document for the system" UniRoma2 - Ingegneria del Software 1 2

Tipi di requisiti Requisiti utente (user ): descrizione in linguaggio naturale, con eventuale aggiunta di diagrammi, dei servizi che il sistema deve fornire e dei vincoli operativi sono scritti per (e con) il cliente Requisiti di sistema (system ): specificati mediante la stesura di un documento strutturato che descrive in modo dettagliato i servizi che il sistema software deve fornire il documento risultante costituisce un "contratto" tra cliente e fornitore UniRoma2 - Ingegneria del Software 1 3

Definizione dei termini cliente (customer, client) la persona od organizzazione che paga per la fornitura di un prodotto software fornitore (supplier, contractor) la persona od organizzazione che produce software per il cliente utente finale (end-user) la persona che interagisce direttamente con il prodotto software. Non corrisponde necessariamente al cliente UniRoma2 - Ingegneria del Software 1 4

Esempi di requisiti Requisito utente 1. Il sistema software deve fornire un mezzo per rappresentare e visualizzare file esterni generati da altri tool Requisito di sistema 1.1 L'utente deve avere la possibilità di definire il tipo dei file esterni 1.2 Ad ogni tipo di file esterno deve essere associato il tool che lo ha generato 1.3 Ogni tipo di file esterno deve essere rappresentato mediante una specifica icona sullo schermo 1.4 L'utente deve avere la possibilità di definire l'icona che rappresenta il tipo di file esterno 1.5 Quando l'utente seleziona un'icona che rappresenta un file esterno, deve poter essere eseguito il tool in grado di visualizzare il file UniRoma2 - Ingegneria del Software 1 5

Chi legge i requisiti? UniRoma2 - Ingegneria del Software 1 6

Requisiti funzionali Categorie di requisiti descrivono le funzionalità del sistema software, in termini di servizi che il sistema software deve fornire, di come il sistema software reagisce a specifici tipi di input e di come si comporta in situazioni particolari Es.1 Il sistema software deve fornire un appropriato visualizzatore per i documenti memorizzati Es.2 L utente deve essere in grado di effettuare ricerche sia sull intero insieme di basi di dati che su un loro sottoinsieme Es.3 Ad ogni nuovo ordine deve essere associato un identificatore unico (Order_ID) UniRoma2 - Ingegneria del Software 1 7

Categorie di requisiti (2) Requisiti non funzionali descrivono le proprietà del sistema software in relazione a determinati servizi o funzioni e possono anche essere relativi al processo: caratteristiche di efficienza, affidabilità, safety, ecc. caratteristiche del processo di sviluppo (standard di processo, uso di ambienti CASE, linguaggi di programmazione, metodi di sviluppo, ecc.) caratteristiche esterne (interoperabilità con sistemi di altre organizzazioni, vincoli legislativi, ecc.) Es.1 Il tempo di risposta del sistema all'inserimento della password utente deve essere inferiore a 10 sec Es.2 I documenti di progetto (deliverable) devono essere conformi allo standard XYZ-ABC-12345 Es.3 Il sistema software non deve rilasciare ai suoi operatori nessuna informazione personale relativa ai clienti, tranne nominativo e identificatore UniRoma2 - Ingegneria del Software 1 8

Categorie di requisiti (3) Requisiti di dominio requisiti derivati dal dominio applicativo del sistema software piuttosto che da necessità dettate dagli utenti requisiti funzionali, nuovi o adattatati, relativi al particolare dominio applicativo requisiti non funzionali, nuovi o adattati, relativi a standard esistenti o a procedure e regolamenti da applicare Es.1 I documenti di rendiconto contabile, secondo la normativa XYZ.03, devono essere stampati alla ricezione e cancellati immediatamente Es.2 L'interfaccia utente per l'accesso al database magazzino deve essere conforme allo standard ZX.01 UniRoma2 - Ingegneria del Software 1 9

Classificazione requisiti non funzionali Non-functional Product Organizational External Efficiency Reliability Portability Interoperability Ethical Usability Delivery Implementation Standards Legislative Performance Space Privacy Safety UniRoma2 - Ingegneria del Software 1 10

Problemi con i requisiti software Ambiguità Cosa vedete? UniRoma2 - Ingegneria del Software 1 11

Problemi con i requisiti software (2) Ambiguità: requisiti interpretabili in modo differente Esempio 1: specificare un tempo senza fornire il riferimento al fuso orario (in un applicazione che gestisce chiamate intercontinentali) Esempio 2: significato di "appropriato visualizzatore" Interpretazione utente: visualizzatore specifico per ogni tipo di documento Interpretazione sviluppatore: generico visualizzatore di testo che mostri il contenuto del documento Incompletezza: i requisiti non includono la descrizione di tutte le caratteristiche richieste Inconsistenza: conflitti o contraddizioni nella descrizione delle caratteristiche del sistema Esempio Req 1: ogni form di input non deve contenere più di 5 campi editabili dall'utente Req 2: nella form di input relativa all'inserimento dei dati anagrafici l'utente deve introdurre i seguenti dati: nome, cognome, anno di nascita, luogo di nascita, indirizzo, telefono, fax, e-mail UniRoma2 - Ingegneria del Software 1 12

Verificabilità dei requisiti I requisiti non funzionali espressi in modo generico dall'utente (es. il sistema software deve essere easy-to-use) possono risultare non quantificabili e difficili da verificare E' quindi necessario esprimere i requisiti non funzionali usando una misura determinata che permetta di verificare quantitativamente se il requisito verrà soddisfatto dal sistema software UniRoma2 - Ingegneria del Software 1 13

Esempi di misure per requisiti Property Speed Size Ease of use Reliability Robustness Portability Measure Processed transactions/second User/Event response time Screen refresh time K Bytes Number of RAM chips Training time Number of help frames Mean time to failure Probability of unavailability Rate of failure occurrence Availability Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Percentage of target dependent statements Number of target systems UniRoma2 - Ingegneria del Software 1 14

Requisiti utente Descrivono requisiti funzionali e non funzionali, espressi in modo da risultare comprensibili agli utenti del sistema sprovvisti di conoscenze tecniche I requisiti utenti sono generalmente espressi in linguaggio naturale, tenendo in considerazione alcune linee guida: usare un formato standard per tutti i requisiti usare il linguaggio naturale in modo consistente (es. uso di "deve" per requisiti necessari e "dovrebbe" per requisiti desiderabili) evidenziare le parti fondamentali di un requisito evitare l'uso di termini tecnici UniRoma2 - Ingegneria del Software 1 15

Esempio di requisito utente 3.5.1 Adding nodes to a design 3.5.1.1 The editor shall provide a facility for users to add nodes of a specified type to their design. 3.5.1.2 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 should move the cursor to the approximate node position in the diagram and indicate that the node symbol should be added at that point. 3. The user should then drag the node symbol 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 UniRoma2 - Ingegneria del Software 1 16

Requisiti di sistema (specifiche) Specifiche più dettagliate dei requisiti utente Sono usati come base per il progetto software Possono essere espressi facendo uso di notazioni differenti Notation Structured natural language Program description languages (PDL) Graphical notations Mathematical specifications Description This approach depends on defining standard forms or templates to express the specification. This approach uses a language like a programming language (PDL, Program Description Language) but with more abstract features to specify the by defining an operational model of the system. A graphical language, supplemented by text annotations is used to define the functional for the system. The graphical language is used to define system models These are notations based on mathematical concepts such as finite-state machines or sets. These unambiguous specifications reduce the arguments between customer and contractor about system functionality. However, most customers don t understand formal specifications and are reluctant to accept it as a system contract. UniRoma2 - Ingegneria del Software 1 17

Esempio di requisito di sistema basato su form in linguaggio naturale ECLIPSE/Workstation/Tools/DE/FS/3.5.1 Function Description Inputs Source Outputs Destination Requires Add node Adds a node to an existing design. The user selects the type of node, and its position. When added to the design, the node becomes the current selection. The user chooses the node position by moving the cursor to the area where the node is added. Node type, Node position, Design identifier. Node type and Node position are input by the user, Design identifier from the database. Design identifier. The design database. The design is committed to the database on completion of the operation. Design graph rooted at input design identifier. Pre-condition The design is open and displayed on the user's screen. Post-condition The design is unchanged apart from the addition of a node of the specified type at the given position. Side-effects Definition: None ECLIPSE/Workstation/Tools/DE/RD/3.5.1 UniRoma2 - Ingegneria del Software 1 18

Esempio di requisito di sistema (2) basato su PDL (Java-like) class ATM { // declarations here public static void main (String args[]) throws InvalidCard { try { thiscard.read () ; // may throw InvalidCard exception pin = KeyPad.readPin () ; attempts = 1 ; while (!thiscard.pin.equals (pin) & attempts < 4 ) { pin = KeyPad.readPin () ; attempts = attempts + 1 ; } if (!thiscard.pin.equals (pin)) throw new InvalidCard ("Bad PIN"); thisbalance = thiscard.getbalance () ; do { Screen.prompt (" Please select a service ") ; service = Screen.touchKey () ; switch (service) { case Services.withdrawalWithReceipt: receiptrequired = true ; UniRoma2 - Ingegneria del Software 1 19

Esempio di requisito di sistema (3) specifica di interfaccia basata su PDL interface PrintServer { // defines an abstract printer server // requires: interface Printer, interface PrintDoc // provides: initialize, print, displayprintqueue, cancelprintjob, switchprinter void initialize ( Printer p ) ; void print ( Printer p, PrintDoc d ) ; void displayprintqueue ( Printer p ) ; void cancelprintjob (Printer p, PrintDoc d) ; void switchprinter (Printer p1, Printer p2, PrintDoc d) ; } //PrintServer UniRoma2 - Ingegneria del Software 1 20

Il documento di analisi dei requisiti (o documento di specifica) Documento ufficiale che descrive in dettaglio le caratteristiche del sistema da sviluppare Include sia la definizione dei requisiti che la loro specifica Descrive COSA il sistema deve fornire (dominio del problema) e non COME il sistema deve essere sviluppato (dominio della soluzione) UniRoma2 - Ingegneria del Software 1 21

Utenti del documento di analisi dei requisiti System customers Managers System engineers System test engineers System m a in te n a nc e engineers Specify the and read them to check that they meet their needs. They specify changes to the requirem ents Use the document to plan a bid for the system and to plan the system development process Use the to un derstan d wh at system is to be developed Use the to develop validation tests for the system Use the to help understand the system and t he re l a ti on sh ip s b e tw e e n it s parts UniRoma2 - Ingegneria del Software 1 22

Struttura del documento di specifica Basata sullo standard IEEE 830-1998 (IEEE Recommended Practice for Software Requirements Specifications) pag 1/2 Preface expected readership, version history, changes summary Introduction Glossary purpose, brief description of the system, interaction with other systems, scope within the business context definition of technical terms used in the document User definition functional and non-functional user System architecture high-level overview of the system components System specification functional and non-functional system UniRoma2 - Ingegneria del Software 1 23

Struttura del documento di specifica Basata sullo standard IEEE 830-1998 (IEEE Recommended Practice for Software Requirements Specifications) pag 2/2 System models description of the relationships between the system components and the system and its environment System evolution assumptions on which the system is based and anticipated changes (hardware evolution, user needs changes, etc.) Appendices specific information related to the application which is being developed (ex. HW and DB descriptions) Index table of contents, alphabetic index, list of diagrams, etc. UniRoma2 - Ingegneria del Software 1 24