SİSTEM ANALİZİ EĞİTİM NOTLARI
04 03 2013

SİSTEM ANALİZİ EĞİTİM NOTLARI

Giriş; Kullanıcılara ait bilgilerin sürekli ve hızlı değişiminin yanında programlama araçlarının da benzer şekilde hızla gelişmesi, sistem analizi ile yazılım işlerinin aynı elemanlarca yürütülmesini güçleştiren ve etkin olmaktan çıkaran nedenler oldu. Bu gelişmeler kullanıcı ile yazılımcı arasına bir köprü kurulmasının gerekliliğini arttırdı.Bakım noktasında ortaya çıkan aratan Hata Maliyetleri  sistem analizinin derinlemesine ve doğru olarak yapılması gerkliliğini kuvvetlendiren diğer bir etken oldu.

              Hata Düzeltme Maliyeti ; Fiziksel Tasarımı dahil kurulmuş bir sistemde              

              temel analiz  eksik ya da yanlışlıklarından dolayı yapılması gereken

              yeniden düzenlemeler için harcana  ek zaman, emek, kaynak ve para.

Sistem Analist´inin Görevi Nedir ?

Sistem Analistinin görevi organizasyonun problem veya ihtiyaçlarını, organizasyon hedefleri doğrultusunda metod, insan ve bilgi teknolojileri öğelerini en iyi şekilde birleştirerek çözüm üretmektir.

Bilgi Sistemleri Bileşenleri

a ) Data : Bilgi kavramını  içerir. Bilgi nitelikleri belirlenmiş verilerdir. Data işlenmesi ya da seçilmesi sonucu bilgiler elde edilir.Sistem Geliştirmenin görevi bilgiyi data´ya çevirmektir.Kullanıcıdan alınan bilgi data haline getirilir.

b ) Data Akışı : verilerin aktarım metodu ve yolunu ifade eder. Formlar, raporlar, ses, bilgisayar data akışı sağlamanın bazı yollarıdır.

c ) Proses Mantığı : data akışı ve işlemlerin akışını kapsar.Kısaca datanın nasıl işleneceğinin tanımıdır. “Flow Chart” üzerinde tanımlanır.

2 - ) SİSTEM GELİŞTİRME YAKLAŞIMLARI

A ) Proses Bazlı : sistem geliştirme kavramının ilk olarak oluşmaya başladığı dönemlerde basit sistemler üzerinde kullanılan ve her departmanın kendi yaptığı işlerin akışına ve yöntemine göre hangi dataları tutması gerekiyor ise o dataları tutması ve yaptığı iş akışına göre bu dataları kullanması esasına dayanan bir yaklaşımdır. Datanın doğal olarak birden fazla departmanda kullanısı ile saklanan datalarda bir çok tekrarının olması bu yaklaşımın dezavantajıdır. Bu yaklaşımda tasarlanan sistemlerde çakışan bilgi depolamalarından dolayı performans düşüklüğü yaşanabilir.

B ) Data Bazlı : data departmanların işlemlerinin akışından ya da kullanıdıkları datanın akışından bağımsız olarak tek bir noktada toplanır. Bölümler ihtiyaçları olan datayı bu depodan alırlar ve kullanırlar.

C ) Nesne Bazlı :tüm özelliklerin ve ilişkilerin tanımlanmış bir nesne üzerinden yapıldığı sistem yaklaşımıdır. Örneğin Müşteri data bazlı yaklaşımda mal satılan ve mal alınan diye ayrılırken nesne bazlı yaklaşımda tektir.

3 - ) SİSTEM GELİŞTİRME ETAPLARI

Ön Analiz :projenin belirlenmesi ve seçimi, kapsamının belirlenmesi, fizibilite çalışmalarının yapılması, maliyet analizi ve zaman planlamasını içerir.

Analiz: ihtiyaçların belirlenmesi ve yapılandırılmasıdır.

Mantıksal Tasarım : girdi ve çıktıların belirlenmesi.

Fiziksel Tasarım : tablo yapılarının oluşturulması, aralarındaki ilişkilerin kurulması ve kodlamayı içerir.

Test : genel mantık ta dahil olmak üzere sistemin bütünlüğünün, bölümlerinin test edildiği safhadır. Debug (Programcı Testi) ile başlar.

Dökümantasyon: kullanıcı kılavuzları

Eğitim:kullanıcının eğitimi ve genel program akışının öğretimidir.

Bakım : geliştirilen yapıda gözden kaçan noktaların tespit edilmesi, istenen sonuçlara ulaşılıp ulaşılmadığının belirlenmesi bu safhada gerçekleşir. Bakım teknik ve proses bazında ayrılır. Teknik bakım sistemin performansı ile ilgili olup kullanılan donanımı da içerir.

 4 - ) SİSTEM GELİŞTİRME TEKNİKLERİ

a ) Geleneksel : her sürecin biribirini takip etmesi esasına dayanır. Her safha bittikten sonra diğer bir safhaya geçiş yapılır fakat geri dönüşler esnek değildir.

b ) Prototip : kullanıcı ile birlikte ekran ve sistem tasarımının yapıldığı kısa bir süreçte tamamlanması ve revizyona gerek bırakmaması açısından avantajlı fakat proses bazlı çalışmaya yönlendirmesinden dolayı dezavantajlı olarak kabul edilen bir tekniktir.     

c ) JAD :  ( Joint Application Development ) IBM tarafından geliştirilen, tüm kullanıcıların toplanarak ihtiyaç belirlenmesi safhasında ortak bir çalışma yaptıkları yapıdır.Bu toplantıya kullanıcıların yanında yazılımcı ve sistem analisti de katıllır. Ortaya atılan problemlerin başlangıçta  çözülmesi bu teknik için bir avantaj kabul edilebilir.

d ) Katılımcı Tasarım: kullanıcılar ile sistem analisti zaman zaman toplantılar yapar. Toplu görüşme yaklaşımı yoktur. Fakat gerektiği hallerde grup toplantıları da yapılabilir.

         SG tekniklerinin ortak hedefi kullanıcı ihtiyaçlarının doğru olarak tespit edilmesi ve geliştirilen sistemin diğer sistemlerle olan bağlantısının kurulabilmesidir.

5  - ) SİSTEM GELİŞTİRME METODLARI VE BİLGİ SİSTEMLERİ

Sistem geliştirme süreci metod olarak iki yapı üzerine kurulabilir.Bunlardan yaygın olarak kullanılanı Yapısal Analiz ve Tasarım Metodudur. Yeni geliştirilmeye başlayan ve uygulamaları henüz yaygın olmayan Nesne Yönelimli Analiz ve Tasarım Metodunda nesne bazlı yaklaşım kullanılır.

Bilgi Sistemleri ;         TPS ( Transaction Processing System )

                            MIS ( Management Information System )

                            DSS ( Decision Support System )

                            ES ( Expet System )

TPS yapısında geçmişe yönelik bilgiler grup bazında çıkarılır. Hareket bazlıdır. Muhasebe alanında geliştirilmiş bir yapıdır.

MIS  ise sistemce çıktı olarak alınan bilgilerin raporlama yapısı üzerinde yoğunlaşmış bir yapıdır. Bakiye takibinin ne şekilde yapılacağı bir MIS problemidir.

DSS yapıları yöneticilere kara verme noktasında yardımcı olmak amacıyla kurulmuştur.

ES yoğun data girişine dayalı, sistemin olası tüm dallanmalarının sonuçlandırıldığı bir yapıya sahiptir.

6  - ) SİSTEM  ANALİSTİNİN  ÖZELLİKLER

Bir sistem geliştirme uzmanının taşıması gerekli özellikler analiz yeteneği, yönetim yeteneği, kişisel yetenekler ve bilgi olarak 4 sınıfta incelenir.

A ) ANALİZ YETENEĞİ

1.Sistemsel Bakış : sistem kavramı ve sistem elemanları çok iyi            

anlaşılmış olmalıdır.

Sistem ; fiziksel ya da kuramsal, belli bir amaca yönelik

bir ya da daha fazla bileşenden oluşan yapıdır.

Sistem Elemanları : amaç, girdi/çıktı, ilişki, alt sistemler,

                                    sınırlar, kısıtlar ve diğer sistemlerle bağlantılardır.

2.   Organizasyon Bilgisi :sistem elemanları ile dolaylı ya da dolaysız ilgisi olan çalışanların görev ve sorumlulukları sistem analistince çok iyi bilinmelidir.

3.   Problem Analizi :  problemin kaynağı ve çözümü üzerinde alternatif yapılar üretebilmek sistem analisti için önemli bir özelliktir.Bilgi toplama, inceleme, seçim ve çözüm problem analizinin safhalarıdır

Problem: mevcut koşullardan  duyulan  rahatsızlıktır.

B ) YÖNETİM YETENEĞİ :

n    Proje Yönetimi : planlama yapabilme, zaman planlaması ve kontrol sistem analistince taşınması gereken özelliklerdir.

n    Risk Yönetimi : projede karşılaşılabilecek kısıt ve problemlerin öngörülebilmesi ve önleminin alınması.

n    Değişim Yönetimi: sisteme gelecek değişimlerden dolayı kullanıcıdan gelebilecek direncin kontrolüdür.

C ) KİŞİSEL YETENEKLER

n    Iletışım Yeteneği : mesajı doğru kodlayabilme, kullanıcı ve yazılımcı ile aynı dili konuçabilme.

n    Gözlem, Dinleme ve Soru sorma Yeteneği: gözlem ile kullanıcının problemler karşısında davranış şekli öğrenilebilir. Soru sorma ise kullanıcıdan alınacak bilgileri yapılandırdığı ve yönlendirdiği için çok iyi yapılmalıdır.Dinlemede ise analist mesajı doğru şekilde alabilmeli, kullanıcının konuşması sonuna kadar beklenmeden soruya geçilmemeli.

n    Beklentileri Yönetme Yeteneği

n    Sistemin genişleyebileceği noktaları öngörebilme yeteneği

n    Yazılı ve sözlü prezentasyon yeteneği

n    Grup çalışmalarını yönlendirme ve kolaylaştırma : proje grubunda sapmaları engelleyebilme.

         Sistem Analistinin Rolleri Nelerdir ?

n    Raportör: toplantı tutanakları tutabilme, not alabilme

n    Dedektif: doğru soruları sorma ve alma

n    Danışman: alternatif öneri sunabilme

n    Araştırmacı: her konuda bilgi sahibi olma. Gerekli bilgiye ulaşabilme

n    Organizatör: organizasyon yapabilme

n    Artist: rol yapabilme

n    Basitleştiren: karmaşık işleri basite indirgeyebilen

n    Keşifçi : ileriyi görebilen

n    Didikleyen: sistematiği sorgulayan

7 - ) İHTİYAÇ ANALİZİ VE YAPILANDIRMASI

İhtiyaç Analizi sorgulama gerektiren en önemli analiz basmağı olup kullanıcı/müşteri ihtiyaçlarının belirlenmesini içerir.İhtiyaçların tespit edilmesi ve yapılandırılması olarak iki basamaklı düşünülür.

İhtiyaçların tespiti görüşme/ gözlem / procedür ve mevzuat inceleme yolu ile yapılır. Bu metodlarda analistin dikkat etmesi gereken noktalar şunlardır:

         Görüşme : kiminle görüşülecek, ne zaman ve nerede görüşülecek, ne görüşülecek, nasıl ( bireysel/grup ) görüşülecek. Bir görüşmede kaçınılması gereken noktalardan bazıları şunlardır; kullanıcı işi daha iyi biliniyor kabul edilmeli ( öğrenci-öğretmen modeli ), resmiyetten ( misafir-ziyaretçi ortamı ) kaçınılmalı, bilgin- uzman tavrı takınılmamalı, görüşme bir sorgulama ( soru-cevap modeli ) haline gelmemeli, bilinmedik terimler sorulmalı, yorumlar kapalı bırakılmamalı.

         Gözlem: iş akışının belirlenmesi, metodolojinin çıkarılması, girdi/çıktıların belirlenmesi ve işlemi başlatıcı (trigger) hareketlerin tespiti için tercih edilir. Kullanıcının karasızlık halinde ne yaptığının tespiti gibi görüşme ile tespit edilmesi güç olan noktaların çıkarılması da bu yöntemle mümkündür.

         Prosedür ve mevzuatların incelenmesi : procedür ve mevzuatlar sistem için bir kısıt oluşturur.Kanunlar,iş prosedürleri, hatta müdürlük düzenlemeleri bile bir kısıtlayıcı olabilir.Sistem analisti bu konuları eksiksiz tespit edebilmelidir.

         İhtiyaçların yapılandırılması safhasında kullanılacak data, data akışı, kaynaklar / sonuçlar ve prosesler belirlenerek tümünü içeren yapılar kurulur. Böylece sistem girdi ve çıktıları tespiti, sistem sınır ve kısıtları bütünlük içinde görülür.

         İhtiyaçlar yapılandırılırken data akışının tespiti için Data Flow Diagram, Proseslerin içeriği için Flow Chart, data yapılarının tesbiti ve ilişkilerinin yapılandırılması için ise Entity Relation Diagram yapıları kullanılır.

8 - ) DFD VE ERD  YAPILARI

         DFD ( Data Flow Diagram) yapısı verinin akışı ve prosesten geçtiği noktaları içeren, verinin kaynağı ve sonucunun tanımlandığı gösterimlerdir. Yapıda 4 gösterim elemanı kullanılır. Bunlar data kaynak/sonuç noktalarını, proses noktalarnı, data akışını ve data depolarını gösterir. Bu  yapılarda

mutlaka bütünlük ve tutarlılık olmalıdır.

 
   

DFD yapılarının kurukmasında uygulanan kurallar şunlardır:

1 - Çıkışı olmayan / Sadece girişi olan process  olamaz

2 - Sadece çıkışı olan bir proses olamaz.

3 - Prosesler fiil cümlelerle ifade edilr.

4 - İki veri deposu arası akış olmaz.Arada mutlaka bir proses olamlıdır.

5 - Bir kaynak kesinlikle data deposuna direkt data aktaramaz.Bir veri deposu kaynağa data aktaramaz.

6 - Kaynaklar isim ile ifade edilir.

7 - Kaynaklar arası akış yoktur.

8 - Aynı bilgi bile olsa bir veri için akış çift yönlü  gösterilemez.

9 - Veri akışı için dallanma ancak veri iki noktaya da aynen iletiliyor ise kullanılabilir.

10 - Bir veri deposuna giriş update,insert; çıkış ise select mantığını gösterir.

DFD yapıları ile tekrar eden veri kullanımları tespit edilmiş olur. Bu noktada prosesler çok iyi tanımlanmalı ve numaralandırılmalıdır. Bu şekilde verinin kullanıldığı işlemler hem sıralanır, hem de isimlendirilerek aynı veriyi kullanan işlemler belirlenir.

ERD ( Entity Relation Diagram ) yapılarında ise data elde edilen entity  oluşumları arasında kurulan ilişkilerin gösterimi yapılır.Bu gösterimde ilişkinin kardinalitesi de belirtilir.

                   Entity: kullanılan datanın alındığı/ toplandığı ortam. Insan, makina,….

                        Kardinalite: iki entity arasında data ilişkisinin derecesini gösterir.

Kardinalite bire-hiç, bire-bir, bire-çok ya da çoka-çok olabilir. İki entity de tanımlanan attribute kavramları kardinalitenin tespiti için belirleyici olur.

                   Attribute: entity için tanımlanan data isimleridir.Alan kavramından farklıdır.

                        Alanlar fiziki tasarımda attribute kavramının dönüşmüş halidir.

Entity yapılarında belirlenmiş tüm attribute´lara ulaşmak için aralarından biri seçilip kullanılabilir. Her kayıt yapısı için bir tek olan attribute bu ihtiyacı karşılayacaktır. Bu tip attribute´lara Primary Key denir. Eğer seçilecek tek bir attribute her defasında tek bir kayda ulaşmamızı sağlamıyor ise ikinci bir attribute seçip aynı amaç için kullanabiliriz.Bu durumda kullanılan attribute Composite Key olarak adlandırılır.Amacımıza yeterli olan bir primary key dışında başka attribute´lar da aynı işlevi görebiliyor ise bunlara Candidate Key denir. Foreign Key ise başka bir entity altında bulunduğu halde diğer bir entity altında primary key olarak geçen attribute bilgisidir.

         Relationship; entitiy yapılarının arasındaki data ilişkisinin sözel ifade edilmesidir.

Sözel ifade ilişkinin kardinalitesi için belirleyici olduğundan çok önemlidir.

         Entity seçimleri ve ERD yapıları çoka-çok yapıları daha düşük kardinaliteli yapılara indirgelemelidir.Bu amaca ulaşmak için ilişkiler parçalanarak yeni oluşturulan entity üzerinden ilişkiler yeniden tanımlanır.

9 -)  MANTIKSAL VE FİZİKSEL TASARIM

MANTIKSAL TASARIM : İlk basamağı yazılımın satın alınması ya da yazılması üzerine karar alınmasıdır. Programın yazılmasının daha maliyetli olacağına karar verilirse ve tüm ihtiyaçların hazır programlarca karşılandığı düşünülüyor ise paket program alımı yapılır. İkinci basamak olarak ekran ve rapor tasarımları değerlendirilir. Bu noktada ekrandaki label alanlar ve tuş işlevleri çok iyi tanımlanmalıdır. Raporlarda standartlaşma bilginin değerlendirmesi aşamasında kolaylık sağlayacağından önemlidir.

FİZİKSEL TASARIM: Tablo yapılarının çıkarılması ilk safhasıdır.1. ve 2. Normal formlarla tekrar eden bilgiler tespit edilip birleştirme yapılır. 3. Normal form genelde kullanılan son basamaktır. Normalleştirmede amaç performansı düşürecek olan bilgi tekrarlarını tespit ederek en aza indirmektir.

         Tablo oluşumundan sonra kodlama yapılır. Son olarak ise programcı testi olarak nitelendirilen DEBUG test yapılır.Debug, bir sonraki aşamada sistem analisti ya da kullanıcı tarafından yapılacak olan testlerin süresini ve revizyonları azaltması açısından olumlu  katkıda bulunduğu için çok önemlidir.

10 - ) TEST

n    Birim ( Modül ) Testi : programdaki birimlerin tek tek kontrolünün yapıldığı testtir. Birim olarak nitelendirilen yapı ayrı bir ekranı olan işlemleri içerir.

n    Bütünlük Testi : Programın modüllerinin çalışması kontol edilir. Birimler arası bağlantıların kontrolünü de içerir. Diğer sistemlerle olan ilişkiler de bu test içimnde ele alınır.

n    Sistem Testi : performans testi ve stres testi olarak olarak iki şekilde elealınır. Sistemle ilgisiz olan veri hareketi sonrasında programın davranışı bu safhada test edilir.

Teste başlamadan önce hangi birimlerin ne zaman test edileceği, nasıl test edileceği bir test planında hazırlanır. Testlerde hangi girdilere karşılık ne gibi çıktıların elde edilmesi bekleniyorsa test speclerinde yazılır.  Böylece programın yazılmasında ya da sistem analizinde görev almamış kişiler de test aşamasında çalışabilirler.

11 - ) DÖKÜMANTASYON

Sistem ve kullanıcı dokümantasyonu olarak iki grupta incelenir.

 Sistem için hazırlanan dökümanlar yazılımcıya yöneliktir. Data akışı ve entity ilişkilendirmesi ve test dökümanları  dahil teknik bir takım detaylar içerir.

Kullanıcı dokümanları kullanım klavuzu, eğitim notları ve on-line help ortamını içerir. Kullanıcı klavuzu olarak hazırlanan dökümanlar data akış detayını içermez. Sadece ekran üzerinde görünen alanlar ve tuşlar tanımlanır. Ekran gerisinde gerçekleşen hareketler anlatılmaz. Raporlama modülleri ve oluşacak raporlar detaylı olarak tanımlanır.

Help-Desk ortamları ise kullanıma geçmiş sistemler üzerinde oluşabilecek aksamalar için kullanıcıya yardımcı olamayı hedefler.

12 - ) SİSTEM ANALİZİ TERİMLERİ VE İNGİLİZCE KARŞILIKLARI

SYSTEM ANALYSIS : SİSTEM ANALİZİ

SYSTEM ANALYIST : SİSTEM ANALİST

SYSTEM DEVELOPMENT : SİSTEM GELİŞTİRME

DATA : VERİ

DATA STORAGE : VERİ DEPOSU

DATA FLOW : VERİ AKIŞI

DATA ORIENTED : VERİ BAZLI

PROCESS : PROSES/ YÖNTEM

PROCESS ORIENTED : YÖNTEM BAZLI

OBJECT ORIENTED : NESNE BAZLI

LOGIC DESIGN : MANTIKSAL TASARIM

PHYSICAL DESIGN : FİZİKSEL TASARIM

MAINTANENCE : BAKIM

DOCUMENTATION : DÖKÜMANTASYON

TRADITIONAL METHODS : GELENEKSEL METODLAR

PROTOTYPE : PROTOTİP

INPUT : GİRDİ

OUTPUT : ÇIKTI

FLOW CHART : AKIŞ DİYAGRAMI

CHART : DİYAGRAM

ATTRIBUTE : VARLIK VERİ DURUMU

RELATIONSHIP:İLİŞKİ

CANDİDATE KEY : ADAY ANAHTAR

PRIMARY KEY : ANA/ASIL ANAHTAR

FOREIGN KEY : YABANCI ANAHTAR

COMPOSITE KEY : BİLEŞİK ANAHTAR

ENTITY: VERİ VARLIĞI (VERİ ALINAN ORTAM)

UPDATE : GÜNCELLEME

SELECT : SEÇME

442
0
0
Yorum Yaz