systematic approach for mapping software development methods
TRANSCRIPT
SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ G Ö R K E M G I R AY, T U R K E Y
B E D I R T E K I N E R D O G A N , W A G E N I N G E N U N I V E R S I T Y, N E T H E R L A N D S
E R AY T Ü Z Ü N , H A V E L S A N , T U R K E Y
U Y M K 2 0 1 6
I S TA N B U L
İçerik
Essence Çerçevesi
Sentez Tabanlı Yazılım Mimarisi Tasarımı Yaklaşımı
Sentez Tabanlı Yazılım Mimarisi Tasarımı Yaklaşımının Essence Çerçevesi ile modellenmesi
Sonuç ve Gelecek Çalışmaları
Ref: Mark Kennaley, SDLC 3.0: Beyond a Tacit Understanding of Agile, Fourth Medium Press, 2010.
Problemler nedir?
Ortak bir terminoloji eksikliği
Tecrübe paylaşımı
Metotları karşılaştırabilme
Bilgi dağarcığı oluşturabilme
Yazılım Mühendisliği Eğitimi
Görkem Giray, Yazılım Geliştirme Süreci Uyarlama İçin Bir Çerçeve Önerisi, UYMS 2015, İzmir, http://ceur-ws.org/Vol-1483/4_Bildiri.pdf.
“Everyone of use knows how to develop our own software, but as a community we have no widely accepted common
ground.”
Ivar Jacobson
Ref: Dr. Ivar Jacobson - The Essence of Software Engineering: the SEMAT Approach, Google Zürich Tech Talk, July 17, 2014.
Essence OMG Specification
Ref: http://www.omg.org/spec/Essence/
Essence Çerçevesi
Dil
Çekirdek
Pratikler
Yöntemler
Yöntem A Yöntem B Alfalar
Etkinlik Uzayları
Yetkinlikler
Alfalar
PaydaşlarFırsat
Gereksinimler Yazılım Sistemi
İş Yapma Biçimi
Takımİş
değerlendirilmesiiçin yapılır
tanımlar
rehberlik eder
kapsamını ve kısıtlarını belirler
karşılar
planlar ve yapar
kullanır
üretir
destekler
değiştirir
rehberlik eder uygular
ister
değerlendirilmesine katkıda bulunur
Mü
şte
riÇ
özü
mÇ
aba
Etkinlik Uzayları M
üşt
eri
Çö
züm
Çab
a
Fırsatları ortaya çıkarma
Paydaşların gereksinimlerini
anlama
Paydaş memnuniyetini
sağlama
Sistemi kullanma
Gereksinimleri anlama
Sistemi oluşturma
Sistemi gerçekleştirme
Sistemi test etme
Sistemi kurma Sistemi işletme
İşi yapmak için hazırlanma
Etkinliği koordine etme
Takımı destekleme
İlerlemeyi izleme İşi sonlandırma
Yetkinlikler M
üşt
eri
Çö
züm
Çab
a
Paydaş Temsilcisi
Analiz Geliştirme Test Etme
Liderlik Yönetim
Sentez Tabanlı Yazılım Mimarisi Tasarım Yaklaşımı
Tekinerdogan B, Aksit M. Integrating the Concept of Synthesis in the Software Architecture
Design Process, Transactions of the SDPS 10(1), 2006, s.45-56.
Sentez Tabanlı Yazılım Mimarisi Tasarım Yaklaşımı
Sentez tabanlı yazılım mimarisi tasarımı
Gereksinimlerin analizi Teknik problem analizi Çözüm alan analiziAlternatif çözüm uzayı
analiziMimari tasarım belirtimi
· Gereksinimlerin belirtilmesi· Kullanım senaryosu analizi· Prototip geliştirilmesi· Biçimsel modellerin
tanımlanması
· Çözüm alanlarının tanımlanması ve önceliklendirilmesi
· Bilgi kaynaklarının tanımlanması ve önceliklendirilmesi
· Çözüm alanı kavramlarının ortaya çıkarılması
· Kavramsal yapının tanımlanması
· Gereksinimlerin genelleştirilmesi
· Alt problemlerin tanımlanması
· Alt problemlerin belirtilmesi· Alt problemlerin
önceliklendirilmesi
· Her kavram için alternatiflerin tanımlanması
· Kısıtların tanımlanması
· Mimarinin semantiğinin ortaya çıkarılması
· Dinamik davranışın tanımlanması
0
1 2 3 4 5
Tekinerdogan B, Aksit M. Integrating the Concept of Synthesis in the Software Architecture
Design Process, Transactions of the SDPS 10(1), 2006, s.45-56.
Neden Essence Çerçevesi ile Modelleme?
Pratiği öğrenme
Pratikteki olası eksikleri belirleme
Pratiği iyileştirme
Duruma göre özelleştirme
• Gerekli yerlerde pratiği iyileştirme
• Diğer pratiklerle beraber kullanma
Pratiğin kullanımında operasyonel destek sağlama
Essence ile modellemek için Sistematik Bir Yaklaşım
Sistematik Haritalama
Essence Çerçevesi
Metot Tanımı
Essence ile modellenmiş metot
G. Giray, E. Tüzün, B. Tekinerdogan, and Y. Macit, “Systematic Approach for Mapping Software Development Methods to the Essence Framework,” in The 5th International Workshop on Theory-Oriented Software Engineering. 2016.
Adımlar
Extract concepts from method specification 1
Kavramları Essence kavramlarına göre sınıflandır 2
Pratik tanımından kavramları not et 1
Kavramları Essence ile belirt 3
Kavramların özelliklerini çıkart 4
Modellenmiş pratiği gözden geçir 6
Alakalı kavramları ilişkilendir 5
Essence çerçevesine göre kapsamı
düşünülmüş
sınırlandırılmış
bağdaşık
kabul edilebilir
irdelenmiş
karşılanmış
Ge
reks
inim
ler
mimari seçilmiş
gösterilebilir
kullanılabilir
hazır
işletilebilir
kullanımdan kaldırılmış
Yaz
ılım
Sis
tem
i
Fırsat Paydaşlar Gereksinimler Yazılım Sistemi İş Takım İş yapma biçimi
Etkinlik Uzayları ile İlişkisi M
üşt
eri
Çö
züm
Çab
a
Fırsatları ortaya çıkarma
Paydaşların gereksinimlerini
anlama
Paydaş memnuniyetini
sağlama
Sistemi kullanma
Gereksinimleri anlama
Sistemi oluşturma
Sistemi gerçekleştirme
Sistemi test etme
Sistemi kurma Sistemi işletme
İşi yapmak için hazırlanma
Etkinliği koordine etme
Takımı destekleme
İlerlemeyi izleme İşi sonlandırma
Mü
şte
riÇ
özü
mÇ
aba
Fırsatları ortaya çıkarma
Paydaşların gereksinimlerini
anlama
Paydaş memnuniyetini
sağlama
Sistemi kullanma
Gereksinimleri anlama
Sistemi oluşturma
Sistemi gerçekleştirme
Sistemi test etme
Sistemi kurma Sistemi işletme
İşi yapmak için hazırlanma
Etkinliği koordine etme
Takımı destekleme
İlerlemeyi izleme İşi sonlandırma
Etkinlik Uzayları ile İlişkisi
Essence Çerçevesi Sentez Tabanlı Mimari Tasarım
Gereksinimleri anlama
Başlangıç: yok
Tamamlanma ölçütü:
Gereksinimler::bağdaşık
· Gereksinimlerin analizi
· Teknik problem analizi
· Çözüm alan analizi
· Alternatif çözüm uzayı analizi
Sistemi oluşturma
Başlangıç: Gereksinimler::bağdaşık
Tamamlanma ölçütü:
Gereksinimler::kabul
edilebilir, Yazılım
Sistemi::mimari seçilmiş
· Mimari tasarım belirtimi
Önerilen Alt-Alfalar
belirlenmiş
tanımlanmış
gerçekleştirilmiş
doğrulanmışGe
reks
inim
öge
si
yön
len
dir
ir
Gereksinimler
belirlenmiş
tanımlanmış
çözülmüşP
rob
lem
öge
si
yön
len
dir
ir
Gereksinimler
belirlenmiş
modellenmiş
Ala
n ö
gesi
yön
len
dir
irGereksinimler
belirlenmiş
bütünleştirilmiş
gerçekleştirilmiş
hazır
Mim
ari ö
ge
yön
len
dir
ir
Yazılım Sistemi
Alt Alfaların Durum Değişimi
belirlenmiş
tanımlanmış
gerçekleştirilmiş
doğrulanmış
Ge
reks
inim
öge
si
belirlenmiş
tanımlanmış
çözülmüş
Pro
ble
m ö
gesi
belirlenmiş
modellenmişA
lan
öge
si
belirlenmiş
bütünleştirilmiş
gerçekleştirilmiş
hazır
Mim
ari ö
ge
belirlenmiş
yetkilendirilmiş
bağlanmış
tatmin olmuş
Pay
daş
te
msi
lcis
i
Gereksinimlerin analizi
Teknik problem analizi
Çözüm alan analizi
Alternatif çözüm uzayı
analizi
Mimari tasarım belirtimi
Sonuç
Sentez Tabanlı Yazılım Mimarisi Tasarımı Pratiğini Essence ile modellenmesi
Durum-tabanlı bir etkinlik izleme düzeneği
Gerçek yazılım projesinde kullanılması planlanmaktadır
Teşekkürler