Szoftverfejlesztés

A szoftverfejlesztés több mint programozás. Programozás alatt én a konkrét kódolást értem, ez a tevékenység viszont - noha a folyamat leglényegesebb, legvégső soron egyetlen nélkülözhetetlen része - gyakorlatilag eltörpül a teljes folyamathoz viszonyítva. Ezeken az oldalakon fejlesztőeszközökről, módszertanokról, elméleti alapozásról van szó.

  • Integrált fejlesztő környezetek: eszközök, amelyek segítik elkészíteni a kódot.
  • Tervezőeszközök: programozni tervek nélkül olyan, mint házat építeni terv nélkül. Ezen az oldalon a tervezőeszközökről van szó.
  • Tervezési minták: ahogy az építészetben, úgy a szoftvertervezésben is előfordulnak gyakori minták. Ezeket érdemes megismernünk és használnunk, egyrészt mert spórolunk azzal, ha nem találjuk fel ismét a kereket, másrészt a sokak által ismert minták használata komfortosabbá teszi a fejlesztőket a fejlesztés során.
  • Algoritmusok: a megvalósítás során szintén vannak gyakran előforduló problémák, melyekre hatékony megoldások születtek az évtizedek során. Ha egy kész könyvtárban is használjuk ezeket, érdemes tudnunk, hogy mi van mögöttük, hogy tudjunk dönteni arról, hogy melyik módszert mikor érdemes használnunk.
  • Szoftvertesztelés: a szoftverfejlesztők körében szinte axióma az, hogy hibamentes szoftver nem létezik. A legkellemetlenebb (és legdrágább) az, ha az ügyfél veszi észre a hibát. Emiatt fontos a minél több tesztelés. A tesztelésnek az évtizedek során komoly elmélete alakult ki; ezen az oldalon olvashatunk egy áttekintést a témáról.
  • Szoftverminőség: egy szoftver teljes életciklusában általában a fejlesztés a kisebbik falat, annál nagyobb szokott lenni a karbantartás. De nem mindegy, hogy ez utóbbi milyen áron történik. Ha a szoftver kódjának minősége jó, akkor olcsóbb lehet a karbantartás, egyébként elszállhatnak a költségek.
  • Build automatizáló eszközök: akár már egy közepes szoftver fordítási folyamat olyan összetett tud lenni, hogy érdemes azt automatizálni, amennyire csak lehet. Ez az oldal erről az automatizációról szól.
  • Verziókövető rendszerek: a szoftver forráskódja egy élő valami, mely állandó fejlesztés alatt áll. A verziókövető rendszerek tárolják a különböző verziók forráskódját.
  • Integrációs eszközök: az nem jó, ha a fordítás fejlesztői gépről történik, érdemes azt független rendszerről megtenni. Az integrációs eszközök ilyenek, amelyek azonnal jelzik azt is, ha fordítási hiba került a rendszerbe.
  • Feladatkezelő rendszerek: ha a fejlesztés úgy történik, hogy odaszól a főnök, hogy ezt és ezt meg kell csinálni, az előbb-utóbb káoszba fullad. Érdemes a változásokat menedzselni; erről szólnak a feladatkezelő rendszerek.
  • Dokumentumkezelés: a hónapok, évek, évtizedek során nagyon sok tudás halmozódik fel, és nagyon fontos, hogy ez ne csak az adott fejlesztők fejeiben legyenek meg, hanem legyenek leírva. Egy-egy leírásnak is van saját életciklusa. Ez az oldal az ilyen rendszerekről szól.
  • Fejlesztési módszerek: a fentiek mind a termékről szólnak. A fejlesztésnek viszont van egy folyamata, ami figyelembe veszik a fejlesztők számát, azok tudását és a dinamikusan változó feladathalmazt is. Az évtizedek során kialakultak módszerek, amelyek optimalizálni tudják a fejlesztést, hogy az ne süllyedjen káoszba, hanem hatékonyan legyenek úrrá a problémákon.
  • Monitorozó eszközök: ha egy kész szoftvert beüzemelünk, akkor még messze nincs vége a történetnek: érdemes azt figyelni, hogy megfelelően működik-e. A monitorozó eszközök ezt segítik elő.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License