Bilgi/Bilişim Sistemleri Sunu PDF
Document Details
Uploaded by PamperedLeaningTowerOfPisa7913
Atatürk University
Dr. Rabia Meryem YILMAZ
Tags
Summary
This document presents a lecture on information systems and their classifications. It covers topics such as system components, information technologies, system hardware, system classification, application software, and system architectures. The lecture is aimed at an undergraduate level and is delivered at Atatürk University. The lecture notes cover several aspects of information systems, from the basic definition of a system, to more specific applications like information systems in specific fields.
Full Transcript
KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication MÜHENDİSLİK FAKÜLTESİ Engineering Faculty Bilgi Sistemleri ve Sınıflaması Dersin Adı: Yazılım Mühendisliğine Giriş Dersin Hocası: Doç. Dr. Rabia Mery...
KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication MÜHENDİSLİK FAKÜLTESİ Engineering Faculty Bilgi Sistemleri ve Sınıflaması Dersin Adı: Yazılım Mühendisliğine Giriş Dersin Hocası: Doç. Dr. Rabia Meryem YILMAZ KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Dersin Hedefi Bu bölümde, bilgi sistemleri, sistem bileşenleri, bilgi teknolojileri, sistem donanımı, sistem sınıflandırma, altyapı yazılımları, sistem yapıları ve uygulama yazılımları kavramlarının açıklanması hedeflenmektedir. Yazılım Mühendisliğine Giriş 2 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi Sistemleri ve Sınıflanması En geniş anlamıyla "sistem” sözcüğü, dış etkilere göre düzenli bir şekilde etkileşim içinde olan ya da birbirinden bağımsız olarak belirli bir yapı oluşturan, belirli bir hizmeti görmek üzere veri toplayan, işleyen veya üreten bir grup ögedir. Bu teknik tanımı, soyut tanımlamalara, biyolojik yapılara veya örgütsel düzenlere kadar genişletmek olasıdır. Hangi alanda olurlarsa olsunlar bunların hepsi birer "sistem” olarak adlandırılmaktadır. Böyle geniş kapsamı uzmanlık alanlarına göre daraltmak gerektiğinde sosyal sistemler, biyolojik sistemler, mekanik sistemler, elektronik ve bilgisayar sistemleri gibi sınıflar oluşturmak ve her birini kendi içinde tanımlayıp irdelemek gereklidir. Yazılım Mühendisliğine Giriş 3 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Günümüzde kullanmakta olduğumuz pek çok sistem, otomatik olarak işlemekte, büyük bir kısmı da küçük ya da büyük bir ya da daha fazla bilgisayar içermektedir. Bilgi işlemeye yönelik olarak gerçekleştirilen her türlü sisteme "Bilgi Sistemi” (Information System), bu alandaki teknolojiye de "Bilgi/Bilişim Teknolojisi” (Information Technology) adı verilmektedir. Yazılım Mühendisliğine Giriş 4 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Pek çok alanda, bilgisayarların kullanılmasıyla birlikte, adı o alanla birlikte anılan bilgi sistemleri oluşmuştur. Coğrafi Bilgi Sistemi, Personel Bilgi Sistemi, Akademi Bilgi Sistemi, Hasta Bilgi Sistemi gibi adlar, o işletmeye ait bilgisayarların bir ağ ve belirli yazılımlarla birlikte oluşturdukları bilgi sistemlerini tanımlamaktadırlar. Bilgisayar sistemlerini kullanım yerlerine ve taşıdıkları özelliklere göre sınıflandırdığımızda her birinin kendine özgü nitelikleri olduğunu görürüz. Yazılım Mühendisliğine Giriş 5 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Çevrim-içi Sistemler Çevrim-içi (on-line) sistemler, beklemede iken dışarıdan aldıkları bilgileri anında işlerler ve sonuçları gereken yerlere verirler. Etkileşimde bulunan kullanıcı, bilgisayara uzaktan erişir; bunun için de genellikle bir uçbirim kullanır. Sistemlerde saklanmış veriler bulunur ve kullanıcıların bu verilere kolay erişmesi için hizmet verirler. Örnek yapısı Şekil'de verilen bu sistemler insanlarla etkileşim halinde oldukları için, insan-makine arayüzünün etkinliği, çalışma hızı ve doğruluk oldukça önemlidir. Bankaların otomatik para çekme makineleri, cep telefonu üzerinden televizyon yayını izlenmesi çevrim-içi sistemlere birer örnektir. Yazılım Mühendisliğine Giriş 6 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gerçek Zamanlı Sistemler Çoğunlukla günlük bilgisayar kullanımlarının dışında kaldığı için pek fazla tanınmayan alanlardan biri de gerçek zamanlı (real-time) sistemlerdir. Dış dünya ile etkileşim sağlayan, olayları izleyip anında çözümleyen, karşılığında bir kontrol işlemi yapan ve bu işlemleri zaman kısıtlamalarına bağlı olarak gerçekleştiren sistemler "gerçek zamanlı” olarak adlandırılırlar. Yazılım Mühendisliğine Giriş 7 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gerçek Zamanlı Sistemler Yanlış bir kanı olarak, gerçek zamanlı sistemler, etkiye veya kullanıcıya çabuk yanıt veren, karşılıklı etkileşim sırasında kullanıcıyı bekletmeyen sistemler olarak bilinmekte ve çevrim-içi sistemlerle karıştırılmaktadırlar. Oysa gerçek zamanlı bir sistemin gerçekten bir zaman kısıdı vardır. Bu zaman kısıdı da dakika ya da saniye cinsinden değil, milisaniye ya da mikrosaniye cinsindendir. Belirtilen zaman kısıtlaması içinde iş tamamlanmazsa tüm sistemin çökmesi, büyük kayıpların oluşması gibi önemli sonuçlar ortaya çıkabilmektedir. Yazılım Mühendisliğine Giriş 8 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gerçek Zamanlı Sistemler Hata kabul etmeyecek derecede kritik görevler yürüten sistemlerde zamansallık yanında güvenilirlik ve yüksek verimlilik de esastır. Verilen zaman içinde, tanımlanan işin mutlaka yapılması ve mutlaka başarıyla tamamlanması gereklidir. Bu nedenle, bu tür kritik sistemlerin yazılımları yedekleme ve başarım yükseltme amaçlı özel donanımlarla da desteklenirler. Gerçek zamanlı sistemlerin geliştirilmesinde başarım ön planda tutulur. Var olan teknoloji ile en iyi başarımı yakalayabilmek için bazen önemli nitelik ölçütlerinden ödün verilebilir. Yazılım Mühendisliğine Giriş 9 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gerçek Zamanlı Sistemler Görev-kritik sistemler düzensiz aralıklarla oluşabilecek ani olaylara karşı çabuk tepki verebilmek zorundadırlar. Bu tepki süresine göre gerçek zamanlı sistemler üç grupta toplanırlar: Gevşek gerçek zamanlı (soft real-time) sistemler, belirli bir işi belirli bir zaman kısıdı içinde tamamlayamazsa tüm sistem çökmez, yalnızca başarımı düşer. Bu tür sistemlerin gereksinimleri çoğu zaman ticari bilgisayar sistemleri ile rahatlıkla karşılanabilir. Özkaynak yönetimi ve zaman kısıtlamalarının değerlendirilmesi sistem çalışırken de dinamik olarak yapılabilir. Tepki süreleri genellikle bir saniyenin altındadır. Trafik kontrol sistemleri, askeri komuta kontrol merkezlerindeki bilgi sistemleri, karar destek sistemleri, benzetim sistemleri birer örnek sayılabilir. Yazılım Mühendisliğine Giriş 10 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gerçek Zamanlı Sistemler Katı gerçek zamanlı (hard real-time) sistemler, ne olursa olsun verilen zaman kısıdını karşılamak zorundadırlar. Anlık yük, özkaynakların meşgul olması ya da arıza gibi nedenler hiçbir şekilde kabul edilemez. Sistemin mutlaka başarması gereken bir görevi vardır; başaramaması durumunda tüm sistemin çökmesi ve hayati tehlikelerin doğması olasıdır. Zaman kısıtlamaları önceden hesaplanır, ne zaman oluşacağı kestirilemeyen kesmeler ve düzenli aralıklı işler için her zaman yeterli öz kaynak bırakılır. Tepki süreleri birkaç milisaniye ile birkaç mikrosaniye arasındadır. Nükleer santral kontrol sistemleri, savaş uçakları ve güdümlü mermi uçuş sistemleri, silah atış kontrol sistemleri, hastanelerde kullanılan yaşam destek üniteleri, erken uyarı (yangın, deprem gibi doğal afet alarmları) sistemleri böyle sistemlerdir. Çoğunlukla özel donanım gerektirirler ve oldukça yüksek maliyetlidirler. Yazılım Mühendisliğine Giriş 11 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gerçek Zamanlı Sistemler Sıkı gerçek zamanlı (firm real-time) sistemler ise küçük bir olasılıkla zaman kısıdının aşılmasının kabul edilebileceği, kontrol altında tutulabilen sistemlerdir. Tepki süreleri birkaç milisaniye düzeyindedir. Hassas deniz ve hava trafik kontrol sistemleri, askeri komuta kontrol sistemleri, endüstriyel üretim ve makine kontrol sistemleri örnek olarak verilebilirler. Yazılım Mühendisliğine Giriş 12 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Karar Destek Sistemleri Bilgisayarlı sistemlerin insanoğluna verdikleri hizmetlerden biri de "karar destek”tir (decision support). Bilgisayarlar kendi başlarına karar almazlar, fakat insanlara durum farkındalığı yaratıp gerekli hesaplamaları süratle yaparak karar almalarında yardımcı olurlar. Çalışma tabloları, istatistik çözümleme sistemleri, çeşitli alanlarda ön kestirim yazılımları, askeri strateji ve ekonomi ile ilgili sistemler örnekler arasında sayılabilirler. Üst düzey yöneticiler için geliştirilen özel stratejik planlama sistemleri, pazar araştırmalarının sonuçları, anketler ve toplanmış çeşitli metrik verilerini kullanarak uygulama alanında o an için en uygun kararın verilebilmesi için destek sağlarlar. Yazılım Mühendisliğine Giriş 13 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Bilgi Tabanlı Sistemler Bilgi tabanlı sistemler çok miktarda bilgiyi kullanarak belirli bir görevi yerine getirirler. Bazen bu sistemlere uzman sistemler de denir. Uzman sistemler, belirli bir uzmanlık alanında çalışan insanlara yardımcılık yapabilecek kadar yüksek düzey bilgi sağlarlar. Varılan karara nasıl ulaştıklarını, neden belirli bir yolu seçip diğerlerini reddettiklerini belirtirler. Belirsiz veya eksik bilgilerle dahi belirli bir düzeye kadar çalışabilir, kullanıcılarına destek sağlarlar. Yazılım Mühendisliğine Giriş 14 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Bilgi Tabanlı Sistemler Bir uzman sistem dar bir uygulama alanında gerçekten bir uzman olarak davranır. Örnek uygulama alanları arasında, tıbbi tanı koyma, belirli bir cihazın arızasını bulma, ölçülen bir takım istatistiksel bilgilerden sonuç çıkarma, meteorolojik tahminler yapma, ekonomik tahminlerde bulunma uygulamaları sayılabilir. Yazılım Mühendisliğine Giriş 15 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Kişisel Bilgisayarlar Kişisel bilgisayarlar (PC) daha çok bireysel kullanım amaçlarına hizmet eden paket yazılımlar çalıştırırlar. Ev gereksinimleri, bireysel gelişim, ofis, masaüstü yayıncılık, Internet erişimi ve eğlence bu bilgisayarların asıl kullanım amaçları arasındadır. Neredeyse her iş yerinde ve pekçok evde vazgeçilmez cihazlardan biri durumuna gelen bu bilgisayarlar için çok çeşitli yazılımlar üretilmektedir. Kendi başlarına bir sistem olarak değerlendirmek pek doğru olmasa da, çeşitli paket yazılımlar ve uç birimler sayesinde küçük birer sisteme dönüştürülerek eğitimden eğlenceye kadar günlük hayatı kolaylaştırma olanağı sağlamaktadırlar. Yazılım Mühendisliğine Giriş 16 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Ofis Otomasyonu Ofis otomasyonu, personel haberleşmesi, veri paylaşımı, masaüstü yayıncılık, planlama gibi amaçlar için oluşturulan ve genellikle bir ağ ile bağlanmış birden fazla bilgisayardan oluşan sistemlerdir. Bu tür sistemler, piyasada yaygın olarak kullanılan donanım ve yazılımlardan oluşur. Bazı durumlarda, özel olarak geliştirilmiş yazılımlar kullanılabilir. Bankacılıkta veya muhasebe işlemlerinde kullanılan yazılımlar belirli bir firmanın kendi gereksinimlerine göre özel olarak geliştirilir ve yalnızca o sistem üzerinde, kendi personeli tarafından kullanılırlar. Ofis sistemleri için basit kişisel bilgisayarlar kullanılabileceği gibi, çok sayıda aynı ya da farklı yapıda bilgisayarın, sunucuların ve çevre birimlerinin ağ üzerinde haberleşebildiği karmaşık sistemler de kullanılabilir. Yazılım Mühendisliğine Giriş 17 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri İletişim Sistemleri İletişim teknolojisinde önceleri donanım önemli iken artık yazılımın da önemi artmıştır. İletişim isteklerine bir de bilginin işlenmesi ve paylaşılması da eklendiğinde Türkiye'de "bilişim” adı verilen yeni bir sektör doğmuştur. Bilgiyi işlemek kadar dağıtmak da önemli hale gelmiş, farklı iletişim ortamları üzerinden bilgiyi ulaşılır hale getirme çabaları artmıştır. Gerek veri, gerekse ses ve görüntü aktarımında artık yazılım da gerekmektedir. Yazılım Mühendisliğine Giriş 18 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri İletişim Sistemleri Örneğin, bir telefon santralinde artık fiziksel kablolar yerine sanal bağlantı elemanları kullanılmaktadır. Ses ve görüntü gerçek zamanlı olarak sayısal hale getirilmekte, sıkıştırılarak uzak mesafelere çeşitli ortamlar üzerinden taşınmakta ve sonra tekrar çözülerek hizmete sunulmaktadır. Uzak mesafelerden veri paylaşımı ya İnternet üzerinden ya da tahsisli özel iletişim hatları üzerinden yapılmaktadır. Mobil telefon sistemleri de artık konumdan bağımsız olarak kişiler arası ses, görüntü ve veri iletişimine olanak sağlamaktadır. Yazılım Mühendisliğine Giriş 19 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Endüstriyel Sistemler Ticari amaçlı iş denetimi, bir sistemin denetimi, fabrika otomasyonu bilgisayar uygulamalarının önemli alanlarındandır. Özellikle fiziksel olarak ayrılmış noktalarda bilgi işleme gereksinimi olduğunda, dağıtık sistemler, genel olarak merkezi bilgisayarlardan daha hızlı ve güvenilir bir şekilde hesaplama yapıp sonuçlarını uygulayabilmektedirler. Algılayıcı (sensor) ve uygulayıcı (actuator) arasındaki mesafenin artması, işaret veya veri taşımada güçlük çıkmasına neden olduğundan, verileri alındıkları yerde işleyip sonuçlarını bir merkeze göndermek veya bir uygulayıcıyı harekete geçirmek daha iyi sonuçlar vermektedir. Bu tür sistemler, uygulandıkları alanın özelliklerine de bağlı olarak, genellikle gerçek zamanlı çalışma özelliğine sahiptirler. Yazılım Mühendisliğine Giriş 20 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Endüstriyel Sistemler Günümüzdeki pek çok endüstriyel sistem çeşitli kurallara göre bilgi işler. Bunlar arasında, Bilgisayar Destekli Üretim önemli bir yer tutar. Bu sistemlerin girdileri, bilgisayar ortamında hazırlanmış model dosyalarıdır. Bu dosyalardaki verilere göre makine parçalarına uygun komutlar göndererek ham malzemenin işlenmesi ve ondan bir mekanik parça üretilmesi sağlanır. Boya üretim ve renk oluşturma sistemleri de birer örnek olabilir. Yazılım Mühendisliğine Giriş 21 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Kontrol Sistemleri Kontrol sistemleri çeşitli altsistemleri bir mantık ile birleştiren ve bir merkezden idare edilmesini sağlayan otomasyon sistemleridir. Sistemin ilgi alanındaki çevresinden çeşitli algılayıcılarla toplanan veriler değerlendirilir, kullanan işletmenlere sistem durumu hakkında işlenmiş verilere dayanan bilgiler verir, gerektiğinde algılayıcıları, uygulayıcıları ve diğer altsistemleri kontrol eder. İnsanlar makineleri yine makineler aracılığıyla denetlediklerinden, kontrol sistemleri çok geniş bir uygulama alanına sahiptir. Bunlar arasında sıcaklık kontrol sistemi, hidroelektrik santral yönetim sistemi, hava veya deniz trafik kontrol sistemleri sayılabilir. Yazılım Mühendisliğine Giriş 22 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Askeri Sistemler Askeri amaçlı geliştirilen pek çok sistem tümleşik yapıya sahiptir. Bir kısmı kendi başına çalışan otomatik silah sistemleri olduğu gibi bir kısmı da komuta kontrol ağırlıklıdır. Komuta heyetine taktik durum hakkında bilgi veren, gerekliğinde algılayıcıları, silahları ve diğer alt sistemleri tam olarak denetlemesine olanak sağlayan sistemlere komuta kontrol bilgi sistemi (KKBS) denmektedir. Yazılım Mühendisliğine Giriş 23 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Robotik Kontrol sistemlerinin yapay zekâ ile birleştirilmesi sonucu ortaya kendi kendine iş yapabilen sistemler çıkmaktadır. Bu sistemlerin en önemli özellikleri çok hassas denetim düzeneklerine sahip olmalarıdır. Aynı zamanda öğrenme ve karar verme yeteneğine sahip olmaları da istenirse, yapay zekâ uygulamaları için önemli bir alan oluştururlar. Günümüzde başta endüstriyel üretim olmak üzere pek çok işte kullanılmaya başlanan robotlar için çok çeşitli sistemler geliştirilmektedir. Otomobil yapan robotlar, uzay araştırmalarında kullanılan robotlar, derin su araştırma cihazları insanların yerine geçebilen robotlarca yapılabilmektedir. Yazılım Mühendisliğine Giriş 24 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Gömülü Sistemler Endüstriyel kontrol sistemlerinin bir kısmı ve evlerimizde kullandığımız birçok akıllı makine kendi üzerinde bir mini bilgisayar bulundurur. Bu sistemlerin operatör etkileşimi oldukça azdır ve belirli sistemleri kontrol ederler. Çeşitli tüm devrelerle birlikte yalnızca özel bazı işler yapmak üzere geliştirilen bu sistemlere gömülü sistem adı verilmektedir. Bir uçağın uçuş sistemlerini kumanda eden bilgisayar, modern bir otomobilin otomasyon sistemi, mikrodalga fırın kontrol paneli, otomobillerde bulunan yol bilgisayarları buna örnektir. Yazılım Mühendisliğine Giriş 25 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Yönetim Bilgi Sistemleri Yönetim Bilgi Sistemi, kurum ya da firmaların yöneticilerine karar almada yardımcı olacak çeşitli verileri işleyebilen destekleyici bir sistem olarak tanımlanabilir. Personel ücret bordrosundan aylık fazla mesai tutarlarını hesaplayarak yöneticiye finans durumu hakkında ek bilgi sağlayan sistem bir örnek olarak verilebilir. Kullanılacak bilgiler veritabanında tutulur ve çeşitli sistemlerden girdiler yapılır. İşletmelere göre özel olarak geliştirilirler. Çoğu zaman gizlilik içerirler. Yazılım Mühendisliğine Giriş 26 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Veritabanı Yönetim Sistemleri Büyük miktarda ve birbiriyle ilişkili veriler, uygun saklama kapasitesine sahip bilgisayarlarda kurulu veri tabanlarında saklanmaktadır. Bu verilere uygun şekilde erişebilmek için de özel amaçlı veritabanı yönetim sistemleri kullanılmaktadır. Çeşitli saklama ortamlarında bulunan verilere ait tanımlar bir katalog içinde saklanır. Kataloğa ve verilere bir yazılım ile erişilir. Bu yazılımın üzerinde de sorgulamalara göre verileri işleyen daha üst düzey bir yazılım bulunur. Sorgulama ve veri işleme için çeşitli arayüzler vardır. Yazılım Mühendisliğine Giriş 27 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Veritabanı Yönetim Sistemleri Veritabanı yönetim sistemlerinin ana amaçları arasında; Büyük miktarlarda veriye güvenli bir şekilde erişebilmek, Paylaşılır verilerin güncelleştirilmesi sırasında doğabilecek tutarsızlığın önüne geçmek, Uygulama geliştirmede zaman tasarrufu sağlamak, Verilerin sürekli ve otomatik olarak güncellenebilmesine olanak tanıyarak tüm kullanıcılara sürekli hizmet sağlamak sayılabilir. Yazılım Mühendisliğine Giriş 28 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Bilgi Yönetim Sistemleri Bilgi Yönetim Sistemleri, kurum ve işletmeler için önemi gittikçe artan bilginin doğru bir şekilde hazırlanması, saklanması gerektiği zaman ise amacına uygun derlenerek kullanılacağı yerde verimli bir şekilde değere dönüştürüldüğü bir sistemdir. Bu sistem ile işletme veya kurum içindeki tüm iş süreçlerinde üretilen ve yenilenen bilginin akışının doğru olarak yönetilmesi ve verimliliğin arttırılması hedeflenmektedir. Yazılım Mühendisliğine Giriş 29 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Sistem Yapıları Bilgisayar sistemleri, kullanım amaçları, sahip oldukları donanım ve yazılım özellikleri ile kullanım yerleri dikkate alındığında üç grupta incelenebilirler: Ana sistem, hedef sistem ve test sistemi. Yazılım Mühendisliğine Giriş 30 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Sistem Yapıları Ana Sistem: Yazılım geliştirmek üzere kurulmuş, yüksek işlemci ve bellek kapasitesine sahip, birbirleri arasında ağ bağlantısı bulunan ofis bilgisayarlarından oluşan ana sistem, uygun bir işletim sistemi, yazılım kaynak kodunun yazıldığı metin düzenleyiciler, sözcük işlemciler, derleyiciler, hata ayıklayıcılar, kütüphaneler, tümleşik geliştirme ortamı, yazılım geliştirme yardımcıları düzenleşim yönetim sistemi ve çeşitli belgeler bulundurur. Ana sistem, kodlayıcıların kullandığı her türlü yazılım geliştirme yardımcısını saklamakla görevli olup birden fazla proje için de kullanılabilir. Farklılık gösteren her proje için yazılım yaşam çevrimi boyunca, tüm özellikleri korunmalı ve saklanmalıdır. Yazılım Mühendisliğine Giriş 31 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Sistem Yapıları Hedef Sistem: Bilgisayar tabanlı sistemlerin gerçek alanda kullanmak üzere hazırlanmış şekline hedef (target) sistem adı verilir. Hedef sistemler, donanım içine gömülü sistem şeklinde olabileceği gibi, bir işletmenin yalnızca belirli bir amaç için kullandığı, üzerlerinde yalnızca özel olarak kurulmuş yazılımların çalışmasına izin verilen tahsisli (dedicated) sistem şeklinde de olabilir. Örneğin, bir bankadaki bilgisayar sistemi üzerinde yalnızca bankacılık işlemlerinin yapılmasını sağlayan, yüksek güvenlik dereceli özel yazılım çalışır. Bu sistem üzerinde sunu hazırlayacak ya da video işleyecek bir paket yazılım bulunmaz. Hedef sistemin en önemli özelliği, kullanıma verilecek gerçek donanımlardan oluşmasıdır. Yazılım, tüm donanım birimleri ile sistem isterlerini karşılayacak şekilde tümleştirilir ve müşteriye o şekilde teslim edilir. Yazılım Mühendisliğine Giriş 32 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Sistem Yapıları Test Sistemi: Test sistemi, yazılımının üzerinde çalışacağı hedef sistemin işlevsel olarak tam benzeri olup yazılım geliştirme sırasındaki testlerde kullanılır. Eğer hedef sistem çok özel donanımlar gerektiren, yüksek maliyetli bir bilgisayar sistemi ise, geliştirilen yazılımın kullanıma verilmeden önceki testlerinde hedef sistemin temel özelliklerini taşıyan daha düşük maliyetli bilgisayar ve ilgili alt birimler kullanılır. Örneğin, bir endüstriyel kontrol sistemi için gömülü sistem bileşenleri yerine, aynı işletim sistemini kullanan, hemen hemen aynı mimariye sahip, ofis türü ticari bir bilgisayar ve onun üzerine takılmış giriş/çıkış kartları bu sistemin yazılımın testi için gerekli ortamı sağlar. Yazılım Mühendisliğine Giriş 33 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Sistem Bileşenleri Bir bilgisayarlı sistemi oluşturan ana bileşenler, donanım, altyapı yazılımları ve uygulama yazılımı olarak üç katmanlı mimari oluşturacak şekilde ele alınabilirler. Bu bileşenlerin ayrı ayrı temin edilmesi ya da geliştirilmesi sistemin çalışması anlamına gelmeyecektir. Bunun için mutlaka tümleştirme yapılması, ek olarak da el ile yapılması gereken işlemlerin tanımlanması gereklidir. Yazılım mühendisliğini iyi bir şekilde gerçekleştirebilmek için de ne tür mimari ve sistem bileşenleriyle çalışılması gerektiği iyi anlaşılmalıdır. Gerçekten yazılım geliştirmek isteyen kurum veya işletmeler sistemlerdeki bu farklılıkların bilincinde olmalıdırlar. Yazılım Mühendisliğine Giriş 34 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Donanım Bilgisayar sistemleri, donanım adını verdiğimiz çeşitli elektronik birimlerden oluşur. Bilgisayarlar, bağlantı elemanları, veri yolları, insan-makine arayüzü ve diğer elektronik altsistemler ile herbir bilgisayar için işlemci, bellek, ağ ve arayüz donanımları sistem donanımı içinde sayılırlar. Günümüzde çoğu donanım birimi hazır olarak piyasadan temin edilebilmektedir. Bunlar için dünyaca kullanılan terimlerden biri de Hazır Ticari Ürün anlamında olan "Commercial-Off-The-Shelf' (COTS) terimidir. Bu tür hazır ürünlerle karşılanamayan çok özel sayısal işaret işleme, veri okuma-yazma veya altsistem denetimi amaçları için bir kısım donanım ayrıca tasarlanır, geliştirilir ve sistemle tümleştirilirler. Yazılım Mühendisliğine Giriş 35 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Donanım İşlemci Birimleri veya sunucu, bilgi işleme ve saklama yeteneğine sahip olan bilgisayarlardır. Bunlar merkezi bilgisayarlar olabileceği gibi dağıtık bir mimaride bilgi işleme amaçlı yüksek güçlü bilgisayarlar da olabilir. Bu bilgisayarlarda birden fazla işlemci, yüksek bellek, büyük sabit diskler olabilir ve çalışmalarını hiç durmadan sürdürebilirler. Kullanıcı Arayüz Birimleri, daha çok insanlarla etkileşim halinde olan sistemlerde, işletmenlerin sistem üzerinde denetimini sağlayan giriş/çıkış aygıtlarına sahip bilgisayarlardır. Çoğu zaman, işletmen sayısı kadar olurlar ve kapalı ya da açık olmaları durumu sistemin genel başarımını etkilemez. Bir banka sistemindeki monitör ve klavyeye sahip uç birimler (terminal), özel bir endüstriyel sistemi kontrol eden işletmenin kullandığı, klavye, monitör, işaretçi ve düğmelerle desteklenmiş geniş maksatlı işletmen konsolları bu birimlere örnektirler. Yazılım Mühendisliğine Giriş 36 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Donanım Altsistem Arayüz Birimleri, daha çok protokol dönüştürücü gibi kullanılan, bir altsistemi ana sistemle veri aktarımı ve kontrol amacıyla tümleştiren, gerekirse özel giriş/çıkış donanımı kullanan bilgisayarlardır. Bir banka sisteminde bulunabilecek geniş alan ağına bağlantı sağlayan bilgisayar birimi, bir endüstriyel kontrol sisteminde ısı algılayıcılarından gelen verileri toplayan veya havalandırma kapaklarını açan düzenekleri kumanda eden uç bilgisayarlar örnek olarak verilebilir. Ağ Birimleri, günümüzdeki çok yaygınlaşan dağıtık bilgi işleme özelliğini desteklemek üzere kullanılan, çeşitli bilgisayarları ağ ile birbirine bağlayan anahtar, tekrarlayıcı, geçit gibi aktif donanım birimleri ile kablolardır. Yazılım Mühendisliğine Giriş 37 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Donanım Altsistemler, ana sistemin denetiminde bulunan ve uygulama alanının özelliklerine özgü bir işlev gerçekleştiren ayrık sistemlerdir. Sıcaklık denetim sisteminin ısı algılayıcıları, bir güvenlik kontrol sisteminin kapı otomatiği, bir makine kontrol birimi, hava trafik kontrol sisteminin radarı, savunma sistemine ait bir top bunlar arasında sayılabilir. Uç Birimler, sistemin etkileşimde bulunduğu giriş/çıkış aygıtları ve çevre birimleridir. Bunlar arasında yazıcı, tarayıcı, veri kayıtçısı ve yedekleme birimi bulunabilir. Yazılım Mühendisliğine Giriş 38 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Altyapı Yazılımları Bilgisayarı çalıştırabilmek için kullanılan işletim sisteminden başlamak üzere uygulama yazılımlarına bir arayüz hizmeti veren her türlü yazılım bu gruba girer. Bu tür yazılımlara bazen sistem yazılımı adı da verilir. Bu yazılımların ortak özellikleri arasında bilgisayar donanımına erişmeleri, çok sayıda kullanıcıya tutarlı bir şekilde hizmet vermeleri, bilgisayar özkaynaklarını en uygun şekilde kullanarak iş sıralaması yapabilmeleri sayılabilir. Altyapı yazılımlarını işletim sistemi, ara katman yazılımı ve yardımcı yazılımlar oluşturur. İşletim sistemi, bilgisayar donanımını kullanılır hale getirmek üzere merkezi işlem birimi tarafından sürekli olarak koşturulan çekirdek yazılım grubudur. Bazı işletim sistemleri ofis bilgisayarlarında kullanılmak üzere grafiksel kullanıcı arayüzü de içerirken, bazı işletim sistemleri de gömülü ya da tahsisli sistemlerde kullanılmak üzere en küçük hale getirilmiş çekirdekten oluşur. İşletim sistemi seçimi, yazılım mühendisliğinin önemli kararlarından biridir. Yazılım Mühendisliğine Giriş 39 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Altyapı Yazılımları Donanım, ağ yapıları, işletim sistemi gibi yazılım yapısının dikey ekseninin alt katmanlarında hızlı teknolojik gelişmeler nedeniyle değişim gereksinimi ortaya çıkmaktadır. Uygulama yazılımları katmanında bu değişim gereksinimi daha az olduğu için buraya yapılan yatırımın korunmasında yarar vardır. Bunu sağlamanın yolu, teknolojik zorlama nedeniyle değişim hızları farklı olan bu iki katmanı ayrı bir ara katman (middleware) ile ayırmaktır. Yazılım Mühendisliğine Giriş 40 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Altyapı Yazılımları Altyapı içinde yer alabilecek yardımcı yazılımlara örnek olarak, hata dayanıklılığını artıran izleme düzenekleri, grafiksel kullanıcı arayüz geliştirmede kullanılacak yüksek düzey tasarım ve geliştirme araçları, uygulama alanına özgü özel yazılım kütüphaneleri sayılabilir. Yazılım Mühendisliğine Giriş 41 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Uygulama yazılımı tamamen sistemin kullanılacağı alana özgü işlevleri yerine getirecek yazılım birimlerini içeren bileşendir. Asıl yazılım geliştirme süreci daha çok bu bileşen için uygulanır. Zira donanım geliştirilmesi donanım uzmanları tarafından yapılırken, yazılım uzmanları da uygun modellere göre, önce genel amaçlı altyapı yazılımını, sonra da uygulama yazılımlarını geliştirirler. Yazılım Mühendisliğine Giriş 42 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Uygulama yazılımlarını en geçerli kullanım alanlarına göre gruplara ayırabiliriz: Özel Sistem Yazılımları Çeşitli altsistemlerle etkileşim halinde olan, özel bilgisayarlar üzerinde çalışan tümleştirme ve kontrol donanımları kullanan yazılımlardır. Geliştirilmeleri büyük mühendislik çabaları ve maliyet gerektirir. Az sayıda üretildiklerinden birbirlerine benzer yanları az, ortak kullanılabilirlikleri oldukça düşüktür (Bir havaalanı için geliştirilmiş hava trafik kontrol sistemini bir başka havaalanında kullanmak oldukça güçtür, hatta olanaksızdır). Yazılım Mühendisliğine Giriş 43 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Kişisel Bilgisayar Yazılımları Kişisel bilgisayarlar üzerinde çalışan ve piyasadan kolaylıkla temin edilebilen yazılımlardır. Genellikle, masaüstü yayıncılık, ofis işlemleri ve otomasyonu, görüntü işleme, sesli ve görüntülü eğlence yazılımları gibi amaçlara hizmet eder. Bu tür yazılımların geliştirilmesi, geliştirilmiş olanların yeni sürümlerinin çıkarılması daha çok yazılım üretici firmanın satış başarısına ve üretim politikasına bağlıdır. Yazılım Mühendisliğine Giriş 44 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları İş Dünyası Yazılımları İş dünyasına ilişkin bilgileri işlemek üzere geliştirilen muhasebe ve personel yazılımları, üretim ve depo kayıt yönetim sistemleri gibi yönetim ağırlıklı yazılımlardır. Çok miktarda veri toplar, saklar, işler, sonuçları kararlarında yardımcı olmak üzere yönetim grubuna sunar. Yazılım Mühendisliğine Giriş 45 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Mühendislik Yazılımları Mühendislik ve bilimsel uygulamalarda kullanılan, sayısal çözümlemeler yapan yazılımlardır. Astronomi hesaplamaları, çeşitli metalürjik stres çözümlemeleri, dinamik problem çözümleri gibi mühendislik hesaplamaları gerektiren konular, sistem benzetimi, bilgisayar destekli tasarım bu kapsama girer. Yazılım Mühendisliğine Giriş 46 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Bilimsel Yazılımlar Birçok alanda ilk ürünler bir araştırma ve geliştirme sürecinin sonunda ortaya çıkmışlardır. Araştırma yapanlar arasında çeşitli devlet kurum ve kuruluşları, üniversiteler, araştırma merkezleri ve özel sektör firmalarının araştırma-geliştirme (AR-GE) bölümlerinde, belirli kavramları, yaklaşımları, yöntemleri, sistem tasarımlarını gerçekleştirip uygulanabilirliğini kanıtlamak üzere geliştirilen yazılımlardır. Örneğin, yeni bir işletim sistemi, bir dil, bir derleyici, bazı işlemleri daha iyi yapabilen özel algoritmalar, yazılım yardımcıları akademik amaçlı olarak geliştirilebilir. Yazılım Mühendisliğine Giriş 47 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Yapay Zekâ Yazılımları Yapay zekâ (artificial İntelligence) yazılımları genellikle nümerik olmayan problemleri çözebilmek üzere PROLOG, LISP gibi özel amaçlı diller kullanılarak geliştirilirler. Bazen başka bir sistemin içinde ayrı bir bileşen olarak çalışırlar. Başarım için doğru çalışma ve sonuç verme, hızdan önde gelir. Yazılım Mühendisliğine Giriş 48 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Veritabanı Yönetim Sistemi Yazılımları Büyük miktarlardaki verileri sayısal ortamda depolamak, gerektiğinde üzerlerinde işlem yapmak ve istenen verilere çok kısa süre içinde erişerek derleyebilmek üzere kullanılan yazılımlardır. Geniş hacimli bilgi depolarına (sabit disk, optik veya manyetik ortam gibi) sahip bilgisayarlar üzerine veritabanı kurulur, istemci sunucu mimarisi ile çok sayıda kullanıcının verilere güvenli bir şekilde ulaşabileceği ortam sağlanır. Nüfus kayıt sistemi, banka sistemleri, okul kayıt sistemi, stok kontrol sistemi gibi depolama ağırlıklı sistemlerin arkasında mutlaka güçlü bir veritabanı yönetim sistemi yazılımı bulunur. Yazılım Mühendisliğine Giriş 49 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları İnternet/Ağ Yazılımları Günümüzde artık İnternet yalnızca bilgiyi paylaşmak değil, elektronik ortamda işlemler yapmak için de kullanılmaktadır. Elektronik ticaret, bankacılık, eğitim, devlet kurumlarıyla işlemler artık İnternet üzerinden yapılabilmektedir. Hatta "e-'' ile başlayan çeşitli uygulama alanları (e-devlet, e-ticaret gibi) ortaya çıkmıştır. İnternetin yaygınlaşmasıyla erişim genişlediğinden güvenlik ve denetim konuları da giderek önem kazanmaktadır. Yazılım Mühendisliğine Giriş 50 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları AR-GE Yazılımları Bilgisayarlı sistemlerde kullanılan yazılımların bir kısmı belirli bir ARaştırma ve GEliştirme (AR-GE) aşamasından geçerek gerçekleştirilirler. Araştırma sonucu elde edilen bilgi ve deneyime dayanarak sistemlerin ilk örnekleri geliştirilir. Bundan sonra asıl ürünü oluşturmak üzere normal geliştirme aşamaları uygulanır. Bazı durumlarda, ilk kez geliştirilen ve başka benzeri olmayan yazılımlar da AR-GE niteliğinde sayılabilir. Yazılım Mühendisliğine Giriş 51 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Bilgi/Bilişim Sistemleri Uygulama Yazılımları Hazır Ticari Paket Yazılımlar Uygulama alanına özgü belirli bir işlevi yerine getiren ve hazır olarak piyasada bulunan paket yazılımlar da uygulama yazılımlarının bir parçasını oluştururlar. Ofis uygulamaları, çizim gereçleri, resim ve görüntü işleme araçları bunlar arasında sayılabilir. Yazılım Mühendisliğine Giriş 52 KURUMSAL İLETİŞİM DİREKTÖRLÜĞÜ Directorate of Corporate Communication Yararlanılan Kaynaklar Yazılım Mühendisliği Temelleri. Dr. Erhan Sarıdoğan, Editör: Dr. Rıfat Çölkesen. Papatya Bilim Üniversite Yayıncılığı Yazılım Mühendisliğine Giriş 53