İçeriğe atla

Yazılım mühendisliği tarihi

Bilişim tarihi
1960'tan önce donanım
1960'tan günümüze donanım
Sovyet ülkelerinde donanım
Yapay zeka
Bilgisayar bilimleri
İşletim sistemleri
Programlama dilleri
Yazılım mühendisliği
Grafik kullanıcı arayüzü
İnternet
Kişisel bilgisayarlar
Dizüstü bilgisayarlar
Video oyunları
World Wide Web
Hesaplama kronolojisi
  • MÖ 2400-1949
  • 1950-1979
  • 1980-1989
  • 1990-1999
  • 2000-2009

Yazılım mühendisliği, kurulduğu 1940'lardan 2000'lere kadar sürekli evrimleşmiştir. Uygulamalar da evrimleşmişlerdir.

1945'ten 1965'e: Kökenleri

Yazılım Mühendisliği terimi ilk kez 1950'lerin sonunda 1960'ların başında görülmeye başladı. Programcılar zaten inşaat, elektrik ve bilgisayar mühendisliklerini biliyorlardı ve yazılım için mühendisliğin ne olduğunu tartışmaya başladılar.

NATO Bilim Komitesi, 1968'deki ve 1969'daki Yazılım Mühendisliği üzerine bu alana destek olan iki konferansa (Garmisch, Almanya) destek oldu. Çoğu kişi bu konferansların yazılım mühendisliğindeki resmi başlangıç olduğuna inanır.

1965'ten 1985'e: Yazılım krizi

1960'lar, 1970'ler ve 1980'lerdeki yazılım geliştirmedeki sorunları tespit eden yazılım krizleri Yazılım Mühendisliğini teşvik edici unsur oldu. Birçok yazılım tasarısı bütçeyi aştı ve düşünülen zamanı geçti. Bazı tasarılar fiziksel zarara neden oldu, bir kesim tasarılar ise ölümlere bile neden oldu. Yazılım krizi önceleri verimlilik açısından tanımlanmış olsa da sonradan kaliteyi vurgulama ön plana geçti. Bazıları ise yazılım krizi kavramını yeterli kalitede programcı kiralayama karşılığı olarak kullandı.

Maliyet ve bütçenin aşılması: OS/360 işletim sistemi klasik bir örnektir.

Fiziksel zarar: Yazılım kusurları fiziksel zararlara yol açabilir. Kötü yazılım güvenliği ise kırıcılara (hacker) kişisel bilgileri çalmasına izin verir, bu paraya, şöhrete ve zamana mal olur.

Yaşam ve ölüm: Yazılım kusurları öldürebilir. Radyoterapi makinelerinde kullanılan bazı gömülü sistemler başarısız oldu, bu yüzden makineler hastaları öldürücü dozlarda radyasyona maruz bıraktı. Bu başarısızlıkların en ünlüsü Therac-25 olayıdır.

Büyük gelişmeler

Yazılım Mühendisliğindeki evrimin önemli olduğu bazı alanlar vardır:

Meslek olarak ortaya çıkması: 1980'lerin başlarında Yazılım Mühendisliği, bilgisayar bilimleri ve geleneksel mühendisliğin yanında gerçek bir meslek olarak ortaya çıktı.

Süreç ve Yöntembilim: Süreç ve yöntembilim Yazılım Mühendisliğinin büyük bir parçası oldu.

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Mühendislik</span> tasarımdan ekipman imalatına kadar ilerleyişi sağlayan işlevler kümesi, uygulamalı bilim

Mühendislik, köprüler, tüneller, yollar, araçlar ve binalar dahil olmak üzere makineler, yapılar ve diğer öğeleri tasarlamak ve inşa etmek için bilimsel ilkelerin kullanılmasıdır. Mühendislik disiplini, her biri uygulamalı matematik, uygulamalı bilim ve uygulama türlerinin belirli alanlarına özel vurgu yapan, geniş bir yelpazede uzmanlaşmış mühendislik alanları’nı kapsar.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">Bilgisayar bilimi</span> belirli evren kurallarına dayalı, sistematik çalışan ve elementlerin ya da ağların birbirleriyle olan ilişkisi

Bilgisayar bilimi, bilgisayarların tasarımı ve kullanımı için temel oluşturan teori, deney ve mühendislik çalışmasıdır. Hesaplamaya ve uygulamalarına bilimsel ve pratik bir yaklaşımdır. Bilgisayar bilimi; edinim, temsil, işleme, depolama, iletişim ve erişimin altında yatan yönteme dayalı prosedürlerin veya algoritmaların fizibilitesi, yapısı, ifadesi ve mekanizasyonunun sistematik çalışmasıdır. Bilgisayar biliminin alternatif, daha özlü tanımı "büyük, orta veya küçük ölçekli algoritmik işlemleri otomatikleştirme çalışması" olarak nitelendirilebilir. Bir bilgisayar bilimcisi, hesaplama teorisi ve hesaplama sistemlerinin tasarımı konusunda uzmanlaşmıştır.

<span class="mw-page-title-main">IBM</span> Amerikan çok uluslu teknoloji şirketi

IBM, merkezi Armonk, New York, ABD'de olan, dünyanın en büyük bilişim teknolojisi şirketlerinden biridir. 410.000'i aşkın çalışanı ile 170'ten fazla ülkede faaliyet göstermektedir. Faaliyet gösterdiği alanlar arasında bilgisayar, middleware ve donanım üretimi, yazılım, internet barındırma hizmeti, kuantum hesaplama, bulut depolama, bulut bilişim, bulut veritabanı, yapay zekâ, otomasyon, robotik, sunucu servisleri, danışmanlık ve AR-GE bulunmaktadır. Dünyada her yıl en fazla yeni patent alan şirket durumundadır.

<span class="mw-page-title-main">Casio</span> Japonya merkezli elektronik şirketi

Casio Computer Co., Ltd. Japonya merkezli, çok uluslu bir elektronik üretim şirketidir. Merkezi Shibuya, Tokyo, Japonya'dadır. Başlıca ürünleri arasındaki hesap makineleri, cep telefonları, cep bilgisayarları, dijital kameralar, elektronik müzik aletleri, analog ve dijital saatler yer alır. Şirket, 1946 yılında kurulmuş, 1957'de dünyanın ilk kompakt elektronik hesap makinesini piyasaya sürmüştür. Casio, dijital fotoğraf makinelerinin ilk döneminde bu alanda birçok yeniliğe imza atmıştır. Şirket, 1980'li 90'lı yıllarda müzisyenler için uygun fiyatlı elektronik klavyeler geliştirmiş, ayrıca dünyada seri üretime geçen ilk dijital kol saatlerini geliştirmiştir.

<span class="mw-page-title-main">Neumann mimarisi</span>

Von Neumann mimarisi veri ve komutları tek bir yığıncak (depolama) biriminde bulunduran bilgisayar tasarı örneğidir. Paralel mimariler dışında Turing makinesi'nin ilkelerini uygulayan her bilgisayarı tanımlamak için kullanılır. Merkezi işlem biriminin bağımsızlığı dolaylı olup, "saklı yazılım bilgisayarı" ile eşanlamlı olarak kullanılır.

<span class="mw-page-title-main">Kullanıcı arayüzü</span> bir kullanıcının bir makineyle etkileşime girdiği ve makineyi kontrol ettiği araçlar

Kullanıcı arayüzü ya da kullanıcı arabirimi, insanların bir makine, cihaz, bilgisayar programı ya da karmaşık aletlerle etkileşimini sağlayan yöntemlerin bileşkesine verilen addır.

Video oyunları ABD, Japonya ve Avrupa'da 70'lerin sonu ve 80'lerin başlarında oluşacak yeni eğlence sektörünün temellerini, 1971 yılı ortalarında ticari bir eğlence olarak ortaya çıkmasıyla atmıştır. Kuzey Amerika video oyun çöküşü olarak da bilinen ve 1983 yılında Kuzey Amerika'daki oyun şirketlerinin birer birer iflas ettiği ve 2 sene sonra toparlandığı dönemden sonra video oyun endüstrisi 10 yıllık bir dönemden fazla süren büyüme dönemine girmiştir. Video oyun piyasası 11 milyon USD'lik bir büyüklüğe ulaştığında, eğlence sektöründeki en kârlı endüstri olan sinema endüstrisine rakip olmaya başlamıştır.

Uzak yordam çağrısı (ya da uzak prosedür çağrısı; İngilizce: Remote Procedure Call , bir diğer adres uzayı üzerinde programcı açıkça bu uzaktan etkileşim detayları kodlama olmadan çalıştırmak için bir alt yordam veya prosedürü sağlayan bilgisayar programına izin veren süreçler arası iletişim teknolojisidir. Sunucu üzerindeki servisleri kontrol ettiğimizde karşımıza çıkan RPC, arka plânda birçok şeyi gerçekleştiren bir servistir. RPC, temelde istemci ve sunucu arasında yapılan işlemlerin iletişimi için tasarlandı. Bir işlemin gerçekleşmesi için bir gönderici ve bir de istemci vardır.. Yani programcı, alt prosedür ister çalışan programın yerelinde ister uzağında olsun, temelde aynı kodu yazar. Bu bir tür istemci-sunucu etkileşimidir ve tipik olarak bir istek-yanıt mesaj geçirme sistemi aracılığıyla uygulanır. Nesne yönelimli programlama modelinde, RPC'ler uzaktan yöntem çağırma ile temsil edilir. RPC modeli bir konum şeffaflığı seviyesini ifade eder, yani çağrı prosedürleri yerel ya da uzak olsun büyük ölçüde aynıdır, ancak genellikle aynı değildirler, bu nedenle yerel çağrılar uzak çağrılardan ayırt edilebilir. Uzak çağrılar genellikle yerel çağrılardan çok daha yavaş ve daha az güvenilirdir, bu nedenle bunları ayırt etmek önemlidir.

<span class="mw-page-title-main">1970'ler</span> 1 Ocak 1970 ile 31 Aralık 1979 arasındaki zaman dilimi

1970'ler veya 70'ler, 1 Ocak 1970'te başlayan ve 31 Aralık 1979'da sona eren, Gregoryen takviminin içinde bulunan bir onyıl.

<span class="mw-page-title-main">Anaçatı bilgisayar</span>

Bir anaçatı bilgisayar milyonlarca kullanıcıya eş zamanlı olarak farklı hizmetler verebilen, büyük, güçlü ve pahalı bir bilgisayardır. Anaçatı bilgisayarların gücü şu nedenlerden kaynaklanmaktadır:

<span class="mw-page-title-main">Veri yolu (bilgisayar)</span>

Veri yolu, bilgisayar yapısında, bilgisayarın içindeki parçalar arasında ya da bilgisayarlar arasında verileri ya da gücü transfer eden bir alt sistemdir ve genellikle aygıt yürütme yazılımı tarafından kontrol edilir. Nokta- nokta bağlantısının tersine, veri yolu, birçok çevresel aygıtı aynı takım kablo ile mantıksal olarak bağlayabilir. Her bir veri yolu kendi bağlayıcılarını fiziksel fiş aygıtlarına, kartlara veya kabloların tümüne karşı tanımlar.

<span class="mw-page-title-main">Hesap makinesi yazılımı</span>

Hesap makinesi yazılımı bir fiziksel donanım aygıtı yerine, bir bilgisayar programı olarak uygulanmış bir hesap makinesidir.

<span class="mw-page-title-main">Barry Boehm</span> Amerikalı yazılımcı (1935 – 2022)

Barry W. Boehm, Amerikalı bir yazılım mühendisi, bilgisayar bilimi, endüstri ve sistem mühendisliği alanında seçkin profesör, TRW Yazılım Mühendisliği Profesörü; Güney Kaliforniya Üniversitesi Sistem ve Yazılım Mühendisliği Merkezi'nin kurucu direktörüdür. Yazılım mühendisliği alanına yaptığı birçok katkı ile 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.

Video oyun geliştirme, tek kişiden bütün dünyaya dağılmış uluslararası bir ekibe kadar değişen bir geliştirici ekip veya firma tarafından üstlenilen video oyun geliştirme sürecidir. Geleneksel ticari PC ve konsol oyunlarının geliştirilmesi normalde bir yayımcı tarafından finanse edilir ve tamamlanması birkaç yıl alabilir. Bağımsız oyunlar genellikle daha az zaman ve sınırlı bütçe ile bireyler ve daha küçük geliştirici ekip tarafından üretilebilir. Bağımsız oyun endüstrisi, Unity, Unreal Engine ve CryEngine gibi herkes tarafından erişilebilir oyun geliştirme motorlarının ve Steam, Ubisoft Connect gibi yeni çevrimiçi dağıtım sistemlerinin yanı sıra Android ve iOS cihazları için mobil oyun pazarının büyümesinin kolaylaştırmasıyla yükseliştedir.

IBM anaçatı bilgisayarları, 1952'den beri IBM tarafından üretilen büyük bilgisayar sistemleridir. 1960'lar ve 1970'lerde IBM bilgisayar pazarına 7000 serisi ve daha sonraki System/360 ve ardındaki System/370 ile birlikte hükmediyordu. IBM'in mevcut kurumsal bilgisayarlar serisindeki anaçatı bilgisayarları System/360'ın temel tasarımının geliştirilmiş halidir.

Kardiyopulmoner rehabilitasyon (KPR), kalp ve akciğer hastalıkları olan bireyler için tasarlanmış, multidisipliner bir tıbbi programdır. KPR, hastaların fiziksel, duygusal, sosyal ve mesleki iyilik hallerini iyileştirmeyi amaçlar. Bu programlar genellikle kalp krizi, koroner arter hastalığı, kalp yetmezliği, kalp ameliyatları veya kronik obstrüktif akciğer hastalığı (KOAH) gibi rahatsızlıkları olan bireyler için önerilir. KPR'nin temel hedefleri arasında fiziksel kapasitenin artırılması, semptomların azaltılması, yaşam kalitesinin iyileştirilmesi ve hastalıkların ilerlemesinin engellenmesi yer alır.