Sistem Analizi Ve Tasarımı Dersi 1. Ünite Özet
Sistem Analizi Ve Tasarımına Giriş
- Özet
- Sorularla Öğrenelim
Giriş
İşletmeler uzun süredir insan ve hammadde gibi kaynakların yönetiminin önemini bilmektedir. Günümüzde bilgi de önemli bir kaynak olarak karşımıza çıkmaktadır. Bilgi, iş yapmanın bir yan ürünü olmak yerine işletmenin başarılı olup olmayacağı konusunda kritik öneme sahiptir. Bir işletme, diğer kaynakları yönettiği gibi faydasını arttırmak için bilgiyi de doğru biçimde yönetmelidir. Bilginin doğru kullanımı, işletmeyi rekabetçi bir pozisyona getirmesi için önemlidir. Ama bunun da bir bedeli vardır. Bu nedenle yöneticiler; bilginin üretimi, dağıtımı, güvenliği ve depolanması için gerekli kaynakları ayırmalıdır. Ağ bağlantısı olan bilgisayarların varlığı ve İnternet erişiminin yaygınlaşması ile genel olarak toplumda ve özellikle işletmelerde bilgi patlamasına yol açmıştır. Elle üretilen verilere kıyasla bilgisayarlar tarafından büyük miktarlarda veri üretilebilmekte ve daha güvenli olduğu kabul görmektedir. Ancak bu verilerin organizasyonu ve sürdürülebilir olarak kullanımının maliyeti çok yüksek olabilir. Bu nedenle günümüzde bilgi sistemlerinin önemi artmıştır.
Sistem ve Bilgi Sistemi
Sistem, istenilen bir sonuca ulaşmak için birbiriyle ilişkili ve birlikte çalışan bir grup bileşendir. DVD oynatıcı, alıcı, hoparlör ve monitörden oluşan bir ev sinema sistemi örnek olarak verilebilir. Bilgi sistemi, işletmenin ihtiyaçlarını desteklemek için veri toplayan, işleyen, depolayan; insan, veri, süreçler ve bilgi teknolojilerinin etkileşimde bulunduğu bir yapıdır. Tipik bir bilgi sistemi aşağıdaki bileşenlerden oluşur:
- Donanım kaynakları: Sunucu, bilgisayar, monitör, klavye, yazıcı vb. sayısal ürünler.
- Yazılım kaynakları: Verileri düzenleyen, işleyen ve analiz eden programlar. Verilerin nasıl işleneceği ve analiz edileceğini belirten süreçler ve yordamlar.
- İnsan kaynakları: Bilgi sistemi sahibi, bilgi sistemini tasarlayan, kuran uzmanlar ve bilgi sistemini kullanan çalışanlar.
- Veri kaynakları: Bilgi sistemlerinin kullandığı ve ürettiği verilerin tutulduğu veri- tabanı (database) ve bilgi tabanı (knowledge base).
- Ağ kaynakları: İşletme içinde ve işletme dışındaki farklı birimlerin aynı bilgi sistemini kullanması durumunda birbiriyle bağlanmasını sağlayan yapılar. Bilgi sistemlerine örnek olarak işletme bilgi sistemleri, öğrenci bilgi sistemleri, coğrafi bilgi sistemleri ve hastane bilgi sistemleri verilebilir.
Bilgi Sistemlerinin Sınıflandırılması
Bilgi sistemleri, kullanıcıların ve işletmelerin ihtiyaçları doğrultusunda farklı biçimlerde ve boyutlarda olabilir. Bu sistemler yerine getirdiği işlevlere göre aşağıdaki şekilde sınıflandırılabilir.
- Kayıt İşleme Sistemleri: Günümüzde Kayıt İşleme Sistemleri (KİS), işletmenin muhasebe ve envanter gibi operasyonel düzeydeki işlemlerini kaydeden bilgisayar tabanlı sistemlerdir. Bu sistemler işletmenin dış dünya ile etkileşimde olduğu bir arayüzdür. Bilgisayar tabanlı KİS, eskiden elle yapılan sipariş, ödeme ve rezervasyon kayıtları gibi işlemler için gereken süreyi kısaltır.
- Ofis Otomasyon Sistemleri: Ofis Otomasyon Sistemleri (OOS) yeni bilgi üretmezler. Bu sistemler, bilgiyi analiz eden, gerekiyorsa bilgi üzerinde değişiklik yapan ve sonrasında gerekli birimlerle paylaşan çalışanları desteklemek üzere geliştirilirler. Bu sistemlere örnek olarak verilebilecek kelime işlemciler, tablolama ve masaüstü yayımcılık programları, e-posta ve sesli haberleşme sistemleri çalışanların günlük faaliyetlerini desteklemek için gereken belgeleri oluşturur ve paylaşmalarını sağlar.
- Yönetim Bilgi Sistemleri: Yönetim Bilgi Sistemleri (YBS), işlem verilerini kullanarak yöneticilerin ihtiyaç duydukları bilgileri üretir ve rapor hâlinde sunar. Bu sistemler, veriye erişmek için ortak bir veri- tabanı kullanır ve kullanıcıların veriye erişimine, yorumlamasına, uygulamasına yardımcı olmak için hem veriyi hem de modelleri veritabanına depolar.
- Karar Destek Sistemleri: Karar Destek Sistemleri (KDS), karar vericilerin alternatifleri belirlemesine ve bu alternatifler arasından birini tercih etmesine yardımcı olur. KDS ile YBS ortak veritabanını kaynak olarak kullanmaları nedeniyle birbirlerine benzemektedir. Ancak KDS, karar verme sürecinin her aşamasında kullanıcıya yardımcı olmasıyla YBSden farklılaşmaktadır.
- Uzman Sistemler: Uzman sistemler (US), uzman bir problem çözücünün veya karar vericinin bilgisine sahip olacak şekilde geliştirilir. Uzmanın düşüncesini taklit ederek işletmede ortaya çıkan bir probleme çözüm üretebilir. US, KDSden farklı olarak son kararı karar vericiye bırakmaz.
- Grup Karar Destek Sistemleri: Grup karar destek sistemleri (GKDS), bir grubun verilen problemi çözmesine yardımcı olmak üzere geliştirilir. Problem çözümünde oylama, anket, beyin fırtınası ve senaryo geliştirme gibi yöntemler kullanılır. Grup karar uygulaması gerekli donanımın, yazılımın ve grup üyelerinin birlikte olduğu bir ortamda kolaylaştırıcı görevi gören bir moderatör tarafından yönetilir. GKDS yazılımları, tüm grup üyelerinin aykırı da olsa fikirlerini belirtmekten kaçınmayacakları ve atılgan grup üyelerinin diğer grup üyeleri üzerindeki baskılarını en aza indirecek biçimde tasarlanmalıdır.
Bilgi Sisteminin Paydaşları
Bilgi sisteminin kurulması konusunda çalışacak sistem analisti kuracağı sistemin paydaşlarını bilmek zorundadır. Bilgi sistem paydaşları beş grupta sınıflandırılabilir. Bunlar; Sistem Sahipleri, Sistem Kullanıcıları, Sistem Tasarımcıları, Sistem Kurucuları ve Sistem Analistleridir. Sistem paydaşlarının görevlerini anlatmadan önce bir kişinin birden fazla paydaş kimliğine sahip olabileceğini belirtmeliyiz. Örneğin bir sistem analisti aynı zamanda sistem tasarımcısı olabilir. Bir sistemin içerisinde görev alan birçok paydaş bulunmaktadır. Sistemin işleyişini sağlayan sistyem sahipleri ve aynı zamanda sistemde yer alan sistem kullanıcıları bulunmaktadır. Sistem kullanıcıları iki kategoride değerlendirilir. Bunlar; dahili sistem kullanıcıları ve harici sistem kullanıcılarıdır. Bunların yanı sıra sistemin kurucuları ve tasarlayıcıları vardır. Bu kişiler sistemin gelen olarak karşılaması gereken gereklilikleri organize eder ve düzenlerler. Sistem analistleri ise sistemde yer alan bilgileri değerlendirerek bir analiz oluştururlar. Bir sistem analistinde bilgi teknolojiler bilgisi, programlama, iş süreçleri ve terminolojisi konusunda genel bilgi, kişiler arası iyi iletişim becerileri gibi özellikler olması gerekmektedir. Sistem analistleri genel olarak projelerde yönetici konumunda görev yapmaktadırlar.
Bilgi Sistemlerini Etkileyen Faktörler
Bilgi sistemlerinin gelişimini etkileyen faktörler güncel ticari eğilimler ve teknolojik gelişmeler olarak iki grupta sınıflandırılabilir.
- Ticari Eğilimler: Günümüzde iş ve ticaret yapma eğilimleri değişmektedir. Ortaya çıkan bu yeni eğilimler bilgi sistemlerini de etkilemektedir. Birçok yeni eğilim kısa sürede yok olurken, bazı ticari eğilimler sistemlerin gelişmesinde etkili olmaktadır. Bu eğilimlerin bir kısmı birbiriyle ilişkili ve bütünleşiktir. 1990’lı yıllardan itibaren ekonominin küreselleşme eğilimi giderek artmaktadır. Gelişmekte olan ülkelerin sunduğu düşük maliyetli, yüksek kaliteli alternatif ürünler sonucu rekabet de küreselleşmektedir. Bu nedenle bilgi sistemleri ve bilgisayar uygulamaları uluslararası olmak zorundadır. Uluslararası kullanılan bir bilgi sistemi, farklı yabancı dilleri, döviz kuru değişimlerini, uluslararası ticaret kurallarını ve değişik iş kültürü ve pratiklerini desteklemelidir. Ayrıca birçok bilgi sistemi performans analizi yapmak ve karar vermek için bilginin sağlam ve güvenilir olmasını gerektirmektedir. Ekonominin küreselleşmesi ve İnternet’in yaygınlaşması sonucu, işletmeler işlerini elektronik ticaret (eticaret) ve elektronik iş (e-iş) şekline dönüştürmekte veya genişletmektedir. Sayısal ekonomi geliştikçe insanlar ve işletmeler güvenlik ve gizlilik konularını öne çıkarmaktadır. “Güvenlikle ilgili konularda çalışanlar, ticari aktiviteleri kesintiye uğratacak bir felaket veya ihlalde ticaret nasıl devam edecektir?”, “İşletme sayısal varlıklarını dış tehditlerden nasıl koruyacaktır?” gibi sorulara cevap aramaktadır. Bu sorular temelde teknolojik olarak çözümlenebilir ancak her güvenlik tedbirine karşı zaman içinde bir saldırı yöntemi geliştiriliyor olması işletmelerin temel kaygısı olmaktadır. Dolayısıyla güvenlik ve gizlilik ön plana çıkmaktadır.
- Teknolojik Gelişmeler: Bilgi teknolojileri de bilgi sistemleri için itici bir faktör olabilir. Eskimiş teknolojiler önemli problemlere ve bu problemlerin çözümü için bilgi sistemi projelerinin geliştirilmesine sebep olabilir. Yeni teknolojiler ise iş fırsatları ortaya çıkarabilir. Günümüz bilgi teknolojileri yerel ve geniş alan ağlarından oluşan bir ağ mimarisi üzerine kurulmaktadır. Bu ağlar ana bilgisayar, ağ sunucuları ve çeşitli masaüstü, dizüstü, tablet bilgisayarlar tarafından kullanılmaktadır. Günümüzdeki en yaygın ağ teknolojileri İnternet tabanlıdır. Bunların yanı sıra; Mobil ve kablosuz teknolojiler bilgi sistemlerini büyük oranda değiştirmektedir. Günümüzde akıllı telefonlar ve tabletler mobil uygulamalarda, web göz atmasında ve e-posta iletiminde yaygın olarak kullanılmaktadır. Ayrıca, Günümüzde birçok bilgi sistemi nesne teknolojileri kullanarak geliştirilmektedir. Bu konuda yaygın olarak kullanılan C++, Java, Smalltalk, Visual Basic.NET ve C# gibi programlama dilleri nesne tabanlıdır. Nesne teknolojileri programcıların yazılımı nesne olarak adlandırılan program parçalarından oluşturmasına izin verir. Nesne tabanlı yazılım iki önemli avantaj sunmaktadır. Birincisi, nesneler bir defa tasarlanıp geliştirildikten sonra birçok bilgi sistemi ve uygulamada yeniden kullanılabilir. Bu ileride geliştirilecek yazılım uygulamaları için gerekli zaman ve maliyeti azaltacaktır. İkinci avantaj ise nesnelerin genişleyebilir olmasıdır. Nesneler, tasarlandıkları uygulamaları olumsuz etkilemeksizin kolaylıkla değiştirilebilir ve genişletilebilir. Bu durum yazılımın sürdürülme ve iyileştirme maliyetlerini azaltır. Bunlara ek olarak kurumsal uygulamalar ve işbirlikçi teknolojiler de teknolojik gelişmelere örnek olarak gösterilebilir.
Sistem Geliştirme Yaşam Döngüsü
Sistem geliştirme yaşam döngüsü (SGYD), sistem analizi ve tasarımının, analist ve kullanıcı faaliyetlerinin özel yöntemler aracılığıyla geliştirildiği, fazlara bölünmüş bir yaklaşımdır. SGYD içinde kaç faz olacağı konusunda genel bir kabul bulunmamaktadır. Burada ele alınacak SGYD altı fazlı olacaktır. Bunlar sırasıyla:
- Kapsam ve Planlama: Sistem geliştirmenin bu fazında sistem analisti, problemlerin, fırsatların ve amaçların belirlenmesi ile ilgilenir. Bu faz projenin geri kalanı için kritik önemdedir çünkü yanlış bir problem üzerinde çalışıp zaman kaybetmeyi hiç kimse istemez. Bu fazda analist iş dünyasında ne olduğunu inceler ve işletmedeki diğer üyelerle problemleri tespit eder. Fırsatlar, analistin bilgisayar tabanlı bilgi sistemlerini kullanarak iyileştirileceğine inandığı durumlardır. Fırsatları yakalamak, işletmeye rekabetçi kimlik veya endüstriye yeni bir standart kazandırabilir. Amaçları belirlemek de bu fazdaki önemli bir adımdır. Analist öncelikle işletmenin yapmak istediğini keşfetmeli, daha sonra bilgi sistemleri uygulamalarının bu amaçlara ulaşmakta nasıl kullanılabileceğini planlamalıdır. Bu fazla ilgili olan paydaşlar, sistem sahipleri, proje koordinasyonunu sağlayan yöneticiler ve sistem analistleridir.
- Gereksinim Analizi: Analistin ilgileneceği bir sonraki görev sistem gereksinimlerinin analizidir. Analist, veri akış diyagramları, faaliyet diyagramları gibi araçları kullanarak geliştirilen sistemdeki tüm verilerin ve özelliklerinin yer aldığı bir sözlük oluşturur. Bu fazda analist, şartlar, şartların alternatifleri, aksiyonlar ve aksiyon kurallarını içeren yapısal kararları da analiz eder. Ayrıca analist, kullanıcılar hakkındaki bulguları, mevcut sistemlerin kullanılabilirliklerini, alternatiflerin maliyet-kâr analizlerini içeren bir rapor da hazırlar. Bu rapor doğrultusunda ne yapılması gerektiği konusunda düşüncelerini içeren bir sistem önerisi hazırlar. Öneri yönetim tarafından kabul edilirse bu yönde çalışmaya devam eder.
- Tasarım: SGYD’nin bu fazında, sistem analisti bilgi sisteminin mantıksal tasarımı için önceden toplanan bilgileri kullanır. Kullanıcıların bilgi sistemine doğru veri girişi yapabilmeleri için yöntemleri tasarlar. Analist, bilgi girişlerinin etkin olarak yapılabilmesi için uygun web sayfası veya ekran pencerelerini tasarlar. Mantıksal tasarımın önemli bir kısmı insan-bilgisayar arayüzünü tasarlamaktır. Kullanıcı arayüzü duyulabilir, okunabilir, güvenli, çekici ve eğlenceli olmalıdır. Eğer tasarım çekici değilse, kullanıcılara cazip gelmeyecektir.
- Gerçekleştirme ve Test: Tasarım fazında özellikleri belirlenen sistem bu fazda gerçeklenir ve test edilir. Programcılar sistemi oluşturan yazılımı ve eski sistem ile yeni sistem arasındaki arayüzleri geliştirir. Programcılar ve analistler program parçalarında ve tüm sistemde oluşabilecek hataları bulmak ve düzeltmek üzere testler uygular. Testler başlangıçta örnek veriler ile yapılırken teslimden önce gerçek veriler ile tamamlanır. Bu fazda analist, kullanıcılarla birlikte çalışarak yazılım, kullanım prosedürleri, çevrimiçi yardım, sıkça sorulan sorular kısımlarını içeren belgeyi hazırlar. Bu belge, yazılımın nasıl kullanılacağını ve problem çıkınca nasıl çözümleneceğini anlatmalıdır.
- Kurulum ve Dağıtım: Bu fazda analist bilgi sisteminin kurulumuna yardım eder. Kullanıcılara yazılım sağlayıcıları tarafından eğitim verilir. Genelde eğitimleri düzenleyen ve yöneten analisttir. Analist aynı zamanda eski sistemden yenisine düzgün ve sorunsuz geçişi planlar. Bu süreç eski formatta yazılan programların yeni formata dönüştürülmesi, bir veritabanının kurulması, cihazların kurulumu ve yeni sistemin çalışır hâle getirilmesini içerir.
- Operasyon ve Bakım: Sistem kurulduktan sonra sürdürülmelidir. Diğer bir ifade ile bilgisayar programları uyarlanmalı ve güncel tutulmalıdır. Sistemi sürdürmek için harcanan zamanın, sistem geliştirme için harcanan zamanın %60’ına kadar ulaşabileceği tahmin edilmektedir. Yazılan programların sayısı arttıkça sistemin sürdürülebilme yükü de artmaktadır. Bakım iki nedenle yapılır. Birincisi yazılım hatalarının düzeltilmesidir. Sistem ne kadar test edilirse edilsin böcekler (bugs) ve hatalar oluşabilir. Ticari programlarda böcekler yeni sürümde veya bir ara sürümde düzeltilebilir. Ancak özel olarak geliştirilen programlarda böcekler algılandığı anda düzeltilmelidir. Sistem bakımının ikinci sebebi de değişen işletme ihtiyaçlarını karşılamak için yazılım kapasitesinin iyileştirilmesidir.