systematic approach for mapping software development methods

22
SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ GÖRKEM GIRAY, TURKEY BEDIR TEKINERDOGAN, WAGENINGEN UNIVERSITY, NETHERLANDS ERAY TÜZÜN, HAVELSAN, TURKEY UYMK 2016 ISTANBUL

Upload: trandung

Post on 29-Jan-2017

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Systematic Approach for Mapping Software Development Methods

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

Page 2: Systematic Approach for Mapping Software Development Methods

İç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ı

Page 3: Systematic Approach for Mapping Software Development Methods

Ref: Mark Kennaley, SDLC 3.0: Beyond a Tacit Understanding of Agile, Fourth Medium Press, 2010.

Page 4: Systematic Approach for Mapping Software Development Methods

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.

Page 5: Systematic Approach for Mapping Software Development Methods

“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.

Page 6: Systematic Approach for Mapping Software Development Methods

Essence OMG Specification

Ref: http://www.omg.org/spec/Essence/

Page 7: Systematic Approach for Mapping Software Development Methods

Essence Çerçevesi

Dil

Çekirdek

Pratikler

Yöntemler

Yöntem A Yöntem B Alfalar

Etkinlik Uzayları

Yetkinlikler

Page 8: Systematic Approach for Mapping Software Development Methods

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

şte

riÇ

özü

aba

Page 9: Systematic Approach for Mapping Software Development Methods

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

Page 10: Systematic Approach for Mapping Software Development Methods

Yetkinlikler M

üşt

eri

Çö

züm

Çab

a

Paydaş Temsilcisi

Analiz Geliştirme Test Etme

Liderlik Yönetim

Page 11: Systematic Approach for Mapping Software Development Methods

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.

Page 12: Systematic Approach for Mapping Software Development Methods

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.

Page 13: Systematic Approach for Mapping Software Development Methods

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

Page 14: Systematic Approach for Mapping Software Development Methods

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.

Page 15: Systematic Approach for Mapping Software Development Methods

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

Page 16: Systematic Approach for Mapping Software Development Methods

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

Page 17: Systematic Approach for Mapping Software Development Methods

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

şte

riÇ

özü

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

Page 18: Systematic Approach for Mapping Software Development Methods

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

Page 19: Systematic Approach for Mapping Software Development Methods

Ö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

Page 20: Systematic Approach for Mapping Software Development Methods

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

Page 21: Systematic Approach for Mapping Software Development Methods

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

Page 22: Systematic Approach for Mapping Software Development Methods

Teşekkürler