265 Shares 4772 views

Ciclo di vita del software: concetto, standard, processi

Lo sviluppo del software è impossibile senza comprendere il cosiddetto ciclo di vita del software. Questo potrebbe non essere necessario essere conosciuti ad un utente comune, ma è auspicabile acquisire gli standard di base (si discuterà ulteriormente perché è necessario).

Il ciclo di vita del software: che cosa è in senso formale?

Nell'ambito del ciclo di vita di qualsiasi prodotto software, è consuetudine capire il tempo della sua esistenza, a partire dalla fase di sviluppo e fino al momento del completo rifiuto di utilizzarlo nella sfera d'uso prescelta finché l'applicazione non viene completamente rimossa dall'utilizzo quotidiano.

In termini semplici, i sistemi di informazione sotto forma di programmi, database o persino "sistemi operativi" sono richiesti solo se i dati e le capacità da loro forniti sono rilevanti.

Si ritiene che la definizione del ciclo di vita non si applica in alcun modo alle applicazioni di test, ad esempio nelle versioni beta, le più instabili nel lavoro. Il ciclo di vita di un software dipende da molti fattori, tra i quali uno dei ruoli principali è giocato dall'ambiente in cui verrà utilizzato il programma. Tuttavia, è possibile identificare le condizioni generali utilizzate per determinare il concetto del ciclo di vita.

Requisiti iniziali

Come si crede comunemente, per ogni prodotto software si utilizzano diverse condizioni, relative allo sviluppo e all'applicazione, vale a dire:

  • Dichiarazione del problema;
  • Analisi dei requisiti reciproci del futuro software al sistema;
  • la progettazione;
  • programmazione;
  • Codifica e compilazione;
  • test;
  • debugging;
  • Implementazione e manutenzione del prodotto software.

Lo sviluppo del software consiste di tutte le fasi sopra menzionate e non può farlo senza almeno uno di essi. Ma per il controllo di tali processi vengono stabiliti standard speciali.

Norme del ciclo di vita del software

Tra i sistemi che predeterminano le condizioni e le esigenze di tali processi, oggi esistono solo tre principali:

  • GOST 34.601-90;
  • ISO / IEC 12207: 2008;
  • Oracle CDM.

Per il secondo standard internazionale c'è un analogico russo. Questo è GOST R ISO / IEC 12207-2010, responsabile per l'ingegneria del sistema e del software. Ma il ciclo di vita del software descritto in entrambe le regole è in sostanza identico. Questo è spiegato semplicemente.

Tipi di software e aggiornamenti

I sistemi di informazione moderni sono tali da stabilire concetti generalmente accettati del campo di applicazione.

Ad esempio, ci sono programmi di sistema e programmi di utilità, strumenti multimediali, driver per dispositivi, applicazioni per ufficio, ecc. Per qualsiasi tipo di prodotto software è possibile definire le fasi del ciclo di vita dell'esistenza.

Per rinnovarlo, gli strumenti di aggiornamento vengono spesso utilizzati (sia per sistemi operativi, sia per piattaforme e software applicativo). Probabilmente, non è necessario spiegare che un utente di un sistema informatico basato su Windows ha subito la fase di aggiornamento del sistema stesso o di componenti come Microsoft .NET Framework o la macchina virtuale Java.

Stadio di progettazione

Ora poche parole direttamente sulle fasi dello sviluppo. Il ciclo di vita del software comprende inizialmente la pianificazione del progetto, l'analisi dei requisiti di sistema e di destinazione, la possibilità di progettazione preliminare o dettagliata, codifica e test, la possibilità di utilizzare programmi in sistemi specializzati e così via.

I modelli del ciclo di vita del software presuppongono che il compito iniziale di creare software dovrebbe essere quello di sviluppare applicazioni universali o prodotti software che utilizzino un ambiente di lancio specifico.

disegno

I sistemi di sviluppo sono linguaggi di programmazione. Il disegno del software nella prima fase può essere ridotto a questo.

Che sia C + / C ++, Java, Delphi, o lo stesso obsoleto Pascal non è così importante. La domanda è quanto l'applicazione creata possa integrarsi nel sistema operativo e funzionare senza fallire.

In questo senso, il ciclo di vita del software è il momento della sua verifica dall'installazione iniziale del prodotto alla sua rimozione completa a causa della mancata conformità ai requisiti di sistema, incapacità o impossibilità di eseguire i compiti originariamente impostati.

Prossimi passi

Ulteriori manutenzioni, che determinano il ciclo di vita del software, vengono ridotte alla codifica e all'ottenimento del codice sorgente dell'applicazione.

Nel caso della distribuzione gratuita (aperta), viene utilizzato un certificato cosiddetto sulla base della licenza GNU, che prevede la possibilità di modificare il software stesso su richiesta di un utente di terze parti familiarità con il linguaggio di programmazione con cui è stata creata l'applicazione.

Se è un codice chiuso, è possibile utilizzare utilità come Disassembler. Ma in questo caso è possibile ottenere solo la decodifica del file EXE eseguibile e in nessun modo non associati DLL dinamico.

Ma questa è una teoria. In pratica, le fasi del ciclo di vita del software includono molti più elementi nella loro lista. Anche la situazione simulata più semplice consiste nell'esaminare gli standard e formulare osservazioni (requisiti di architettura ad alto livello, conformità del codice eseguibile, mezzi e metodologia di verifica). Questo è il ciclo di vita del software. Ma qui è importante comprendere e alcuni principi di gestione di tali programmi e sistemi.

Fondamenti di gestione

La gestione del ciclo di vita del software avviene sulla base dei programmi di suddivisione in componenti, che offre una gamma abbastanza ampia di strumenti per la creazione.

C'è anche un inconveniente alla moneta. La scelta dei moduli è limitata allo sviluppatore della piattaforma iniziale, sulla base della quale è programmata la programmazione. Naturalmente, se si tiene conto dell'unificazione e della digitazione degli strumenti di sviluppo utilizzati (in particolare i moduli riutilizzabili), non ci sono domande.

Ma le fasi del ciclo di vita del software includono necessariamente la creazione di protocolli di elaborazione dati, sottoprogrammi, librerie standard e molto altro ancora.

Moduli usati

E nessun processo di ciclo di vita del software è completo senza utilizzare componenti molto specifici. Tra questi, si considerano prioritari:

  • Il modulo principale (head) responsabile del lancio del prodotto software;
  • Un modulo di controllo responsabile della chiamata dei componenti collegati o delle librerie dinamiche;
  • Strumenti funzionali e di servizio per l'elaborazione dei dati e servizi aggiuntivi.

Il file eseguibile, come regola, per i sistemi Windows viene presentato sotto forma di "exeshnika". I componenti di controllo hanno un'estensione del configuratore (config.sys per i sistemi operativi), le librerie collegate inoltre hanno un'estensione DLL. I controlli e l'elaborazione delle funzioni e delle impostazioni di alcune applicazioni possono sembrare file XML.

A proposito, per la maggior parte dei programmi multimediali oggi conosciuti sono mezzi per preservare i parametri di configurazione di base. Naturalmente l'uso del software di questo tipo è piuttosto limitato, ma la comprensione dei principi generali di lavorare con gli stessi lettori multimediali non farà male. Ecco perché.

Infatti, in essi il ciclo di vita del software viene impostato solo a livello della versione di aggiornamento del lettore stesso o dell'installazione di codec e decodificatori. E i transcoder audio e video sono attributi inerenti a qualsiasi sistema audio o video.

Esempio basato su FL Studio

Inizialmente, il sequenziatore virtuale dello studio FL Studio è stato chiamato Fruity Loops. Il ciclo di vita del software nella sua modifica primaria è scaduto, ma l'applicazione è stata in qualche modo trasformata e acquisita la forma attuale.

Se parliamo delle fasi del ciclo di vita, prima nella fase di impostazione del compito, sono state fissate diverse condizioni obbligatorie:

  • La creazione di un modulo drum per il tipo di macchine ritmiche come il Yamaha RX, ma con l'utilizzo di campioni con una sola volta o sequenze in formato WAV registrato in studi vivi;
  • Integrazione nei sistemi operativi Windows;
  • La capacità di esportare i progetti nei formati WAV, MP3 e OGG;
  • Progetti di compatibilità con un'applicazione aggiuntiva Tracce di frutta.

Al momento dello sviluppo, sono stati utilizzati i mezzi di linguaggio di programmazione C. Ma la piattaforma sembrava piuttosto primitiva e non ha dato all'utente finale la qualità del suono necessaria.

A questo proposito, durante la fase di test e di debug, gli sviluppatori dovevano seguire il percorso della società tedesca Steinberg e applicare il supporto per la modalità Full Duplex nei requisiti per il driver audio principale. La qualità del suono è diventata più elevata e consente di modificare il tempo, il pitch e sovrapporre effetti aggiuntivi FX in tempo reale.

Il completamento del ciclo di vita di questo software è considerato il rilascio della prima versione ufficiale di FL Studio, che, a differenza dei suoi antenati, ha già avuto l'interfaccia di un sequencer completo con la possibilità di modificare i parametri su una console di mixaggio virtuale a 64 canali con aggiunte illimitate di brani audio e brani MIDI.

La promozione del programma non si è fermata lì. Nella fase di gestione del progetto, è stato introdotto il supporto per la connessione di plug-in VST (prima, seconda e poi versione terza), sviluppata da Steinberg all'epoca. Purtroppo, qualsiasi sintetizzatore virtuale che supporti l'host VST potrebbe connettersi al programma.

Non sorprende che presto qualsiasi compositore potrebbe utilizzare analoghi di modelli "ferro", ad esempio, set completi di suoni del popolare Korg M1. Di più – di più. L'utilizzo di moduli come i tamburi Addictive o il plug-in universale Kontakt hanno permesso di riprodurre i suoni dal vivo di strumenti reali registrati con tutte le tonalità di articolazione negli studi professionali.

Allo stesso tempo, gli sviluppatori hanno cercato di ottenere la massima qualità creando il supporto per i driver ASIO4ALL, che si sono rivelati superiori alla modalità Full Duplex. Di conseguenza, anche il bitrate è aumentato. Ad oggi, la qualità del file audio esportato può essere 320 kbit / s ad una frequenza di campionamento di 192 kHz. E questo è un suono professionale.

Per quanto riguarda la versione iniziale, il suo ciclo di vita potrebbe essere chiamato completamente completo, ma tale affermazione è relativa, in quanto l'applicazione ha cambiato solo il suo nome e ha ottenuto nuove opportunità.

Prospettive di sviluppo

Le fasi del ciclo di vita del software sono già chiare. Ma vale la pena menzionare separatamente lo sviluppo di tali tecnologie.

Non è necessario affermare che nessun sviluppatore di software è interessato a creare un prodotto fugace che è improbabile che rimanga sul mercato per diversi anni. A lungo termine, ognuno sta guardando il suo uso a lungo termine. Ciò può essere raggiunto in molti modi. Ma, di regola, quasi tutti si riducono al rilascio di aggiornamenti o nuove versioni di programmi.

Anche nel caso di Windows OS, tali tendenze possono essere viste con l'occhio nudo. Al giorno d'oggi non esiste almeno un utente che utilizza sistemi come le modifiche 3.1, 95, 98 o Millennium. Il loro ciclo di vita è terminato dopo il rilascio della versione di XP. Ma le versioni server basate sulle tecnologie NT sono ancora pertinenti. Anche Windows 2000 ad oggi non è solo molto rilevante, ma anche per alcuni parametri di installazione o sicurezza, anche superando gli ultimi sviluppi. Lo stesso vale per il sistema NT 4.0, così come la modifica specializzata di Windows Server 2012.

Ma in relazione a questi sistemi, il sostegno al più alto livello è ancora dichiarato. Ma il noto nel suo tempo Vista sta vivendo chiaramente il ciclo del tramonto. Non solo era incompiuto, c'erano anche errori in esso e c'erano così tanto danni nel suo sistema di sicurezza che si può solo indovinare come fosse possibile rilasciare una soluzione così insostenibile sul mercato del software.

Ma se si parla del fatto che lo sviluppo di software di qualsiasi tipo (gestore o applicazione) non si ferma, possiamo solo dichiarare i fatti. Dopo tutto, oggi non sono solo sistemi informatici, ma anche dispositivi mobili, in cui le tecnologie utilizzate sono spesso davanti al settore informatico. L'emergere di chip processor basati su otto core – non è il migliore esempio? Eppure non tutti i portatili possono vantarsi di avere un tale "ferro".

Alcune domande aggiuntive

Per quanto riguarda la comprensione del ciclo di vita del software, si può dire che è finito in un determinato momento, perché i prodotti software hanno ancora supporto dagli sviluppatori che li hanno creati. Piuttosto, la fine si riferisce a applicazioni obsolete che non soddisfano i requisiti dei sistemi moderni e non possono funzionare nel loro ambiente.

Ma anche tenendo conto del progresso tecnico, molti di loro già nel prossimo futuro possono risultare insostenibili. Questo è quando si deve decidere se rilasciare gli aggiornamenti o per rivedere completamente l'intero concetto, originariamente incorporato nel prodotto software. Quindi – e un nuovo ciclo che coinvolge la modifica delle condizioni iniziali, l'ambiente di sviluppo, il test e l'eventuale utilizzo a lungo termine in una determinata area.

Ma oggi nella tecnologia informatica è data la preferenza per lo sviluppo di sistemi di controllo automatizzati (ACS) utilizzati nella produzione. Anche i sistemi operativi, rispetto ai programmi specializzati, perdono.

Gli stessi ambienti basati su Visual Basic restano molto più popolari dei sistemi basati su Windows. E il software applicativo per i sistemi UNIX non è affatto. Cosa dire, se praticamente tutte le reti di comunicazione degli stessi Stati Uniti lavorano esclusivamente su di loro. A proposito, anche sistemi come Linux e Android sono stati creati in questa piattaforma. Pertanto, molto probabilmente, UNIX ha molte più prospettive rispetto ad altri prodotti combinati.

Invece del totale

Resta da aggiungere che in questo caso vengono forniti solo i principi generali e le fasi del ciclo di vita del software. Infatti, anche i compiti iniziali possono differire in modo molto significativo. Di conseguenza, le differenze possono essere osservate nelle altre fasi.

Ma le tecnologie di base per lo sviluppo di prodotti software con la successiva manutenzione devono essere chiare. Altrimenti, dovresti considerare le specifiche del software in fase di creazione e l'ambiente in cui dovrebbe funzionare e le funzionalità dei programmi forniti all'utente finale o della produzione e molto altro ancora.

Inoltre, a volte i cicli di vita può dipendere l'urgenza di strumenti di sviluppo. Se, ad esempio, qualche linguaggio di programmazione obsoleti, nessuno non farà di scrivere programmi basati su di esso, e ancor più – per introdurli nella produzione di sistemi di controllo automatizzati. Ci sono già venuti alla ribalta anche i programmatori, e di marketing che hanno bisogno di reagire prontamente ai cambiamenti del mercato dei computer. E ci sono specialisti del mondo, non c'è troppo. Personale altamente qualificato, la possibilità di tenere la mano sul polso del mercato, diventando il più popolare. E sono spesso i cosiddetti "cardinali grigie", da cui dipende il successo o la sconfitta di determinati prodotti software nel campo dell'IT.

Supponiamo che non capiscono sempre l'essenza del programma, ma chiaramente in grado di determinare il modello del ciclo di vita del software e il periodo di tempo della loro applicazione, sulla base delle tendenze globali in questo settore. Una gestione efficace spesso dà un risultato più tangibili. Sì, almeno Tecnologie PR, pubblicità, e così via. D. Può qualsiasi applicazione l'utente non è necessario, ma a condizione che sia attiva che vanta l'utente lo installa. Essa ha, per così dire, livello subconscio (lo stesso effetto di telaio 25 quando l'informazione è messo in mente dell'utente, indipendentemente dal se stesso).

Naturalmente, tale tecnologia nel mondo sono vietati, ma molti di noi non sono neanche a conoscenza che essi possono ancora essere utilizzati per influenzare il subconscio in un certo modo. Questo è solo canali "zombie" di notizie o siti internet, per non parlare l'uso di strumenti più potenti, come l'esposizione a infrasuoni (questo è stato applicato nella stessa produzione dell'opera), in modo che una persona può sperimentare paura o emozioni inappropriate.

Tornando al software, va aggiunto che alcuni programmi in fase di avvio utilizzando suono, attirando l'attenzione dell'utente. E gli studi dimostrano che tali applicazioni sono più praticabile rispetto ad altri programmi. Naturalmente, è aumentata e il ciclo di vita del software, non importa quale sia la funzione viene caricata inizialmente. E questo, purtroppo, viene utilizzato da molti sviluppatori che solleva dubbi sulla legalità di tali metodi.

Ma non per noi giudicare. Forse significa che definisce tali minacce verranno sviluppate nel prossimo futuro. Mentre questo è solo una teoria, ma, secondo alcuni analisti ed esperti, per applicazioni pratiche sono molto pochi. Se hai già creato una copia delle reti neurali del cervello umano, e poi?