Szoftvertechnológia 1. előadás. A szoftverfejlesztési folyamat. 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.

Hasonló dokumentumok
Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

In short, software is eating the world.

Szoftvertechnológia 1. előadás. A szoftverfejlesztési folyamat. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Programozási technológia 2.

Térinformatikai és távérzékelési alkalmazások fejlesztése. A szoftverfejlesztés technikai támogatása

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése Giachetta Roberto

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Programozási technológia II 2. előadás. Specifikáció és követelménymenedzsment

Models are not right or wrong; they are more or less useful.

Programozási technológia 2.

Név: Neptun kód: Pontszám:

Verifikáció és validáció Általános bevezető

Models are not right or wrong; they are more or less useful.

Szoftvertechnológia 2. előadás. Specifikáció és követelménymenedzsment. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Szoftvertechnológia 2. előadás. Every big computing disaster has come from taking too many ideas and putting them in one place.

01. gyakorlat - Projektalapítás

Programozási technológia 2.

30 MB INFORMATIKAI PROJEKTELLENŐR

Szoftvertechnológia 2. gyakorlat. Projektdefiníció és elemzés Giachetta Roberto

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Bevezetés a programozásba

Információtartalom vázlata

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Kinek szól a könyv? Hogyan épül fel a könyv? Megjelenés előtti szoftver A hálózati kézikönyv tartalma A könyv támogatása Kérdések és megjegyzések

Programfejlesztési Modellek

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Nagy bonyolultságú rendszerek fejlesztőeszközei

A TANTÁRGY ADATLAPJA

Szoftver-technológia I.

Információ menedzsment

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

A szoftverfejlesztés eszközei

MIÉRT KELL TESZTELNI?

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Verziókövető rendszerek használata a szoftverfejlesztésben

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

DW 9. előadás DW tervezése, DW-projekt

Szerepjáték Project Story of my life

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

ELTE, Informatikai Kar december 12.

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Programtervezés. Dr. Iványi Péter

Szoftvertechnológia ellenőrző kérdések 2005

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Ami a vízesésen túl van

DW/BI rendszerek kialakítása bevezetői szemszögből. Gollnhofer Gábor - Meta Consulting Kft.

Biztonsági folyamatirányító. rendszerek szoftvere

Szoftverminőségbiztosítás

4. A szoftvergyártás folyamata

PTE PMMIK, SzKK Smart City Technologies, BimSolutions.hu 1

1. SZÁMÚ FÜGGELÉK MŰSZAKI LEÍRÁS

Információs rendszerek Információsrendszer-fejlesztés

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

UML (Unified Modelling Language)

Funkciópont elemzés: elmélet és gyakorlat

A fejlesztéshez használható eszközök

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Minőségmenedzsment és Informatika Test-Driven Development

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

S01-7 Komponens alapú szoftverfejlesztés 1

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP B) Kern Zoltán Közoktatási szakértő

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Projectvezetők képességei

A DevOps-kultúra eszközei

Az alkalmazás minőségbiztosítás folyamata Fókuszban a teszt-automatizálás

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Tamagocsi Projektterv

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Web-programozó Web-programozó

Projektterv. Projekt Neve: Ingatlan Bérbeadási Nyilvántartás Csoport: nmi

Digitális eszközök típusai

Bevezetés. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Szendrei Rudolf. Információk.

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

SW-project management

(Teszt)automatizálás. Bevezető

Közösség, projektek, IDE

ALKALMAZÁS KERETRENDSZER

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Egyetemi adatbázis nyilvántartása és weben

III. Alapfogalmak és tervezési módszertan SystemC-ben

Szoftvertechnológia 8. gyakorlat. Tervezés. Tervezés A szoftver életciklus

A fejlesztési szabványok szerepe a szoftverellenőrzésben

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

Projektkövetés a 148/2002 (VII.1.) Kormány rendelet alapján

Software project management Áttekintés

Átírás:

Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 1. előadás A szoftverfejlesztési folyamat 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

In short, software is eating the world. (Marc Andreessen)

Szoftverfejlesztés A szoftverek nélkülözhetetlen alkotóelemei a modern világnak számos célt szolgálhatnak, különböző felépítésűek, működési elvűek emiatt megvalósításuk módja is jelentősen eltérhet A szoftverek jelentős része hibás, a szoftverfejlesztési munkák jelentős része kudarcba fullad, ennek okai: egyre nagyobb számban, egyre összetettebb programokra van szükség alacsonyak az elvárások a szoftverekkel szemben Emiatt nagy szükség van a professzionális szoftverfejlesztésre ELTE IK, Szoftvertechnológia 1:3

Minőségi mutatók A szoftvereknek megfelelő színvonalon kell biztosítania az elvárt funkciókat, amit a szoftver minőségi mutatóival (quality characteristics) írhatunk le karbantarthatóság (maintainability): módosíthatóság, továbbfejleszthetőség lehetőségei megbízhatóság és biztonság (dependability and security): meghibásodások valószínűsége, támadásokkal szembeni védelem, sebezhetőségi pontok hatékonyság (efficiency): erőforrások használata, korlátai, válaszidő, skálázhatóság használhatóság (acceptability): érthetőség, használat elsajátítása, ergonómia ELTE IK, Szoftvertechnológia 1:4

A szoftvertechnológia Egy szoftvernek, mint terméknek gyártási technológiára van szüksége, amely garantálja a program funkcióit, minőségét, költségét és határidejét A szoftvertechnológia feladata szoftverek rendszerezett, felügyelt, minősített fejlesztése, működtetése és karbantartása a szoftver a program(ok), dokumentáció(k), konfiguráció(k), valamint adatok együttese A szoftverek többsége nagy méretű, nagy bonyolultságú programrendszer, amely rendszerint csapatmunkában készül hosszú élettartamú, karbantartást és bővítést igényel ELTE IK, Szoftvertechnológia 1:5

Szoftvertechnológiai projekt A szoftver fejlesztésének folyamatát projektnek, előállításának felügyeletét projektmenedzselésnek nevezzük A projektért felelős személy a projektmenedzsernek (project manager), aki biztosítja, hogy a szoftver megfelel az előírt minőségnek, elkészül a megadott határidőre költségkereten belül szervezi, irányítja, ütemezi a projektben részt vevő csapat munkáját, biztosítja a fejlesztéshez szükséges hardver és szoftver erőforrásokat, a módszerek és szabványok megfelelő alkalmazását gondoskodik a projekt dokumentáltságáról ELTE IK, Szoftvertechnológia 1:6

Szoftvertechnológiai projekt A szoftverfejlesztési csapatnak számos további tagja lehet, akik különböző szerepeket töltenek be, pl.: termékgazda (product management): üzleti folyamatok és prioritások és elfogadási feltételek kezelése programgazda (program management): fejlesztés ütemezése, feladatok elosztása és követése tervező (architect): szoftver magas szintű tervének elkészítése, technikai döntések kezelése fejlesztő (developer): szoftver implementációja minőségbiztosítás (quality assurance): tesztelés tervezése, magvalósítása, minőségi kritériumok ellenőrzése ELTE IK, Szoftvertechnológia 1:7

Szoftvertechnológiai projekt projektmenedzsment termékgazda programgazda tervező fejlesztő minőségbiztosítás ELTE IK, Szoftvertechnológia 1:8

A szoftver életciklus Minden szoftver rendelkezik életciklussal, amely meghatározza létét a feladat kitűzésétől a program használatának befejeztéig Az életciklus általában négy fő fázisra bontható: 1. specifikáció: a szoftver funkcionalitásának és megszorításainak megadása 2. tervezés és implementáció: a specifikációnak megfelelő szoftver előállítása 3. verifikáció és validáció: a szoftver ellenőrzése a specifikációnak történő megfelelésre 4. evolúció: a szoftver továbbfejlesztése a változó elvárásoknak megfelelően ELTE IK, Szoftvertechnológia 1:9

A szoftver életciklus feladat specifikáció tervezés és implementáció validáció evolúció kész szoftver ELTE IK, Szoftvertechnológia 1:10

Specifikáció A specifikáció (software specification) célja a feladatot megoldó szoftver funkcióinak tisztázása, a rendszerre és a fejlesztésre vonatkozó elvárások megadása feltérképezi a követelményeket felhasználói, valamint fejlesztői szemszögből, lépései: megvalósíthatósági elemzés követelmény feltárás és elemzés követelmény specifikáció követelmény validáció eredménye a szoftver követelmény-leírása (software requirements specification) ELTE IK, Szoftvertechnológia 1:11

Tervezés és implementáció A szoftver tervezése és implementációja (software design and implementation) feladata a specifikáció átalakítása egy végrehajtható rendszerré meghatározza a rendszer szerkezetét (felépülés), felületét (be- és kimenet), működését (alkalmazott algoritmusok, kommunikációs folyamatok) a folyamat során elkészül a szoftver rendszerterve (software design description), amely tartalmazza a program statikus és dinamikus szerkezetét, a kommunikációs csatornák feltérképezését, az implementációs és tesztelési tervet elkészíthető a szoftver prototípusa (prototype), amely a program egyszerűsített megvalósítását tartalmazza ELTE IK, Szoftvertechnológia 1:12

Tervezés és implementáció az implementációhoz megfelelő szoftverfejlesztési környezetet kell használnunk, a programkód változásait verziókövetéssel tartjuk nyilván az implementáció részeként az egyes programegységek tesztelése is megtörténhet a szoftverek tervezésének és programozásának módszerét nevezzük programozási paradigmának meghatározza a programozási stílust, az absztrakciós szintet meghatározza az alkalmazható programozási nyelvek körét is, és fordítva ELTE IK, Szoftvertechnológia 1:13

Programozási paradigmák csak adatstruktúrák tartományleíró rekord Turing-teljes λ-kalkulus eljárás állapot ekvivalencia funkcionális relációs (logikai) adatfolyam folyam-alapú deklaratív procedurális lokalizáció strukturált öröklődés objektum-orientált imperatív ELTE IK, Szoftvertechnológia 1:14

Validáció és evolúció A verifikáció és validáció (software verification and validation) célja megmutatni, hogy a rendszer megfelel a specifikációnak, valamint a felhasználói elvárásoknak alapvetően tesztelés, amely több fázisban, több módszerrel történik (a felhasználói tesztek csak az utolsó lépésben történnek) Az evolúció (software evolution) során továbbfejlesztjük, hogy új követelményeknek feleljenek meg, az esetlegesen felmerülő hibákat korrigáljuk átlagosan a szoftver élettartamának 80%-a, ezért eleve bővíthetőre, módosíthatóra kell kialakítani a szoftvert ELTE IK, Szoftvertechnológia 1:15

A szoftver életciklus További lépések is kísérhetik a fejlesztési folyamatot, pl. kihelyezés (deployment): a program üzembe állítása, és elérhetővé tétele tréning és támogatás (training and support): annak biztosítása, hogy a szoftvert megfelelően tudják kezelni és használni, tehát a felhasználókkal való kapcsolattartás A szoftver dokumentációja két részből tevődik össze: felhasználói dokumentáció, amely tartalmazza a szoftver üzembe helyezését, funkcióinak prezentálását fejlesztői dokumentáció, amely tartalmazza a szoftver megvalósítását folyamatát és részletes ismertetését ELTE IK, Szoftvertechnológia 1:16

Ütemterv A szoftver életciklus fázisai (feladatai) további fázisokra (részfeladatokra) tagolhatóak, így egy hierarchikus feladatszerkezetet kapunk az egyes feladatokra erőforrásokat és időkorlátot adhatunk az egyes feladatok között függőségeket állapíthatunk meg (a feladat nem kezdhető el, amíg a függősége el nem készül) ezek alapján elkészíthetjük a projekt ütemtervét tartalmazza a feladatok időbeli beosztását, függőségeit, felelőseit, így áttekinthetővé teheti az erőforrás szükségleteket általában a specifikáció során készül el, de később módosulhat ELTE IK, Szoftvertechnológia 1:17

Mérföldkövek A feladatokhoz mérföldköveket (milestone) rendelhetünk, amelyek lehetőséget adnak a projekt haladásában történő betekintésre a mérföldkő egy adott cél adott időpontra történő elérését jelenti, így névvel, eseménnyel, céllal rendelkezik a mérföldkövek be nem tartása általában korrekciókat követel a projekt lefutásában kellően konkrétnak, ellenőrizhetőnek, számon kérhetőnek kell lennie (akár a termékgazda számára is) a fő mérföldkövek az egyes fázisok lezárását jelentik, ezen kívül számos további mérföldkő adható ELTE IK, Szoftvertechnológia 1:18

Ütemterv t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 F 1 F 2 F 3 F 4 F 5 F 6 F 7 M 1 M 2 M 3 ELTE IK, Szoftvertechnológia 1:19

Az UML A szoftverfejlesztési életciklust folyamatosan követi a modellezés, amelynek eszköze az egységes modellezési nyelv (Unified Modeling Language, UML) öt pillérű szemléletrendszere van: használati: szolgáltatásokkal kapcsolatos követelmények szerkezeti (statikus): a rendszer és a programegységek felépítése, kapcsolatai dinamikus: a programegységek viselkedése implementációs: a megvalósítás szempontjai, komponensei környezeti: hardver és szoftver erőforrások ELTE IK, Szoftvertechnológia 1:20

Az UML szerkezeti implementációs használati dinamikus környezeti ELTE IK, Szoftvertechnológia 1:21

Szoftverfejlesztési modellek Amellett, hogy a szoftverfejlesztés betartja az életciklus fázisait, a folyamat lefolyása különféle módokon történhet, amiket szoftverfejlesztési modelleknek nevezünk klasszikus modellek: vízesés, prototipizálás, inkrementális, iteratív, spirális, V-Model agilis modellek: RAD (rapid application development), XP (extreme programming), scrum speciális célú modellek: BDD (behavior-driven development), TDD (test-driven development), FDD (feature-driven development) formális modellek: B-módszer ELTE IK, Szoftvertechnológia 1:22

Esettanulmányok 1. esettanulmány: Készítsük el Marika néni kávézójának eladási nyilvántartását végigkövető programot. a kávézóban 3 féle étel (hamburger, ufó, palacsinta), illetve 3 féle ital (tea, narancslé, kóla) közül lehet választani az ételek ezen belül különfélék lehetnek, amelyre egyenként lehet árat szabni, és elnevezni, az italok árai rögzítettek rendeléseket kell kezelnünk, amelyben tetszőleges tétel szerepelhet, illetve a rendelés tartozhat egy törzsvásárlóhoz lehetőségünk van utólagosan lekérdezni a függőben lévő rendeléseket, valamint napi, havi és törzsvásárolói számra összesített nettó/bruttó fogyasztást ELTE IK, Szoftvertechnológia 1:23

Esettanulmányok 1. esettanulmány: minőségi mutatók (célkitűzés) karbantarthatóság: a program általános funkcionalitása várhatóan nem változik, de az egyes tételeket könnyen kell tudnunk módosítani megbízhatóság és biztonság: az alkalmazásnak garantálnia kell a hibátlan használatot, de nem kell garantálnia az adatok hibátlan megőrzését, a biztonság nem szempont hatékonyság: egy átlagos asztali gépen is működnie kell, az egyes funkcióknak azonnal le kell futnia (kivéve indítás, leállítás) használhatóság: az alkalmazás használatát azonnal el kell tudni sajátítani ELTE IK, Szoftvertechnológia 1:24

Esettanulmányok 1. esettanulmány: mérföldkövek 1. specifikáció időpont: 2015.10.10. esemény: elkészül a követelmény-leírás cél: felhasználói esetek, követelmények megállapítása 2. statikus tervezés időpont: 2015.11.10. esemény: elkészül a statikus terv cél: osztályok kapcsolatainak, leírásának elkészülte 3. dinamikus tervezés ELTE IK, Szoftvertechnológia 1:25

Esettanulmányok 1. esettanulmány: mérföldkövek 4. menürendszer időpont: 2016.01.05. esemény: elkészül a menürendszer implementációja és tesztelése cél: menüpontok tartalmának kiírása, felhasználói bevitel kezelése, mozgás a menüpontok között 5. rendelések megadása és tárolása időpont: 2016.01.20. esemény: elkészül a rendelések bevitelének implementációja és tesztelése ELTE IK, Szoftvertechnológia 1:26

Esettanulmányok 2. esettanulmány: Készítsünk egy Memory kártyajátékot, amelyben két játékos küzd egymás ellen. A játékmezőn kártyapárok találhatóak, és a játékosok feladata ezek megtalálása. a játékban választhatunk kártyacsomagot, a játékosok megadhatják neveiket, valamint a játék méretét (kártyák száma) a játékosok felváltva lépnek, minden lépésben felfordíthatnak két kártyát, amennyiben egyeznek, úgy felfordítva maradnak és a játékos ismét léphet, különben 1 másodperc múlva visszafordulnak a játékot az nyeri, aki több kártyapárt talált meg ELTE IK, Szoftvertechnológia 1:27

Esettanulmányok 3. esettanulmány: Készítsük el egy utazási ügynökség apartmanokkal foglalkozó rendszerét. az apartmanok épületekben találhatóak, amelyek városokban találhatóak az épületek különböző adatokkal (leírás, szolgáltatások, pontos hely, tengerpart távolság, ), valamint képekkel rendelkeznek a felhasználók egy webes felületen keresztül foglalhatnak apartmanokat (adataik, valamint a foglalás időpontja megadásával), amelyeket városok szerint böngészhetnek a munkatársak egy grafikus felületű alkalmazásban szerkeszthetik az apartmanok adatait, képeit ELTE IK, Szoftvertechnológia 1:28

Szoftvereszközök A fejlesztőcsapat munkáját megfelelő szoftvereszközökkel kell alátámasztani projektmenedzsment eszközzel (project tracking system), amely támogatja a folyamatos dokumentálást és a feladatok követését fejlett tervezőeszközzel (case tool), ahol a fejlesztés folyamata és a felelősség is nyomon követhető integrált fejlesztőkörnyezettel (IDE), amely elősegíti a csapatmunkát verziókövető rendszerrel (revision control system), amely lehetővé teszi a programkód változásainak követését, korábbi változatok eltárolását ELTE IK, Szoftvertechnológia 1:29

Projektmenedzsment eszközök lehetőségei A projektmenedzsment eszköz lehetőséget ad az alábbiakra: fejlesztés ütemtervének, kockázatainak meghatározása fejlesztés egyszerű és folyamatos dokumentálásának lehetősége és generálása feladatok, tevékenységek rögzítése, követése a tesztelés során előfordult hibák rögzítése, a javítási folyamat követése integrált verziókezelés és forráskód böngészés webes vagy grafikus felület, amely biztosítja a könnyű használatot, és bárhonnan való elérést ELTE IK, Szoftvertechnológia 1:30

Ütemterv és időzítés A szoftver lehetőséget ad, hogy a projekt ütemtervét elkészítsük, és azt folyamatosan szem előtt tarthassuk definiálhatunk mérföldköveket, amelyre adott feladatokat el kell végezni a fejlesztők külön-külön láthatják a saját feladataikat, menedzselhetik annak előrehaladását beoszthatjuk a fejlesztési lépések erőforrásait definiálhatunk függőségeket a programrészek között kezelhetjük az egyes fejlesztési lépések időbeli lefolyását, előrevetíthetjük a tervezettől való eltérések hatásait az erőforrásokra, illetve a további fejlesztési időkre ELTE IK, Szoftvertechnológia 1:31

Feladat és hibakövetés A rendszerek lehetőséget adnak a tervezők számára feladatok kitűzésére, valamint a tesztelők számára a programban fellelhető hibák jelzésére a feladatokat úgynevezett cédulák (ticket, issue) segítségével írhatóak ki jelölhetnek új funkcionalitást (feature), hibát (bug), egyéb fejlesztési feladatot (task), vagy dokumentációs feladatot (documentation) megadható a leírása, felelőse, határideje kommentálhatóak, lezárhatóak, újra kinyithatóak a cédulák biztosítják a fejlesztési és tesztelési folyamat naplózását ELTE IK, Szoftvertechnológia 1:32

A Trac projektmenedzser ELTE IK, Szoftvertechnológia 1:33

A Redmine projektmenedzser ELTE IK, Szoftvertechnológia 1:34

Projektmenedzsment eszközök Az eszközök felületi része alkalmas webes technológiával, míg az adattárolás adatbázis-motor segítségével valósítják meg a legtöbb eszköz szabad forráskódú, és a projektvezetés ugyanazon eszközzel van menedzselve Néhány népszerű projektmenedzser: Trac: Python alapú, MySQL/SQLite/PostgreSQL adatbázis háttérrel Redmine: Ruby on Rails alapú, MySQL/SQLite/PostgreSQL adatbázis háttérrel Microsoft Team Fundation Server: ASP.NET, Exchange és MSSQL alapú, elsősorban Visual Studio számára ELTE IK, Szoftvertechnológia 1:35

Projektvezető szolgáltatások A projektvezető szolgáltatások (project hosting services) általában rendelkezésre bocsátanak több projektfejlesztő eszközt projektmenedzsment, kód tárolás, kód megtekintés, verziókövetés, dokumentáció (Wiki), levelezési lista, adatbázis hozzáférés általában nyílt forráskódú szoftverek esetén ingyenes a szolgáltatás pl.: SourceForge, GitHub, CodePlex egyes szolgáltatások bizonyos programozási nyelvek, vagy témakör köré csoportosulnak (pl. mozdev, RubyForge) ELTE IK, Szoftvertechnológia 1:36