Kullanım-vakaları ile aspect yönelimli yazılım geliştirme
Aspect oriented software development with use-cases
Yazar: CEMAL KEREM ERSOY
Danışman: PROF.DR. KEMAL KÖYMEN
Maltepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2007
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Kullanım-vakaları ile Aspect Yönelimli Yazılım Gelistirme isimli bu çalısma BilgisayarMühendisliği Yüksek Lisans tezi olarak Maltepe Üniversitesi Fen BilimleriEnstitüsünde hazırlanmıstır.Yazılım sistemlerinde amaç isterlerin karsılanmasıdır. ?deal olan her bir isterin ayrı birmodülde karsılanması ve diğerlerinden bağımsız olarak gelistirilmesidir. ?sterler,sistemde gerçeklestirildikleri takdirde ?ilgi? adını alırlar. Bazı ilgilerin gerçeklestirimiiçin tek bir modül yeterli olsa da, genellikle birden çok modülü etkilerler. Bu ilgiler?çapraz-kesen ilgiler? olarak adlandırılır.Etkili bir ilgi ayrımı için isterlerin belirlenmesinden baslayarak her asamada ilgilerinayrı tutulması gerekmektedir. Gerçeklestirimde ayırım Aspect Yönelimli Programlamaile sağlanabilse de, aspectlerin tasarım modelinde belirlenip, temsil edilebilmeleri içinyeni bir gösterim elemanına ihtiyacımız vardır.Kullanım-vakaları sadece isterleri belirleme yöntemi değildir. Bütün yazılım yasamçevrimini yönlendiren bir yazılım mühendisliği yöntemidir. Geleneksel diller ilgiayırımına destek vermediklerinden, kullanım-vakası tekniğinde de ilgilerle ilgili yeterlidestek yoktur. ?lgilerin ayrı tutulabilmesi için her bir tasarıma özgü olan parçalarındiğerlerinden ayrı tutulması gerekmektedir. Bunun için ?kullanım-vakası kesitlerini?kullanırız.Esnek bir mimari, performans ve güvenlik gibi sistemin genelini etkileyen ilgilerikarsılamalı ve her bir parçasının hangi ister ya da kullanım-vakasına karsılık geldiğianlasılabilmelidir. Bu kullanım-vakası kesitleri tarafından yönlendirilen aspectler ilesağlanabilir.Bu çalısma 2007 yılında hazırlanmıs olup, 61 sayfadan olusmaktadır.Anahtar kelimeler: Aspect, kullanım-vakası, modülerlik, ister.

Abstract:
This research titled Aspect-Oriented Programming with Use-cases was completed as agraduate thesis for Computer Engineering at Science Institute of Maltepe University.Software systems are built to meet the requirements. Ideally each requirement should beimplemented in a separate module and developed independently. When a requirement isimplemented in a software system, it usually effects more than one module. These arecalled ?crosscutting concerns?.For an effective concern separation, separation should be preserved throughout thewhole software life cycle. Although separation can be accomplished with aspectorientedprogramming in the coding phase, we need a new display element in the designphase to represent aspects.Use-cases direct the whole software life cycle. However they do not have enoughsupport for aspect-orientation as conventional languages do not support concernseparation. To keep concerns separate, parts specific to each concern must be keptseparate. We use ?use-case slices? for this purpose.Resilient architectures must meet general purpose concerns like performance andsecurity while each part can be mapped to its requirement or use-case. This isaccomplished with use-case oriented aspects.This research was written in 2007 and contains 61 pages.Keywords: Aspect, use-case, modularity, requirement