Yazılım mühendisliği, yazılım geliştirme ile ilgilenen mühendislik dalıdır. Yazılım mühendisliği tanımı ilk olarak 1968 yılında Friedrich L. Bauer tarafından Almanya'da gerçekleştirilen NATO toplantısında gündeme gelmiştir. Ayrıca, matematikçi ve bilgisayar bilimcisi Margaret Hamilton "yazılım mühendisliği" terimini ortaya atan kişilerden biri olarak kabul edilmektedir. Yazılım mühendisliği tanım olarak "karmaşık yazılım sistemlerinin belirli bir hedefe ve sisteme dayalı olarak ve iş bölümü yapılarak, belirli prensipler, yöntemler ve araçlar kullanılarak geliştirilmesidir."
Autodesk, endüstriyel kullanıma dönük profesyonel yazılımlar geliştiren bir ABD firmasıdır. Dünyada en çok kullanılan endüstriyel amaçlı yazılımları portföyünde bulundurmakla birlikte en çok yazılım kodu üreten firmaların başında olmasıyla da tanınır. En çok kullanılan yazılımı Autocad'dir.
Veri modelleme, bir işletmenin, kurumun hatırlamaya değer bulduğu verilerin şekil ve metin olarak ifade edilmesidir. Diğer bir deyişle bir işletmede teknik ve teknik olmayan herkesin bilişim ihtiyaçlarını ifade etmeye çalışırken birbirini anlamada kullanabileceği görsel bir iletişim dilidir. Yazılım geliştirmenin en önemli süreçlerinden biri olan veri modelleme bilişim ihtiyaçlarının keşfedilmesi ve herkesin anlayabileceği bir şekilde belgelenmesi işlemidir. Bilişim ihtiyaçları, veriler ve işletme ihtiyaçlarını destekleyen işletme kurallarıdır. Bir veri modeli herhangi bir işletmenin veya bir yazılımın karmaşık bilişim ihtiyaçlarının tümünü yeterince ifade edebilmek için kullanılabilecek bir araçtır. Bir bilişim sistemi başlıca 3 ihtiyacı karşılar; çeşitli verilerin saklanması, işlenmesi ve görüntülenmesi. Görüldüğü gibi bilişim sistemlerinin temelinde veri yer almaktadır. Veri Tabanı sistemleri ise en basit ifadeyle; verinin saklanması ve işlenmesi ile ilgili olarak geliştirilen genel amaçlı çeşitli yazılımlardır. Kısaca bilginin işlenmemiş hali olarak tanımlanan verinin modellenmesi herhangi bir bilişim sistemi geliştirmede neredeyse işin yarısını oluşturur. Verinin gerçek sahibi kullanıcıdır. Durum böyle olunca bilişim sistemlerinin geliştirilmesi sırasında kullanıcı temelli bir yaklaşım önem kazanmaktadır. Kullanıcı yönelimli bu yaklaşımın bazı yararları aşağıda sıralanmaktadır.
- Kullanıcıların işin başından itibaren yazılım geliştirme sürecinde yer almaları nedeniyle yeni sisteme ve yeniye karşı olan dirençlerinin azaltılması
- Çoğunlukla teknik açıdan olaylara yaklaşan yazılımcıların geliştireceği kurgu veya hayal ürünü veri ihtiyaçlarından kaçınılması
- Kullanıcı eksenli geliştirilen sistemde bilişim ihtiyaçlarının daha iyi karşılanabilmesi
- Geliştirilecek ürünün işletmede daha kolay benimsenmesi
- Geliştirilecek yazılımın daha kısa sürede yazılması ve kalite faktörü
- Teknik ayrıntıdan uzak, işletmede herkesin rahatlıkla anlayabileceği ve üzerinden iletişim kurabileceği görsel-grafik sembollerle ifade edilebilen veri modellerinin üretilebilmesi
- Bilgisayar Destekli Yazılım Mühendisliği araçlarıyla bu modeller hızlı şekilde veri tabanı tasarımına dönüştürülebilir
- Yazılım geliştirme sürecinde dokümantasyon için çok yararlıdırlar
Birleşik Modelleme Dili, iş sistemlerinin nasıl modellenebileceğini belirleyen ve açıklayan yöntemlerin bir araya toplanmış hâlidir. Daha çok yazılım geliştiriciler tarafından kullanılmaktadır. Ancak bir iş sistemini veya bir süreci veya herhangi bir şeyi grafik ile açıklamak isteyen herkesçe kullanılabilir; UML ile yapılan modellemeler her zaman yazılım projelerinde kullanılmak zorunda değildir.
Atik yazılım geliştirme ya da çevik yazılım geliştirme, basit prensiplere dayanan yazılım geliştirme metotları gruplarının genel adıdır. Bu metotlar genelde alışılmış denetim ve uyum süreçlerini teşvik eden proje yönetim işlemlerine önayak olurlar. Bu yaklaşım; takım çalışmasıyla gelen liderlik psikolojisi, kendi kendini düzene sokma (örgütleme), sorumluluk, yüksek kalitedeki yazılımların hızlı dağıtımını onaylayan en iyi mühendislik örnekleri ve iş yaşamında müşteri ihtiyaçlarıyla şirketlerin temel amaçlarını, vizyonlarını koordine etme işlevi de görmektedir.
Yazılım geliştirme süreci yazılım ürünü geliştirme yapısının yürürlüğe konmasıdır. Benzer terimler yazılımın yaşan döngüsü ve yazılım sürecidir.
Video oyunu tasarımı bir video oyununun, bütün detayları ile tasarlanması ve satışa sunulmadan önceki bütün aşamalarını konu almaktadır.
Yazılım yaşam döngüsü, bilgisayar yazılımlarının ilk geliştirme aşamalarından başlayarak; yayındaki mevcut sürümün hatalarının giderilmesi, iyileştirme odaklı yeni ara sürümlerin yayınlarak yazılımın güncellenmesi de dâhil olmak üzere nihai (kararlı) sürüme ulaşana dek geçen geliştirme ve olgunlaştırma aşamalarının tamamını ifade etmek için kullanılan terimdir.
Yazılım Teknolojileri Araştırma Enstitüsü (YTE), TÜBİTAK BİLGEM Başkanlığı bünyesinde faaliyet göstermektedir. Enstitü kamu ve özel sektörün Ar-Ge içerikli yazılım ihtiyaçlarını karşılamak ve kamu kurumları için e-Dönüşüm Hizmetlerini vermek üzere kurulmuştur.
Sistem ve yazılım mühendisliğindeki işlev modeli modellenen sistem veya konu alanının işlevlerinin yapısal temsilidir.
Kavramsal model bir sistemin temsilidir ve modelin temsil ettiği sistemin insanların daha rahat bir şekilde anlamalarına yardımcı olur. Örneğin, montajı yapılarak oluşturulan bir oyuncak model temsil ettiği objenin çalışmasını modelini oluşturacak bir şekilde çalışabilir.
Bilgisayar bilimlerinde, gereksinim analizi ya da gereksinim çözümleme; çeşitli sistemlerin gerekliliklerini ve olası çelişkili durumlarını göz önüne alarak, yazılımı analiz etmek, belgelemek, doğrulamak ve yönetmek için yeni veya değiştirilmiş bir ürün üzerinde projenin ihtiyaçlarını, sistem gereksinimlerini ve koşullarını belirleyen görevleri kapsamaktadır.
Üç boyutlu modelleme, bir nesnenin herhangi bir yüzeyinin özel bir yazılım aracılığıyla üç boyutlu matematiksel suretini oluşturma sürecidir. Sürecin sonunda el edilen ürün üç boyutlu model, bu işi yapan kişi ise üç boyut sanatçısı olarak adlandırılmaktadır. Üç boyutlu işleme adı verilen süreçle iki boyutlu bir görüntü üç boyutlu olarak görüntülenebilir. Model, üç boyutlu baskı cihazları kullanılarak fiziksel olarak da oluşturulabilir.
Grady Booch, Ivar Jacobson ve James Rumbaugh ile Birleşik Modelleme Dili'ni (UML) geliştirmesiyle tanınan Amerikalı bir yazılım mühendisidir. Yazılım mimarisi, yazılım mühendisliği ve işbirliğine dayalı geliştirme ortamlarındaki yenilikçi çalışmaları ile uluslararası alanda tanınmaktadır.
Watts S. Humphrey, Yazılım mühendisliğinde "yazılım kalitesinin babası" olarak anılan Amerikalı bir yazılım mühendisiydi.
Peter Pin-Shan Chen 1947 yılında doğmuş Tayvanlı bir Amerikan bilgisayar bilimcisidir. 1976'da varlık-ilişki modelinin geliştirilmesiyle tanınan Carnegie Mellon Üniversitesi'nde seçkin bir kariyer bilimcisi ve öğretim üyesidir.
Ivar Hjalmar Jacobson, UML, Objectory, Rational Unified Process (RUP), görünüm odaklı yazılım geliştirme ve Essence'a büyük katkıda bulunan İsveçli - Amerikalı bir bilgisayar bilimcisi ve yazılım mühendisi.
James E. Rumbaugh, Nesne Modelleme Tekniği ve Birleşik Modelleme Dilini (UML) oluşturmadaki çalışmaları ile tanınan Amerikalı bir bilgisayar bilimcisi ve nesne yönelimli metodologdur.
Otomotiv tasarımı, otomobiller, motosikletler, otobüsler, şehirler arası otobüsler ve minibüsler, kamyon dahil olmak üzere motorlu taşıtların görünümünü ve bir dereceye kadar ergonomisini geliştirme sürecidir.
Bu, proje yönetimi ve proje danışmalığı ile ilgili terimler sözlüğüdür.