10.07.2015 Views

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine DoğruÇağatay ÇatalŞekil 5’de verilen Alan Modelini, bir alan hakkındabilgiler içeren çıktılar kümesi olarak tanımlayabiliriz.Bu çıktılar;• Alanda gerçekleştirilen fonksiyonlar,• Fonksiyonları gerçekleştiren veya üzerindefonksiyonların gerçekleştirildiği varlıklar(entity),• Sistemden akan veri ve bilgilerolarak ifade edebiliriz.Aviyonik alanındaki fonksiyonlara örnek olarak,uçağın inişi, kalkışı, taksi pozisyonu, akaryakıtalması gibi fonksiyonları verebiliriz. Bualandaki varlıklar ise uçuş enstrümanları, akaryakıttankları, uçağı kontrol etmek için kullanılanhidrolik sıvılar, akaryakıt dolumu sırasındatanklara transfer edilen akaryakıt olabilir. Verive bilgi ise; çeşitli pilot komutları, uyarılar,durum kontrol mesajları, kara kutulardan toplananveri, akaryakıt tüketim oranları olabilir.Alan modelleri sayesinde, problem alanınınterminolojisini ve semantiğini standartlaştırmakmümkün oluyor. Bu terminoloji ve semantik,o alanın ontolojisini oluşturuyor [1].Bir alan modeli aşağıdaki elemanlardan oluşmaktadır[1]:• Alan Sözlüğü (Domain Dictionary): Alandakiterimleri tanımlar.• Bilgi Modeli (Information Model): Alandakivarlıkları ve veriyi tanımlar.• Özellik Modeli (Feature Model): Özelliklerisunmak üzere, varlıklar ve verinin nasılbirleştiğini tanımlar.• Operasyonel Model: Varlıklar arasındaveri ve kontrol akışının nasıl sağlandığınıtanımlamaktadır.Alan Sözlüğü, düz metinsel tanımların verildiğibir sözlük olarak hazırlanabilmektedir. Projebelgeleri hazırlanırken kullanılan tanımlarbaşlığına benzer şekilde oluşturulabilir. Diğerelemanlar ise, özel modelleme yaklaşımları gerektirmektedir.196Şekil 6’da alan modelinin temel elemanları vebu elemanlar için kullanılabilecek modellemediyagramları gösterilmektedir.Şekil 6. Alan modelinin elemanlarıBilgi modeli, aşağıdaki diyagramlardan birveya birden fazlasını içerebilir [1]:• Bağlam-Bilgi Diyagramı (Context-Information Diagram): Alanın içinde vedışında yer alan varlıkların, bu varlıklararasındaki bilgi akışının gösterildiği diyagramlardır.• Varlık-İlişki Diyagramı (Entity-Relationship Diagram): Alan içindekivarlıklar arasındaki içerme (has_a) ve genelleştirme(is_a) ilişkilerini gösteren diyagramlardır.• Semantik Ağ (Semantic Network): Bilgitemsili (knowledge representation) içinuzun yıllardır kullanılan bir yöntem olupE-R diyagramlarına benzemektedir.• Nesne Diyagramı (Object Diagram): Uygulamaalanındaki nesneleri, özellikleri veoperasyonları açısından tanımlar ancak bunesneler yazılım içindeki nesneler olmakdurumunda değildir, problem uzayındakivarlıklardır.Özellik modeli, kullanıcılar ve geliştiricilerarasında iletişimi kolaylaştırmaktadır, uygulamanınyetenekleri bu modellerle ortaya konulur.Özellikler; zorunlu, seçime bağlı, varyantözellik olarak üçe ayrılır. Özellik modeli içinaşağıdaki modelleme yaklaşımlarından birveya daha fazlası kullanılabilir [1]:• Özellik İlişki Diyagramı (Feature RelationshipDiagram): Bu diyagram, metinselolarak zorunlu ve seçime bağlı özelliklerinaktarıldığı şekilde hazırlanabilir. Ayrıca,kalite gereksinimlerini de bu diyagramadâhil etmek mümkündür.• Kullanım Durumu Diyagramı (Use CaseDiagram): UML içinde mevcut olan ve iyibilinen bir diyagramdır.• Temsil Modeli (Representation Model):Bilginin kullanıcılara nasıl gösterildiğinitanımlayan modeldir.Operasyonel model; fonksiyonları, bu fonksiyonlararasındaki veri alış verişini ve bu fonksiyonlarınakışını tanımlar. Diğer bir ifadeyle,alan içinde uygulamaların nasıl çalıştığını gösterir.Aşağıdaki yöntemlerle modellenebilir [1]:• Veri-Akış Diyagramı (Data-Flow Diagram):Sistem içinde verinin nasıl değiş tokuş edildiğiniaçıkça temsil eden diyagramdır.• Kontrol-Akış Diyagramı (Control-Flow Diagram):Sistem içinde varlıklar arasında kontrolünnasıl aktığını gösteren diyagramdır.• Durum-Geçiş Diyagramı (State-TransitionDiagram): Alan içindeki varlıkların geçeceğifarklı durumları, durumlar arasındaki geçişlereneden olayları, bu olaylar nedeniyleortaya çıkan eylemleri tanımlar. UML içindekidurum diyagramlarına benzemektedir.Yaptığımız değerlendirmelere göre; Bilgi Modeliiçin bağlam diyagramı veya ER diyagramlarının,Özellik Modeli için kullanım durumu diyagramının,Operasyonel Model için veri-akış, kontrolakışve durum-geçiş diyagramlarının uygunolduğu değerlendirilmiştir. Özellik Modeli içinayrıca, FORM (Feature Oriented Reuse Method)yöntemi [4] de sıkça kullanılmaktadır. Ayrıca,ürün hattı mühendisliği yaklaşımında kullanımdurumu diyagramları içerisinde ortak ve değişkenkullanım durumlarının nasıl ifade edileceğiGomaa’nın kitabında açıklanmaktadır [5].<strong>Akademik</strong> Bilişim’<strong>10</strong> - XII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri<strong>10</strong> - <strong>12</strong> Şubat 20<strong>10</strong> Muğla Üniversitesi1972.bölümde yazılım ürün hatları, 3. bölümde ülkemizdekiürün hattı yaklaşımları, 4. bölümdeöneriler, 5. bölümde sonuç ve 6. bölümde referanslarverilmektedir.2. Yazılım Ürün HatlarıAlana özel yazılım mühendisliğinin önemlitekniklerinden birisi de, yazılım ürün hattı mimarileridir.Bu mimariler, bugünlerde yazılımmimarisinin, “gümüş kurşunu” (silver bullet)olarak ifade edilmektedir. Maliyetleri azaltmakve kaliteyi arttırmak için yüksek bir potansiyelibulunan bir tekniktir [1]. Bu noktada,mühendislik ürün hatları (engineering productlines) ve işletme ürün hatları (business productlines) arasındaki farkı açıklamakta fayda bulunmaktadır.İşletme ürün hatlarında, belirli birürün ailesini bir arada bulundurmak önemlidirancak teknik açısından benzerlikler ve farklılıklarındikkate alınması önemli değildir. Mühendislikürün hatlarında ise ürünlerin tasarımıve oluşturulması esnasında, başından sonunakadar teknik açıdan benzerlikler ve farklılıklardikkate alınmaktadır.Geleneksel yazılım mühendisliğinde, ürün geliştirmemasrafları ve gelirlerini gösteren resim Şekil7’de verilmektedir. Şekilde görüldüğü gibi,geleneksel geliştirme pratikleri uygulandığı durumdaher yeni ürün geliştirilmesi aynı masraflarınyeniden yapılmasını gerektirmektedir.Şekil 7. Ürün masraf ve gelirleriŞekil 8’de, ürün hatlarının kullanıldığı durumdamasrafların azaldığı, resmedilmektedir.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!