Yazılım

  • Makale

Yazılım, bilgisayarları çalıştırmak ve belirli görevleri yürütmek için kullanılan bir dizi talimat, veri veya programdır. Bir bilgisayarın fiziksel özelliklerini tanımlayan donanımın tersidir. Yazılım, bir cihazda çalışan uygulamalara, komut dosyalarına ve programlara atıfta bulunmak için kullanılan genel bir terimdir . Bir bilgisayarın değişken parçası olarak düşünülebilir, donanım ise değişmez parçadır. Yazılımın iki ana kategorisi, uygulama yazılımı ve sistem yazılımıdır . Uygulama, belirli bir ihtiyacı karşılayan veya görevleri yerine getiren yazılımdır. Sistem yazılımı, bir bilgisayarın donanımını çalıştırmak için tasarlanmıştır ve uygulamaların üzerinde çalışması için bir platform sağlar. Diğer yazılım türleri arasında, yazılım geliştiricilerinin ihtiyaç duyduğu programlama araçlarını sağlayan programlama yazılımı; sistem yazılımı ve uygulamalar arasında yer alan ara katman yazılımı; ve bilgisayar aygıtlarını ve çevre birimlerini çalıştıran sürücü yazılımı. Erken yazılımlar belirli bilgisayarlar için yazılmış ve üzerinde çalıştığı donanımla birlikte satılmıştır. 1980'lerde, yazılımlar disketlerde ve daha sonra CD ve DVD'lerde satılmaya başlandı. Günümüzde çoğu yazılım satın alınmakta ve doğrudan internet üzerinden indirilmektedir. Yazılım, satıcı web sitelerinde veya uygulama hizmeti sağlayıcı web sitelerinde bulunabilir. Yazılım örnekleri ve türleri Çeşitli yazılım kategorileri arasında en yaygın türler aşağıdakileri içerir: Uygulama yazılımı. En yaygın yazılım türü olan uygulama yazılımı, bir kullanıcı veya bazı durumlarda başka bir uygulama için belirli bir işlevi yerine getiren bir bilgisayar yazılım paketidir. Bir uygulama bağımsız olabilir veya uygulamayı kullanıcı için çalıştıran bir program grubu olabilir. Modern uygulamalara örnek olarak ofis paketleri, grafik yazılımları, veritabanları ve veri tabanı yönetim programları, web tarayıcıları, kelime işlemciler, yazılım geliştirme araçları, görüntü düzenleyiciler ve iletişim platformları dahildir. Sistem yazılımı. Bu yazılım programları, bir bilgisayarın uygulama programlarını ve donanımını çalıştırmak için tasarlanmıştır. Sistem yazılımı, donanım ve yazılımın faaliyetlerini ve işlevlerini koordine eder. Ayrıca, bilgisayar donanımının işlemlerini kontrol eder ve diğer tüm yazılım türlerinin çalışması için bir ortam veya platform sağlar. İşletim sistemi, sistem yazılımının en iyi örneğidir; diğer tüm bilgisayar programlarını yönetir. Sistem yazılımının diğer örnekleri arasında bellenim , bilgisayar dili çevirmenleri ve sistem yardımcı programları bulunur . Sürücü yazılımı. Aygıt sürücüleri olarak da bilinen bu yazılım, genellikle bir tür sistem yazılımı olarak kabul edilir. Aygıt sürücüleri, bir bilgisayara bağlı aygıtları ve çevre birimlerini kontrol ederek belirli görevlerini gerçekleştirmelerini sağlar. Bir bilgisayara bağlı her aygıtın çalışması için en az bir aygıt sürücüsüne ihtiyacı vardır. Örnekler, özel oyun denetleyicileri de dahil olmak üzere herhangi bir standart olmayan donanımla birlikte gelen yazılımların yanı sıra USB depolama aygıtları, klavyeler, kulaklıklar ve yazıcılar gibi standart donanımları etkinleştiren yazılımları içerir. Ara yazılım. Ara yazılım terimi , uygulama ve sistem yazılımı arasında veya iki farklı türde uygulama yazılımı arasında aracılık eden yazılımı tanımlar. Örneğin, ara yazılım, Microsoft Windows'un Excel ve Word ile konuşmasını sağlar. Aynı zamanda, bir tür işletim sistemine sahip bir bilgisayardaki bir uygulamadan, farklı bir işletim sistemine sahip bir bilgisayardaki bir uygulamaya uzaktan çalışma isteği göndermek için de kullanılır. Ayrıca, daha yeni uygulamaların eski uygulamalarla çalışmasına olanak tanır. Programlama yazılımı. Bilgisayar programcıları kod yazmak için programlama yazılımı kullanır. Programlama yazılımı ve programlama araçları, geliştiricilerin diğer yazılım programlarını geliştirmesine, yazmasına, test etmesine ve hata ayıklamasına olanak tanır. Programlama yazılımı örnekleri arasında birleştiriciler, derleyiciler, hata ayıklayıcılar ve yorumlayıcılar bulunur. Yazılım nasıl çalışır? Tüm yazılımlar, bilgisayarların çalışması ve kullanıcıların ihtiyaçlarını karşılaması için gereken yönergeleri ve verileri sağlar. Bununla birlikte, iki farklı tür - uygulama yazılımı ve sistem yazılımı - belirgin şekilde farklı şekillerde çalışır. Uygulama yazılımı Uygulama yazılımı, son kullanıcılar için rapor yazma ve web sitelerinde gezinme gibi belirli işlevleri gerçekleştiren birçok programdan oluşur. Uygulamalar, diğer uygulamalar için de görevler gerçekleştirebilir. Bir bilgisayardaki uygulamalar kendi başlarına çalışamazlar; çalışmak için diğer destekleyici sistem yazılım programlarıyla birlikte bir bilgisayarın işletim sistemine ihtiyaç duyarlar. Bu masaüstü uygulamaları, bir kullanıcının bilgisayarına yüklenir ve görevleri gerçekleştirmek için bilgisayar belleğini kullanır. Bilgisayarın sabit diskinde yer kaplarlar ve çalışmak için internet bağlantısına ihtiyaç duymazlar. Ancak masaüstü uygulamaları, üzerinde çalıştıkları donanım aygıtlarının gereksinimlerine uymalıdır. Web uygulamaları ise çalışmak için yalnızca internet erişimi gerektirir; çalıştırmak için donanım ve sistem yazılımına güvenmezler. Sonuç olarak, kullanıcılar web tarayıcısı olan cihazlardan web uygulamalarını başlatabilir. Uygulama işlevinden sorumlu bileşenler sunucuda olduğundan, kullanıcılar uygulamayı Windows, Mac, Linux veya başka herhangi bir işletim sisteminden başlatabilir. Sistem yazılımı Sistem yazılımı, bilgisayar donanımı ile uygulama yazılımı arasında yer alır. Kullanıcılar, arka planda çalıştığı ve bilgisayarın temel işlevlerini yerine getirdiği için sistem yazılımıyla doğrudan etkileşime girmez. Bu yazılım, bir sistemin donanımını ve yazılımını koordine eder, böylece kullanıcılar belirli eylemleri gerçekleştirmek için üst düzey uygulama yazılımını çalıştırabilir. Sistem yazılımı, bir bilgisayar sistemi başlatıldığında yürütülür ve sistem açık olduğu sürece çalışmaya devam eder. Tasarım ve Uygulama Yazılım geliştirme yaşam döngüsü , proje yöneticilerinin yazılım tasarlama ile ilgili aşamaları ve görevleri tanımlamak için kullandığı bir çerçevedir. Tasarım yaşam döngüsündeki ilk adımlar, çabanın planlanması ve ardından yazılımı kullanacak kişilerin ihtiyaçlarının analiz edilmesi ve ayrıntılı gereksinimlerin oluşturulmasıdır. İlk gereksinim analizinden sonra , tasarım aşaması bu kullanıcı gereksinimlerinin nasıl karşılanacağını belirlemeyi amaçlar. Bir sonraki adım, geliştirme çalışmasının tamamlandığı ve ardından yazılım testinin gerçekleştiği uygulamadır. Bakım aşaması, sistemi çalışır durumda tutmak için gereken tüm görevleri içerir. Yazılım tasarımı, uygulanacak yazılımın yapısının, veri modellerinin, sistem bileşenleri arasındaki arayüzlerin ve potansiyel olarak yazılım mühendisinin kullanacağı algoritmaların bir tanımını içerir. Yazılım tasarım süreci , kullanıcı gereksinimlerini bilgisayar programcılarının yazılım kodlama ve uygulamasını yapmak için kullanabilecekleri bir forma dönüştürür. Yazılım mühendisleri, yazılım tasarımını yinelemeli olarak geliştirir, ayrıntı ekleyerek ve geliştirirken tasarımı düzeltir. Farklı yazılım tasarımı türleri şunları içerir: Mimari tasarım. Bu, mimari tasarım araçlarını kullanarak sistemin genel yapısını, ana bileşenlerini ve bunların birbirleriyle olan ilişkilerini tanımlayan temel tasarımdır . Üst düzey tasarım. Bu, sistemin tüm bileşenleriyle birlikte bir yazılım yığını tarafından desteklenen modüller biçiminde nasıl uygulanabileceğine odaklanan ikinci tasarım katmanıdır . Üst düzey bir tasarım, veri akışı ile sistemin çeşitli modülleri ve işlevleri arasındaki ilişkileri tanımlar. Detaylı tasarım. Bu üçüncü tasarım katmanı, belirtilen mimari için gerekli tüm uygulama ayrıntılarına odaklanır. Yazılım kalitesi nasıl korunur Yazılım kalitesi, yazılımın hem işlevsel hem de işlevsel olmayan gereksinimlerini karşılayıp karşılamadığını ölçer. İşlevsel gereksinimler , yazılımın ne yapması gerektiğini tanımlar. Teknik ayrıntıları, veri işleme ve işlemeyi, hesaplamaları veya bir uygulamanın neyi başarmayı amaçladığını belirten diğer herhangi bir özel işlevi içerirler. Kalite özellikleri olarak da bilinen işlevsel olmayan gereksinimler, sistemin nasıl çalışması gerektiğini belirler. İşlevsel olmayan gereksinimler arasında taşınabilirlik, olağanüstü durum kurtarma, güvenlik, gizlilik ve kullanılabilirlik yer alır. Yazılım testi , yazılım kaynak kodundaki teknik sorunları tespit eder ve çözer ve gereksinimlerini karşıladığından emin olmak için ürünün genel kullanılabilirliğini, performansını, güvenliğini ve uyumluluğunu değerlendirir. Yazılım kalitesinin boyutları aşağıdaki özellikleri içerir: Ulaşılabilirlik. Ses tanıma ve ekran büyüteçleri gibi uyarlanabilir teknolojilere ihtiyaç duyan bireyler de dahil olmak üzere farklı bir grup insanın yazılımı rahatça kullanabilme derecesi. uyumluluk _ Yazılımın farklı işletim sistemleri, cihazlar ve tarayıcılar gibi çeşitli ortamlarda kullanıma uygunluğu. Yeterlik. Yazılımın enerji, kaynak, çaba, zaman veya para harcamadan iyi performans gösterme yeteneği. işlevsellik Yazılımın belirtilen işlevlerini yerine getirme yeteneği. kurulabilirlik Yazılımın belirli bir ortama kurulabilme yeteneği. Yerelleştirme . Bir yazılımın çalışabileceği çeşitli diller, saat dilimleri ve benzeri diğer özellikler. Sürdürülebilirlik. Özellikler eklemek ve geliştirmek, hataları düzeltmek vb. için yazılımın ne kadar kolay değiştirilebileceği. Verim. Yazılımın belirli bir yük altında ne kadar hızlı performans gösterdiği. taşınabilirlik Yazılımın bir yerden başka bir yere kolayca aktarılabilmesi. Güvenilirlik. Yazılımın, belirli koşullar altında belirli bir süre boyunca hatasız olarak gerekli bir işlevi yerine getirme yeteneği. ölçeklenebilirlik _ Yazılımın, işleme taleplerindeki değişikliklere yanıt olarak performansı artırma veya azaltma yeteneğinin ölçüsü. Güvenlik. Yazılımın yetkisiz erişime, gizliliğin ihlaline, hırsızlığa, veri kaybına, kötü amaçlı yazılımlara vb. karşı koruma yeteneği. Test edilebilirlik. Yazılımı test etmek ne kadar kolay. Kullanılabilirlik. Yazılımı kullanmak ne kadar kolay. Bir kez dağıtıldıktan sonra yazılım kalitesini korumak için geliştiriciler, yeni müşteri gereksinimlerini karşılamak ve müşterilerin belirlediği sorunları ele almak için sürekli olarak uyarlamalıdır. Bu, sorunları önlemek için işlevselliği geliştirmeyi, hataları düzeltmeyi ve yazılım kodunu ayarlamayı içerir. Bir ürünün piyasada ne kadar süre dayanacağı, geliştiricilerin bu bakım gereksinimlerine ayak uydurabilme becerisine bağlıdır. Bakım yapmak söz konusu olduğunda , geliştiricilerin yapabileceği dört tür değişiklik vardır: Düzeltici. Kullanıcılar genellikle, kodlama hataları ve yazılımın gereksinimlerini karşılamasını engelleyen diğer sorunlar da dahil olmak üzere geliştiricilerin düzeltmesi gereken hataları belirler ve bildirir. Uyarlanabilir. Geliştiriciler, işletim sisteminin yeni bir sürümünün çıkması gibi değişen donanım ve yazılım ortamlarıyla uyumlu olduğundan emin olmak için yazılımlarında düzenli olarak değişiklik yapmalıdır. mükemmel. Bunlar, performansı artırmak için kullanıcı arabirimini iyileştirmek veya yazılım kodunu ayarlamak gibi sistem işlevselliğini iyileştiren değişikliklerdir. Önleyici. Bu değişiklikler, yazılımın başarısız olmasını önlemek için yapılır ve kodu yeniden yapılandırma ve optimize etme gibi görevleri içerir. Yazılım lisanslama ve patentler Yazılım lisansı , yazılımın kullanımını ve dağıtımını kısıtlayan yasal olarak bağlayıcı bir belgedir . Tipik olarak, yazılım lisansları, kullanıcılara, telif hakkını ihlal etmeden yazılımın bir veya daha fazla kopyasına sahip olma hakkı sağlar. Lisans, sözleşmeye taraf olan tarafların sorumluluklarını ana hatlarıyla belirtir ve yazılımın nasıl kullanılabileceğine ilişkin kısıtlamalar getirebilir. Yazılım lisanslama hüküm ve koşulları genellikle yazılımın adil kullanımını, sorumluluk sınırlamalarını, garantileri, feragatleri ve yazılımın veya kullanımının başkalarının fikri mülkiyet haklarını ihlal etmesi durumunda korumaları içerir. Lisanslar genellikle, onu oluşturan kuruluş, grup veya bireyin mülkiyetinde kalan özel mülk yazılımlar içindir; veya kullanıcıların yazılımı çalıştırabileceği, inceleyebileceği, değiştirebileceği ve dağıtabileceği ücretsiz yazılım için. Açık kaynak, yazılımın ortaklaşa geliştirildiği ve kaynak kodunun ücretsiz olarak erişilebilir olduğu bir yazılım türüdür. Açık kaynak yazılım lisansları ile kullanıcılar, özgür yazılıma benzer şekilde yazılımı çalıştırabilir, kopyalayabilir, paylaşabilir ve değiştirebilir. Son yirmi yılda, yazılım satıcıları yazılım lisanslarını tek seferlik satmaktan bir hizmet olarak yazılım abonelik modeline geçtiler. Yazılım satıcıları yazılımı bulutta barındırır ve abonelik ücreti ödeyen ve yazılıma internet üzerinden erişen müşterilerin kullanımına sunar. Telif hakkı, başkalarının bir geliştiricinin kodunu kopyalamasını engelleyebilse de, telif hakkı, onların aynı yazılımı kopyalamadan bağımsız olarak geliştirmelerini engelleyemez. Öte yandan bir patent, bir geliştiricinin, yazılımı bağımsız olarak geliştirmiş olsa bile, bir geliştiricinin bir geliştiricinin bir patentte iddia ettiği yazılımın işlevsel yönlerini kullanmasını engellemesini sağlar. Genel olarak, yazılım ne kadar teknikse, patentlenmesi o kadar olasıdır. Örneğin, bir yazılım ürününe yeni bir tür veritabanı yapısı yaratıyorsa veya bir bilgisayarın genel performansını ve işlevini iyileştiriyorsa patent verilebilir. Yazılım tarihi Yazılım terimi 1950'lerin sonlarına kadar kullanılmadı. Bu süre zarfında, farklı türde programlama yazılımları oluşturulmuş olsa da, bunlar genellikle ticari olarak mevcut değildi. Sonuç olarak, kullanıcılar - çoğunlukla bilim adamları ve büyük şirketler - genellikle kendi yazılımlarını yazmak zorunda kaldılar. Yazılım tarihinin kısa bir zaman çizelgesi aşağıdadır: 21 Haziran 1948. Bir bilgisayar bilimcisi olan Tom Kilburn, İngiltere'deki Manchester Üniversitesi'nde Manchester Baby bilgisayarı için dünyanın ilk yazılımını yazıyor. 1950'lerin başı. General Motors, IBM 701 Elektronik Veri İşleme Makinesi için ilk işletim sistemini oluşturur. General Motors İşletim Sistemi veya GM OS olarak adlandırılır. 1958. İstatistikçi John Tukey, bilgisayar programlamayla ilgili bir makalede yazılım kelimesini kullandı. 1960'ların sonu. Disketler tanıtıldı ve 1980'lerde ve 1990'larda yazılım dağıtmak için kullanıldı. 3 Kasım 1971. AT&T, Unix OS'nin ilk sürümünü yayınladı . 1977. Apple, Apple II'yi piyasaya sürdü ve tüketici yazılımı yola çıktı. 1979. VisiCorp, kişisel bilgisayarlar için ilk elektronik tablo yazılımı olan Apple II için VisiCalc'ı piyasaya sürdü. 1981. Microsoft , ilk IBM bilgisayarlarının çoğunun üzerinde çalıştığı işletim sistemi olan MS-DOS'u yayınladı. IBM, yazılım satmaya başlar ve ticari yazılımlar ortalama bir tüketicinin kullanımına sunulur. 1980'ler. Sabit sürücüler PC'lerde standart hale gelir ve üreticiler bilgisayarlarda yazılım paketlemeye başlar. 1983. Özgür yazılım hareketi , Richard Stallman'ın özgürce kopyalanabilen, değiştirilebilen ve dağıtılabilen kaynak kodlu Unix benzeri bir işletim sistemi yaratmaya yönelik GNU (GNU Unix değildir) Linux projesiyle başlatıldı. 1984. Mac OS, Apple'ın Macintosh serisini çalıştırmak için piyasaya sürüldü. 1980'lerin ortası. AutoDesk AutoCAD, Microsoft Word ve Microsoft Excel dahil olmak üzere önemli yazılım uygulamaları yayınlandı. 1985. Microsoft Windows 1.0 yayınlandı. 1989. CD-ROM'lar standart hale gelir ve disketlerden çok daha fazla veri tutar. Büyük yazılım programları hızlı, kolay ve nispeten ucuz bir şekilde dağıtılabilir. 1991. Açık kaynaklı Linux işletim sisteminin temeli olan Linux çekirdeği yayınlandı. 1997. DVD'ler piyasaya sürüldü ve CD'lerden daha fazla veri tutabiliyor, bu da Microsoft Office Suite gibi program demetlerini tek bir diske koymayı mümkün kılıyor. 1999. Salesforce.com , internet üzerinden yazılım dağıtımına öncülük etmek için bulut bilişimi kullanıyor. 2000. Hizmet olarak yazılım (SaaS) terimi moda oldu. 2007. IPhone piyasaya sürüldü ve mobil uygulamalar yaygınlaşmaya başladı. 2010'dan günümüze. Kullanıcılar internetten ve buluttan yazılım satın alıp indirdikçe DVD'lerin modası geçiyor. Satıcılar abonelik tabanlı modellere geçiyor ve SaaS yaygınlaştı.

Yorumlar

Ali Güney

Çok güzel bir calisma olmuş ellerinize sağlık. Teşekkür ederiz.

Yorum Gönder

Theresa Barnes

Pazarlamacı, blogger

Ben siber uzayda gerçekleşen her şeyle ilgilenen profesyonel bir blog yazarıyım. Bu web sitesini ziyaret etmek için daha iyi bir yer haline getirmek için elimden geleni yapıyorum.

Tüm profili Görüntüle