Ingegneria del software: L'ingegneria del software comprende la tecnologia di sviluppo e gestione del software, ed è una disciplina che studia la produzione software. Una combinazione di tecnologia manageriale e informatica.
Lo sviluppo dei computer è composto da quattro fasi di sviluppo: valvole elettroniche, transistor, circuiti integrati e circuiti integrati su larga scala
Lo sviluppo software richiede 3 processi e 8 fasi:
Il primo processo: definizione del problema, studio di fattibilità e analisi dei requisiti Il secondo processo: progettazione complessiva, progettazione dettagliata, codifica, test Il terzo processo: la manutenzione
Studio di fattibilità: questo software può farlo? Analisi dei requisiti: sicurezza, ambiente di realizzazione
Il ciclo di vita del software è di 5-8 anni, il costo viene recuperato in 5 anni e il profitto si realizza in 3 anni
Cause della crisi del software: 1: È legato alle proprie caratteristiche; 2: La persona che ha progettato il software ha un rapporto; 3: Architettura dei computer, progettazione hardware a lungo termine, principi progettuali di von Neumann.
Come si presenta una crisi software: 1: La stima dei costi e dei tempi di sviluppo software è spesso imprecisa; 2: Gli utenti sono di tanto in tanto insoddisfatti del sistema software completo; 3: La qualità dei prodotti software è spesso inaffidabile; (Qualità software garantita: Test, Proofing) 4: Il software spesso non è insostenibile; (Non è codice sorgente, non può essere modificato, il software è riservato, comportamento commerciale) 5: Il software non ha una documentazione adeguata (i documenti contengono la riservatezza tecnica) 6: Il costo del software in rapporto ai costi dei computer aumenta di anno in anno; 7: La produttività dello sviluppo software è molto inferiore al numero di applicazioni informatiche. (Lo sviluppo software non è veloce quanto lo sviluppo hardware)
Approcci e metodi per la risoluzione delle crisi software: 1: Accelerare lo sviluppo di una nuova generazione di computer; 2: Organizzare e pianificare, mezzi gestionali rigorosi per lo sviluppo software (sviluppo di aziende tradizionali); 3: Riassumere le tecnologie e i metodi software di successo e promuoverli. (Spesso organizza seminari, pubblica articoli e conduce scambi accademici) 4: Dovresti scegliere uno strumento di sviluppo valido. Per esempio: gli strumenti IDE.
Modello di Sviluppo Software: 1: Modalità a cascata (nota anche come: modalità segmentata); Questa modalità di sviluppo è adatta all'uso in situazioni in cui i requisiti software sono relativamente chiari, la tecnologia di sviluppo è relativamente matura e la gestione ingegneristica è relativamente rigida. Vantaggi: Il software sviluppato utilizzando questa modalità ha una buona struttura.
2: Modalità incrementale Partendo da parte dell'analisi dei requisiti, si stabilisce prima un sistema incompleto, poi si testa e si fa funzionare il sistema, infine si testa e si fa funzionare il sistema, ottenendo esperienza e informazioni di feedback, in modo che il sistema venga continuamente espanso e migliorato finché l'utente non è soddisfatto. (All'inizio non riuscivo a proporre un requisito completo, la variabilità era relativamente forte, software di ricerca, startup) Vantaggi: Utilizzando questo metodo per sviluppare software, il tasso di soddisfazione dell'utente è il più alto.
3: Modalità trasformazione Partendo dalla specifica formale dei requisiti originali, il sistema finale di programma viene ottenuto dopo una serie di trasformazioni di programma. Questo modello richiede il supporto di una rigorosa teoria matematica e di tecniche formali, ed è ancora in fase di ricerca e sperimentazione.
Revisione tecnica del software e revisione gestionale: 1: Il ruolo della revisione tecnica Misure importanti per garantire la qualità del software durante la revisione tecnica e misure importanti per ridurre i costi software durante la revisione tecnica. (Costo della qualità) 2: Il ruolo della revisione manageriale Il principale mezzo per gestire e controllare i progetti di sviluppo software è la chiave per prendere decisioni nei progetti di sviluppo software.
|