ENDÜSTRİYEL IT SİSTEMLERİNDE SİSTEM ANALİZİ
Günümüzde endüstriyel otomasyon sistemlerini çeşitli gruplara ayırmak mümkündür. Bunlar kullanım yerleri ve amaçlarına göre değişik kriterlerde ayrılabilir. Ancak sanırım en geçerli sınıflandırma işletme ile müşteri arasında kurulan mal ve hizmetlerin geçiş düzenine göre yapılan sınıflandırmadır. Burada üç ana kavram ortaya çıkar ki biz bunları İşletme, Zincir ve Müşteri olarak adlandırabiliriz. Bu üç değişik kademe içerisinde elbette ki diğerleri ile ilişkili olarak sırası ile ERP (Enterprise Resources Planning), SCM (Supply Chain Management) ve CRM (Customer Relations Management) başlıkları altında değişik uygulamalar saymak mümkün.
Bu uygulamalar sadece belirli departmanlarda uygulanıyor olabileceği gibi tüm işletmeye yayılmış büyük sistemler de olabilir. Belirli departmanlarda uygulanan küçük ve bağımsız uygulamaların işe çok daha uygun ve departmana özel bir çok özelliği barındırıyor olmasına rağmen bilginin diğer departmanlarla paylaşımı ve özellikle de üst yönetimin etkili çapraz raporlamaları yapabilmesi amacıyla işletme tabanına yayılmış büyük sistemler tercih edilmektedir.
- Sistemler ~ İşin Gerekleri
Özellikle proses ve iş akışlarının çok dinamik olduğu günümüz endüstriyel IT sistemlerinde iş gerekleri günden güne değişmektedir. Bir gün için gerekli olan veri ve fonksiyonlar işletmenin değişen ihtiyaçları ile birlikte yetersiz ya da tek başlarına önemsiz kalmaktadır. Böyle durumlarda hem işletmenin fiziksel işleyişi hem de yazılım ve donanım olarak bilgi sistemi modifiye edilerek yeni oluşumları karşılayabilecek hale getirilmelidir.
Nasıl ki yeni bir makine, hat, bir departman için fizibilite çalışmaları ve işleyiş prosedürleri oluşturulursa aynı şekilde Endüstriyel IT sistemleri için de bunların yerini tutabilecek Sistem Analizleri ve Sistem Tasarım raporları hazırlanır. Bu iki kavram her ne kadar birbirlerine benzese de uygulamada farklıdır.
a. Sistem Analizi
Sistem analizi, hepsi bir araya geldiğinde anlamlı bir bütün oluşturan bir grup birbiriyle etkileşimli, bağlantılı veya bağımsız iş fonksiyonları, prosedürleri, aktiviteleri veya elemanlarını ayrılabilecek en küçük iş parçacıklarına ayırarak tanımlamaktır.
b. Sistem Tasarımı
Sistem tasarımı belirli bir hedefe veya ihtiyaca yönelik olarak analizde tanımlanmış parçacıklarından hedef veya ihtiyacı karşılayacak şekilde anlamlı bir bütün oluşturmaktır.
Sistem geliştirme sistemleri de diğer tüm işler gibi bir iskelet yapı altında çalışır. Sistem geliştirme de kullanılan bu çatıya SDLC (System Development Life Cycle) adı verilir. Bu iskelet altında bulunan tüm proses ve aktiviteler, iyi tanımlanmış kapsamlı prosedürlerden oluşan metodolojiye göre gerçekleştirilir. Bu metodolojide gerçekleştirilen analiz Proje kararının verilmesi ile uygulama arasında olduğunu varsayabileceğimiz üç ana aşamadan oluşur. Bu üç ana aşama aşağıdaki genel işlevleri yürütür:
a. Analiz
b. İnceleme
c. Tasarım
Bu üç aşamada fonksiyonlar ve veriler incelenerek yeni yapının temel taşları belirlenir.
4. System Development Life Cycle
Bir sistemin ortaya çıkışında özellikle yazılımda kullanılan değişik metodolojiler bulunmaktadır. Bu metodolojilerin kullanım amaçları sistemin sürekli yaşayan ve gelişen bir yapıda oluşturulabilmesidir. Bu yapının gelişmesi için en kritik nokta yazılımın analiz ve tasarım olarak adlandırılan kısmıdır ki zaten bu da yazılımın tüm geliştirme kısımını kapsar. SDLC (System Development Life Cycle) olarak adlandırdığımız bu çevrim aşağıdaki safhalardan oluşur:
a. Kavramsal Analiz Safhası (Conseptual Design Phase)
Kavramsal analiz esnasında işletmenin ihtiyaçları belirlenir ve sistem ile kapsanacak kavramsal uygulamalar belirlenir. Genel olarak bir proje planı oluşturulur, tanımlar ve çözümler belirlenir.
b. Detay Analiz Safhası (Detailed Analysis Phase)
Bu safhada sistem geliştiricileri ve kullanıcılar, kavram analizde tanımlanmış olan sistemin fonksiyonel ve mimari gereklerine karar verir. Bu gerekleri karşılamak için tasarlanması gereken sistemin altyapısını planlar ve sistem geliştirme için hazırlık yaparlar.
c. Geliştirme Safhası (Development Phase)
Geliştirme safhasında sistem geliştiriciler bir önceki safhada oluşturulan detay analize uygun olarak sistemin kodlamasını ve test prosedürlerini gerçekleştirirler. Kuruluş için hazırlık yaparlar.
d. Kuruluş Safhası (Implementation Phase)
Kuruluş safhasında sistem geliştiriciler kullanıcılara kullanıcı eğitimlerini verirler ve son kullanıcılar ile birlikte sistemi test ederler. Sistemin kavram analizde ön görülen kapsam dahilinde tüm ihtiyaçları karşıladığına dair hemfikir olunduğunda sistem geliştiriciler sistemin nihai kuruluşunu yapar ve sistem devreye alınır.
e. Kuruluş Sonrası Destek Safhası (Post Implementation Support Phase)
Bu safhada yöneticiler, kullanıcılar ve sistem geliştiriciler sistemi sürekli gözlem altında tutarlar. Önceki safhalarda belirlenen istek ve ihtiyaçlara uygunluğu sürekli ölçülür. Eğer gerekli olursa sistemin bütünsel yapısını bozmayacak küçük değişiklik talepleri bu safhada gerçekleşir. Sistemin gelişimi ve kullanılabilir ömrü tamamı ile bu safhanın sürekliliği ve etkinliğine bağlıdır.
Bu safhada uygun sistem çözümü, sistemin temel amaçları ortaya konur ve genel bir proje planı oluşturulur. İşletmenin sistem kapsamına giren iş akışları analiz edilir ve ihtiyaçlar ve hedefler belirlenir.
Genel Proje planı, projenin kapsamını, kurallarını, etki sınırlarını, ana hatlarını ve kısıtlarını yansıtır. Proje planı etkili bir detay analiz için önemlidir. Kesin ve net ifade edilmiş proje kapsamı detay analiz safhasında ihtiyaç ve çözümlerin doğru algılanabilmesini sağlar.
Kavramsal analiz safhası işletmenin hedefleri ve öngörülen sistem ile arasındaki köprüyü sağlar. Üst yönetimin karar aşaması genellikle kavram analiz sonrasında gerçekleşir. 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 ve Kavram Analiz Proje Planı karşılıklı imzalanarak detay analiz safhasına geçilir.
Kavram analiz safhasında aşağıdaki adımlar sırası ile uygulanır:
a. Proje gerekleri tanımlanır
i. Sistemin iyileştireceği düşünülen iş alanının mevcut durumu gözden geçirilir.
ii. İş alanının veri ihtiyaçları araştırılır.
iii. İş alanının hedefleri ve bilişim teknolojileri stratejisi gözden geçirilir.
b. Proje hedefleri tanımlanır.
i. Proje hedefleri organizasyonun hedefleri ile uyuşacak şekilde düzenlenir.
ii. Sistemin organizasyon üzerinde yapacağı etki tanımlanır.
c. Uygun sistem çözümüne karar verilir.
i. Alternatif çözümler araştırılır. (paket çözümler ~ özel çözümler)
ii. Genel olarak önerilen sistem için ilave donanım, yazılım ve iletişim altyapı ihtiyaçları belirlenir.
d. Fizibilite çalışması yapılır.
e. Kar- Maliyet çalışması yapılır.
f. Genel Proje Planı hazırlanır.
i. Sistem geliştirme alternatifleri incelenir.
ii. Uygun SDLC dökümantasyon metodolojileri araştırılır.
iii. Genel proje bütçesi ve takvimi hazırlanır.
iv. Bir proje yöneticisi ve proje ekibi tanımlanır.
g. Projenin sunumu ve onay alınması
i. Proje bütçesi için onay alınır.
ii. Projenin işletme bünyesinde mi, bir çözüm ortağı ile mi gerçekleştirileceğine karar verilir.
Detay analiz aşaması yazılımın altyapı ve mimari gerekliliklerini tanımlamak ve bu gerekleri karşılayacak şekilde sistem dizaynını oluşturmayı kapsar. Sistem geliştiriciler sistemi geliştirmeye başlamadan önce mutlaka ve mutlaka kritik noktaları tanımlamalı ve dökümante etmelidirler. Projenin büyüklüğüne göre detaylara girildikçe geliştirme ve test aşamalarındaki aksaklık ihtimalleri azaltılır.
Detay analiz safhasında aşağıdaki adımlar sırasıyla uygulanır.
a. Kullanıcı ihtiyaçları belirlenir
i. İş akışı ve organizasyon yapısı çıkarılır
1. Planlanan yeni prosesler varsa dökümante edilir.
2. Planlanan organizasyon değişiklikleri dökümante edilir.
3. Planlanan yeni organizasyon yapısı ile yeni proseslerin iletişimleri dökümante edilir.
4. Organizasyon bilgi akış planı ve varsa proses re-engineering planları dökümante edilir.
5. Üst yönetimle birlikte gözden geçirilir.
ii. Kullanıcı ihtiyaçları tanımlanır
1. Kullanıcılara yaklaşım ve iletişim tarzı belirlenir. (Karşılıklı görüşme, JAD* seansları)
JAD: (Joint Application Development): IBM çalışanlarından Chuck Morris ve Tony Crawford’un 1970’lerde geliştirmeye başladıkları ve sistem geliştirme esnasında son kullanıcıyı da analiz safhasının içine katan ve bu şekilde son kullanıcı memnuniyetini arttırmayı öngören yöntem. JAD seanslarında geliştirme esnasında son kullanıcılarla toplantılar yapılarak değişik fikirleri alınır, sistemin püf noktalarına ulaşılmaya çalışılır.
2. Karşılıklı görüşmeler, toplantılar veya JAD seansları yürütülür.
3. Mevcut endüstri/sistem trendleri ve benzer organizasyonlar gözden geçirilir.
4. Mevcut sistem ve planlanan sistemler arası analizler yapılır.
iii. Mevcut sistem tasarımı elde edilir.
b. Kalite ihtiyaçları belirlenir
i. Kalite ihtiyaçları tanımlanır
1. Tasarım, bütçe ve iş takvimine etkilerini dikkate alınarak kalite kriterleri belirlenir.
a. Performans
b. Güvenilirlik
c. Kullanışlılık
d. Esneklik
2. Bu kriterler için yönetimin onayı alınır.
ii. Hedefleri ve ölçüm kriterleri belirlenir.
1. Ölçüm kriterleri belirlenir.
2. Ölçüm işlemleri belirlenir.
iii. Ölçüm değerlendirmeleri belirlenir.
1. Gelişimin ölçülmesi sağlanır.
iv. Planlanan hedefler belirlenir.
1. Yönetim ve kullanıcılarla gerçekçi gelişim seviyeleri belirlenir.
c. Mimari, tasarım, inşa ve test
i. Mimari altyapı belirlenir.
1. Proses ortamı
2. Sistem hiyerarşisi
3. Sistem dağılımı
ii. Sistem donanım ve yazılımı seçilir.
1. Değişik ürünler ve üreticiler araştırılır.
2. Kapasite ihtiyaçları belirlenir.
3. Yazılım versiyonlarına karar verilir.
iii. Mimari dizayn gerçekleştirilir.
iv. Mimari dizaynın inşası ve testi gerçekleştirilir.
v. Performans kıyaslaması yapılır.
d. İhtiyaç analizi ve spesifikasyonu
i. Olay modeli yaratılır.
1. Proses akışları ve olaylara göre sistemin dışarıdan işleyişi modellenir.
2. Her bağımsız değişkenin yaşam çevrim diyagramları çıkarılır.
3. Kullanıcılarla olay modeli değerlendirilir.
ii. Proses modeli yaratılır.
1. Proses akışları ve olaylara göre sistemin içeriden işleyişi modellenir.
2. Prosesler arası veri akış diyagramları çizilir.
3. Proseslerin fonksiyon alt çözümlemeleri detaylandırılır.
4. Proses modeli kullanıcılarla değerlendirilir.
iii. Veri modeli yaratılır.
1. Değişken tipleri ve hiyerarşileri belirlenir.
2. Her değişken tipi için unique (bir ve tek) tanım belirlenir.
3. Bağıntı tipleri belirlenir.
4. İş kuralları ve politikalar belirlenir.
5. Özellik tipleri belirlenir.
6. Veri tipleri ve öncelikler belirlenir.
7. İhtiyaçlara göre veri modelleri standardize edilerek entegre edilir.
8. Oluşturulan veri modeli kullanıcılar ve işletme veri yöneticisi ile değerlendirilir.
e. Proses Tasarımı
İ. İletişim tasarımı tamamlanır.
1. Tümleşik uygulama modeline karar verilir.
2. Üst düzey akışlar tasarlanır.
3. Kullanıcı ara yüz standartları dökümante edilir.
4. İletişim tasarımı doğrulanır ve güncellenir.
a. Tüm on-line olay ve prosesler kapsanır.
b. Uyumluluk test edilir.
ii. Pencere ve ekranlar tasarlanır.
1. Yerleşim planları çıkarılır.
2. Veri erişimi ve veri alışverişi planlanır.
3. Davranış modellemesi yapılır.
4. Hata ve iletişim mesajları belirlenir.
5. Kullanıcılarla gözden geçirilir.
iii. Rapor ve dökümanlar tasarlanır.
1. Bağımsız döküman ve raporların yerleşimleri belirlenir.
2. Kullanıcılarla gözden geçirilir.
iv. İş akışı tanımlanır.
1. Tasarım işleri gözden geçirilir ve iş akışı görevleri organize edilir.
2. Yeni iş akış şeması çıkarılır.
3. Kullanıcı dökümantasyonu ana hatları belirlenir. (Kullanma Klavuzu, Rehber, Yardım Programları vb….
f. Teknik Tasarım
i. Uygulama Mimarisi Tanımlanır
1. Mimari model gözden geçirilir.
a. Uygulama şekli
b. Dağılım
c. Hizmet sınıfı
2. Mimari çıktılar çözümlenir
a. Program modelleri seçilir.
b. Re-use (yenide kullanım) uygulanabilirliği belirlenir.
c. Dış arayüz stili seçilir.
d. Geri alma işlemleri uygulanabilirliği belirlenir.
e. Veri ve işlemlerin dağılım ilkeleri belirlenir.
f. Kullanılabilirlik özellikleri tasarlanır.
3. Uygulama mimarisinin ihtiyaçları belirlenir.
4. Mimari tasarım dökümante edilir.
ii. Veri ve işlemlerin sistem ağı üzerinde dağılımı
1. Belirli uygulama ve verilerin belirli lokasyonlarda tutulmasının sonuçları belirlenir.
iii. Sistem mesajları ve işlemler akışı belirlenir.
1. Tüm program tipleri belirlenir. (batch, on-line, client, server…)
2. İşlem sıralaması tanımlanır.
3. Diğer sistemlere olan arayüzler tanımlanır.
4. Program ve dosyaların kontrolleri tanımlanır.
5. Yeniden kullanılabilir bileşen adayları belirlenir.
6. Sonuç iş akışı dökümante edilir.
iv. Mantıksal veritabanı tasarlanır.
1. Her bileşen için veri yönetim yazılımı seçilir.
2. İlişkisel Veritabanı Yönetim Sistem (RDMS) yapısı tasarlanır
3. Dosya yapıları tasarlanır.
4. Veritabanı yöneticisi, sistem geliştiriciler ve kullanıcılar ile birlikte veri yapıları gözden geçirilir ve ihtiyaçlara uygunluğu onaylanır.
v. Otomasyona bağlamış prosesler tasarlanır.
1. Her proses belirlenir ve otomasyon tasarlanır.
2. Veritabanı erişimi ve I/O (Input Output) girdi-çıktı prosesleri geliştirilir.
vi. Sistem arayüzleri tasarlanır.
1. Arayüzler tasarlanır.
a. Tip (paylaşılmış veritabanı, dosya, mesaj)
b. Kayıt ataması veya mesaj anahattı.
c. Değişim protokolü.
d. Kontroller.
2. Diğer sistemler için değiştirme isteği.
vii. Bilgi Sistemleri (IS) operasyon prosesleri tasarlanır.
1. I/O kontrol prosesleri tasarlanır.
2. Batch çalışan programlar için doğrulama kontrolleri tasarlanır.
3. Yedekleme, yeniden başlatma ve kurtarma prosedürleri tasarlanır.
4. İşlemler el kitabının ana hatları oluşturulur.
viii. Fiziksel veritabanı tasarlanır.
1. Fiziksel RDMS yapıları tasarlanır.
a. Gruplama şemaları tasarlanır. (tablo alanları, veritabanları)
b. Index yapıları tasarlanır.
g. Kalite Doğrulaması
i. İşlevsel ögelerin bütünselliği gözden geçirilir.
1. Tasarlanan objeler ihtiyaç analizlerine kadar geri izlenerek uygunlukları gözden geçirilir.
2. Her ihtiyacın karşılandığı gözden geçirilir.
3. Eksikliklere veya spesifikasyonlara göre tasarımlar revize edilir.
ii. Kalite özellikleri test edilerek doğrulanır.
1. Belirlenen ölçüm değerleri sistemin her bileşenine uygulanarak kalite gerekleri ölçümlenir.
a. Performans
b. Güvenilirlik
c. Kullanılabilirlik
d. Esneklik
e. Proje bütçesi
f. Proje takvimi
2. Eksikliklere veya spesifikasyonlara göre tasarımlar revize edilir.
h. Devreye alma tasarımı
i. Eğitim altyapısı planlanır.
1. Eğitim ihtiyaçlarına karar veirlir.
2. Eğitim metodlarına karar verilri.
3. Eğitim programı ve takvimi oluşturulur.
ii. Test yaklaşımı tasarlanır.
1. Gerekli test aşamaları belirlenir.
2. Her aşamadaki test yaklaşımı belirlenir.
a. Test amaçları
b. Test için gerekenler
c. Testi gerçekleştirecek ekip
d. Test ortamı
e. Regresyon testleri
f. Test verileri
g. Test araçları
3. Aşağıdaki alanlara göre test planı oluşturulur.
a. Spesifik test amaçları ve beklenen sonuçlar.
b. Sistem gereklilikleri
c. Programlar
d. Güvenlik kontrolleri
e. Performans ve tepki zamanları
f. Telekomünikasyonlar
g. Sistem çıktıları
h. Sistem dökümantasyonu
i. Yedekleme ve kurtarma prosedürleri
j. Sonuçların değerlendirilmesi metodolojisi
iii. İmplementasyon konfigürasyonunun planlanması
1. Sistem implementasyonundaki aşamalar belirlenir ve tanımlanır.
a. Altyapı
b. Arayüzler
c. Ortam değişiklikleri
iv. Veri dönüşüm prosesleri tasarlanır.
1. Her veritabanı için veri kaynakları tanımlanır.
2. Entegre (ortak) sabit ve değişkenler belirlenir.
3. Arayüz gereklilikleri tanımlanır.
4. Veri dönüşümleri iş akışı tasarlanır.
a. Veri doğrulaması
b. Veri temizliği
c. Veri yükleme
5. Veri dönüşüm programları tasarlanır.
6. Veri dönüşümü olasılıkları planı hazırlanır.
7. Üst yönetimin onayı alınır.
a. System Analysis and Design in End User Developed Applications
Rothi, James ; A Journal of Information Systems Education
Yen, David (Chi-Chung), Ph.D. Volume 2, Number 1
b. A Systems Development Life Cycle
Whitten, J. Bently, L. And Ho, T.
Times Mirror/ Mosby College Publishing, St.Louis, 1986, p 136-173
c. Data Directed System Design
Martin Modell, Mc-Graw Hill Book Company, New York, NY; 1992
d. Structured Systems Analiysis and Design Method: Application and Context Downs E., Clare P. And Coe I. (1992) Prentice-Hall International UK
e. Accelerated Systems Development
Folkes S., Stubenwoll S., (1992) Prentice-Hall International UK
f. Methodology Handbook for Information Managers
Holloway S., (1989) Gower Technical Aldershot
g. Introduction To Systems Analysis And Design
Kendall P.A., 2nd Edition, Wm.C.Brown, 1992
h. Object Oriented Analysis and Design
Martin J., Odell J.J., Prentice Hall 1992
Yazar : Derman Aydoğan