Sei sulla pagina 1di 17

Università di Bologna Corso di Laboratorio Laurea triennale di Sistemi in Scienze e Processi di Internet Organizzativi

La produzione del software

prof. Paolo Ciancarini

Cos’è il software?

Obiettivi della lezione

• • • I Il I costi prodotti ciclo del di software produzione software del software

• • La Principi professione fondamentali del progettista software

Software

Cos’è Il “Conoscenza software il software? è un cristallizzata” prodotto di un processo

• • Trasformatore Servizio di conoscenza

Il sw è un prodotto industriale

L’industria 10% annuo mondiale (dal 2001 del sw è scesa è cresciuta al 3%) negli anni 90 a tassi di almeno il

Molti software nuovi servizi (es. Google, di rete Amazon, si basano Gnutella, su innovazioni E-bay, tecnologiche ecc.)

Windows Un telefonino XP contiene contiene 40+ 5+ MLOC MLOC (fonte (Windows Nokia) 95: 11 MLOC) Il costo dimensioni di sviluppo [Berra-Meo di un programma 2001] cresce col quadrato delle sue

Le aziende leader ICT (dati in G$, al 26/4/04)

95%

95% Microsoft INTEL 294 176 CISCO 159

Microsoft

INTEL

95% Microsoft INTEL 294 176 CISCO 159

294

176

CISCO

159

95% Microsoft INTEL 294 176 CISCO 159   10% 40% 25%   72 HP 66 Oracle
95% Microsoft INTEL 294 176 CISCO 159   10% 40% 25%   72 HP 66 Oracle
 

10%

40%

25%

 

72

HP

66

Oracle

64

100%

Ebay

53

SAP

50

100%

Texas Ins.

48

STM

21

10%

100% Ebay 53 SAP 50 100% Texas Ins. 48 STM 21 10% IBM 153 Dell 91
100% Ebay 53 SAP 50 100% Texas Ins. 48 STM 21 10% IBM 153 Dell 91

IBM

153

Dell

91

Nokia

IBM 153 Dell 91 Nokia
IBM 153 Dell 91 Nokia

L’industria ICT

L’industria vengono costruiti ICT è di scegliendo tipo “orizzontale”: i componenti i sistemi preferiti informatici in un moderni mercato organizzato per fasce orizzontali (grazie agli standard) •Servizi •Vendita •Applicazioni: di e rete: distribuzione: Office, ISP, Web Netscape, negozi, hosting, SuperMarioBros, superstore, Application dealer server, ecc. on-line ecc. •Middleware: •Sistemi •Computer: •Processori: operativi: IBM, Intel, .NET, HewlettPackard, Motorola, Windows, CORBA, Amdhal, Linux, XML/Web-based, Dell, MacOS, STM, Compaq, ecc. ecc. ecc. ecc.

Come si acquisisce il sw

• È risolvere molto un semplice certo compito comprare è di solito hardware; più difficile acquisire il software "giusto" per

• • affittare comprare un un programma programma

• • far costruire costruire un programma un programma da soli a qualcun altro

Il commercio software del software: commerciale (Es. www.microsoft.com)

software shareware (Es. www.shareware.com)

• La distribuzione software software del public-domain freeware software: (Es. Linux, (es. www.download.com) www.linux.org)

• • a in cura negozi di personale specializzati specializzato

• • per Via posta Internet

Nuove categorie di software

• Middleware

• • Web Open services source

• • • Data Agenti Software mining mobile (es. (es. motori applet) di ricerca)
• …

Il software è un prodotto speciale

In È È invisibile facilmente Europa non e duplicabile intangibile è in sé brevettabile e distribuibile (ma protetto) su rete

• Non Viene è acquisito garantito su licenza

– – Proprietaria Public domain (normale, shareware, freeware)

Open source

Il software come servizio

freeware) – Open source Il software come servizio Protezione legale del sw • Protezione dell’ autore:

Protezione legale del sw

Protezione dell’autore: Il software è un’opera dell’ingegno: chi lo Copiare produce è software un autore abusivamente che ha diritto è ad illegale un compenso (anche se non lo si fa per La duplica profitto) legge abusivamente e italiana in Italia 248/2000 costituisce software punisce un reato col penale carcere da 6 mesi a 3 anni chi

• Per http://www.softwarepatent.com informazioni sulla brevettabilità del software negli USA:

La garanzia del software

Protezione del compratore: Quale

protezione del prodotto? ha il compratore da difetti

teoria

NON Nel software c’è alcuna di garanzia. consumo

ne Il e se software fa ci carico: sono viene difetti venduto il fabbricante “così com’è”, non se

lo quendo dice il si contratto usa per che la si prima visualizza volta un’applicazione

in

laws The SOFTWARE and international PRODUCT is copyright protected treaties, by copyright as treaties. well sold. as other The intellectual SOFTWARE PRODUCT property is licensed, laws and not

1.GRANT OF LICENSE. The SOFTWARE PRODUCT is licensed as

install follows: * Installation and use and copies Use. of Microsoft the SOFTWARE grants PRODUCT you the on right your to

computers operating designed 3.x, Macintosh, [e.g., system running etc.]. Windows(r) for validly which licensed 95; the Windows SOFTWARE copies NT(r), PRODUCT of the Windows was

* Backup Copies. You may also make copies of the

SOFTWARE archival purposes. PRODUCT as may be necessary for backup and

* Components. Certain software components of the

SOFTWARE provisions: PRODUCT are subject to the following additional

* 2. Distribution. DESCRIPTION OF You OTHER may RIGHTS not distribute AND LIMITATIONS. copies of the

Disassembly. SOFTWARE * Prohibition PRODUCT on to Reverse third Engineering, parties. Decompilation, and

4. COPYRIGHT. All title, including but not limited to

copyrights, in and to the SOFTWARE PRODUCT and any copies rights thereof not are expressly owned by granted Microsoft are or reserved its suppliers. by Microsoft. All related SOFTWARE applicable 8. NO WARRANTIES. to PRODUCT law, the SOFTWARE Microsoft and To any the PRODUCT (if maximum and any) its AS extent suppliers Support IS AND permitted Services WITH provide ALL by the conditions, FAULTS, and either hereby express, disclaim implied all warranties or statutory, and for warranties including, a particular or but conditions not purpose, limited of of to, merchantability, lack any of (if viruses, any) implied of of fitness accuracy negligence or to completeness the SOFTWARE or lack of PRODUCT, of responses, workmanlike and the of results, provision effort, all and of with of or lack failure regard of to ALSO, ENJOYMENT, provide THERE Support QUIET IS NO POSSESSION, WARRANTY Services. OR CORRESPONDENCE CONDITION OF TITLE, TO QUIET DESCRIPTION SOFTWARE PRODUCT. OR NON-INFRINGEMENT, WITH REGARD TO THE THE USE SERVICES, OR ENTIRE PERFORMANCE IF RISK ANY, AS REMAINS OF TO THE THE SOFTWARE QUALITY WITH YOU. OF PRODUCT OR ARISING AND SUPPORT OUT OF

I prodotti software

• Prodotti generici (OTS: off the shelf)

– Sistemi software prodotti e venduti da sul qualche mercato produttore a qualsiasi di pacchetti cliente

• Prodotti commissionati (“customizzati”)

– Sistemi sviluppati commissionati apposta da un da qualche un cliente fornitore specifico e

• Es. sw, per La sw di cui PA su licenza 65% italiana per (fonte ha software speso Min. nel commissionato IT) 2002 675 M! e 35% per

Garanzie sul software

• La verifica garantisce l’aderenza ad una

• La parte specifica validazione del cliente garantisce l’accettazione da

• La specifiche certificazione definite garantisce dalla legge l’aderenza a NB: venduto il sw commerciale senza garanzie di (as solito is”) viene

Attributi dei prodotti software

• Attributi esterni (visibili all’utente)

– – Garanzia Prestazioni Costo (e tipo di licenza)

• Attributi interni (visibili ai progettisti)

Dimensione (size)

– – – Durata Sforzo Mantenibilità di della produzione produzione (effort) (dall’inizio alla consegna)

– Modularità

Attributi dei prodotti software

• Mantenibilità

Se i requisiti cambiano il sw deve poter evolvere

• Affidabilità

Se si “rompe”, il sw non dovrebbe causare danni

• Efficienza

Il sw non dovrebbe sprecare le risorse di sistema

• Usabilità

Il appropriate sw dovrebbe avere interfaccia e documentazione

Il costo dellefficienza

o s t o d e l l ’ e f f i c i e

Bilanciamento degli attributi

• L’importanza dipende dal prodotto relativa e degli dall’ambiente attributi di in prodotto cui verrà

• usato A volte certi attributi sono più importanti

– Nei attributi sistemi chiave in tempo sono l’affidabilità reale con requisiti e l’efficienza di sicurezza, gli

• “spinto”, esponenzialmente Se un attributo i costi dev’essere di sviluppo particolarmente tenderanno a crescere curato e

I prodotti sw sono sempre più grandi e costosi

distribution It would cost by over conventional $1 billion to proprietary develop REDHat means in 7.1 the GNU/Linux U.S. (in year Compare 2000 U.S. this dollars). to the $600 million estimate for Red Hat Linux version code Red 6.2 (which Hat (SLOC), Linux had compared 7.1 been includes released to well over about over 30 million one 17 million year physical earlier). SLOC source in version lines of 6.2. to required Using 4,500 the person-years about COCOMO 8,000 cost person-years to develop model, this version of system development 6.2). is estimated time (as to compared have traditional increased Red Hat Linux number development 7.1 of represents mature costs and over over maturing Red a 60% Hat increase open Linux source 6.2. in size, This / free effort, is due software and to an programs available worldwide (D.Wheeler, 2002)

I prodotti sw sono sempre più grandi

Prodotto

(righe SLOC di codice sorgente)

Prodotto (righe SLOC di codice sorgente) 430K(shuttle) + 1.4M (ground) Sun Solaris 1998-2000 7-8M

430K(shuttle) + 1.4M (ground)

Sun Solaris 1998-2000

7-8M

NASA Space Shuttle Flight Control

NASA Space Shuttle Flight Control Microsoft Windows 3.1 (1992) 3M Microsoft Windows 95 14M Microsoft Windows
NASA Space Shuttle Flight Control Microsoft Windows 3.1 (1992) 3M Microsoft Windows 95 14M Microsoft Windows

Microsoft Windows 3.1 (1992)

3M

Microsoft Windows 95

14M

Microsoft Windows 98

18M

Microsoft Windows NT (1992)

4M

Microsoft Windows NT5.0 (1998)

20M

RedHatLinux 6.2 (2000)

17M

RedHatLinux7.1 (2002)

30M

La produttività dell’industria software è bassa

Da un’analisi di 13.522 progetti di costruzione sw:

66% di tutti i progetti falliscono (non hanno risultato utile)

82% dei progetti superano i tempi previsti

48% richieste dei progetti dai clienti producono sistemi senza le funzioni

55 miliardi $ di spreco considerando solo i progetti USA

Standish Report 2003

Come si produce il software?

Parti interessate (stakeholders)

Tipi di stakeholders

– – Progettisti Management professionisti

– – Personale Decisori tecnico

– – – Utenti Finanziatori …

Ad punto ogni di stakeholder vista (view) corrisponde almeno un diverso

Processi di produzione

• • valutati Prodotti I processi da e di processi un produzione punto possono di vista si creano essere qualitativo e descritti poi evolvono e

• • miglioramento Occorre Processi adottare di produzione della metodi qualità a di diversi sviluppo di processi livelli: finalizzati e prodotti al

– Ciclo di vita industriale

– – – Progettazione Progettazione Analisi dei requisiti, di di un un modulo servizio progetto, e sw del testing (es.: relativo motore test di ricerca)

Modellare le attività: un esempio

motore test di ricerca) Modellare le attività: un esempio Il processo software • Insieme un sistema

Il processo software

• Insieme un sistema strutturato software di attività necessarie per creare

– Specifica

– – – Verifica Progetto Evoluzione e e validazione sviluppo

• Le attività differiscono in funzione dell’

• Per organizzazione poterle gestire che vanno sviluppa esplicitamente e del sw da modellate produrre

Attributi di processo

• Comprensibilità

Il processo è definito e comprensibile

• Visibilità

Il processo progredisce in modo visibile

• Sostenibilità

Il processo è sostenuto da strumenti CASE

• Accettabilità

– Le consenso persone implicate nel processo manifestano il loro

Attributi di processo

• Robustezza

Affidabilità

Gli diventino errori di errori processo di prodotto vengono scoperti prima che

Il processo può continuare anche in presenza di errori

• Mantenibilità

Il nell’organizzazione processo può evolvere che lo per usa adattarsi ai cambiamenti

Rapidità

Il prodotto processo influenza la velocità di produzione del

Costi di Ciclo (Boehm citato da Schach) Integration 6% testing 7% Module coding Module 5%
Costi di Ciclo (Boehm citato da Schach)
Integration 6%
testing 7% Module
coding Module 5%
Design 6%
Planning 2%
Requirements 4%
Problem 3% Def
Maintenance 67%

I costi del software

I costi software spesso dominano i costi di

software produzione sono di un spesso sistema. maggiori In particolare, dei costi i costi

dell’hardware sottostante.

E’ svilupparlo. più costoso Nel mantenere caso di sistemi il software con vita che duratura,

i costi di manutenzione possono essere un

multiplo dei costi di sviluppo.

L’ingegneria produrre software del software con costi si “accettabili” preoccupa di

Costo per linea di codice

Unit cost vs. size (assuming $5,000/PM)

80 system 70 60 50 40 utility 30 20 application 10 1 0 10 1
80
system
70
60
50
40
utility
30
20
application
10
1 0
10 1
Software size in 1,000 lines of code
100 2
1000
3
10000
4
Dollars per line of source code

Durata

Required development time vs. size

60 application 50 utility 40 system 30 20 10 0 1 0 10 1 Software
60
application
50
utility
40
system
30
20
10
0
1 0
10 1
Software size in 1,000 lines of source code
100
2
1000
3
10000 4
Required development time in months

La manutenzione

• Tutti del cambiamento i prodotti hanno bisogno di manutenzione a causa

• I tipi principali di manutenzione:

Perfettiva (65%): migliorare il prodotto

– – Correttiva Adattiva (18 (17%): %): rispondere correggere a errori modifiche trovati ambientali dopo la consegna

Il La mondo manutenzione cambia continuamente è “normale

Produttività

Productivity vs. size

0,03 30 0,02 20 application (11.8) utility 0,01 10 (5.8) system (2.8) 0,00 0 0
0,03
30
0,02
20
application
(11.8)
utility
0,01
10
(5.8)
system
(2.8)
0,00 0
0
1 0
10 1
100
2
1000
3
10000 4
Lines of code per prgrammer per day

Software size in 1,000 lines of source code

Il costo della qualità

Prodotto

Dimensione di sviluppo del team

Dimensione di testing del team

NT 3.1

200

140

Prodotto Dimensione di sviluppo del team Dimensione di testing del team NT 3.1 200 140
Prodotto Dimensione di sviluppo del team Dimensione di testing del team NT 3.1 200 140
team Dimensione di testing del team NT 3.1 200 140 NT 3.5 300 230 NT 3.51
team Dimensione di testing del team NT 3.1 200 140 NT 3.5 300 230 NT 3.51

NT 3.5

300

230

NT 3.51

450

325

NT 4.0

800

700

Win2k

1400

1700

NT 3.5 300 230 NT 3.51 450 325 NT 4.0 800 700 Win2k 1400 1700
NT 3.5 300 230 NT 3.51 450 325 NT 4.0 800 700 Win2k 1400 1700
NT 3.5 300 230 NT 3.51 450 325 NT 4.0 800 700 Win2k 1400 1700
NT 3.5 300 230 NT 3.51 450 325 NT 4.0 800 700 Win2k 1400 1700

Miti e leggende

• un’idea pensa Per cominciare dopo generica a dei scrivere suoi obiettivi un programma, - ai dettagli basta si

La causa cattiva di fallimenti definizione progettuali della specifica è la maggior

• Se programmatori il progetto ritarda, e rispettare possiamo la consegna aggiungere

progetto Legge di in Brooks: ritardo “Aggiungere lo fa ritardare personale ancor di ad più” un

Miti e leggende

• problema Se i requisiti tenerne di un conto progetto perché cambiano, il software non è è flessibile un

Cost Impact

Severe

Moderate

Minor

è è flessibile un Cost Impact Severe Moderate Minor P l a n n i n

Planning

Design

Implementation

Occurrence Change of

Miti e leggende

Miti e leggende

• è quando Se minima il software capitano e si può “funziona”, gestire errore la manutenzione per errore,

10-15%

• L’ di successo unico prodotto è un programma (deliverable) funzionante di un progetto

Strutture dati Progetto Listati
Strutture dati
Progetto
Listati
Working Program
Working Program

Piano

Requisiti
Requisiti

Specifiche di test

Listati Working Program Piano Requisiti Specifiche di test Budgeted Costs Maintenance 55-70% Actual Maintenance Costs

Budgeted Costs Maintenance

55-70% Actual Maintenance Costs
55-70%
Actual Maintenance Costs

Problematiche

• • quanto La Produrre capacità promesso software di produzione o è atteso costoso è minore di

• • • I La Le costi documentazione consegne software sono spesso spesso è inadeguata sforano in ritardo il budget

Il software è spesso difficile da usare

Cos’è l’Ingegneria del Software?

Problematiche

• La manutenzione è complessa e soggetta ad errori

• • Molti un Molti nuovo prodotti prodotti ambiente sw sw non non e modificati si possono integrano essere facilmente trasportati in

• • Le I dell’utente requisiti prestazioni spesso sono non spesso soddisfano inaffidabili le vere necessità

• Molti adeguate prodotti alle specifiche sw presentano prestazioni non

Ingegneria del software

• disciplina L’Ingegneria metodologica, del Sw (Software cioè studia Engineering) i metodi è una di strumenti sistemi produzione, software efficaci le complessi teorie di sviluppo alla base e misura dei della metodi, qualità e gli di

• E’ sull’esperienza tuttavia anche e sulla una storia disciplina dei progetti empirica, passati cioè basata

(“Coloro che non conoscono la storia, sono condannati a ripeterla”)

I problemi dell’IdS

• I del problemi Software principali riguardano che affronta l’Ingegneria

• • I Lo metodi studio di del analisi processo e progettazione di sviluppo del dei sw prodotti sw

• • • Lo Gli La sviluppo standardizzazione aspetti economici degli strumenti dei di processi prodotti di produzione e e tecnologie dei processi del sw

Perché l’ingegneria del sw è difficile

• Fattori di complessità

– – – Scarsa Innovazione Aspetti formazione psicologici tecnologica specifica e organizzativi rapidissima sulla produzione sw

– Competizione internazionale

• • Parti inadeguato, Principali interessate cause requisiti con di fallimento: interessi sbagliati, e project progettazione punti di management vista mediocre diversi

• Molti analizzati progetti partono assumendosi rischi alti e poco

What is Software Engineering?

• Designing, building and maintaining large

• software Multi-person software systems construction of multi-version - I. Sommerville

• software Technological on time and products within and that managerial cost are estimates developed discipline and of modified - R. Fairley

- D.L. Parnas

Strumenti, Metodi, Principi Tecniche e Strumenti Metodi Tecniche Principi
Strumenti, Metodi, Principi Tecniche e
Strumenti
Metodi
Tecniche
Principi

Principi

• • Anticipazione Rigore e Formalità del cambiamento

• • Separazione Modularità dei problemi

• • • Astrazione Generalità Incrementalità

Rigore e formalizzazione

definite Applicazione di metodi e tecniche ben

la permettono Assicurano fiducia dell’utente l’affidabilità il controllo dei del costi, prodotto, aumentano

per parti I livelli prodotti di sistema di rigore diversi, diverse e formalità per processi saranno diversi, diversi per

Anticipazione del cambiamento

• Le modifiche al software sono frequenti

– – Adeguare Rimuovere a errori requisiti in evoluzione

• Occorre futuri come considerare parte della i probabili progettazione cambiamenti

– – Isolare Progettare i possibili moduli cambiamenti riusabili in moduli specifici

• Modifiche al prodotto ed al processo di sviluppo

Separazione dei problemi

• interdipendenti Molte decisioni sono fortemente correlate ed

• problema Conviene separatamente: concentrarsi sui es. diversi Il processo, aspetti il di sistema un l’interfaccia operativo, i vincoli utente sono di ambiente aspetti esecutivo, “separabili”

• qualità, dettaglio, La separazione i punti ecc. di si vista, può fondare la dimensione, sul tempo, il livello le di

Modularità

• Suddividere più semplici un (divide sistema et impera) complesso in sottosistemi

• I lascamente componenti accoppiati dovrebbero essere molto coesi e

• Information Hiding

dovrebbero essere molto coesi e • Information Hiding (a) Highly Coupled Structure (b) Highly-cohesive,
dovrebbero essere molto coesi e • Information Hiding (a) Highly Coupled Structure (b) Highly-cohesive,

(a) Highly Coupled Structure

(b) Highly-cohesive, Lowly-coupled Structure

Generalità, Incrementalità

• Generalità

– Le soluzioni di problemi generalizzati sono

– Occorre soluzione potenzialmente bilanciare generalizzate più le riusabili decisioni che favoriscono una

• Incrementalità

– – Applicato sviluppo Procedere alle passo qualità a passo software (senza o salti) al processo di

Astrazione

• Identificare trascurandone gli i aspetti dettagli importanti meno significativi di un fenomeno,

• La astrazioni, stessa realtà ciascuna può avente essere descritta scopo diverso da diverse

• L’astrazione guida l’intero processo

– codice Un linguaggio macchina di programmazione è un’astrazione del

– include Un ambiente atrazioni di ingegneria per la specifica, del software il progetto, (es. Eclipse) la codifica

Il Book of Knowledge (SWEBOK)

In termini dei processi descritti in ISO/IEC 12207:1995

Requisiti
Requisiti

Progetto

Progetto

Gestione della configurazione software

Gestione dei progetti software

configurazione software Gestione dei progetti software Processo di sviluppo del software Strumenti e metodi

Processo di sviluppo del software

Strumenti e metodi

Qualità del software
Qualità del software

Costruzione

Testing

Manutenzione

Strumenti e metodi Qualità del software Costruzione Testing Manutenzione Processi primari Processi di supporto
Processi primari
Processi primari
Processi di supporto
Processi di supporto

condotta Principi dellingegnere etici: il codice del di sw

• “moralmente Non esistono corrette” algoritmi etici che generano decisioni

• • professionale; Nelle Il codice professioni etico talvolta definito consolidate, rispettare da ACM esistono e tali IEEE codici codici per genera gli di ingegneri condotta conflitti del condotta software che enuncia richiedono alcuni riflessione, principi più fondamentali che adesione di cieca

Interesse pubblico

Principio: coerente con gli l’interesse ingegneri del pubblico software agiranno in modo

per e Approveranno non credere diminuisce che un esso la prodotto qualità sia sicuro, software della aderente vita, solo agli danneggi se hanno standard, buoni la privacy passa motivi i o test

– – l’ambiente Avvertiranno Saranno corretti l’utente ed eviteranno di qualsiasi di rilasciare pericolo effettivo dichiarazioni o potenziale ingannevoli a riguardo di un prodotto software

professionale Codice etico di IEEE-CS/ACM e di pratica

• Si basa su otto principi

– – – Cliente Interesse Prodotto e pubblico datore di lavoro

– – – – Giudizio Management Professione Colleghi

– Sé stessi

• Il prevalente principio dell’interesse pubblico è quello

Formazione professionale vs esperienza (1)

prevalente principio dell’interesse pubblico è quello Formazione professionale vs esperienza (1) [Lethbridge 2000]

[Lethbridge 2000]

Formazione professionale vs esperienza (2)

Formazione professionale vs esperienza (2) [Lethbridge 2000] Sommario • metodi L’Ingegneria e gli strumenti del

[Lethbridge 2000]

Sommario

• metodi L’Ingegneria e gli strumenti del Software per sviluppare, riguarda le gestire teorie, i e far

• I evolvere prodotti i software prodotti software sono i programmi e la loro

• sviluppo Il documentazione processo di software un prodotto di prodotto è l’insieme software e di delle processo attività di

• motivano Le metodi problematiche basati i progettisti su principi di produzione ad usare scientificamente strumenti del software efficaci e e moralmente corretti

Alcuni Standard del Software

• • IEEE IEEE EIA 1062 12207: - Sw Acquisition Standard for Sw Life Cycle Processes

• • IEEE IEEE 1012 1233- - Developing Sw Verification System and Reqs Validation Specifications

• • • • IEEE IEEE IEEE IEEE 1471 1063 830 1016 - - - - Practice Practice Sw Practice User for for for Documentation Sw Architectural Sw Reqs Design Specifications Descriptions Descriptions

Riferimenti

Specifications Descriptions Descriptions Riferimenti L ibro d i Tes to: Arlow e Neustadt, UML e Unified

Libro di Testo: Arlow e Neustadt, UML e Unified Process, McGraw Hill, 2003

Libro di riferimento: Pressman, Ingegneria del software, McGraw Hill, 2004 Riviste IEEE Transactions (nella nostra on biblioteca Software o Engineering su Internet):

ACM IEEE Transactions Software on Sw Engineering and Methodology IEEE Internet Computing Newsgroup: nntp://comp.software-eng Siti www.swebok.org www.ieee.org importanti: (per (Software gli standard Engineering del software) Body of Knowledge) www.sei.cmu.edu www.softwarehistory.org (Software Engineering Institute)

Domande?

Domande?