Yazılım (Software) Nedir? YAZILIMa. Bilş. 1. Bir veri işleme bütününün çalışmasına ilişkin programlar, yöntemler ve kurallar, ve gerektiğinde belgeler kümesi, (Yazılım DONANIM'ın karşıtıdır.) [Eşanl. SOFTWARE.] 2. Yazılım mühendisliği, belirlenmelerinden, bakımlarına dek, yazılımların üretilmesi konusunda yapılan bilişimsel ve yöntembilimsel katkı ve desteklerin tümü.
Kaynak: Büyük Larousse |
Yazılım Sanatı (Software Art)Yazılım Sanatı (Software Art), sanatçılar tarafından sanat eseri olarak sergilenmek amacıyla oluşturulmuş yazılım uygulamaları gibi, yazılımın veya yazılımla ilgili kavramların önemli rol oynadığı sanat biçimlerine denir. Yazılım sanatı 1990'ların sonlarından itibaren sanatsal bir disiplin olarak yer edinmeye başlamıştır. Yayımlanması ve tartışılması sık sık WWW üzerinden yapıldığı için internet sanatı ile de yakından bağlantılıdır. World Wide Web'deki bilgiye alternatif sunumlar getiren tarayıcı sanatı (browser art), hem internet hem de yazılım sanatı kapsamına sokulabilecek bir örnektir. 2000 yılından sonra yazılım sanatına verilen önem artmış, Transmediale (Berlin), Prix Ars Electronica (Linz) ve Readme (Helsinki) gibi uluslararası sanat festivallerinde kendine önemli bir yer bulmuştur. Böylelikle daha geniş bir eleştirmen ve akademisyen kitlesine ulaşmıştır. Bu gelişmelerin yanısıra, henüz çok yeni olması nedeniyle, yazılım sanatının ayrı bir sanat dalı olarak geçici bir akım olup olmadığı tartışma konusudur. Önemli Sanatçılar ve Çalışmaları
|
Ücretsiz / Serbest Yazılım (Freeware)Freeware, kullanıcının belirli bir süre sonra yazılımı kullanmaya devam etmek için ücret ödemek durumunda olduğu sharewareden farklı olarak, ücretsiz ve sınırsız kullanım imkânı tanıyan bir yazılım lisansıdır. Freeware yazılımların da telif hakları söz konusudur. Freeware yazımcıları genellikle "topluma bir şey sunma" motivasyonuyla hareket eden, fakat bunu yaparken isimlerinin de bilinmesini ve yazılımları ile ilgili gelecekteki gelişmelerin kendi denetimleri altında olmasını isteyen programcılardır. TarihçeFreeware terimi ilk kez, yarattığı PC-Talk ismindeki iletişim yazılımını geleneksel yollardan pazarlamayı pahalı bulduğu için alternatif pazarlama yolları arayan Andrew Fluegelman tarafından kullanılmıştır. Fluegelman önceleri, bu terimi bir marka gibi kullanmıştı; fakat daha sonra terimin bu anlamda kullanımı terkedilmiştir. Fluegelman aslında PC-Talk yazılımının dağıtımını bugün shareware olarak bilinen bir yolla yapmıştı. |
Yazılım Tasarım ÖrüntüleriTasarım desenleri veya tasarım örüntüleri, çok rastlanan, birbirine benzer sorunları çözmek için geliştirilmiş ve işlerliği kanıtlanmış genel çözüm önerileridir. Yazılım Tasarım DesenleriYazılım tasarım örüntüleri, yazılım tasarımı sırasına sıkça karşılaşılan, birbirine benzer sorunları çözmek için geliştirilmiş ve işlerliği kanıtlanmış genel çözüm önerileridir. Genel olarak yazılım tasarım örüntüleri programlama dillerinden bağımsız olarak tanımlansalar da, nesneye yönelimli programlama dillerine uygun yazılım tasarım örüntüleri daha çok bilinir. Bu örüntüler, nesneler ve sınıflar arasındaki ilişkileri ve etkilişimleri gösterirler. Programcı bir tasarım örüntüsünü elindeki soruna bakarak özelleştirip kullanabilir. TarihçeTasarım örüntülerinin temelleri Mimar Christopher Alexander'ın 1970 sonlarında başlatığı çalışmalara dayanmaktadır. Alexander 1977'de "Desen Dili: Kentler, Binalar, Yapılar" (A Pattern Language: Towns, Buildings, Construction ISBN 0-195-01919-9), 1979'da "Ebedi Yapım Yöntemi" (A Timeless Way of Building ISBN 0-195-02402-8) kitaplarını yayınlamıştır. Bu kitaplarda mimari desen örnekleri yanı sıra, bu desenlerin nasıl belgeleneceği de konu edilmiştir. 1987'deki uluslararası Nesneye Yönelik Programlama, Sistemler, Diller ve Uygulamalar (OOPSLA: Object Oriented Programming, Systems, Languages, and Applications) konferansına kadar desenlerle ilgili bir çalışma ortaya çıkmamış, bu tarihten sonra ise Grady Booch, Richard Helm, Erich Gamma ve Kent Beck başta olamak üzere örüntülerle ilgili makale ve sunumlar yayınlamışlardır. 1994'de Erich Gamma, Richard Helm, Ralph Johnson ve John Vlissides tarafından yayınlanan "Tasarım Örüntüleri: Tekrar kullanılabilir Nesneye Yönelik Yazılımın Temelleri" (Design Patterns: Elements of Reusable Object-Oriented Software ISBN 0-201-63361-2) tasarım örüntülerinin yazılımda kullanılmasında dönüm noktası olmuştur. Dörtlü Çete (Gang of Four, kısaca GoF) Yazılım Tasarım ÖrüntüleriYazılım tasarım örüntüleri 1994 tarihinde "Tasarım Örüntüleri: Tekrar kullanılabilir Nesneye Yönelik Yazılımın Temelleri" (Design Patterns: Elements of Reusable Object-Oriented Software ISBN 0-201-63361-2) adıyla yayınlanan kitap ile yaygınlaşmaya başlamış, kitabın yazarları Erich Gamma, Richard Helm, Ralph Johnson ve John Vlissides bilgisayar bilimleri çevresinde Dörtlü Çete olarak anılır olmuştur. Dörtlü Çete ismi, kitabın isminin uzun olmasından dolayı konuyla ilgili e-postalarda kısaltma yapılarak, yazarları kastederek, kitabın "Dörtlü Çetenin Kitabı" (Book of GoF) olarak anılmasıyla ortaya çıkmıştır. Tasarım Desenleri SınıflarıGang of Four'un Tasarım Örüntüleri kitabı (ISBN 0201633612) tasarım örüntülerini üç sınıfa ayırır, fakat bu sınıfları birbirinden ayıran keskin kriterler yoktur: 1. Yaratım ÖrüntüleriYaratım örüntüleri, yazılım nesnelerinin (ya da başka bir değişle sınıf örnekleri - class instances) nasıl yaratılacağı hakkında öneriler sunar. Anafikir, iyi bir yazılımın, içinde barındırdığı nesnelerin nasıl yaratıldığından bağımsız olarak tasarlanması gerekliliğidir. Diğer bir deyişle, nesnelerin nereden ve nasıl yaratıldığı, ait oldukları yazılımın işleyişini etkilememeli; yeni özellikler eklenmesine ve değişikliklere karşı sorun oluşturmamalıdır. Yazılım sistemleri geliştikçe, nesnel bileşimler (object composition), sınıf kalıtımına (class inheritence) göre daha fazla önem kazanır. Bunun nedeni, yazılım sistemleri için basit temel davranış (behavior) şekillerinin tanımlanması üzerine kurulu tasarımların, sabit davranışlara dayalı tasarımlara göre daha esnek olmasındandır. Diğer bir deyişle, nesnelere davranışların bileşim olarak eklenmesi, daha sonra bu davranışların yazılımın gelişimine göre değiştirilmesine olanak sağlar. Bu durumda, geliştirilen yazılım için gereken temel davranış şekillerine dayalı bir tasarım, nesne arayüzleri (interface) değiştirmeden farklı ya da daha karmaşık davranışların kullanılabilmesini olanaklı kılar. Ancak, nesnel bileşimler yoluyla temel davranışları sağlayan nesnelerin örneklenmesi, ana ya da kalıtım yoluyla davranış değişikliğine uğratılarak türetilmiş sınıflardan nesne oluşturmak daha zordur. Yaratım örüntüleri bu zorlukları aşmak amacıyla kullanılabilecek yazılım örüntüleri içerir. Yaratım örüntüleri, hem hangi somut sınıfların (concrete class) nesne örneklemesinde kullanıldığını, hem de bu örneklerin nasıl yaratılıp bir araya getirildiğini yazılım sisteminden saklarlar.
2. Yapısal ÖrüntülerYapısal örüntüler sınıfların ve nesnelerin bileştirilerek daha geniş yazılım yapılarının kurulmasına olanak sağlayan öneriler sunar. Sınıf yapı örüntüleri ve nesne yapı örüntüleri olmak üzere ikiye ayrılır. Sınıf yapı örüntüleri kalıtım kullanarak sınıf arayüzlerini ya da uygulamaları bileştirerek yapıları genişletir. Nesne yapı örüntüleri ise nesnelerin bileştirilerek yeni işlevler kazanma yollarını gösterir.
3. Davranış ÖrüntüleriDavranış örüntüleri işlevsel sorumlulukların nesneler arasında nasıl atanacağı ve yazılımın gerektirdiği çözüm yöntemlerinin nesnelerce nasıl kullanılacağı hakkında öneriler sunar. Davranış örüntüleri nesne ve sınıf kalıpları yanısıra nesneler arasındaki iletişim ile ilgili örüntüler de sunar. Davranış örüntüleri tasarımcının nesneler arası iletişim ve iletişim yöntemlerine yoğunlaşmasını sağlar. Aynen Yapısal örüntülerde olduğu gibi, davranış örüntüleri de ikiye ayrılır: sınıf davranış örüntüleri ve nesne davranış örüntüleri. Sınıf davranış örüntüleri kalıtım kullanarak davranışların sınıflar arasında dağıtılmasını olanaklı kılar. Nesne davranış örüntüleri ise nesne bileştirme yoluyla tek bir nesnenin kolayca sağlayamayacağı davranışların bir nesne grubu ile sağlanmasını olanaklı kılar.
Yazılım Tasarım Örüntülerine EleştiriBazı yazarlar, yazılım tasarım örüntülerinin sorunların çözümlerini olumsuz yönde etkilediği yönünde eleştirmektedir. Bazılarına göre de, yazılım örüntüleri programla dilinde veya metodolojisindeki kısıtlamaları ve sorunları göstermektedir ve örüntüyü tespit etmek son aşama olmamalıdır. Yeni programla dillerinde bu örüntüleri gerektirecek durumları engelleyecek çözümler dilin kendisinden sağlanmalıdır. Örneğin bu görüşün taraftarları nesne tabanlı programlama olarak bilinen kavramların, daha önceki programlama dillerinde tasarım örüntüsü olarak tavsiye edilen kavramlar olduklarını, ama nesne tabanlı programlama dillerinini çıkmasıyla bu kavramların dil içinde belirsiz bir şekilde kullanıldığını ve artık bir örüntü olmadıklarını savunmaktadırlar. |
Açık Kaynak YazılımAçık kaynak yazılım (İngilizce: Open-source software) veya açık kaynaklı yazılım veya kaynağı açık yazılım, kaynak kodu isteyen herkese açık olan yazılımlardır. FaydasıBu tür yazılımların ayırt edici özelliği kullanıcıya yazılımı değiştirme özgürlüğü sağlamasıdır. Açık kaynak kodlu yazılımlar, uyarlanabilir, sağlam, hızlı ve güvenlidir. Açık kaynak kod dünyası, yeni bir yazılım üretme biçimi, yeni iş modelleri sunmaktadır. Dünyanın her tarafından bilişim uzmanlarınca imece yöntemi ile endüstri standartlarında geliştirilen açık kaynak kod yazılımları, insanlığın ortak malıdır. Yazılımcılar yazılımları geliştirirken kullandıkları programlama dilleriyle kaynak dosyaları oluştururlar. Daha sonra derlemeli ve yorumlamalı dillerde (C, C++, Java, C#, Pascal, Python, Ruby) bu dosyayı derleyerek çalıştırılabilir hale çevirirler. Açık kaynaklı yazılım savunucuları her üretilen ve dağıtılan yazılımla birlikte kaynak kodunun da dağıtılmasını savunurlar. Bu sayede geliştirme esnasında ve ilerde yeni sürümlerin ortaya çıkması esnasında daha çok sayıda gözün süzgecinden geçmiş daha kaliteli bir yazılım çıktığını düşünürler. Açık kaynaklı yazılımlar 2005 senesi itibariyle bir patlama yapmışlar ve on binlere varan yazılım ve varyanta ulaşmışlardır. En iyi bilinenler Linux, Open Office, GNU, Debian'dır. Toplumda YeriAçık kaynaklı yazılımlar, en küçüğünden cep telefonu, saat gibi gömülü sistemlerden, en büyüğünden süper bilgisayarlara, ev kullanıcılarından KOBİ'lere, kamu kurumlarından her türden okullara, tüm kurum ve bireylerin rahatça kullanabileceği, gereksinimlere göre basitleştirilebilen, sağlamlaştırılabilen, güçlendirilebilen yazılımlardır. Açık kaynak kod yazılımlar, her alanda çözümler sunarak, yazılım tekellerine karşı tüketiciye seçenekler sunmaktadır. Almanya, İspanya, Meksika, Brezilya, Çin, Kore, Hindistan gibi birçok ülke, kamu kurumlarında açık kaynak kodlu yazılımlarının kullanımını benimsemiş ve bilgi toplumu stratejilerin bir parçası yapmışlardır. Avrupa Birliği, UNESCO, Dünya Bankası gibi kuruluşlar güvenlik ve tasarruf gibi gerekçelerle açık kaynak yazılımlarını önermektedir. Dünya üzerindeki hemen her ülke kendi gereksinimlerine göre açık kaynak kodlu bir Linux dağıtımı geliştirmiştir. Türkiye'de TÜBİTAK'ın girişimi ile bu yönde ULUDAĞ: Ulusal Dağıtım Projesi başlatılmış ve bir Linux dağıtımı olan Pardus Ulusal İşletim Sistemi hazırlanmıştır. Türkiye'de açık kaynak kod topluluğu 10 yılı aşkın bir süredir bulunmakta, Turkuaz, Gelecek Linux, İstanbulx, Boreas, Turkix, Truva Linux gibi dağıtımlar ve başka açık kaynak kodlu yazılımlar ve uygulamalar geliştirilmekte, açık kaynak şirketleri kurulmaktadır. Açık kaynak kodlu yazılım toplulukları, şu görüşlerle açık kaynak ortamlarını desteklemektedir: "Açık kaynak kodlu yazılımlar tasarruf ve güvenliğin ötesinde de bir ülke ekonomisi için önemlidir. Açık kaynak ortamları, teknoloji üretebilecek gençleri yetiştirmenin etkin yollarından biridir. İthal hazır çözümler yerine, ülke insanına güvenmek, ona yatırım demektir. Açık kaynak, kendi okullarında gereksinimlerine göre uyarlanmış, güvenli, sağlam ve ucuz çözümler demektir. Açık kaynak yazılımlar, mütevazı donanımları etkin kullanabilmek demektir. Tüm üretim ve hizmet sektörlerinde bilişim maaliyeti gittikçe artmaktadır. Açık kaynak yazılımlar, en başta ruhsatlar nedeniyle bu maliyetleri düşürerek, yerli sanayici ve bilişimciye destek demektir, ülkenin rekabet yeteneği artırmak demektir. Açık kaynak yazılımları, kapalı kaynak kod yazılımlarla yetenek ve verimde yarışacak konumdadır. Açık kaynak yazılımların tam rekabet ortamında kapalı kaynak yazılımlarla yarışması gerekir. Temel bilişim eğitimin marka bağımlılığı yaratmayacak, kullanıcıyı tüm alternatif düzlem (platform) ve ürünlerde çalışabilme yeteneğini kazandıracak, ürünlere değil kavramlara ağırlık vermesi gerekir."Açık kaynak yazılımları savunucularınca, bu tür yazılımların ülkelerin bilgi toplumu stratejisinde önemli rol oynaması gerektiği, ilgili tüm tarafların katkıları ile katılımcı bir süreçle bu stratejilerin belirlenmesi gerektiği, özellikle yönetici düzeyinde çalışanların açık kaynak yazılımları seçeneğini maliyet ve verimlilik açısından değerlendirmeleri gerektiği belirtilmektedir. Açık Kaynak EkonomisiDünyada bir çok şirket daha önceleri gizli tuttukları yazılım kaynaklarını kısmen açmışlardır.
|
Yazılım (Software) Nedir?Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makina komutlarıdır. Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle, var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı anlatımlar bütünüdür. Yazılım ÇeşitleriSistem Yazılımları Sistem yazılımları bilgisayar kullanımı için gerekli ana fonksiyonları sağlar ve bilgisayar donanımına ve sistemin yürütülmesine yardımcı olur. Şu kombinasyonları içerir:
|
Yazılım ÖlçümleriYazılım ölçümü, bir yazılımın herhangi bir niteliğinin, ya da o yazılımın teknik özelliklerinin (specification) bir ölçümüdür. Nicel (quantitative) yöntemlerin diğer bilim dallarındaki başarılı uygulamaları nedeniyle bilgisayar bilimleri pratisyenleri ve teorisyenleri aynı yaklaşımların yazılım geliştirme için de uygulanması konusunda uzun uğraşlar vermişlerdir. Bir Yazılım Mühendisliği profesyoneli olan Tom DeMarco, "Ölçülemeyen şeyler denetlenemezler" demiştir. Yaygın Olarak Kullanılan Yazılım ÖlçümleriYaygın olarak kullanılan yazılım ölçümlerinden bazıları şunlardır:
Eleştiriler Ölçümlerde Hile Yapılması Ölçümlerin Dengelenmesi
|
Özgür yazılım nedir?Özgür yazılım (İngilizcesi free software), kullanıcısına çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlükleri tanıyan yazılım türüdür. Tersi sahipli yazılımdır (İngilizcesi proprietary software). Özgür yazılım ile kastedilen özgürlük, yazılımın kullanım hakları ile ilgilidir, ekonomik boyutu ile değil. Özgür yazılımlar çoğunlukla ücretsiz olsalar da ücretsiz olmak zorunda değildirler. İngilizce sözlükler "free" kelimesi için yirmiye yakın anlam sıralar. Bunlardan sadece bir tanesi "bedava" iken geri kalanları özgürlük ve sınırlamaların olmaması (freedom) kavramlarına atıfta bulunur. Tarihçesi1950'lerden 1970'lerin başına kadar bilgisayar kullanıcılarının özgür yazılımla ilgili yazılım hürriyetlerine sahip olmaları normaldi. Yazılım genellikle fertler arasında paylaşılır, kişilerin yazılım yaparak donanımlarını daha kullanışlı yapmalarını iyi karşılayan donanım üretilerinden dağıtılırdı. SHARE gibi kullanıcıların ve satıcıların üye olduğu kuruluşlarla yazılım değiş dokuşu kolaylaştırmak hedeflenmişti. 1970'lerin ilk yıllarında durum değişti: yazılım masrafları hızla yükselirken büyümekte olan yazılım endüstrisi, donanım üreticilerinin bilgisayar satışıyla beraber verdikleri "yazılım demetleri", kiraya verilen bilgisayarların kâr getirmeyen yazılım desteğiyle rekabet başlamıştı. Bazı müşterilerin kendi ihtiyaçlarını daha iyi karşılamasıyla "özgür" yazılım masraflarının donanım masraflarıyla bütünleşmesini istemiyordu. 17 Ocak 1969'da yayınlanan Amerika Birleşik Devletleri IBM'ye karşı yazısında hükûmet, yazılım demetlerinin rekabet engelleyici olarak sıfatlandırdı. Bazı yazılım her zaman hürken ancak ödemeyle alınabilen yazılımlar artıyordu. 1970'ler ve 1980'lerde yazılım endüstrisi, bilgisayar programlarını sadece kullanıcıların kodu incelemesi ve değiştirmesini önleyen çalıştırılabilirler şeklinde dağıtmaya başlamasıyla teknik tedbirler almaya başladı. 1980'de copyright kanununun kapsamı bilgisayar programlarını içine aldı. 1983'te MIT Yapay Zekâ Laboratuvurı'daki çökertici topluluğunun uzun süreli üyesi Richard Stallman, bilgisayar endüstrisi ve kullanıcılarının kültürel değişiminden yıldığını açıklayarak GNU projesini îlan etti. GNU işletim sistemi için yazılım geliştirmesine Ocak 1984'te başlandı. Ekim 1985'te de Özgür Yazılım Vakfı kuruldu. Kendisi hür yazılımı tanımlayarak "copyleft" kavramını yazılım hürriyeti garantilemek için çıkardı. Bazı yazılımdışı endüstriler, kendi araştırma ve geliştirmeleri için özgür yazılım geliştirmeye benzer teknikler kullanmaya başladı. Mesela bilim adamları, daha açık geliştirme süreçleri ararken mikroçip gibi donanımlar da copyleft lisanslarıyla geliştirilmeye başlandı (OpenCores projesi gibi). Creative Commons ve serbest kültür hareketi, özgür yazılım hareketinden çok etkilenmişlerdir. Barındırdığı özgürlükler Özgür Yazılım Vakfı'nın ifadesiyle özgür yazılım, belli başlı dört özgürlüğü barındırır:
Genel kanının aksine özgür bir yazılım, ücretsiz dağıtılabileceği gibi ücretli de dağıtılabilir. Bu nedenle ticari yazılım olarak satılmasına engel yoktur. Özgür yazılım, çoğu zaman açık kaynak kodlu yazılım kavramı (open source) ile karıştırılmaktadır. Bütün özgür yazılımlar açık kaynak kodludur ancak bütün açık kaynak kodlu yazılımlar özgür yazılım olmayabilir. Özgür yazılımlar açık kaynak kodlu yapıları sayesinde, bünyesinde zararlı bir amaç barındıran (gizli verileri çalma gibi) kodlara sahip olup olmadığı, programlama bilen herkes tarafından denetlenebilir. Güvenli yapısı sayesinde Dünya'da pek çok ülkede askeri kuruluşda Linux işletim sistemi tercih edilmektedir. Bazı özgür yazılım lisansları (örneğin GNU GPL), yazılım kodlarının gelecekte de özgürlüğünü sürdürmesini garanti altına alırken bazı özgür yazılım lisansları bunu garanti altına almamaktadır. Bazı özgür yazılım lisanslarıBelli başlı bazı özgür yazılım lisansları aşağıda alfabetik olarak listelenmiştir:
|
Yazılım isim
Yazılım, elektronik cihazların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı ifadeler bütünüdür. |
yazılım sistemi isim
Vikipedi, özgür ansiklopedi Yazılım sistemi (İngilizce: Software system) bir bilgisayar sistemini (donanım ve yazılımın birleşimi) oluşturan yazılım tabanlı sistemdir. Yazılım mühendisliğindeki sistem kuramı yaklaşımlarıyla ile ilgilidir. Yazılım sistemleri alanı, büyük karmaşık yazılımların ana bilişenleri ve onlar arasındaki etkişimlerle uğraşır. |
Saat: 03:06 |
©2005 - 2024, MsXLabs - MaviKaranlık