AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TYBS-301-01 Sistem Analizi ve Tasarımı HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN Prof. Dr. Şaban EREN Aralık 2014
Problem: Ali Çalışkan ın 2000 yılında kendi ve yakın arkadaşlarının ihtiyaçlarını karşılamak üzere evinin arka bahçesinde kurduğu marangozhanesi bugün 70 kişinin çalıştığı orta ölçekli bir işletme haline gelmiştir. Geçen 15 sene içinde, Çalışkan Mobilyalarında iş hacmi ve çalışanların sayısı artmış, iş fonksiyonları çeşitlenmiş ancak müşterinin isteğine göre üretim yapma felsefesi değişmemiştir. Ali Çalışkan gelişen iş hacmine bağlı olarak işletmesinde üretim, satış, tasarım, muhasebe ve satın alma fonksiyonlarını birbirinden ayırmıştır. Müşteri taleplerine bağlı olarak özel siparişle mobilyalar üretmekte ve yine çok beğenilen 128 ürünün seri üretimini yapmaktadır. Satış kanalı olarak tamamı ülkenin batısında olmak üzere 4 ana dağıtıcı firma ile çalışmaktadır. Müşteriler katalogdan seçtikleri ürünleri sipariş etmekte veya müşteri temsilcileri ile irtibat kurup, onlara özel siparişlerini vermektedir. Artan ürün ve müşteri sayısı, Çalışkan Mobilyalarında bazı sorunlara neden olmaktadır. Firma siparişlerinin üretilmesi esnasında ve ürünlerin gönderilmesi aşamasında zaman kaybetmekte, stoklarını tam olarak bilememekte ve basılı katalogları güncelleyememekte ve hazırlanması esnasında zaman ve para kaybetmektedir. Firma, bir kısmı bilgisayarda yapılan ve uyumunda sorunlar olana muhasebe ve stok işlemlerinin yerine, sipariş ve tasarım konularını da içerecek şekilde bilgi teknolojilerine dayanan bir çözümü arzulamaktadır. İşletmenin ortak bir veri tabanına sahip olması, bölümlerin ortak bir ağ altında çalışmaları, müşterileri ve bayileriyle iletişimde internet alt yapısını kullanması, işletmenin kurumsal kimliğini yansıtan bir web sitesinin hazırlanması, ürünlere ait kataloğun web sitesi aracılığı ile müşterilere duyurulması ve ürün tasarımında çizim bilgisayarlarının kullanılması istenmektedir. Ayrıca 2 yıl içinde bayi sayısını artırarak ülkenin her tarafına ürünlerini satmayı ve üç yıl içinde de yurtdışına mal göndermeyi hedeflemektedir. Bunlara göre; 1. Çalışkan Mobilyalarının gelecek ay istihdam edeceği sistem analistinde hangi özelliklerin bulunması gerekmektedir? 2. Sistem Analisti Çalışkan Mobilyalarının bilgi sistemini geliştirmeye nereden başlamalıdır? 3. Örnek bir proje çalışması hangi adımları içermelidir? 4. Sistem Analist gereksinimleri nasıl toplamalıdır? 5. Sistemin temel bilgi akışı için hangi formları hazırlamalıdır? 6. Fizibilite çalışmasını nasıl yapmalıdır? Sistemin yenilenmesine ve satın almaya yönelik kararları nasıl vermelidir? Hangi yazılım ve donanım ürünlerini satın almalıdır? 7. Sistemin tasarımını nasıl yapmalı ve hangi araçları kullanmalıdır? Kimlerle hangi işbirliğine gitmelidir? 8. Sistem kabul ve testlerinde hangi yöntemleri kullanmalıdır? 2
1. Çalışkan Mobilyalarının gelecek ay istihdam edeceği sistem analistinde hangi özelliklerin bulunması gerekmektedir? Genel olarak sistem analistinin sistemin donanım ve yazılımını geliştirme kısımlarına kadar girmese bile, sistemin fonksiyonel çözümlemesi yanında fonksiyonel mimarisini ve tasarlanmasını yapabilmelidir. Bu sebeple sistem analisti yazılım geliştirme dilleri ve ortamlarına aşina olmalıdır. Bilgi sistemlerini geliştirmek ve değiştirmek için diğer bölümler ve kendi bölümü içerisinde koordineli bilgi toplayabilmeli, analiz edebilmelidir. Kuruluşlarını yapmalı ya da denetlemelidir. Çalışmakta olan kurulmuş sistemleri değerlendirir ve geliştirilmeleri için önerilerde bulunur. Araştırmaları ve çalışmaları belgeler. Yapılan tüm işlerin, iş yapış şekillerini sürekli kılar. Dokümantasyon ve arşivlemeyi yaptırır. Çözümler arası bütünleşme sağlayabilmelidir. Ayrıca üniversitelerin bilgi teknolojileri alanında eğitim veren ilgili bölümlerinden mezun olmalı, iyi seviyede İngilizce bilmeli, Office Programlarını ve veri işleme programlarını etkin bir şekilde kullanabilmeli, ağ ve internet teknolojileri konusunda bilgi sahibi olmalı, e-ticaret sektöründe tecrübesi olmalı, veri tabanı ile yazılım geliştirme bilgi ve deneyimi olmalı, ERP konusunda deneyimi olmalı, süreç analizi ve/veya iş analizi konularında tecrübeli, yazılım ve donanım ihtiyaç analizlerinde yeterli bilgi ve tecrübesi olmalı, düzenli raporlama alışkanlığı olmalı ve dokümantasyona önem vermelidir. 2. Sistem Analisti Çalışkan Mobilyalarının bilgi sistemini geliştirmeye nereden başlamalıdır? Çalışkan Mobilyaları için en uygun çözüm seçeneğini saptayabilmek için her çözüm seçeneği yetenekleri, maliyeti, uygulanabilirliği açısından ortaya koymalıdır. Bu çözüm seçenekleri içinde, kuruluş için en uygun olanını kuruluş sahibi ya da temsilcisi, genel müdür, proje müdürü, birim sorumlusu ve danışmanlar tarafından tartışılarak bulunur. En uygun çözüm seçeneğinin belirlenmesinin ardından, bu seçeneğin gerçekleşebilmesi için gerekli olan donanım ve yazılımın belirlenmesi aşamasına geçmelidir. 3. Örnek bir proje çalışması hangi adımları içermelidir? Planlama, çözümleme, tasarım, gerçekleştirme, kullanım ve bakım. 4. Sistem Analist gereksinimleri nasıl toplamalıdır? Gereksinimleri ortaya çıkarabilmek için, her şeyden önce, işletmenin nasıl çalıştığının bilinmesi gerekir. İlk olarak işletmede sürdürülen işlemleri tanımaya çalışmalıdır. Bunun için; a) İşletmeyi tanıma toplantıları yapılmalı b) İşletmeyi tanıtan yazılı belgeler incelenmeli c) İşletmede sürdürülen çalışmalar gözlenmeli d) Yöneticiler ile görüşülmeli e) Yetkililer ile görüşülmeli f) Çalışanlar ile görüşülmeli Bir ön rapor hazırlanmalı ve bu raporda; i. İşletmenin tanımı ii. İşletmede sürdürülen çalışmalar iii. İşlemler arası ilintiler iv. Gözlemler sırasında görülen olumlu ve olumsuz çalışmalar olmalıdır. 3
Raporun ayrıntılarında özelikle olması gereken bilgiler; a. Müşteri bilgileri b. Ürün bilgileri c. Hammadde bilgileri d. Sipariş alma yöntemleri e. Hammadde sağlama yöntemleri f. Gereksinim hesabı g. Planlama h. Üretimin izlenmesi i. Depolar j. Satış k. Sevk Daha sonra toplantılarda, ön raporda yer alan konular üzerinde tartışılır. Gözlemlenen eksiklikler ve aksaklıklar birim yöneticilerine aktarılır; görüşleri sorulur. Görüş birliğine varılan konular belirlenir. Eksiklik ve aksaklıkların giderilmesi konusunda olası çözümlerin neler olabileceği kendilerine anlatılır. Son aşamada, birimlerde çalışan kişilerle görüşmeler yapılır. Bu görüşmelerde, çalışanların, yeni sistemden beklentileri öğrenilmeye çalışılır. Gereksinimlerin belirlenmesinin ardından, Gereksinim Raporu hazırlanır. Bu rapor tepe yöneticilere ve birim sorumlularına iletilir; görüşleri alınır. Alınan görüşler doğrultusunda, gerekirse raporda düzeltme yapılır. 5. Sistemin temel bilgi akışı için hangi formları hazırlamalıdır? Blok diyagramları, süreç akış diyagramları, işlem akış diyagramları, sistem akış diyagramları, program akış diyagramları, karar tabloları, giriş/çıkış kartları, form analiz kartı, form dağıtım kartı ve veri öğeleri analiz kartı. 6. Fizibilite çalışmasını nasıl yapmalıdır? Sistemin yenilenmesine ve satın almaya yönelik kararları nasıl vermelidir? Hangi yazılım ve donanım ürünlerini satın almalıdır? İşlevsel Fizibilite: İşlevsel fizibilite bir sistemin ne kadar işlevsel olduğunu ve olabileceğini bulmak için yapılmaktadır. Sistem kullanıcılarının yeni işlevlerle uyumu ve tepkisi ölçülür. Ekonomik Fizibilite: Sistem üzerinde gerçekleştirilmesi gereken değişikliklerin maliyet ve getiri hesaplamaları yapılarak en uygun çözümün, ekonomik açıdan, bulunması sağlanır. Varlığını devam ettiren profesyonel sistemlerin bir çoğu, geliştirme aşamalarında maliyeti düşürmeyi ve getirileri arttırmayı hedefler. Teknik Fizibilite: Sistemin donanımsal, yazılımsal ve bu donanım ve yazılımın etkili ve verimli kullanılma durumu teknik fizibilite ile görülür. Bu fizibilite ile sistemin gerekli teknolojiye sahip olup olmadığını, eğer sahipse kullanılıp kullanılmadığını, eğer sahip değilse gereksinim duyulan teknolojinin nasıl elde edilip kullanılacağının çözümlerini arar. Zamanlanmış Fizibilite: Düşünülen yeni sistemin kullanıcı ile anlaşılmış şartlarda ve zamanda tamamlanıp teslim edilebilirliğinin fizibilitesini yapar. Sosyal Fizibilite: Önerilen sistem kullanıcılar tarafından kabul edilir mi araştırması yapılır. Sistem çok gelişmiş yeteneklere sahip olabilir ama aynı zamanda kullanıcı dostu olması gereklidir karışık tasarımlar kullanıcı tarafından tercih edilmemektedir. Yönetim Fizibilitesi: Yönetimin yeni sisteme bakış açısı ve destek düzeyi belirlenir. Üst yönetimin tam desteğini almak devamlılık açısından oldukça önemlidir. Yasal Fizibilite: Önerilen sistemin yasalara uygun olup olmadığı belirlenir. 4
Sistemin gerekliliği ve kavram analizin bu sistemi karşılaması (eğer sistem dışarıdan temin edilecekse) satın alma yönünden yardımcı olur. Genellikle IT projelerinde satın alma-karar verme işlemi bu safhada gerçekleşir. Donanım seçimindeki ölçütler; amaca uygunluk, başarım, fiyat ve ödeme koşulları, sağlayıcı kuruluşun yeterliği, satış sonrası destek olarak sıralanabilir. Yazılım gereksinimlerini karşılamak için ilk yapılması gereken, mevcut yazılımların gereksinimleri karşılayıp karşılamadığının araştırılmasıdır. Eğer, gereksinimleri karşılayacak bir yazılım bulunabiliyor ise, bu yazılımın sağlanması yolu yeğlenmelidir. 7. Sistemin tasarımını nasıl yapmalı ve hangi araçları kullanmalıdır? Kimlerle hangi işbirliğine gitmelidir? Tasarım sırasında, mevcut ve denenmiş birimlerin kullanılması ilk düşünülmesi gereken noktadır. Yazılım tasarımı ile donanım tasarımı karşılaştırıldığında, donanım tasarımının daha kolay olduğu söylenebilir. Tasarımda kullanılacak olan yazılımların da hazır yazılımlar içinden seçilmesi büyük kolaylık sağlar. Sunucu donanımını belirlerken göz önünde bulundurulması gereken noktalar; işlemci hızı, bellek sığası, disk sığası, disk yapısı, güç kaynağı ve genel donanım yapısı. Günümüzde kullanılan istemcilerin çoğunluğu bireysel bilgisayar temellidir. Kurum içi iletişim altyapısı, kurulan bilgisayar sistemine bağlı olduğu gibi, işletmenin yerleşimine de bağlıdır. Bu nedenle, her ikisi birlikte düşünülmelidir. Bilgisayar ile kullanılabilecek çevre birimler içinde en yaygın olarak kullanılan birim yazıcıdır. Amaca yönelik değişik özelikte yazıcı kullanılabilir. Yazılım geliştirme teknikleri her geçen gün gelişmektedir. Yazılımlar giderek daha görsel ve daha kolay kullanılır hale gelmektedir. Yazılım geliştirme araçları ve dilleri de giderek gelişmekte ve programcıların işlerini kolaylaştırmaktadır. Günümüzde geliştirilen yazılımlar genellikle nesneye dayalı ve görselliği yüksek olmaktadır. Yazılım geliştirmesine başlamadan önce, yazılımın ana çatısı kurulmalıdır. Yazılımın hangi parçalardan oluşacağı, her bir program parçasının işlevi belirlenmelidir. Buna ek olarak programlar arasındaki ilişkiler belirlenmelidir. Büyük boy yazılımlar genellikle veri tabanı kullanmaktadır. Bu nedenle, sistem tasarımında veri tabanı tasarımı önemli bir yer tutmaktadır. 8. Sistem kabul ve testlerinde hangi yöntemleri kullanmalıdır? Geliştirilmesi tamamlanan her program kullanıcılara verilmeden önce sınanmak zorundadır. İlk sınama programı geliştiren kişi ya da takım tarafından yerine getirilir. Bundan sonraki aşamada, program kullanıcılara sınanmak üzere teslim edilir. Bu aşamada, kullanıcıların rastladıkları yanlışlar ve tıkanıklıkların yanı sıra kullanım kolaylığı da sınanmış olur. Kullanıcıların bildirdikleri öneriler dikkate alınıp kullanıcı ara yüzlerinde gerekli değişiklikler yapılır. Burada anlatılan sınama yöntemi tüm yazılım parçaları için yinelenir; bir bütün oluşturan yazılım aşamasına gelindiğinde bu yazılım kümesi tümden denenir. Örneğin temel tanımlar içinde yer alan yirmi kadar program teker teker sınandıktan sonra, temel tanımlar yazılım parçasının tümü sınanır. Bu sınamadan başarıyla geçildiği durumda kullanıcıların kullanımına sunulur. Her bir yazılım kümesi denendikten sonra işletmede kullanılmaya başlanabilir. 5