Categorie
Winzipedia Uso dell'wiki |
IntroduzioneIngegneriaDelSoftware.Introduzione VersioniMostra le modifiche minori - Mostra le modifiche Modificata la linea 7: da:
Il software essere inserito nel contesto industriale, infatti oggigiorno a:
Il software essere inserito nel contesto industriale, infatti oggigiorno Modificata la linea 19: da:
dimensioni del codice il costo di una LoC a:
dimensioni del codice il costo di una LoC cresciuto moltissimo non tanto Modificate le linee 26-27: da:
Con il passare del tempo anche il modo di sviluppare software si Dal punto di vista della crescita e a:
Con il passare del tempo anche il modo di sviluppare software si evuluto. Dal punto di vista della crescita e molto difficile trovare Modificata la linea 30: da:
costruiti su misura. Un sistema a:
costruiti su misura. Un sistema un insieme di componenti realizzati a Modificata la linea 38: da:
a:
quella di progettare un software che sia in grado di adattarsi facilmente ai Modificata la linea 40: da:
Il punto di vista qualitativo a:
Il punto di vista qualitativo fondamentale, non sufficiente che il sistema Modificata la linea 43: da:
Il mercato del software a:
Il mercato del software composto da due grandi filoni, il primo vede il software Modificata la linea 46: da:
Il mercato in Italia a:
Il mercato in Italia costituito da alcuni grandi operatori che coprono Modificata la linea 50: da:
software sviluppato a:
software sviluppato prettamente di tipo gestionale, contabile (applicazioni Modificata la linea 58: da:
60 Strutturata Alto livello Non a:
60 Strutturata Alto livello Non progr. Modificata la linea 85: da:
La professione del software a:
La professione del software stata scritta nello SWEBOK. Aggiunte le linee 1-115:
! Introduzione '''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]\\ ->'''Sommario''' !! Il contesto industriale del software considerato il core che lega professioni, mercati, industria. Nel campo industriale permette di produrre in maniera organizzata su !!! Dimensioni e diffusione che il Mercury nel 1962 era gestito con 1.000.000 di LoC (Lines of Code) fino ad arrivare nel 1990 a 82.000.000 di LoC per Hubble. Stesso discorso vale per i sistemi operativi dalle 2.500.000 LoC di Win 3.1 nel 1990 ai 40.000.000 e di sviluppo. La crescita del software deve essere anche analizzata dal punto di vista della diffusione. Infatti, oggi, in ogni campo della vita quotidiana si ha a che fare con del software (dalla lavatrice, al telecomando del DVD, al cellulare). !!! Temi di oggi ed evoluzione parte (COAT) per poi essere integrati a formare un sistema complesso. Il software deve quindi essere visto come la composizione di moduli comperati o progettati ad hoc. I sistemi di oggi sono distribuiti, altamente dinamici, sviluppati per aziende decentralizzate. Sono composti da componenti autonomi ed eterogenei, gestiti localmente ma cooperanti tra loro in modo da offrire servizi Sono in continua evoluzione, la grande sfida per gli ingegneri del software esegua certe funzioni, devono essere eseguite con determinate caratteristiche. !!! Il mercato come un prodotto (es. sw a bordo di un elettrodomestico), il secondo come parte di un servizio (es. gestione sito web). una consistente area di mercato e da un numero estremamente elevato di operatori di piccole e piccolissime dimensioni che detengono, comunque, un patrimonio importante in termini di know how e relazioni con i loro clienti. Il Intranet, sviluppo di web aziendali, soluzioni di DataWarehousing, soluzioni ERP,applicazioni in area Extranet, applicativi di commercio elettronico). Ecco quindi che in questo contesto di evoluzione dei sistemi nascono delle Anni Programmazione Linguaggio Utente 40-50 Non strutturata- Individuale Assembler Progr. Negli anni 70 ha inizio la svolta decisiva. In seguito a grandi progetti che hanno portato a colossali fallimenti, le continue riflessioni determinarono la basata su un processo di progettazione: * Studio del contesto * Specifica * Idea progettuale * Progetto esecutivo * Realizzazione e costruzione * Elementi costruttivi (pattern, librerie) un progetto o modello sottoposto ad analisi. Al termine del loop-back progetto-analisi si realizza il prodotto finale. Per la riuscita di questo percorso, la disciplina mette a disposizione degli strumenti tra cui tecniche di progettazione, di controllo, di verifica di progetto e di coinvolgimento di aspetti gestionali. !!! Definizione di ingegneria del software Vengono date tre diverse definizioni di ingegneria del software: # Disciplina tecnologica e gestionale per la produzione sistematica e la manutenzione di prodotti software sviluppati e modificati con tempi e costi preventivati (def. gestionale) # Applicazione pratica, di conoscenze scientifiche, alla progettazione e costruzione dei programmi per calcolatori e della documentazione associata richiesta per svilupparli, esercirli e mantenerli. !! Il corpus delle conoscenze !!! La professione del software. Racchiude una serie di caratteristiche e requisiti che devono essere soddisfatti per formare la professione in modo completo. I creatori del libro avevano in mente cinque obiettivi: * Caratterizzare i contenuti della disciplina. * Fornire approcci tipici al corpus di conoscenze della disciplina. * Fornire attitudini individuali per poter certificare un prodotto. !!! Le normative * Regole da seguire per lo sviluppo di software (e non solo), frutto di accordi tra varie aziende e sviluppatori a livello mondiale. !!! Ingegneria del software Creare delle soluzioni pratiche a problemi reali, applicando conoscenze scientifiche, tenendo conto di vincoli come costi e tempi. natura: * Tecnica (tecniche di controllo di progettazione); * Gestionale (pianificazione, stime di costi e tempo); * Sociale (rapporti con il cliente, gestione del personale coinvolto nel progetto). * Conoscenza approfondita del dominio applicativo (utenti, processi, terminologia adatta). !!! Ingegneria del software e sistemi Un progetto software comprende un sistema composto da hardware, software, processi lavorativi e persone. Il focus si sposta quindi da un aspetto tecnico verso un aspetto sistemistico, caratterizzato da una parte tecnicarealizzativa, coinvolte persone e processi lavorativi. |