Vad är domänkunskap?
Även känd som ämneskompetens, är domänkunskap information som är relevant för innehållet som finns i ett programvarupaket. Denna typ av kunskap skiljer sig från programmeringskunskap, vilket påverkar hur själva programvaruprodukten är utformad för att fungera. Fokus för domänkunskap ger grunden för hur programmeraren ställer in programvaran så att informationen som programmet kan bostad och utnyttja gör det attraktivt för användarnas målmarknad.
Ett av de enklaste sätten att förstå domänkunskapens roll i utvecklingen av mjukvaruprodukter är att ta hänsyn till säljarens insatser i utvecklingen av en ny säljdatabas. Säljare kommer att veta vilken typ av information de vill hysa i den databasen. Exempelvis skulle data som företagsnamn, kontaktnamn och allmän kontaktinformation vara avgörande för att skapa kundprofiler med programvaran. Samtidigt vill en säljare också förmågan att utse kontaktens status på något sätt, till exempel ett lead, prospekt eller kund. Att inkludera sektioner för att fånga anteckningar om diskussioner, schema väntande uppgifter relaterade till en specifik kontakt och till och med möjligheten att exportera eller importera information från andra program skulle också vara till hjälp.
På samma sätt kan domänkunskapen för medicinska yrkesverksamma gå långt i riktning mot att hjälpa programmerare och utvecklare att komma med mjukvaruprodukter som är användbara på ett läkarkontor, sjukhus eller annan medicinsk anläggning. Utnyttja kunskapsbasen och erfarenheten från läkare kan hjälpa till att utveckla program som hjälper till med allt från att lägga ut medicin till patienter på sjukhus till att hålla omfattande register över alla patienter. Genom att veta vad slutanvändare behöver i ett program är det möjligt att inkludera dessa behov i utvecklings- och programmeringsfunktionerna och komma med en produkt som är användbar och attraktiv.
Ur detta perspektiv handlar domänkunskap om att hjälpa programmerare att ha en aning om vad ett program behöver åstadkomma för att tillgodose potentiella användares behov. Denna form av kunskapsteknik används ofta av utvecklare som ett sätt att skapa nya produkter eller förfina nyare versioner av äldre produkter på ett sätt som gör dem mer användbara för konsumenterna. Samtidigt kommer programmerarna att försöka hålla användargränssnittet så vänligt som möjligt och samtidigt inkludera funktioner och funktioner som är intressanta för slutanvändarna. Att hitta den här perfekta balansen kräver vanligtvis input från dessa användare om mjukvaruprodukten ska uppnå sina mål och väcka betydande uppmärksamhet från potentiella köpare.