Бағдарламалық өнім (ағылш.Software; soft - жұмсақ және ware — өнім; немесе басқаша айтылуы: бағдарламалық жасақтама, бағдарламалық қамтамасыз ету) — компьютердің жұмыс істеуіне арналған компьютер бағдарламалары жиынтығы, яғни бағдарламалық жасақтама.
1) белгілі бір типтегі есептеуіш машиналарға арналған бағдарламалар жиынтығы; компьютерлерге арналған алгоритмдер мен программаларды әзірлеу;
2) пайдалануға қажетті мәліметтер мен бағдарламалық құжаттарды өңдеу жүйесі бағдарламаларының (программаларының) жиынтығы. Ортақ жөне қолданбалы бағдарламалық (программалық) жасақтама болып екі түрге бөлінеді.[1]
Ең алғашқы программаны Ада Лавлейс Чарльз Бэббидждың айырымдық машинасына ойлап тапты, алайда ол машина түгелімен жасалып бітпегендіктен Лавлейс ханымның туындысы тек теориялық тұрғыда қалып қойды.[2]
Бағдарламалық жасақтама туралы ең алғашқы теорияны ағылшын математика ғалымы Алан Тьюринг 1936 жылы On computable numbers with an application to the Entscheidungsproblem» эссесінде ұсынған болатын. Алан Тьюринг математикалық модельдегі абстрактты машина ойлап тапқан, Тьюринг машинасы тізбек бойымен орындалып, бір қалыптан екінші қалыпқа ауысып отырады. Бұл машинаның басты идеясы оның математикалық фактіні дәлелдеу, яғни кез-келген алдын ала берілген қалыпты жүйенге тізбектелген қарапайым командаларды жасау арқылы қол жеткізуе болатындығы.