Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) • Sistem analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla • En iyi geliştirilmiş sistemin oluşmasını sağlayan • Analiz ve dizayn için safhalı bir yaklaşımdır. SDLC • Sistem Geliştirme Yaşam Döngüsünü birbirinden ayrı adımlar olarak değil, • Safhalar içinde başarılan bir süreç olarak düşünmek daha faydalı olacaktır. SDLC 1. Problemlerin, fırsatların ve amaçların tanımlanması 7. Sistemin gerçekleştirilmesi ve değerlendirilmesi 2. Bilgi gereksinimlerinin belirlenmesi 3. Sistem ihtiyaçlarının analizi 4. Önerilen sistemin tasarımı 6. Sistemin test edilmesi ve sürdürülmesi 5. Yazılımın geliştirilmesi ve belge oluşturulması 1. Problemlerin, Fırsatların ve Amaçların Tanımlanması • Sistem analisti problemlerin, fırsatların ve amaçların tanımlanmasına odaklanmalıdır. • Bu ilk safha projenin geri kalanının başarısı için kritik rol oynamaktadır. • Analist öncelikle işletmede neler olduğuna bakmalıdır. • Tespit ettiği problemlerle diğer işletme üyelerini bir araya getirmelidir. • Fırsatlar, analistin bilgi sistemlerinin kullanımıyla geliştirileceğine inandığı durumlardır. • Fırsatları yakalamak, işletmenin rekabet ortamında öne geçmesini sağlayabilir. • Amaçların belirlenmesi ilk safhanın önemli bir parçasıdır. • Bilgi sistemi uygulamalarının bazıları spesifik problemleri ve fırsatları belirleyerek işletmenin amaçlarına ulaşmasında yardımcı olabilir. • İlk safhada; kullanıcılar, analistler ve projeyi düzenleyen yöneticiler bulunur. • Bu safhanın faaliyetleri; müşteri yönetimi çalışmaları, elde edilen bilginin özetlenmesi, projenin sınırlarının tahminlenmesi ve sonuçlarının belgelenmesini içerir. • Bu safhanın çıktısı; problemin tanımı ve amaçların özetlenmesini içeren fizibilite raporudur. • Yönetim önerilen projede ilerleyip ilerlemeyeceğine karar vermelidir. 2. Bilgi Gereksinimlerinin Belirlenmesi İşletmede bilgi ihtiyaçlarının belirlenmesinde kullanılan araçlar; • Ham verinin örneklenmesi ve araştırılması • Karar vericilerin davranışları ve ofis çevresinin incelenmesi, sorgulanması ve gözlenmesi • Prototip oluşturulmasıdır. • Hızlı uygulama geliştirme (Rapid application development-RAD), yazılım araçları gibi geliştirme yöntemlerini de içeren sistem geliştirme için nesne uyumlu bir yaklaşımdır. • Bu safhada analist kullanıcıların çalışmalarını sürdürebilmeleri için hangi bilgiye ihtiyaçları olduğunu anlamaya çalışır. • Bu safhada; analistler, kullanıcılar, işlem yöneticileri ve işlem çalışanları bulunur. • Sistem analisti geçerli sistem fonksiyonlarının detaylarını bilmelidir. Bunun için; • Kim (Kapsadığı insanlar) • Ne (İşletme faaliyeti) • Nerede (İşletmenin çevresi) • Ne zaman (Zaman yönetimi) • Nasıl (Uygulanan geçerli yöntem) Ve “İşletme neden geçerli sistemi kullanıyor?” sorularını sormalıdır? • Mevcut sistemin kullanılması için geçerli sebepler olabilir, ancak daha iyi bir sistem dizaynı düşünülmelidir. • Analist, işletme fonksiyonlarını anlamalı ve insanların, hedeflerin, verilerin ve kullanılan yöntemlerin tam bilgisine sahip olmalıdır. 3. Sistem İhtiyaçlarının Analizi • İhtiyaçları belirlemesinde spesifik araçlar ve teknikler analiste yardımcı olur. • Bu araçlardan biri grafik form yapısında işletme fonksiyonlarının girdi, süreçler ve çıktı şemasının veri akış diyagramlarını kullanmaktır. • Veri akış diyagramlarından, sistemde kullanılan tüm verinin listelenmesiyle veri sözlüğü geliştirilir. • Bu safha boyunca sistem analisti karar verme yapısını analiz eder. • Yapılandırılan kararlar; şartlar, alternatifler, faaliyetler, faaliyet kuralları için belirlenebilir. • Yapılandırılmış kararların analizi için üç ana metod vardır; kullanılan dilin yapılandırılması, karar tabloları ve karar ağaçları • İşletme içindeki tüm kararlar yapılandırılamaz, ancak yapılandırma sistem analistinin işletmenin durumunu anlaması için önemlidir. • Yarı yapılandırılmış kararlar (risk altında kararların verilmesi) çoğunlukla Karar Destek Sistemleri tarafından desteklenir. • Yarı yapılandırılmış kararlarda analist; problemin karmaşıklık derecesini, düşünülen kriter sayısını temel alarak kararları inceler. • Çok-kriterli kararlar (birçok faktörün dengelenmesi gereken kararlar) bu safhanın bir parçasıdır. • Süreci ve ağırlıklandırma metodlarını içeren birçok teknik çok-kriterli kararlar için kullanılır. • SDLC’nin bu noktasında sistem analisti; alternatiflerin fayda/maliyet analizinin ve geliştirilen düşüncelerin özetini içeren sistem önerileri hazırlamalıdır. • Analist, yönetim tarafından kabul edilen sistem önerisini geliştirir. • Her sistem problemi tektir ve asla bir tek doğru çözüm içermez. • Oluşturulan düşünceler veya çözümler her analistin bireysel niteliklerine ve profesyonel eğitimine bağlıdır. 4. Önerilen Sistemin Dizaynı • Dizayn safhasında sistem analisti bilgi sisteminin mantıksal dizaynını gerçekleştirmek için önceden toplanan bilgiyi kullanır. • Analist, hatasız veri-giriş prosedürünü tasarlar, • Böylece bilgi sistemine giren verinin doğruluğu sağlanır. • İyi bir form ve ekran dizaynı tekniği kullanarak bilgi sistemi için etkili veriler sağlar. • Bilgi sisteminin mantıksal dizaynının bir parçası olarak kullanıcı arayüzü oluşturulur. • Arayüz, kullanıcı ile sistem arasındaki bağlantıyı sağlar. • Dizayn safhası, işletmede karar vericilerin ihtiyaç duyduğu çok miktardaki veriyi depolayacak dosyaların ve veri tabanının tasarımını içerir. • İyi düzenlenmiş bir veri tabanı tüm bilgi sistemlerinin temelidir. • Analist, sistemi ve veriyi korumak için ve programcılara programı geliştirebilmeleri için kontrol ve geri-dönüş prosedürleri tasarlamalıdır. 5. Yazılımın Geliştirilmesi ve Belge Oluşturulması • Bu safhada analist, gerekli orijinal yazılımı geliştirmek için programcılarla birlikte çalışır. Bu safha boyunca analist yazılım için; • Prosedürler • Online yardım, • Sık Sorulan Sorular (Frequently Asked Questions-FAQ) • “Read Me” dosyası gibi yapıları içeren etkili bir doküman geliştirmek için kullanıcılarla birlikte çalışır. • Dokümantasyon, kullanıcılara yazılımın nasıl kullanılacağını ve problem olursa ne yapmaları gerektiğini anlatır. 6.sistemin Test Edilmesi ve Sürdürülmesi • Bilgi sistemi kullanılmadan önce test edilmelidir. • Problem kullanıcıya ulaşmadan önce yakalanırsa çok daha az maliyete neden olur. • Önemli problemlerin testi için önce örnek veriler kullanılır, daha sonra mevcut sistemden gerçek veriler alınır. • Sistemin sürdürülmesi ve dokümantasyon bu safhada başlar ve bilgi sisteminin ömrü boyunca rutin olarak devam eder. 7. Sistemin Gerçekleştirilmesi ve Değerlendirilmesi • Sistem geliştirmenin son safhasında analist bilgi sisteminin gerçekleştirilmesini sağlar. • Eski sistemden yeni sisteme geçiş için bir plan oluşturur. • Bu süreç dosyaları eski formattan yeni formata dönüştürmeyi yada bir veri tabanı oluşturmayı kapsar. • Değerlendirme, çoğunlukla yeni sistemin tartışıldığı bölümdür. • Sağlanması gereken anahtar kriter ulaşılmak istenen kullanıcının sistemi gerçekten kullanıp kullanmadığıdır. • Sistem çalışması çoğunlukla döngüseldir. • Analist sistem geliştirmenin bir safhasını bitirdiğinde diğerine doğru ilerler. • Bir problemin bulunması analisti bir önceki safhaya geçmeye ve gerekli işlemi orada yapmaya zorlayabilir.