Requisiti software

Descrição

Computer Science Mapa Mental sobre Requisiti software, criado por Sebastiano De Toni em 22-03-2017.
Sebastiano De Toni
Mapa Mental por Sebastiano De Toni, atualizado more than 1 year ago
Sebastiano De Toni
Criado por Sebastiano De Toni mais de 7 anos atrás
26
0

Resumo de Recurso

Requisiti software

Anotações:

  • I requisiti: ancora oggi un anello debole Da uno studio effettuato dalla Standish Group, dei fattori che portano al fallimento di un progetto software, 5 su 8 riguardano i requisiti. Molto spesso, il fallimento del sistema viene scoperto solo alla sua messa in opera. Quali sono le cause che determinano il RITARDO nella individuazione del problema: 1) insufficiente interazione tra gli attori coinvolti 2) insufficiente individuazione dei conflitti tra requisiti 3) mancato coinvolgimento degli utenti nella verifica dei requisiti individuati dagli analisti 4) mancato coinvolgimento degli utenti per esprimere feedback sulle ipotesi progettuali 5) insufficiente controllo sull’evoluzione dei requisiti durante l’intero ciclo di vita del sistema 6) rinvio della presa in carico del nuovo requisito sopraggiunto in corso d’opera ad una release successiva 7) mancato accordo sui contenuti e/o costi e/o tempi durante la rinegoziazione per l’aggiunta di un requisito sopraggiunto in corso d’opera
  1. Studio di fattibilità

    Anotações:

    • OUTPUT: preventivo o documento di fattibilità
    1. valutazione preliminare di costi e benefici
      1. valutazione di opzioni alternative
        1. stima delle risorse umane e finanziarie necessarie
        2. Specifica (raccolta e analisi) dei requisiti

          Anotações:

          • NB La specifica dei requisiti risponde alla domanda COSA DEVE FARE IL SISTEMA non come dovrà farlo!
          • L’insieme delle attività che si occupano dei requisiti → Ingegneria dei requisiti  - requirements engineering
          1. analisi del problema: cosa deve fare il sistema
            1. definizione delle funzionalità: vincoli aziendali interni/esterni, caratteristiche sistema
              1. redazione di un documento di Specifica dei Requisiti sw: SRS Software Requirements Specification - documento formale
                1. convalida da parte del committente del SRS
                2. Requisiti software e stakeholder
                  1. Requisito

                    Anotações:

                    • Def. ogni informazione circa le funzionalità, i servizi, le modalità operative e di gestione del sistema da sviluppare
                    • Def. Requisito 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)
                    1. La definizione dei requisiti
                      1. analizza i bisogni dell’utente
                        1. indaga il dominio del problema
                          1. coinvolge diverse persone
                            1. sia il team di sviluppo
                              1. sia l’azienda del cliente - engagement
                                1. consulenti esterni (legali, sviluppatori legacy system)
                                2. fattori esterni possono influenzare pesantemente i requisiti del sistema
                                  1. cambiamenti nell’organizzazione aziendale
                                    1. necessità di adeguamento a nuove politiche di mercato
                                      1. cambiamento a livello di obblighi legislativi
                                    2. La fase di analisi dei requisiti è molto delicata
                                      1. errori in questa fase → fallimento possibile dell’intero progetto
                                        1. rischi principali
                                          1. dimenticare o ignorare una funzionalità
                                            1. implementare in modo errato una richiesta
                                              1. realizzare interfacce utenti poco intuitive e difficili da usare
                                            2. Classificazione dei requisiti
                                              1. livello di dettaglio
                                                1. requisiti UTENTE
                                                  1. osservati - proposti - dal cliente
                                                    1. descritte con il linguaggio del cliente
                                                      1. equisiti aperti perché sottoposti successivamente al team di sviluppo che propone una soluzione
                                                      2. requisiti DI SISTEMA
                                                        1. imposti da vincoli esistenti
                                                          1. esistenza di apparecchiature esistenti all’interno dell’azienda
                                                            1. vincoli di natura fiscale e/o legislativa
                                                            2. molto strutturati e vincolanti
                                                              1. scritti in linguaggi tecnici e/o semi-formali
                                                                1. spesso non sono noti all’utente, ma solo al programmatore
                                                                  1. requisiti restrittivi o requisiti chiusi
                                                                2. tipo di requisito
                                                                  1. requisiti FUNZIONALI

                                                                    Anotações:

                                                                    • descrivono le funzionalità che il sistema deve avere e tutti i servizi che dovrà offrire agli utenti
                                                                    1. Devono essere COMPLETI: tutti i servizi richiesti dagli utenti
                                                                      1. Devono essere COERENTI: non devono esserci definizioni contraddittorie
                                                                      2. requisiti NON FUNZIONALI

                                                                        Anotações:

                                                                        • Tutti quei requisiti imposti: dalle modalità operative dal CICLO DI VITA del prodotto dal rispetto della normativa vigent
                                                                        • Sommerville: distingue 3 macro categorie di requisiti non funzionali
                                                                        1. Req. di prodotto
                                                                          1. affidabilità
                                                                            1. portabilità
                                                                              1. efficienza
                                                                                1. spazio
                                                                                  1. performance
                                                                                2. Req. organizzativi
                                                                                  1. req. di consegna
                                                                                    1. di implementazione
                                                                                      1. su standard
                                                                                      2. Req. esterni
                                                                                        1. interoperabilità
                                                                                          1. Req. etici
                                                                                            1. Req. legislativi
                                                                                          2. requisiti di DOMINIO

                                                                                            Anotações:

                                                                                            • dipendono dal DOMINIO in cui il sistema deve operare ES : - impianti industriali - riservatezza dati sensibili - accessi area riservata
                                                                                        2. Verifica dei requisiti

                                                                                          Anotações:

                                                                                          • req. funzionali - collaudo del sistema con gli utenti - verifica se le aspettative sono state soddisfatte
                                                                                          • req. di dominio - collaudo del sistema con il “resto del mondo” (software aziendale preesistente, terze parti) - verifica delle normative di settore
                                                                                          • req. non funzionali - spesso non quantificabili e difficili da verificare - grado di soddisfacimento del requisito
                                                                                        3. Stakeholder

                                                                                          Anotações:

                                                                                          • Le persone coinvolte sono chiamate STAKEHOLDER - portatori di interesse - e sono “persone o gruppi che influenzano e/o sono influenzati dalle attività di un’organizzazione, dai suoi prodotti o servizi e dai relativi risultati di performance (Freeman, 1984)
                                                                                          1. Problema
                                                                                            1. non hanno le idee chiare
                                                                                              1. parlano un proprio linguaggio tecnico
                                                                                                1. hanno poca dimestichezza nello sviluppo del software e idee confuse sulle funzionanlità da implementare
                                                                                                  1. possono effettuare richieste diverse tra loro, che vanno spesso in conflitto
                                                                                                    1. Compito dell’analista è ottenere una descrizione dettagliata (e il più possibile rigorosa) del sistema!
                                                                                                2. Classificazione FURPS (1987)
                                                                                                  1. Functionality

                                                                                                    Anotações:

                                                                                                    • le caratteristiche e le funzionalità fornite dal programma
                                                                                                    1. Usability - usabilità

                                                                                                      Anotações:

                                                                                                      • semplicità di apprendimento e utilizzo del sistema da parte degli utenti
                                                                                                      1. Reliability -affidabilità
                                                                                                        1. il sistema deve garantire le funzioni richieste nel tempo
                                                                                                          1. per un determinato insieme di situazioni
                                                                                                          2. Performance - prestazioni e tempi di risposta
                                                                                                            1. velocità nel fornire risultati
                                                                                                              1. quantità di risorse utilizzate
                                                                                                                1. throughput: efficienza / effettiva velocità di utilizzo
                                                                                                                2. Supportability - supportabilità
                                                                                                                  1. manutenibilità
                                                                                                                    1. estendibilità e adattabilità
                                                                                                                      1. compatibilità e configurabilità
                                                                                                                      2. Ulteriori pseudo-requisiti o VINCOLI

                                                                                                                        Anotações:

                                                                                                                        • - implementazione - interfacce - operazioni - packaging - legali
                                                                                                                      3. Tipi di raccolta dei requisiti
                                                                                                                        1. greenfield engineering
                                                                                                                          1. sviluppo da zero del sistema
                                                                                                                            1. la fonte dei requisiti è l’azienda committente
                                                                                                                              1. lo sviluppatore: deve valutare disponibilità sul mercato di un prodotto analogo da confrontare o proporre in alternativa allo sviluppo ex-novo
                                                                                                                              2. re-engineering

                                                                                                                                Anotações:

                                                                                                                                • esiste già in azienda un sistema
                                                                                                                                • analisi del sistema esistente → alla base del nuovo progetto
                                                                                                                                1. interface engineering

                                                                                                                                  Anotações:

                                                                                                                                  • non è possibile sostituire completamente il software esistente
                                                                                                                                  • MA si deve adeguare ALMENO l’interfaccia grafica
                                                                                                                                  • non è necessario raccogliere nuovi requisiti
                                                                                                                                  1. Elicitazione (scoperta) dei requisiti

                                                                                                                                    Anotações:

                                                                                                                                    • questa fase è detta fase di esplorazione in quanto il problema da risolvere va esplorato elicitazione → “scoperta” dei requisiti (sono difficili da individuare)
                                                                                                                                    1. è necessario raccogliere il maggior numero possibile di informazioni

                                                                                                                                      Anotações:

                                                                                                                                      • sugli obiettivi del sistema
                                                                                                                                      • sulle necessità riguardanti il sistema
                                                                                                                                      1. Passi da seguire
                                                                                                                                        1. esaminare le richieste del committente → il principale referente del cliente
                                                                                                                                          1. definizione degli stakeholder (attori)
                                                                                                                                            1. Stakeholder engagement

                                                                                                                                              Anotações:

                                                                                                                                              • partecipazione attiva degli attori che sono a tutti gli effetti parte del gruppo di lavoro
                                                                                                                                              1. Gli ingegneri del software devono

                                                                                                                                                Anotações:

                                                                                                                                                • dialogare con gli attori
                                                                                                                                                • integrare ciò che emerge da questo processo di dialogo (dipendenti vs direzione aziendale)
                                                                                                                                                1. Si rende necessario

                                                                                                                                                  Anotações:

                                                                                                                                                  • individuare criteri di selezione che garantiscano la rappresentatività degli stakeholder
                                                                                                                                                  • conoscere tutti i punti di vista (viewpoint) dei diversi utilizzatori del sistema

                                                                                                                                        Semelhante

                                                                                                                                        Software Processes
                                                                                                                                        Nurul Aiman Abdu
                                                                                                                                        Computing Hardware - CPU and Memory
                                                                                                                                        ollietablet123
                                                                                                                                        SFDC App Builder 2
                                                                                                                                        Parker Webb-Mitchell
                                                                                                                                        Data Types
                                                                                                                                        Jacob Sedore
                                                                                                                                        Intake7 BIM L1
                                                                                                                                        Stanley Chia
                                                                                                                                        Design Patterns
                                                                                                                                        Erica Solum
                                                                                                                                        CCNA Answers – CCNA Exam
                                                                                                                                        Abdul Demir
                                                                                                                                        Abstraction
                                                                                                                                        Shannon Anderson-Rush
                                                                                                                                        Spyware
                                                                                                                                        Sam2
                                                                                                                                        HTTPS explained with Carrier Pigeons
                                                                                                                                        Shannon Anderson-Rush
                                                                                                                                        Data Analytics
                                                                                                                                        anelvr