Quali sono i vari domini nell’industria del software? – Quora
Presumo che per domini si intendano diversi campi nell’industria del software. Questa risposta NON coprirà ogni campo. Ma cercherò di includere il più possibile in base alle mie conoscenze nel settore.
L’industria del software è costituita da due tipi di società: società di servizi e società di prodotti.
Capiamo cos’è un’azienda basata sui servizi. Forniscono servizi di sviluppo software per altre grandi società di software O istituzioni governative / istituzioni finanziarie / ospedali ecc. In generale, non hanno il proprio prodotto, ma ci sono alcune eccezioni.
Diversi ruoli/team in una società basata sui servizi
Business Analyst: diciamo che c’è una società XYX software Pvt LTD e hanno un governo come loro cliente. Business Analyst è il punto di contatto tra due parti. Egli discuterà con govt per quanto riguarda le loro esigenze. I requisiti non sono altro che le caratteristiche che il cliente vuole nel loro software. Come analista aziendale interagisce direttamente con il cliente, lui / lei dovrebbe avere grandi capacità di comunicazione.
Responsabile di progetto / Lead: Supponiamo che il contratto sia finalizzato tra il governo e la società. La società svilupperà il software per govt. L’azienda ha ottenuto il progetto! Il project manager è il capo del progetto. Il manager delega le attività ai rispettivi membri del team, tiene traccia delle attività e gestisce l’intero team.
Team di sviluppo: ci sono diverse fasi del ciclo di sviluppo del software. Fino ad ora abbiamo ottenuto i requisiti dal cliente. Prima di passare direttamente alla fase di sviluppo, l’Architetto delle soluzioni/responsabile tecnico che fa parte del team di sviluppo o meglio il capo del team di sviluppo progetterà l’architettura del progetto. (A volte darà gli input e permetterà alle persone di progettarlo) Per implementare o sviluppare effettivamente il software. L’architettura o l’infrastruttura è la base di qualsiasi progetto. L’architetto deciderà pile di tecnologia sono più adatti per il progetto. Deciderà quale linguaggio di programmazione usare, quale database usare, quali schemi di progettazione usare, quale provider di cloud usare tra le altre cose. Una volta che l’architettura e il design sono pronti arriva la fase di implementazione. A seconda della natura del team di software è costituito da sviluppatori web che hanno esperienza nello sviluppo front-end(Se si vede un bel sito web. Grazie a uno sviluppatore web!). JavaScript è il popolare linguaggio di sviluppo front-end e ci sono framework come ANGULAR e ReactJS. Per semplificare, puoi dire che i framework semplificano il lavoro dello sviluppatore. Ci sono ragazzi che gestiscono lo sviluppo del back-end. Compiti che avvengono in background. Ad esempio, se vai sul sito Web di Amazon e cerchi qualcosa. È responsabilità dello sviluppatore del backend scrivere il codice che comprenderà la tua richiesta, connettersi al database e restituire ciò che hai chiesto. Sto semplificando. È molto più di questo! Java è il linguaggio di backend di cui sono a conoscenza e su cui sto lavorando. Ce ne sono anche altri. Sia gli sviluppatori web e gli sviluppatori di back-end lavorano insieme per costruire il software. C’è un altro profilo chiamato uno sviluppatore full-stack che dovrebbe avere esperienza in entrambi.
Team di garanzia della qualità: ora diciamo che è stata creata una piccola funzionalità. Deve funzionare secondo le aspettative del cliente. Il team di qualità assicura che tutto ciò che viene sviluppato sia in buone condizioni e funzioni secondo il previsto. Ci sono due tipi di test cioè manuale e automatizzato. Nei test automatici, il tester scrive il codice. Ci sono diversi quadri. Selenium-Java è il più popolare per automatizzare il processo di test.
Per un’azienda basata sui servizi, queste sono le funzioni principali. Potrei essermene perso un po’, ma hai avuto l’idea.
Per una società basata su prodotti che sviluppa un proprio prodotto software (Uber, Uber, Amazon, Flipkart, Adobe queste sono aziende di prodotti) per gli utenti, oltre ai team sopra menzionati, ce ne sono altri.
UX Team: Questa squadra svolge un ruolo importante nella fase di progettazione del prodotto. Essi saranno brainstorming e cercare di analizzare la prospettiva dell’utente. Cosa piacerà agli utenti? Come rendere un sito web facile da usare? Se si vede una bella e facile da usare il sito web. Grazie a un designer UX! Creeranno modelli. Hanno esperienza in Adobe Illustrator e Photoshop.
Amministrazione del database: il database è parte integrante di qualsiasi progetto ed è bene avere un team dedicato per questo. Il compito principale è progettare, implementare e mantenere il database. SQL è il requisito di base per diventare un amministratore di database.
Squadra di distribuzione: Una volta che il software è stato sviluppato e accuratamente testato dovrebbe essere consegnato al client o ospitato sui server a cui il client può accedere. Questo è gestito dal team di distribuzione.
Altri domini includono il team di test delle prestazioni, il team di supporto delle applicazioni.
Leave a Reply