Türkiye'nin Endüstri Mühendisliği Platformu

Gereksinimlerin Modellenmesi – Emrah ERCAN

0 16

Gereksinimleri, sadece metin tabanlı belgelerden oluşan kalıplar dışında ifade edebilmeye kafa yorduğumuzda, eski bir atasözü gelir aklımıza; “Bir resim bin kelimeye bedeldir”. Bir sistemin gereksinimlerinin görsel bir şekilde sunulması; hataların ortaya çıkarılması ve amaçlanan işlevselliğe dair bir görüş ifade etmesiyle güçlü ve etkili bir araç olmaktadır.

Dikkate alınması gereken iki önemli gelişme vardır:

  1. Bir standart olarak Birleşik Modelleme Dili (UML) ve Model Odaklı Mimari (MDA)’nin ortaya çıkışı.
  2. Sistem geliştirme alanında bu gelişmeler, günümüzde modelleme gereksinimleri için yön verici konumdadırlar.

uml_logo Birleşik Modelleme Dili (UML)

UML sistem geliştirme için gereksinimleri, mimariyi, tasarımı, uygulamayı ve devreye alma sürecini ifade etmek için fiili bir standart haline gelmiştir. Gereksinimlerin belirlenmesi konularına odaklanan gereksinimleri ortaya koyan kişi, gerekli davranış ve bilgi sisteminin ihtiyaçlarını ifade etmek için standart yapı kümesinin kullanılmasını sağlayabilir. UML bir standart olarak kabul edildiğinde, onun sembollerine ve kurallarına aşina olan herhangi biri, model sahibinin anlatmak istediklerini kolayca yorumlama kabiliyetine sahip olacaktır.

Gereksinimler konusunda çalışan kişinin karşılaşacağı zorluklardan biri, aynı modelle çok farklı kişilere ulaşması zorunluluğu olacaktır. Görüşme yapılması gereken kişiler şu şekildedir:

  • Gereksinimlerin teknik olarak uygulayıcısı olan kişiler,
  • Devreye alınan sistemin gereksinimleri karşılayıp karşılamadığının kontrolünü sağlayan kalite güvencesi personeli,
  • Gereksinim içeriğini sağlayan ve yeni sistemden faydalanacak olan iş birimi çalışanları.

İçerikk

Gereksinimleri belirlemekle sorumlu olan kişi, aşağıdakilerden bir veya daha fazlasını kullanarak sistemin ihtiyaçlarını ifade edecektir:

Use Case Diyagramları (Kullanım Senaryoları)- İşlem akışlarını, destek verilen sistemi ve sistem dışında “use case”ler ile etkileşimli olan kişi, sistem ve cihazları gösteren diyagramlar dizisi. Kullanım senaryoları, sistemin kapsamını anlamak ve ifade etmek için kullanılan, sistemin sınırlarının, dış sistem aktörleri ve sistemi destekleyen işlemler arasında nerelerde olduğunu gösteren basit şemalardır.

Activite Diyagramları – Gereksinimlerin belirlenmesi amacıyla activite diyagramları, bir kullanım senaryosu veya iş akışının şematik temsilidir. Aktivite Diyagramı, bir use case içinde alternatif akışları kolaylıkla gösterebilir ve yer alan eş zamanlı eylemleri de kolaylıkla iletebilir.

İyi yazılmış bir kullanım senaryosu belgesinin aktivite diyagramına çok kolay bir şekilde çevrilmesi gereklidir. Yalnızca bu işi yapan araçlar bulunmaktadır ve gereksinimlerle uğraşan kişiye aracın oluşturacağı metin bazlı görünümde çalışma imkanı sunmaktadır veya doğrudan aktivite diyagramı ile de çalışılabilir.

Proje uzmanları, çoğunlukla metin tabanlı belgelere kıyasla onaylamaların çok daha kolay olmasından ötürü aktivite diyagramları ile çalışmaya devam ederler. Projenin bir çıktısı olarak belirtilmeseler bile, kullanım senaryolarının iyi hazırlanmış olduğunun ve göze batan hiçbir boşluk bulunmadığının doğrulanmasına yardımcı olmak için oluşturulurlar.

Sequence Diyagramları (Sıralı Diyagramlar) – Bir zaman dizisi içerisinde düzenlenmiş nesne etkileşimlerini gösteren diyagramdır. Use Case içerisinde yer alan nesnelerin anlaşılmasında ve ne kadar farklı senaryonun bulunduğunun ifade edilmesinde yararlı olabilmektedir. İş alanı uzmanları genellikle bu tür diyagramları “çok teknik” bulmaktadırlar ve kolay kolay uygulamamaktadırlar fakat yine de bu diyagramların üretilmesi, senaryoların ve karmaşık kullanım senaryolarının anlaşılmasında gereksinim belirleyiciler için son derece faydalı olmaktadır. Sıralı diyagramların genellikle tasarım çıktısı olarak düşünülmelerine rağmen, mantıksal iş seviyesinde konumlandırılmaları durumunda, gereksinim belirleyici için bir rol ortaya koyulmasına hizmet edeceklerdir.

İletişim veya İşbirliği Diyagramları – Nesnelerin birbirleri ile olan ilişkileri, bağlantıları ve birbirlerine göndermiş oldukları mesajları gösteren diyagram türüdür.
(İşbirliği diyagramları, UML 2.0′da iletişim diyagramları olarak yeniden adlandırılmıştır). İletişim diyagramları, Sıralı diyagramlar ile çok benzerlik göstermektedirler
fakat yoğunlaştıkları nokta, etkileşimlerin zaman sıralamasına karşılık nesnelerin ilişkileridir. İletişim diyagramları, sıralı diyagramlar ile benzer bir amaca hizmet etmektedirler ve gereksinim belirleyicisi tarafından karmaşık use case senaryolarının anlaşılması ve onaylanmasında kullanılabilirler.

Veri Modelleri – Kalıcı sınıfları (class) tarifleyen, iş birimi varlıklarını ve kurallarını gösteren diyagramlar dizisidir.

Bu modellerin iş alanı uzmanları tarafından kavranılması genellikle kolaydır ve bir kez açıklandığında, veri gereksinimlerinin onaylanmasına yardımcı olacak faydalı bir araçtır. Veri modelleri oluşturulması tipik bir tasarım aktivitesi olarak kabul edilir. Fakat veri modelleri fiziksel bir uygulama olmadan mantıksal seviyede ifade edildiği zaman, veri gereksinimlerini, ilgili tüm grupların anlayabilecekleri şekilde oluşturulan bir form ile iletmektedir.

Bu, hiçbir şekilde ayrıntılı bir liste değildir. Gereksinimlerden sorumlu olan kişi, sistemdeki paydaşların ihtiyaçlarını iletmek için, UML olsun olmasın diğer birçok türde dökümanlardan faydalanabilir.

systemanalysis-01-400x295

Modele Dayalı Mimari (MDA)

MDA yeni bir kavram değildir, belirli türleri Bilgi Mühendisliği Kuruluşu vasıtasıyla kullanılan bazı araçlarla 1980 yılından bu yana varlığını sürdürmektedir. Nesne Yönetim Grubuna göre (Object Management Group), modelleme gereksinimleri MDA ortamında önemli bir faaliyettir. Bilgisayar ortamında oluşturulan ve geliştirme sürecinin ileri safhasında test ve doğrulama aşamalarında kullanılabilecek olan UML modelleri ile yapılan gereksinim analizi sonuçlarını elde etmek, bu analizde yanlış yapma olasılığını oldukça azaltabilmektedir. Aktivite diyagramları ve Use Case diyagramları gibi UML modelleri, kesinlikle gereksinimlerin görselleştirilmesinde ve anlatılmasında yardımcı olacaktır. (1)

MDA ve Nesne Kısıtlı Dil (Object Constraint Language)

Nesne Kısıtlı Dil UML’in bir parçasıdır ve şematik olarak ifade edilemeyen bir nesne modeline bilgiler ve ifadeler ekleyerek anlaşılır hale getirir. Bu, bir class model üzerinde kısıtları ve nesne sorgu ifadelerini açıklayan bir metin dilidir. OCL, Nesne Yönetim Grubunun kaynak modellerini uygulama modellerine dönüştürme standardı olan QVT’nin (Sorgu/Görünüm/Dönüşüm) önemli bir bileşenidir. OCL, MDA’in platform bağımsız modelden uygulama türetme amacına hizmet eder. OCL, programlamaya yakın bir dildir ve birçok organizasyonda iş analisti olan gereksinim belirleyicisinin, bu modelin kullanımı konusunda uzman olması beklenmektedir. Fakat, OCL’i anlama ve yorumlama yeteneği, bu işle uğraşacak olan kişiye, MDA tarafından ortaya konulan projelerde bulunan iş kurallarının ifade edilmesinde yardımcı olacaktır.

Sonuç

Gerensinimlerin belirleyicisi olan rolün modelleme kavramlarına ve gereksinimlerin açıklanmasında görsellik açısından bu kavramların nasıl kullanılacağına hakim olması gereklidir. Konusunda uzman ve üst düzey bilgi sahibi bir gereksinim belirleyicisi teknik ağırlıklı modelleri de yorumlama becerisine sahip olacaktır ve sistemde uygulayıcı rolünü üstlenen kişilerin de gereksinimleri anlamalarına yardımcı olabilecektir. Görsel modelleme, başarılı geliştirme birimleri tarafından kullanılan iyi bir uygulamadır. Bir sistemin amaçlanan işlevsellik ve veri gereksinimlerinin modellenmesi ve bu gereksinimlerin nasıl uyarlanacağı ve tüm bunların da kesin ve açık bir şekilde ifade edilmeleri çok önemlidir.

Emrah ERCAN

Endüstri Mühendisi, MBA, BT Stratejisi ve Kurumsal Mimari Analisti

emrahercann.wordpress.com

Bir Cevap Yazın