Úloha úlohy: Softvérový inžinier

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 1 V Júli 2024
Anonim
Úloha úlohy: Softvérový inžinier - Technológie
Úloha úlohy: Softvérový inžinier - Technológie

Obsah


Zdroj: Dragonimages / Dreamstime.com

Zobrať:

Softvérový inžinier je hlboko zapojený do životného cyklu vývoja softvéru a zohráva významnú úlohu pri úspechu projektu.

Čo robí softvérový inžinier? Jednoduchá odpoveď je, že je zapojený do softvérového inžinierstva, do procesu uplatňovania inžinierskych princípov na softvérové ​​produkty.

Pri popise toho, čo softvéroví inžinieri v softvérovom svete robia, však existuje veľa podrobností a nuancií. K tomuto sa dostaneme pri pohľade na „deň v živote“ softvérového inžiniera, ktorý sa snaží vytvoriť všetky skvelé digitálne veci, ktoré každý deň používame. (Ak sa chcete dozvedieť viac o úlohe od niekoho v teréne, prečítajte si článok Ako som sa sem dostal: 12 otázok so spisovateľom a softvérovým inžinierom Davidom Auerbachom.)


Životný cyklus vývoja softvéru

S cieľom porozumieť úlohe softvérového inžiniera je užitočné poznať životný cyklus vývoja softvéru (SDLC).

Životný cyklus vývoja softvéru zahŕňa rôzne kľúčové fázy, často popisované ako plánovanie požiadaviek, návrh, kódovanie, testovanie, implementácia a dodávka (podľa vlastných procesov uveďte alebo urobte niekoľko krokov).

„Softvér začína problémom, ktorý sa snažíme vyriešiť,“ hovorí John Quigley v spoločnosti Value Transformation LLC. Popisuje životný cyklus konvenčného vývoja softvéru tým, že začína s tým, čo sa deje na začiatku procesu. „Bude to vyjadrené v nejakej forme dokumentu a je to výsledkom rozhovorov so zákazníkmi alebo ľuďmi, ktorí trpia týmto problémom… Dokument popisuje, ako problém vyzerá a ktorý pomôže vytvoriť nápady na porovnanie s týmto riešením. Toto bude cieľom tejto práce, stanovením toho, čo sa snažíme dosiahnuť. “


Vo fáze požiadaviek, hovorí, inžinieri uviedli špecifický technický popis produktu, hardvér (ak existuje) a softvér.

Potom je tu kódovanie: „Softwaroví inžinieri napíšu konkrétne vyhlásenia do kódu, ktorý vytvorí požadovaný produkt, ktorý spĺňa špecifické požiadavky,“ hovorí Quigley o fáze kódovania.

Potom hovorí, že testuje a potom ďalší súbor krokov, ktoré softvér pevne privedú k produkčnému prostrediu. Na konci procesu existuje priestor na rôzne predstavy o implementácii a zavedení. Quigley dodáva, že nový „agilný“ model pre SDLC funguje trochu inak.

Žiadne chyby, žiadny stres - Váš sprievodca krok za krokom k vytvoreniu softvéru na zmenu života bez zničenia vášho života

Svoje programovacie schopnosti si nemôžete vylepšiť, keď sa nikto nestará o kvalitu softvéru.

"V agilnom svete vyzerajú veci oveľa viac, ale iterácie sú menšie a bližšie k sebe," hovorí Quigley. „Požiadavka môže byť riešená prostredníctvom užívateľských príbehov, menej technickej povahy a písaných viac, aby porozumeli aplikácii, aby softvéroví inžinieri mohli robiť závery a odvodzovať kľúčové atribúty potrebné na základe skutočného použitia.“

Rôzna úloha softvérového inžiniera

Pretože životný cyklus vývoja softvéru má rôzne fázy a operácie, dáva zmysel, že práca softvérového inžiniera sa tiež líši.

„Softvérový inžinier má pri tvorbe softvérového riešenia širšiu úlohu ako väčšina,“ píše Samuel Malachowsky, profesor Rochesterského technologického inštitútu. „Každý prvok SDLC má odborníkov: RE a predaj pre počiatočné kroky, architektov pre fázu návrhu, programátorov / programátorov pre zostavenie, QA pre overenie / testovanie, IT pre nasadenie / údržbu a projektových manažérov pre pohyb a správu každý člen tímu / fáza, ale od softvérových inžinierov sa očakáva, že sa budú všeobecne uplatňovať na celý proces. Z tohto hľadiska by mohla byť lepšia otázka, čo softvérový inžinier nerobí. “

Tu je ďalší zaujímavý bod, ktorý Malachowsky hovorí o rozdiele medzi IT a softvérovým inžinierstvom, ktoré odhaľuje veľa o tom, ako vyzerá práca priemerného softvérového inžiniera:

„IT je funkčné a opakujúce sa, zatiaľ čo inžinierstvo sa točí okolo nových problémov, ktoré treba riešiť ako jedinečné projekty,“ hovorí. „Z dôvodu tohto opakovania je oveľa pravdepodobnejšie, že pracovníci IT vyhľadajú individuálne certifikácie založené na nástrojoch. Na rozdiel od niečoho ako počítačové inžinierstvo vyzerá, že sú splnené požiadavky - CE majú tendenciu zameriavať sa na riešenie problému s hardvérom, so softvérom, ktorý ho podporuje. SE riešia problém so softvérom s podporou hardvéru. “

Softvérový inžinier a projektové tímy

V mnohých spoločnostiach sú softvéroví inžinieri zoskupení a delegovaní úloh podľa ich úlohy v komplexnom procese.

Brennan Meagher opisuje príklad spoločnosti TeleTracking, spoločnosti s titulkami v oblasti inovácií v zdravotníctve na Fierce Healthcare, American College of Emergency Physicians, Health Data Management, Healthcare IT News a inde.

„V spoločnosti TeleTracking sú softvéroví inžinieri zodpovední za kódovanie a testovanie všetkých modulov a aplikácií, ktoré sú súčasťou platformy TeleTracking,“ hovorí Meagher. „Pomáhajú tiež pri vývoji softvérových riešení a produkcií. Zahŕňa to výskum, navrhovanie, dokumentovanie a vývoj nového softvéru. Naši technickí inžinieri skrátka vytvárajú softvérové ​​riešenia, ktoré sú v súlade s technickou víziou spoločnosti TeleTrackings na zlepšenie prístupu k pacientom. “

Môžete si predstaviť týchto profesionálov v podnikovom areáli, najprv navrhnúť, potom vylepšiť model, potom otestovať v tímoch starostlivo spolu s dokončením projektu.

„Príkladom niečoho, za čo sú softvéroví inžinieri pravidelne zodpovední, môže byť: písanie, ladenie, testovanie jednotiek a testovanie výkonu vo všetkých aplikačných vrstvách,“ hovorí Meaghan. „Zahŕňa to frontend (web), strednú vrstvu (webové služby) a vrstvy prístupu k údajom.“

Pointa je, že softvéroví inžinieri majú rôzne špecializované práce. Všetci musia pochopiť niektoré základy kódovania, ale niektoré z nich sa musia ponoriť do špecifík testovania alebo transparentnosti požiadaviek na dizajn, alebo v niektorých prípadoch do sveta agilného rozvoja.

Potom prišiel model DevOps a zlúčil množstvo iteračných procesov, ktoré boli v konvenčnom modeli veľmi konkrétne načrtnuté a kategorizované. Úloha softvérového inžiniera sa teda mení. (Ak sa chcete dozvedieť viac o DevOps, prečítajte si článok Správcovia DevOps, ktorý vysvetľuje, čo robia.)

To vám dá trochu času na pokračovanie, keď sa rozhodnete dozvedieť sa viac o práci týchto ústredných odborníkov na softvérovú výrobu. Softvérový inžinier bol opísaný ako „nôž švajčiarskej armády“ pri tvorbe dizajnu a softvéru - a môže skončiť tým, že bude mať veľa klobúkov v rušnej spoločnosti.