Szoftverfejlesztés lépései
Nézzük meg kicsit részletesebben, hogyan is néz ki ma, egy nagyvállalati szoftver fejlesztése a gyakorlatban. Milyen életciklusa van a terméknek és kiknek a kezén megy át, mielőtt a vásárló a kezébe veheti.
1. Vevői Specifikáció
A fejlesztést megelőzi magának a terméknek a megrendelése. Ekkor a vevő elküldi a részletes specifikációját a terméknek. Régebben ezek a specifikációt mindenféle változatos formátumban jutottak el a gyártókhoz, azonban ma már gyakorlatilag minden fontos piaci szereplő a Doors nevű IBM-es követelménykezelő rendszert használja erre a célra. A program maga nem túl bonyolult, gyakorlatilag táblázatos formában érkeznek a követelmények, illetve különböző követelmények tudnak mutatni egymásra. Ezen felül még képes tárolni az egyes követelmények verzióit is. A vevőtől kapott követelményeket általában Customer Requirement Specification-nek (CRS) nevezzük.
2. Szoftveres Specifikáció
A következő lépés a vevői követelmények kiegészítése. A megrendelő által küldött követelményeket általában még több iteráción keresztül kell egyeztetni illetve kiegészíteni. Ezeket az egyeztetéseket és kiegészítéseket általában nem maga a programozó végzi (bár aktívan részt vesz a folyamatban), hanem az erre a feladatra kijelölt emberek, a vevői kapcsolattartók. Ha ez a lépés megvan, akkor már az is megvan, hogy pontosan mit is kell lefejleszteni. Ezt a csomagot nevezzük általában Software Requirement Specification-nek (SRS).
3. Rendszertervezés
A következő lépés, annak a szoftver rendszernek a megtervezése, ami majd képes lesz megvalósítani az SRS minden követelményét.
Tervezésnek számít az is, ha egy A4-es papírra lerajzolom, hogy, hogyan fog kinézni a rendszer. Azonban ma már ettől sokkal komolyabbak az elvárások megrendelői oldalról is, valamint a mai projektek már általában nem férnek rá egy A4-es lapra. Éppen ezért már nagyon ügyes modellező programok vannak a piacon. Ezekben rengeteg féle aspektusból lehet lerajzolni a rendszert vagy annak egy szeletét. Nincs igazán egyeduralkodó modellező keretrendszer, a legelterjedtebbek a Rhapsody, MagicDraw, Enterprise Architect. Illetve léteznek különböző modellező nyelvek is, ezek között egyeduralkodónak mondanám az UML-t. Ha jól megterveztük a rendszerünket, akkor már van lehetőségünk, hogy egy gombnyomásra tudjunk kódot generálni. Az előbb említett modellező szoftverek már beépítve nyújtanak kódgenerálási lehetőségeket. Azonban ezeket nehéz jól használni, ezért általában csak a teljes rendszer egy kis része generálható.
4. Implementáció
A tervezési fázis után következik (végre) az implementálási fázis, amikor is már ténylegesen kódot „gyártunk”. Ez, a már korábban bemutatott programozási keretrendszerekben történik, a szükséges programozási nyelven. Ha a rendszerünket a tervezési fázisban jól átgondoltuk, akkor ebben a lépésben már kevesebb dolgunk lesz, mivel gyakorlatilag „csak” le kell kódolni a tervrajzokat.