Programmu izstrādes rīki
Programmu izstrādes rīki paredzēti jaunu programmu izstrādāšanai. Jaunas programmatūras izstrāde, pārbaude un nodošana lietotājiem ir sistēmu izstrādne.
 
Jaunu datorbāzētu sistēmu izstrāde parasti sastāv no vairākiem posmiem.
 
Tie ir:
 
- analīze. Pirms sistēmas izstrādnes ir nepieciešams definēt tai veicamos uzdevumus. Šajā posmā analizē esošo sistēmu darbību, ja tādas ir, aptaujājot lietotājus par pastāvošajām problēmām un noskaidrojot, kādai vajadzētu būt jaunajai sistēmai;  
 
- projektēšana. Visas prasības jaunajai sistēmai tiek sadalītas divās lielās grupās – tās, kas attiecas uz aparatūru (datori, tīkli, ievadierīces, izvadierīces u. c.), un tās, kuras attiecas uz programmatūru. Projektu sadala detalizētos uzdevumos un aprēķina kopējo projekta veikšanai nepieciešamo cilvēkstundu skaitu, kā arī nepieciešamās izmaksas;
 
- programmēšana. Datorprogrammu izstrāde ietver problēmas risināšanas algoritma detalizēšanu un tā pierakstīšanu attiecīgajā programmēšanas valodā, kā arī datu struktūras izvēli un to kodēšanu. Programmēšanas laikā pārbauda, vai programma atbilst uzdevuma prasībām. Izveidotajām programmām vai to moduļiem veic atkļūdošanu; 
 
- testēšana. Programmētāji veic sistēmas testēšanu, lai pārliecinātos, ka tā darbojas pareizi un visas nepieciešamās programmatūras vajadzības ir realizētas.
 
Programmatūra tiek veidota kādā no programmēšanas valodām. Kā piemērus minēsim PASCAL un C++. Katra programmēšanas valoda izmanto unikālu atslēgas vārdu kopu (nosaukumi, kurus tā saprot). Līdzīgi kā cilvēku valodām, arī katrai programmēšanas valodai ir savi gramatikas un sintakses likumi.
 
Programmēšanas valoda (programming language) ir formāla valoda, kas kalpo datora programmu aprakstam. Ir izstrādāts plašs programmēšanas valodu klāsts, sākot ar mašīnorientētām valodām līdz augsta līmeņa valodām.
 
Programmēšanas laikā pārbauda vai programma atbilst izstrādātajai specifikācijai. Izveidotajām programmām vai to moduļiem veic atkļūdošanu.
 
Atkļūdošana (debugging) ir procedūra programmas sastādīšanas vai shēmas izstrādāšanas gaitā pieļauto kļūdu atrašanai, lokalizēšanai un novēršanai, ko parasti veic ar datora palīdzību. Šo soli var uzskatīt par pabeigtu, kad izstrādāju komanda un klients piekrīt, ka projekts ir gatavs testēšanai.
 
Testēšanu var iedalīt divās grupās:
 
- alfa tests;
- beta programmatūra.
 
Alfa tests (alpha test) ir jaunizstrādātas programmatūras vai aparatūras pirmais pārbaudes posms, ko veic paši izstrādātāji.
 
Alfa testu parasti veic grupa cilvēku, kas strādā ar programmatūru. Šie cilvēki ir samērā pieredzējuši lietotāji, kuri spēj formulēt testēšanas laikā radušās problēmas.
 
Atsevišķi izveidotās programmas apvieno un veic sistēmas testēšana kopumā, lai pārliecinātos, ka tā darbojas pareizi un visas nepieciešamās programmatūras vajadzības ir realizētas.
 
Beta testa laikā grupa programmu testē reālie lietotāji.
 
Beta programmatūra(beta software) ir programmatūras versija, kuras testēšana pirms nodošanas pasūtītājam nav pabeigta un var saturēt kādu kļūdu.
 
Visā izstrādes laikā paralēli tiek izstrādāta arī programmatūras dokumentācija.
 
Programmatūras dokumentācija (software documentation) ir standartveidā noformētie dokumenti (rokasgrāmatas), kas satur ziņas par programmām, to izmantošanas iespējām un ierobežojumiem un kas domāti programmatūras lietotājiem.
 
Lietotāja rokasgrāmata (user manual) ir lietotājam paredzēts dokuments, kas satur informāciju, kura nepieciešama datu apstrādes sistēmas vai tās kāda komponenta izmantošanai.
 
Kad programmatūra ir izstrādāta, sākas tās ieviešanas process un veikta lietotāju apmācība.
 
Pēc lietošanas uzsākšanas lietotājiem var rasties kādas problēmas vai jaunas idejas par veicamajiem uzlabojumiem. Šo procesu sauc par sistēmas uzturēšanu. Sistēmas lietošanas laikā var tikt veikta arī tās modernizācija
 
Izmantojot programmas, ir svarīgi pievērst uzmanību programmu versiju numuriem. Pēc programmas izstrādāšanas laika gaitā tiek izstrādāti dažādi uzlabojumi to darbībā vai arī parādās pilnīgi jaunas iespējas. Visi šie jauninājumi tiek apvienoti programmas jaunā versijā, kura atšķiras no iepriekšējās ar numuru vai apzīmējumu.
 
Programmas jaunākās versijas spēj strādāt ar vecākām, bet vecākās versijas jaunāko versiju dokumentus var arī "nesaprast". Jaunākajās versijās parasti ir iespējams saglabāt dokumentus arī vecāku versiju formātos.