Sistem Analizi Ve Tasarımı Dersi 5. Ünite Özet
Kullanım Durum Ve Veri Modelleme
- Özet
- Sorularla Öğrenelim
Giriş
Model, gerçek sistemin grafiksel gösterimidir. Veri modeli, teknik ayrıntılara girilmeden verilerin mantıksal olarak düzenlenmesi ve sunulmasıdır. Benzer amaçla, geliştirilecek sistem içindeki kullanıcıların işlemlerini tamamlayabilmek için gerekli olan etkileşimin açıklanması ve belgelenmesi amacıyla kullanım durum kullanılmaktadır. Kısaca, kullanım durum (use case): işletme faaliyetleri, bu faaliyetlerin kim tarafından başlatıldığı ve bu faaliyetlere bilgi sisteminin nasıl cevap vereceği açısından sistem fonksiyonlarının modelidir. Veri modelleme ise bu sistem içerisinde oluşturulan ve kullanılan verilerin gösterimi için kullanılan biçimsel bir yöntemdir.
Kullanım Durum Modelleme
Kullanıcı merkezli sistem geliştirme, paydaşların ihtiyaçlarının ve sistemin geliştirilme nedenlerinin anlaşılması temeline dayanan sistem geliştirme sürecidir. Kullanım durum modellemesi kullanıcı ve kullanım merkezli geliştirmeyi kolaylaştıran bir yaklaşımdır.
Ivar Jacobson 1986 yılında kullanım durumu belirtmede kullanılan görsel modelleme tekniğini ilk kez kodlamıştır ve kullanım durumu bir kullanıcı ve bir sistem arasındaki etkileşimi anlatan senaryo topluluğu olarak ele alındığında, senaryoyu, aktör ile sistem arasında gerçekleştirilen, sonucunda aktöre fark edilir faydası oluşan etkileşimli diyalog olarak tanımlamaktadır.
Kullanıcı katılımı projenin başarıya ulaşmasındaki kritik faktörlerden biridir. Kullanım durum modellemenin sağladığı faydalardan bazıları aşağıda verilmiştir:
- İşlevsel gereksinimleri belirleyen bir araç sağlar.
- Geliştirilecek sistemin kapsamının, yönetilebilir alt parçalara ayrıştırılmasına yardımcı olur.
- Sistem içerisindeki farklı paydaşların kolaylıkla anlayabileceği ortak bir dil sağlar.
- Sistem geliştirme etkinliklerinin tanımlanmasına, atanmasına, izlenmesine, kont-rol edilmesine ve yönetilmesine olanak sağlar.
- Proje kapsamının, harcanacak çabanın ve zamanlamasının tahmin edilmesine yardımcı olur.
- Hem kullanıcı yardım sistemi ve kılavuzlarının hem de sistem geliştirme raporlarının belgelenmesine yardımcı olur.
- Test planlarının yapılması ve test durumlarının tanımlanması için uygun bir araçtır.
- Gereksinimlerin izlenebilirliğini sağlar.
- Veri nesneleri veya varlıkların tanımlanması için bir başlangıç noktasıdır.
- Kullanıcı ve sistem ara yüzlerinin tasarımı için işlevsel özelliklerin belirlenmesine yardımcı olur.
- Ekleme, değiştirme, silme ve okuma gibi veri tabanı erişim gereksinimlerinin tanımlanmasına olanak sağlar.
- Sistem geliştirme projesinin idaresi için bir çerçeve sunar.
Kullanım Durum Modelleme Temel Kavramları
Kullanım durum modellemesi iki temel çıktı sağlar. İlki, geliştirilen sistemde bulunan kullanım durumları, kullanıcıları ve ikisi arasındaki ilişkileri gösteren kullanım durum diyagramıdır . Kullanım durum diyagramlarının dört temel bileşeni bulunmaktadır:
- Kullanım Durumlar , haricî kullanıcıların bakış açısından sistem işlevlerini tanımlarlar. Grafiksel olarak, üzerinde veya içinde kullanım durumun adının yazıldığı bir elips sekli ile gösterilir. Bir kullanım durum sistem içinde gerçekleştirilecek tek bir işlevi gösterir.
- Aktörler, kullanıcılar, kurumlar, bilgisayar programları, haricî donanımlar kısacası sistemde gerçeklesen olayları başlatan veya tetikleyen sistem bileşenleridir.
- İlişkiler , aktörün sistem üzerinde hangi işlevi gerçekleştirebileceği tanımlamak için kullanılır.
- Sistem Sınırı , kullanım durumları, aktörleri ve bunlar arasındaki ilişkilerin tamamını kapsamaktadır. Sistemin adının yazıldığı bir dörtgen ile temsil edilmektedir.
Zamansal Olay (Temporal Event), zaman tarafından tetiklenen sistem olaylarını ifade eder. Sistemde bulunan zamansal olaylarda ise aktör zamandır. Tüm aktörler aynı zamanda birer paydaş olabilir fakat tüm paydaşlar aktör olmayabilirler. Paydaşların birçoğu sistemle doğrudan etkileşimde bulunmayabilir. Aktörler, aşağıdaki dört grup altında toplanabilir:
- Birincil iş aktörleri, kullanım durumun gerçekleştirilmesi sonucunda doğrudan ölçülebilir ve gözlemlenebilir bir fayda sağlayan paydaştır.
- Birincil sistem aktörleri, bir is veya sistem olayını başlatmak ya da tetiklemek için sistem ile doğrudan etkileşimde bulunan paydaşlardır.
- Haricî sunucu aktörleri, kullanım durum isteklerine cevap veren paydaş olarak tanımlanır.
- Haricî alıcı aktörler, birincil iş aktörü olmadığı hâlde kullanım durumdan ölçülebilir ve gözlemlenebilir bir çıktı elde eden paydaştır.
Bağıntı ilişkisi (Association Relationship), kullanım durum diyagramında kullanım durum ile aktör arasındaki ilişkidir. Bir aktör, en az bir kullanım durum ile bağıntılı olmalıdır. Bir aktör birden fazla kullanım durumla bağıntılı olabildiği gibi, bir kullanım durum birden fazla aktörle bağıntılı olabilir. Bağıntı, aktör ile kullanım durumu birbirine bağlayan tek bir çizgi ile temsil edilir. Kullanım durum ve aktör (birincil is aktörü veya birincil sistem aktörü) arasındaki bağıntıyı gösteren çizginin kullanım duruma bağlandığı noktadaki ok; kullanım durumun, çizginin diğer ucuna bağlı olan aktör tarafından gerçekleştirildiğini göstermektedir.
Genişletme ilişkisi (Extends Relationship), bir kullanım durumun yeni işlevler kazandırılması amacıyla başka bir kullanım durum ile ilişkilendirilmesidir. Eklenti kullanım durum (Extension Use Case) ise birden fazla kullanım durumda yer alabilecek ortak işlevleri içeren kullanım durumdur. Bir kullanım durum birden fazla eklenti kullanım durum ile ilişkili olabilmektedir. Ayrıca genişletilmiş kullanım durum tek basına anlamlı olmalıdır. Eklenti kullanım durum olmadan da davranış sergileyebilmelidir.
Ekleme ilişkisi , bir kullanım durum içindeki adımların diğer kullanım durumlarda da yer almasıyla meydana gelen ilişkidir. Ana amaç, ortak işlevlerin sistem içindeki tüm bileşenlerde aynı şekilde tanımlanmasıdır.
Kalıtım ilişkisi , bir aktörün kendisiyle aynı işlevleri meydana getiren aktörler ile olan ilişkisi olarak tanımlanmaktadır. Aynı işlevleri kullanan birden fazla aktör olduğunda ortak işlevler ortaya çıkarılarak, bu işlevleri kullanan bir soyut aktör oluşturulur. Soyut aktör (Abstract Actor), kullanım durum diyagramlarında, birden fazla aktöre ait olabilecek ortak özellikleri taşıyan en temel aktördür.
Kullanım durum modellemesinin ikinci temel çıktısı, her bir işletme faaliyetinin ayrıntılarının verildiği kullanım durum hikâyesidir. Kullanım durum hikâyesi (Use Case Narrative), kullanım durumun yazılı olarak ifade edilmesidir. İş etkinliği süresince kullanıcı ile sistem arasında gerçekleşecek etkileşimin, nasıl gerçekleşeceği kullanım durum hikâyesinde belirtilir. Kullanım durum hikayesinin hazırlanması için gerekli adımlar ve açıklamaları S:93, Tablo 5.1’de listelenmiştir. Kullanım durum hikâyesi içinde bulunması gereken bilgilerden bazıları aşağıda açıklanmıştır:
- İsim: Her kullanım durum, sistem içerisinde diğer kullanım durumlardan ayrılmasını sağlayan bir isme sahip olmalıdır. İsimler kullanım durumun amacını belirtmelidir.
- Amaç/Açıklama: Kullanım durumun ne amaçladığı yazılır.
- Aktör/Aktörler: Kullanım durumun aktör ya da aktörleri belirtilir.
- Ön koşullar: Kullanım durum başlatılmadan ya da tetiklenmeden önce sağlanması gereken koşulları gösterir.
- Son koşullar: Kullanım durum tamamlandıktan sonra sağlanması gereken koşulları gösterir.
- Tetikleyiciler: Kullanım durumun hangi aktör tarafından tetikleneceğini gösterir.
- Ana başarı senaryosu: Kullanım durum içinde gerçekleştirilecek işlevleri ve adımları içerir. Kullanım durum başlatıldığında ya da tetiklendiğinde normal koşullarda gerçekleşmesi beklenenleri açıklar.
- Hata senaryoları: Kullanım durum içinde karşılaşılabilecek olası hatalar listelenir.
- Alternatif senaryolar: Aktörler ya da sistem tarafından kaynaklanan ve ana başarı senaryosunun normal isleyişinden sapmalar meydana geldiğinde nasıl davranıl-malı sorusuna cevap verilir.
Veri Modelleme ve Veri Yaşam Döngüsü
Veri modelleme, sistemdeki paydaşlar için gerçek dünya ihtiyaçlarının daha kolay anlaşılmasını sağlayan bir yöntemdir. Veri modelleme ne tipte veriye gereksinim duyulduğu ve verilerin ne şekilde düzenleneceği üzerine odaklanmaktadır. Veri modeli, bir sistemin gereksinimlerine bağlı olarak gerçekleştirilecek veri tabanı sistemini, kullanıcıların anlamasına yardımcı olmaktadır. Ayrıca, veri tabanı uygulayıcılarının bilgi ihtiyaçlarına uygun veri tabanı sistemi geliştirmelerine olanak sağlamaktadır.
Kavramsal Taslak (Blueprint), fiziksel bir nesnenin nasıl yapılacağını ya da oluşturulacağını gösteren ayrıntılı plandır. Veri Yasam Döngüsü (Data Life Cycle), sistem içinde gerekli olduğuna karar verilen verilerin dış dünyadan toplanmasından, eskimesine veya veriye ihtiyacın ortadan kalkmasına kadar geçen süreçtir. S:94, Sekil 5.7, bir sistem içerisindeki veri yasam döngüsünün fazlarını ve farklı fazlardaki veri modeli etkileşimlerini göstermektedir. Bunlar aşağıdaki şekilde sıralanabilir:
- Veri İhtiyacı: Sistem içindeki farklı iş süreçlerinin gerçekleştirilmesi için veri ihtiyacı bulunur. Üst seviye kavramsal veri modeli farklı is süreçleri ve bu süreçlerde yaratılıp kullanılacak veriler için kullanışlıdır.
- Gerekli Verilerin Belirlenmesi: Bu fazda, çok farklı türdeki verilerden hangilerinin gerçekten gerekli hangilerinin gereksiz ya da fazla olduğu belirlenir. İhtiyaç duyulan verilere ait tüm gerekli ayrıntılar, veri modeli içinde keşfedilir ve belgelendirilir.
- Gerekli Verilerin Toplanması: Bu fazda iş süreçleri için ihtiyaç duyulan verilerin toplanması ve önemsiz verilerin ayıklanması gerçekleşmektedir.
- Verilerin Saklanması: Toplanan veriler uygun depolama yöntemleri kullanılarak veri tabanında saklanmalıdır. Bu fazda veri modeli veri deposu bileşenlerinin bir araya getirilmesine yardımcı olmaktadır.
- Verilerin Kullanılması: Bu fazda, iş süreci boyunca farklı veri bileşenleri bir araya getirilerek kullanım için alınmakta, değiştirilmekte ve yeni veriler derlenip eklenmektedir. Veri modeli bu fazda, verilerin birleştirilmesi ve kullanılması açısından bir rehber ve plan olarak hareket eder.
- Eski Verilerin Silinmesi: Bu fazda veri modeli, çeşitli verileri belirtilen süreler sonunda tespit edip güvenli bir şekilde silmek amacıyla kullanılmaktadır.
- Kullanılmayan Verilerin Arşivlenmesi: Bu fazda veri modeli, veri depolama, verinin orijinal ve son yerini göstermek ve aktif bölümden arşivlenmiş depoya hareketin izlenebilmesi amacıyla kullanılır.
Farklı Bilgi Seviyelerinde Veri Modelleme
Veri modelinin birinci amacı, kullanıcılarla iletişim kurmaktır. Bu durumda, kullanıcılar için geliştirilecek olan sistem içinde yer alan bileşenlerin tarif edilmesi gerekmektedir. İkinci önemli amacı veri tabanı sistemleri için kavramsal taslak olarak kullanımıdır. Veri modelinin bir düzeyde genel olması gerekirken başka bir düzeyde ayrıntılı olarak verilmesi gerekmektedir. Bu amaçla; haricî, kavramsal, mantıksal ve fiziksel olmak üzere dört temel bilgi düzeyi tanımlanmaktadır. Buna göre her bilgi düzeyinde farklı veri modeli kullanılmaktadır.
Harici veri modeli , geliştirilen sistemin kullanıcılarının bakış açısından veri tabanı sisteminin tasvir edilmesidir. Bu model kullanıcı toplulukları ile iletişimde bulunmak amacıyla kullanılmaktadır.
Kavramsal veri modeli , esas olarak kullanıcı topluluğu ile iletişim aracı amaçlı kullanılmaktadır. Bu model tam ve yeterli bileşenleri içermek suretiyle geliştirilecek sistemin bilgi gereksinimlerinin gerçek bir gösterim şekli olmaktadır. Kavramsal veri modelinin oluşturulmasında varlık ilişki diyagramları kullanılır.
Mantıksal veri modeli , bir anlamda haricî veri modelinin tüm parçalarının bir araya getirilmesidir.
Fiziksel veri modeli, kullanıcı grupları ile iletişim aracı olarak kullanımı en düşük veri modelidir. Birinci amaç, veri tabanı sistemi geliştirici ve uygulayıcıları için kavramsal taslak olarak kullanımdır. Model, çok fazla karma-sık ayrıntı içermektedir. Geliştirilecek sistemde kullanılacak Veri Tabanı Yönetim Sistemi (VTYS) ve donanım ortamı hakkında belirli bilgiler bulundurmaktadır.
Varlık İlişki Diyagramları
Varlık ilişki diyagramları (Entity Relationship Diagram): Kısaca ER olarak isimlendirilen diyagramlar, ilişkisel veri tabanlarının tasarımında verinin kavramsal gösterimi amacıyla kullanılır. Varlık ilişki diyagramlarında; varlık, öznitelik ve ilişki olmak üzere üç temel öge bulunmaktadır.
Varlık, diyagramın ve dolayısıyla kavramsal veri modelinin en temel ögesidir. Benzerlerinden çeşitli özellikler yardımıyla ayrılan ve var olan tüm nesneler varlıktır. Birden fazla varlığın oluşturduğu kümeye varlık kümesi adı verilmektedir. Kavramsal veri modeli içindeki varlık kümeleri diyagramda içinde varlığın adının yazılı olduğu bir dörtgen sembol olarak gösterilmektedir. Veri tabanı sistemleri açısından bakıldığında varlık kümesi tabloya karşılık gelirken varlık kümesindeki her bir varlık da kayıtlara karşılık gelmektedir.
Öznitelik, varlıkların sahip olduğu her bir özellik öznitelik olarak ifade edilmektedir. Diyagramda öznitelikler, içinde öznitelik açıklamasının yazılı olduğu oval semboller ile ifade edilmektedir. Öznitelikler ilgili varlığa bir çizgi ile birleştirilir. Veri tabanı sistemleri açısından bakıldığında öznitelikler tabloların her bir sütununa karşılık gelmektedir. Bir özniteliğin değeri tanımladığı varlıklar içinde benzersiz bir değer taşıyorsa bu öznitelik anahtar öznitelik olarak belirlenir. Anahtar öznitelik diyagramda öznitelik adının altı çizilerek gösterilir. Aynı tablo içinde aynı değerde anahtar özniteliğe sahip iki varlık bulunamaz. Bir öznitelik, tek bir değere sahip olabiliyorsa tek değerli öznitelik olarak isimlendirilir. Bazı durumlarda, bir öznitelik birden fazla değer içerebilir. Bu öznitelikler, çok değerli bir özniteliktir ve çift çizgili oval sembol ile ifade edilir.
İlişki, varlık ilişki diyagramındaki farklı varlıklar arasında kurulan fiziksel ve mantıksal bağlantıları temsil eden yapılardır. İlişkiler baklava dilimi sembolü ile temsil edilir ve içine varlıklar arasında gerçekleştirilen ilişkiye ait eylem yazılır. Baklava dilimi sembolü, ilişkili varlıklara düz çizgi ile bağlanmaktadır. İki varlık kümesi arasında birden fazla ilişki bulunabilir.
S:100, Sekil 5.14’te varlık ilişki diyagramlarında kullanılan semboller ve açıklamaları yer almaktadır.