26
İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ MİMARİ TANIMI Basri KAHVECİ, 20724835 Tolga DÜZENLİ, 20624467

İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

İKİNCİ EL MALZEME SATIŞI

OTOMASYON SİSTEMİ

MİMARİ TANIMI

Basri KAHVECİ, 20724835

Tolga DÜZENLİ, 20624467

Page 2: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

1) AMAÇ

Bu belge Ġkinci El Malzeme SatıĢ Otomasyonu sisteminin tasarım ve gerçekleĢtirimini

Ģekillendiren felsefeyi, kararları, kısıtları, gerekçeleri, önemli unsurları ve diğer kapsayıcı

yönlerini açıklar.

BaĢlangıç aĢamasında tanımlanan tasarım ve iĢlevsel gereksinimler, daha ayrıntılı ve

rafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım Gereksinimleri

Tanımı Belgesi’nin tasarım kısmının daha detaya inilmiĢ halidir ve “ne” yapılacağından

ziyade; yapılacakların “nasıl” yapılacağını anlatmayı amaçlar.

2) PAYDAġLAR

Sistemin paydaĢları sistem mimarı, satın alıcı, gereksinim mühendisleri, tasarımcı ve

geliĢtirici ekip, test ekibi, kullanıcılar olarak satıcılar ve müĢterilerdir.

Sistem mimarı ve satın alıcı, tüm bakıĢlarla ilgilenir. Gereksinim mühendisleri iĢlevsel

bakıĢla, tasarımcı ve geliĢtirici ekip iĢlevsel bakıĢ, bilgi bakıĢı ve geliĢtirme bakıĢı ile ilgilenir.

Test ekibi geliĢtirme bakıĢı ile ilgilenir. Kullanıcılar ise iĢlevsel bakıĢ ile ilgilenirler.

3) SĠSTEM BAĞLAMI

4) SĠSTEM ÖZELLĠKLERĠ

Sistemin ĠĢlevsel Özellikleri:

- Tüm kullanıcılara açık bir arama motoru ile ürün sorgulama,

- Tüm kullanıcıların ulaĢabileceği iletiĢim bilgilerini görüntüleme,

- En son eklenen en yeni ürünleri anasayfada resimleri ile gösterme,

- Tüm kullanıcılar için sistemdeki ürünlerin resimlerinin veya adlarının üzerine

tıklandığında ürünün ayrıntılarının olduğu sayfa açılması,

Page 3: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

- Yönetim iĢlemleri için admin giriĢ sayfasından kullanıcı adı ve parola sorgulama

(Sistem Yöneticisi),

- Yönetim iĢlemleri için yeni kategori ekleme formu (Sistem Yöneticisi),

- Yönetim iĢlemleri için var olan kategoriyi silme iĢlemi (Sistem Yöneticisi),

- Yönetim iĢlemleri için satıcılardan gelen ürün ekleme taleplerini görme (Sistem

Yöneticisi),

- Yönetim iĢlemleri için ürün ekleme taleplerini kabul etme veya reddetme (Sistem

Yöneticisi),

- Yönetim iĢlemleri için ürün güncelleme ve silme taleplerini kabul etme veya

reddetme,

- Yönetim iĢlemleri için satıcı üye olmak isteyen anonim kullanıcıların listesini görme

(Sistem Yöneticisi),

- Yönetim iĢlemleri için satıcı üye listesindeki talepleri kabul etme veya reddetme

(Sistem Yöneticisi),

- Anonim kullanıcıların satıcı veya alıcı üye olabilmeleri için kayıt formu,

- MüĢteri üye için giriĢ sayfasından kullanıcı adı ve parola sorgulama,

- MüĢteri üye için alıĢveriĢ sepetine ürün eklenip çıkarılabilmesi,

- MüĢteri üye için alıĢveriĢ sepetindeki ürünleri satın alma iĢlemi,

- MüĢteri üyenin alıĢveriĢi tamamladıktan sonra adres ve fatura bilgilerini alan form,

- Satıcı üye için satıcı giriĢ sayfasından kullanıcı adı ve parola sorgulama,

- Satıcı üyesi iĢlemleri için ürün ekleme talebi formu,

- Satıcı ve MüĢteri türü kullanıcıların profillerini görüntüleme ve değiĢtirebilme

hizmeti,

- Soru ve önerilerin müĢteri temsilcisine iletilmesi ile üyelerle birebir iletiĢim.

Sistemin Kalite Özellikleri:

Güvenilirlik (“Reliability”)

ĠEAS’da verilerin korunması ve güvenliği çok önemlidir. Ürünlerin veri kaybı yanlıĢ

anlaĢılmalara ve geçersiz alıĢveriĢlere neden olabileceğinden dolayı veri tabanının sağlamlığı

çok önemlidir. Ġleri düzeyde veri yedeklemeye açık bir sistem oluĢturulacaktır. Bilgiler

sunucuda duracak, istemcide herhangi bir arıza asıl veri tabanını etkilemeyecektir.

Kullanılırlık (“Availability”)

Projede kullanıcı dostu arayüzler ile kullanım kolaylığı sağlanmıĢtır. Kolay ve rahat

bir alıĢveriĢ desteklenmektedir.

Güvenlik

Sadece bir SY yöneticisi olacağından, veri üzerinde kullanıcılar tarafından keyfi

değiĢimler yapılamaz.

Bakım-yapılabilirlik (“Maintainability”)

Page 4: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sistem geniĢleyebilir ve bakım yapılabilir özelliğe sahip olacaktır. Yapılan tüm

iĢlemler ayrı bir method içinde tanımlanacaktır. Böylece bakım daha kolay hale gelecektir.

TaĢınabilirlik (“Portability”)

Sistem platform bağımsız olarak çalıĢacaktır.

Kullanılabilirlik (“Usability”)

Bu sistemi birçok alıĢveriĢ firması kullanabilir. Firmanın ürünlerinin içeriklerine gore

değiĢtirilebilir.

5) ĠġLEVSEL BAKIġ

a. AġAMALAR

I. ELEMANLARI BELĠRLEME AġAMASI

Sistemin beklenen iĢlevselliğini sağlayacak olan bileĢenler aĢağıda listelen ve her biri

hakkında kısa açıklamalar verilmiĢtir.

- Ziyaretçi Web Tarayıcısı

- MüĢteri Web Tarayıcısı

- Satıcı Web Tarayıcısı

- MüĢteri Temsilcisi Web Tarayıcısı

- Sistem Yöneticisi Web Tarayıcısı

- MüĢteri ĠĢlemleri Arayüzü

- Satıcı ĠĢlemleri Arayüzü

- MüĢteri Temsilcisi Arayüzü

- Sistem Yöneticisi Arayüzü

- Ortak Ürün ĠĢlemleri Arayüzü

- Ziyaretçi ĠĢlemleri Arayüzü

- Satın Alma Servisi

- Geri Bildirim ĠĢlemleri Servisi

- Ürün ĠĢlemleri Servisi

- Kategori Yönetimi Servisi

- Ürün ĠĢlemleri Servisi

- Üye ĠĢlemleri Servisi

- Ürün Verileri Kalıcılık Birimi

- Satın Alma Verileri Kalıcılık Birimi

- Kategori Verileri Kalıcılık Birimi

- Üye Verileri Kalıcılık Birimi

- Geri Bildirim Verileri Kalıcılık Birimi

- Veritabanı

- Banka Sistemi

II. ELEMANLARA SORUMLULUKLARA ATAMA AġAMASI

Page 5: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Bir önceki adımda belirlenen elemanların gerçekleĢtireceği sorumluluklar aĢağıdaki gibi

tanımlanmıĢtır.

ELEMAN SORUMLULUKLAR

Ziyaretçi Web Tarayıcısı - Belirli kriterlere göre ürün arama yapmak, ürün

kategorilerine göre ürün listelesini görüntülemek,

ürün detaylarını görüntülemek, müĢteri üyeliği

baĢvurusu yapmak ve satıcı hesabı baĢvurusu

yapmak için kullanıcı arayüzü sağlama

MüĢteri Web Tarayıcısı - Bir ürünü sepete eklemek, bir ürünü sepetten

silmek, sepetteki ürünleri görüntülemek, satın alma

iĢlemini gerçekleĢtirmek, hesap bilgilerini

güncellemek, Ģikayet / istek / görüĢ / öneri / soru

eklemek için kullanıcı arayüzü sağlama

Satıcı Web Tarayıcısı - Satıcı hesabının bilgilerini düzenlemek, ürün

tanımlamak, satıĢa sunulmuĢ bir ürünün durumunu

görüntülemek, satıĢtaki bir ürünün bilgilerini

güncelleme talebi ya da ürünü silme talebi yapmak

için kullanıcı arayüzü sağlama

MüĢteri Temsilcisi Web

Tarayıcısı - MüĢterilerin bir ürün hakkında sundukları bilgi

taleplerini görüntüleme, yanıtlama ya da sistem

yöneticisine iletmek için kullanıcı arayüzü sağlama,

- MüĢterilerin satın aldıkları ürünler hakkında

yaptıkları Ģikayetleri yanıtlama ya da sistem

yöneticisine iletme için kullanıcı arayüzü sağlama

Sistem Yöneticisi Web Tarayıcısı - Sisteme kayıt baĢvurusu yapan müĢterilerin

kayıtlarını inceleyip onay vermek, sistemde satıĢ

yapmayan satıcıların hesaplarını silmek, onay

bekleyen ürünlerin listesini görüntülemek, onay

bekleyen bir ürünün detay bilgilerini görüntüleyip

onaylamak, uzun bir zaman dilinde satılmayan

ürünleri sistemden silmek, satıcı tarafından yapılan

ürün bilgisi güncelleme ya da ürünü silme talebini

değerlendirmek, müĢteri temsilcisi tarafından

iletilen geri bildirim taleplerini görüntüleyip

yanıtlamak için kullanıcı arayüzü sağlama

MüĢteri ĠĢlemleri Arayüzü - Sisteme giriĢ yapıp iĢlem yapan müĢterilerin

oturum bilgilerini saklama,

- MüĢteri Web Tarayıcısı’ndan gelen çağrıları ilgili

bileĢenlere aktarma ve yapılan iĢlemlerden dönen

sonuç bilgilerini kullanıcının web tarayıcısına geri

gönderme

Satıcı ĠĢlemleri Arayüzü - Sisteme giriĢ yapıp iĢlem yapan satıcıların oturum

bilgilerini saklama,

- Satıcı Web Tarayıcısı’ndan gelen çağrıları ilgili

bileĢenlere aktarma ve yapılan iĢlemlerden dönen

sonuç bilgilerini kullanıcının web tarayıcısına geri

gönderme

MüĢteri Temsilcisi ĠĢlemleri

Arayüzü - Sisteme giriĢ yapıp iĢlem yapan müĢteri

temsilcilerinin oturum bilgilerini saklama,

Page 6: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

- MüĢteri Temsilcisi Web Tarayıcısı’ndan gelen

çağrıları ilgili bileĢenlere aktarma ve yapılan

iĢlemlerden dönen sonuç bilgilerini kullanıcının

web tarayıcısına geri gönderme

Sistem Yöneticisi ĠĢlemleri

Arayüzü - Sisteme giriĢ yapıp iĢlem yapan sistem

yöneticilerinin oturum bilgilerini saklama,

- Sistem Yöneticisi Web Tarayıcısı’ndan gelen

çağrıları ilgili bileĢenlere aktarma ve yapılan

iĢlemlerden dönen sonuç bilgilerini kullanıcının

web tarayıcısına geri gönderme

Ortak Ürün ĠĢlemleri Arayüzü - Herhangi bir kullanıcı tipinin kullandığı web

tarayıcısından gelen ürün arama, ürün detaylarını

görüntüleme gibi çağrıları ilgili bileĢenlere aktarma

ve yapılan iĢlemlerden dönen sonuç bilgilerini

kullanıcının web tarayıcısına geri gönderme

Ziyaretçi ĠĢlemleri Arayüzü - Ziyaretçi Web Tarayıcısı’ndan gelen çağrıları ilgili

bileĢenlere aktarma ve yapılan iĢlemlerden dönen

sonuç bilgilerini kullanıcının web tarayıcısına geri

gönderme

Satın Alma ĠĢlemleri Servisi - Sepete ürün ekleme, sepetten ürün silme, sepeti

görüntüleme, sepetteki ürünleri satın alma

iĢlemlerinin gerçekleĢtirilmesi için programatik bir

arayüz sağlama

Geri Bildirim ĠĢlemleri Servisi - MüĢterilerinin dilek, Ģikayet, istek, soru gibi geri

bildirimlerinin kaydedilmesi ve yanıtlarının

görüntülenmesi için programatik bir arayüz

sağlama

Ürün ĠĢlemleri Servisi - Satıcıların sisteme ürün ekleme, güncelleme, silme

talebinde bulunması ve satıĢtaki ürünlerinin

durumunu görüntülemesi için programatik bir

arayüz sağlama

- Sistemde satıĢa sunulan ürünlerde aramalar

yapılması, ürünlerin belirli kriterlere göre

listelenmesi ve ürünlerin detaylarının

görüntülenmesi için programatik bir arayüz

sağlama

- Satıcıların sisteme eklediği ürünleri onaylama,

gönderdikleri ürün bilgisi güncelleme ya da ürün

silme taleplerini görüntülemek ve değerlendirmek

için programatik bir arayüz sağlama

Kategori Yönetimi Servisi - SatıĢa sunulacak ürünlerin dahil edileceği

kategorilerin eklenmesi, düzenlenmesi ve silinmesi

için programatik bir arayüz sağlama

Üye ĠĢlemleri Servisi - Ziyaretçilerin sistemde müĢteri ya da satıcı profili

oluĢturması ve sisteme giriĢ yapabilmesi için

programatik bir arayüz sağlama

- Sisteme kayıt yapan müĢterilerin profil bilgilerinin

görüntülenmesini ve onay verilmesini, sistemde

uzun süredir satıĢ yapmayan satıcıların

üyeliklerinin dondurulması için programatik bir

Page 7: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

arayüz sağlama

Ürün Verileri Kalıcılık Birimi - Satıcılar tarafından tanımlanan, sistem yöneticileri

tarafından yönetilen ve müĢteriler tarafından satın

alınabilen ürünlere ait verilerin ilgili servisler

tarafından kullanılabilmesi için verilerin kalıcılığını

sağlama

Satın Alma Verileri Kalıcılık

Birimi - MüĢterilerin yaptıkları satın alma iĢlemlerine

yönelik teslim adresi, fatura adresi, ödeme bilgileri

gibi verilerin ilgili servisler tarafından gerekli

zamanlarda kullanılabilmesini için kalıcılığını

sağlama

Kategori Verileri Kalıcılık Birimi - Ürünlerin ekleneceği kategorilerin kalıcılığını

sağlama ve ilgili servislerin kullanabilmesi için

programatik bir arayüz sunma

Üye Verileri Kalıcılık Birimi - Sistemde kayıtlı tüm kullanıcı tiplerine ait verilerin

kalıcılığını sağlama ve ilgili servislerin

kullanabilmesi için programatik bir arayüz sunma

Geri Bildirim Verileri Kalıcılık

Birimi - MüĢterilerin yaptığı geri bildirimlere yönelik

verilerin kalıcılığını sağlama ve ilgili servislerin

kullanabilmesi için programatik bir arayüz sunma

Veritabanı - Sistemde üretilen ve kullanılan tüm verinin

saklanması

Banka Sistemi - Satın alma iĢlemi esnasında sunulan ödeme

bilgilerinin doğrulanarak ödemenin

gerçekleĢtirilmesi

III. ARAYÜZLERĠN TASARIMI

1. Satın Alma Arayüzü

SatınAlmaArayüzü.sepeteEkle

Açıklama: Bir ürün ilgili müĢterinin sepetine eklenir.

ÖnkoĢullar: MüĢteri kaydı onaylanmıĢ bir müĢteri, ürün ise geçerli ve kimsenin sepetinde

olmayan bir ürün olmalıdır.

SonkoĢullar: Ürün ilgili müĢterinin sepetine kaydedilmiĢ olur.

SatınAlmaArayüzü.sepettenSil

Açıklama: Seçilen ürün ID bilgisi verilen müĢterinin sepetinden silinir.

ÖnkoĢullar: Seçilen ürünün ilgili müĢterinin sepetinde bulunuyor olması.

SonkoĢullar: Ürün ilgili müĢterinin sepetinden silinmiĢ olur.

SatınAlmaArayüzü.sepetiGörüntüle

Açıklama: ID bilgisi verilen müĢterinin sepetindeki ürünler döndürülür.

Page 8: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

ÖnkoĢullar: -

SonkoĢullar: -

SatınAlmaArayüzü.satınAl

Açıklama: MüĢteri sepetine eklediği ürünleri adres ve ödeme bilgilerini girerek satın alır.

ÖnkoĢullar: MüĢterinin sepete ürün eklemiĢ olması.

SonkoĢullar: MüĢteriden ödeme alınmıĢ olur. Ġlgili ödeme müĢteri ürünü teslim alıp

onayladığını belirttiğinde satıcıya aktarılır.

SatınAlmaArayüzü.teslimAl

Açıklama: MüĢteri satıcı tarafından gönderilen ürünleri teslim aldığında sistemden teslimAl

iĢlemini tetikler.

ÖnkoĢullar: MüĢterinin geçerli bir satın alma yapmıĢ olması.

SonkoĢullar: MüĢterinin ödemesi satıcıya aktarılır.

2. Geri Bildirim Sağlama Arayüzü

GeriBildirimSağlamaArayüzü.geriBildirimEkle

Açıklama: MüĢterinin yaptığı bir satın alma ya da merak ettiği bir ürüne yönelik Ģikayet, soru

gibi geri bildirimleri sisteme kaydedilir.

ÖnkoĢullar: -

SonkoĢullar: MüĢterinin geri bildirimi müĢteri temsilcisi tarafından değerlendirilmek üzere

sisteme kaydedilir.

GeriBildirimSağlamaArayüzü.geriBildirimGörüntüle

Açıklama: MüĢteri önceden yaptığı bir geri bildirimi görüntüler.

ÖnkoĢullar: MüĢterinin önceden bir geri bildirim yapmıĢ olması gerekmektedir.

SonkoĢullar: -

GeriBildirimSağlamaArayüzü.geriBildirimListele

Açıklama: MüĢteri yaptığı tüm geri bildirimlerin bir listesini alır.

ÖnkoĢullar: -

SonkoĢullar: -

3. Geri Bildirim Yönetim Arayüzü

Page 9: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

GeriBildirimYönetimArayüzü.geriBildirimleriGörüntüle

Açıklama: MüĢteriler tarafından yapılan geri bildirimlerin listesi getirilir.

ÖnkoĢullar: -

SonkoĢullar: -

GeriBildirimYönetimArayüzü.geriBildirimYanıtla

Açıklama: Bir müĢteri tarafından yapılan geri bildirime müĢteri temsilcisi tarafından yanıt

verilir.

ÖnkoĢullar: Bir müĢteri tarafından geri bildirim yapılmıĢ olması.

SonkoĢullar: MüĢteir temsilcisinin girdiği yanıt ilgili geri bildirimle iliĢkilendirilerek sisteme

kaydedilir.

GeriBildirimYönetimArayüzü.geriBildirimĠlet

Açıklama: MüĢterinin girmiĢ olduğu bir geri bildirim müĢteri temsilcisi tarafından sistem

yöneticisine aktarılır.

ÖnkoĢullar: MüĢteri tarafından bir geri bildirim girilmiĢ olması.

SonkoĢullar: Geri bildirim sistem yöneticisinin görüntülemesi için kaydedilir.

GeriBildirimYönetimArayüzü.iletilenGeriBildirimleriGörüntüle

Açıklama: MüĢteri temsilcileri tarafından sistem yöneticisine iletilen geri bildirimler

listelenir.

ÖnkoĢullar: -

SonkoĢullar: -

4. Ürün Bilgisi Alma Arayüzü

ÜrünBilgisiAlmaArayüzü.kategoridekiÜrünleriListele

Açıklama: Verilen bir kategori ID’sine kayıtlı olan ürünler listelenir.

ÖnkoĢullar: Kategori ID’sinin geçerli bir ID olması.

SonkoĢullar: -

ÜrünBilgisiAlmaArayüzü.ürünAra

Açıklama: Verilen bir bilgiye göre ürünler veritabanından aranır ve eĢleĢen ürünler listelenir.

ÖnkoĢullar: -

SonkoĢullar: EĢleĢen ürünler veritabanından listelenir.

Page 10: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

ÜrünBilgisiAlmaArayüzü.ürünDetaylarınıGör

Açıklama: Verilen bir ürün ID’si ile eĢleĢen ürünün detayları veritabanından getirilir.

ÖnkoĢullar: Geçerli bir ürün ID’si verilmiĢ olması.

SonkoĢullar: Ürünün bilgileri geri döndürülür.

5. Ürün Bilgisi Sağlama Arayüzü

ÜrünBilgisiSağlamaArayüzü.ürünEkle

Açıklama: Satıcının gerekli bilgileri sağladığı yeni ürün sistem yöneticisinin onaylanması

üzerine sisteme kaydedilir.

ÖnkoĢullar: Ürünün tüm gerekli bilgileri girilmiĢ olmalıdır.

SonkoĢullar: Yeni ürün onaylanmak üzere sisteme kaydedilir.

ÜrünBilgisiSağlamaArayüzü.ürünGüncellemeTalebiYap

Açıklama: Satıcı tarafından eklenmiĢ olan bir ürüne yönelik güncel bilgiler sistem yöneticisi

tarafından onaylanmak üzere sisteme kaydedilir.

ÖnkoĢullar: Güncellenmek istenen ürünün sisteme kaydedilmiĢ ve güncel bilgilerin geçerli

olması.

SonkoĢullar: Güncel bilgiler onaylanmak üzere kaydedilir.

ÜrünBilgisiSağlamaArayüzü.ürünSilmeTalebiYap

Açıklama: Satıcı tarafından satıĢa çıkarılan bir ürünün satılmadan önce sistemden silinmesi

talep edilebilir.

ÖnkoĢullar: Ürünün kimse tarafından satın alınmamıĢ olması

SonkoĢullar: Ürün silme talebi sistem yöneticisi tarafından onaylanmak üzere sisteme

kaydedilir.

6. Ürün Bilgisi Onaylama Arayüzü

ÜrünBilgisiOnaylamaArayüzü.ürünBilgileriniGörüntüle

Açıklama: Satıcılar tarafından eklenip onay bekleyen bir ürünün bilgileri görüntülenir.

ÖnkoĢullar: ID’si verilen ürünün onay bekliyor olması.

SonkoĢullar: -

ÜrünBilgisiOnaylamaArayüzü.ürünüOnayla

Açıklama: Satıcı tarafından eklenen bir ürün onaylanarak satıĢa çıkarılır.

Page 11: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

ÖnkoĢullar: Ġlgili ürünün onay bekliyor durumda olması.

SonkoĢullar: Ġlgili ürün satıĢ durumuna geçer.

ÜrünBilgisiOnaylamaArayüzü.ürünGüncellemesiniOnayla

Açıklama: Satıcı tarafından eklenmiĢ olan bi ürüne ait yeni güncel bilgiler sisteme kaydedilir.

ÖnkoĢullar: Güncel bilgileri sunulan ürünün satıĢta olması ve ürüne ait güncel bilgilerin

geçerli olması.

SonkoĢullar: SatıĢtaki ürünün bilgileri yeni bilgiler ile güncellenir.

ÜrünBilgisiOnaylamaArayüzü.ürünSilmesiniOnayla

Açıklama: SatıĢta olan bir ürünün satıcı tarafından satıĢtan kaldırılması durumunda ürün silme

talebi gönderilir.

ÖnkoĢullar: Ürünün satıĢa çıkmıĢ olması.

SonkoĢullar: Ürün satıĢ durumundan çıkarılıp sistemden silinir.

ÜrünBilgisiOnaylamaArayüzü.iĢlemBekleyenÜrünleriGörüntüle

Açıklama: Satıcılar tarafından eklenen, güncelleme ve silme talebi gönderilen ürünler

listelenir.

ÖnkoĢullar: -

SonkoĢullar: -

7. Üyelik ĠĢlemleri Arayüzü

ÜyelikĠĢlemleriArayüzü.üyeGiriĢBilgisiGetir

Açıklama: Sistemde kaydı olan bir üyenin sisteme giriĢ yapması için üyeye ait bilgiler

veritabanından getirilir.

ÖnkoĢullar: Geçerli giriĢ bilgilerinin girilmesi.

SonkoĢullar: Ġlgili satıcı / müĢteri / müĢteri temsilcisi / sistem yöneticisi kaydına ait bilgilerin

veritabanından getirilmesi.

ÜyelikĠĢlemleriArayüzü.müĢteriHesabıAç

Açıklama: Bir müĢteriye ait bilgiler girilerek yeni bir hesap açılması için sisteme kaydedilir.

ÖnkoĢullar: Geçerli ve tutarlı müĢteri bilgileri girilmiĢ olmalıdır.

SonkoĢullar: Bilgiler sistem yöneticisi tarafından onaylanmak üzere sisteme kaydedilir.

ÜyelikĠĢlemleriArayüzü.satıcıHesabıAç

Page 12: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Açıklama: Bir satıcıya ait bilgiler girilerek yeni bir hesap açılması için sisteme kaydedilir.

ÖnkoĢullar: Geçerli ve tutarlı bir satıcı bilgileri girilmiĢ olmalıdır.

SonkoĢullar: Bilgiler sistem yöneticisi tarafından onaylanmak üzere sisteme kaydedilir.

ÜyelikĠĢlemleriArayüzü.profilBilgileriniGüncelle

Açıklama: Ġlgili üyeye ait bilgiler yeni girilen bilgiler ile güncellenir.

ÖnkoĢullar: Tutarlı bilgiler sağlanmıĢ olmalıdır.

SonkoĢullar: Üyenin bilgileri veritabanında yeni bilgiler ile güncellenir.

8. Hesap Yönetim Arayüzü

HesapYönetimArayüzü.hesabıOnayla

Açıklama: Sisteme kayıt yapıp onay bekleyen satıcı ve müĢterilerin hesapları onaylanır.

ÖnkoĢullar: Geçerli bilgilerin sağlanmıĢ olması.

SonkoĢullar: Ġlgili müĢteri ya da satıcının sistemde iĢlem yapmaya baĢlayabilir.

HesapYönetimArayüzü.satıcıHesabıSil

Açıklama: Sistemde uzun süredir satıĢ yapmayan satıcılar sistem yöneticisi tarafından

sistemden silinebilir.

ÖnkoĢullar: Satıcının uzun süredir satıĢ yapmıyor olması.

SonkoĢullar: Satıcı hesabı sistemden silinmiĢ olur.

HesapYönetimArayüzü.müĢteriTemsilcisiHesabıOluĢtur

Açıklama: MüĢteriler tarafından yapılan geri bildirimleri iĢleme almak üzere müĢteri

temsilcisi hesabı yaratılır.

ÖnkoĢullar: Geçerli bir müĢteri hesabı bilgileri girilmelidir.

SonkoĢullar: MüĢteri temsilcisi hesabı yaratılmıĢ olur.

IV. ĠġLEVSEL ĠZLENEBĠLĠRLĠK

Satın

Alma

ĠĢlemleri

Servisi

Geri

Bildirim

ĠĢlemleri

Servisi

Ürün

ĠĢlemleri

Servisi

Üye

ĠĢlemleri

Servisi

Kategori

ĠĢlemleri

Servisi

Ürün Arama x

Ürünleri Listeleme x

Ürün Detaylarını Görüntüleme x x

Page 13: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sepete Ürün Ekleme x

Sepetten Ürün Silme x

Sepetteki Ürünleri Satın Alma x

Satın Alınan Ürünlerin Teslim

Alınması Bildirme

x

ġikayet / Soru Geri Bildiriminde

Bulunma

x

Ürün Ekleme BaĢvurusunda Bulunma x

Ürün Güncelleme BaĢvurusunda

Bulunma

x

Ürün Silme BaĢvurusunda Bulunma x

Profil Güncelleme x

Satıcı Üyeliği BaĢvurusu Yapma x

MüĢteri Üyeliği BaĢvurusu Yapma x

Sisteme GiriĢ Yapma x

MüĢteri ve Satıcı Hesabı Onaylama x

Satıcı Hesabı Silme x

MüĢteri Hesabı OluĢturma x

Ürün Eklemeyi Onaylama x

Ürün Silmeyi Onaylama x

Ürün Güncellemeyi Onaylama x

Kategori Yönetimi x

Geri Bildirimleri Görüntüleme x

Geri Bildirimleri Yanıtlama x

Geri Bildirimleri Sistem Yöneticisine

Ġletme

x

V. GENEL SENARYOLAR ÜZERĠNDEN SĠSTEMĠN ĠġLEVSELLĠĞĠNĠ SINAMA

Ürün Ekleme Senaryosu:

Satıcı web tarayıcısını kullanarak karĢısındaki arayüze ekleyeceği ürünün bilgilerini girer ve

tarayıcı ürün bilgilerini Satıcı ĠĢlemleri Arayüzü’ne gönderir. Satıcı ĠĢlemleri Arayüzü ilgili

satıcının oturum bilgileri ile birlikte ürün ekleme iĢleminin gerçekleĢtirilmesi için Ürün

ĠĢlemleri Servisi’nin gerekli arayüzünü tetikler. Ürün ĠĢlemleri Servisi de eklenecek üzerinde

gerekli kontrol ve iĢlemleri yaparak ürün bilgilerini Ürün Verileri Kalıcılık Birimi’ne vererek

ürünün veri tabanına kaydedilmesini sağlar.

ETKĠLEġĠMLERĠN ANALĠZĠ

Aktörler tarafından baĢlatılan iĢlemler gerçekleĢtirilirken, bileĢenler arasındaki etkileĢim

sayısı optimum sayıda tutulmaya çalıĢılmıĢtır. Bir iĢlem, kullanıcının web tarayıcısından

tetiklenir ve ilgili iĢlem arayüzü tarafından tarayıcının tetiklediği iĢlem ele alınır. Daha sonra

bu iĢlem ilgili servis bileĢenlerine aktarılır ve servis bileĢenlerinde tetiklenen iĢ

gerçekleĢtirilir. Üzerinde iĢlem yapılan veriler ise kalıcılık birimleri üzerinden tedarik edilir

ve kaydedilir. Görüldüğü gibi sistemdeki etkileĢimler sistemin mantıklı bir bölümlendirilmesi

ile kurulmuĢ bileĢenler arasında optimum sayıda gerçekleĢmektedir.

Page 14: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

b. UML BĠLEġEN DĠYAGRAMI

c. ĠġLEVSEL MODELĠN DEĞERLENDĠRĠLMESĠ

Tasarlanan bileĢenler ve bileĢenlerin sundukları arayüzler hakkında gerekli ayrıntı seviyesinde

açıklama verilmiĢtir. Ayrıca bileĢenlerin sahip olduğu sorumluluklar net bir Ģekilde

tanımlanmıĢtır. Altyapı modeli ise iĢlevsel elemanlara dahil edilmemiĢtir ve Yayılma

BakıĢı’nda ayrıca ele alınacaktır. Atanan sorumluluklar tasarlanan bileĢenlere dengede ölçüde

pay edilmeye çalıĢılmıĢ ve sorumlulukların birkaç bileĢen üzerinde yığılması önlenmiĢtir.

6) BĠLGĠ BAKIġI

Sistemin ER modeli aĢağıdaki gibi tasarlanmıĢtır.

Page 15: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sistemdeki bir ürünün yaĢam döngüsü boyunca bulunduğu durumlar aĢağıdaki gibidir.

Page 16: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sistemdeki bir geri bildirimin yaĢam döngüsü boyunca bulunduru durumlar aĢağıdaki gibidir.

Sistemde bulunan verilere eriĢim yetkisi aĢağıdaki tabloda verilmiĢtir.

MüĢteri Satıcı MüĢteri

Temsilcisi

Sistem

Yöneticisi

Ürün Okuma OluĢturma,

Güncelleme

- Doğrulama

Geri Bildirim OluĢturma - Güncelleme Güncelleme

SipariĢ OluĢturma - - Okuma

Satın Alma OluĢturma - - Okuma

Sistemdeki Ürün bilgisinin akıĢ diyagramı aĢağıdaki gibidir:

Page 17: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sistemdeki Geri Bildirim bilgisinin bilgi akıĢ diyagramı aĢağıdaki gibidir:

Page 18: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

a. Durum Bilgisi

Sistemdeki verilerde tanımlanan “durum” alanları, short türünden tanımlanmıĢtır ve 0

değeri pasif, 1 değeri aktif manasına gelmektedir. Diğer durum bilgileri ilgili nesnelerde

tasarım esnasında detaylandırılacaktır.

b. Gecikme, Veri YaĢı

Veriler merkezi bir veritabanında saklanacağından dolayı bir kullanıcı tarafından

yapılan güncelleme diğer kullanıcılara gecikme olmadan yansıyacaktır.

Ayrıca uzun süre boyunca satıĢ yapmayan satıcılara yönelik bilgiler sistemden silinecektir.

SatıĢa sunulan ürünlere yönelik “son güncelleme bilgisi” veri tabanında saklanacaktır.

c. Referanslar

Page 19: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sistemdeki her veri varlığına biricik bir ID atanmıĢtır. Bu biricik değerler,

veritabanında tablolardaki PK alanları ile ve uygulama üzerindeki domain nesnelerinde ID

niteliğinde tutulmaktadır. Veriler üzerinde yapılacak olan iĢlemler bir nesneyi biricik olarak

ayırt etmeye yarayan ID değerleri üzerinden yapılacaktır.

d. Veri Kalitesi

Satıcılar tarafından ürünlere ait bilgilerin ayrıntılı ve gerçekçi olmasına özen

gösterilecektir. Tanımlanan ve onay bekleyen ürünlerin bilgileri eksikse ya da düzgün değilse

ilgili ürün ekleme ve güncelleme talebi gerçekleĢtirilmeyecek ve satıcı uyarılacaktır.

e. Modelin Değerlendirmesi

Sistemde yönetilecek olan veri tanımlanmıĢ ve ayrıntılandırılmıĢtır. Böylece veri

bütünlüğü sağlanmıĢtır. Sistemde satıĢa sunulan ürünlerin verisinin kaliteli bir yapıda olması

sağlanacaktır. Sistemdeki veri üzerinde eriĢim / okuma / günleme yetkileri ilgili tabloda

detaylandırılmıĢtır. Ayrıca sistemdeki her veriye biricik bir ID değeri atanarak verilerin

birbirinden ayrılması sağlanmıĢtır.

7) GELĠġTĠRME BAKIġI

I. Modüller ve Bağımlılıkları

Page 20: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sunum Modülü’nde bulunan bileĢenler, uygulamanın içeriğinin kullanının web

tarayıcısında HTML sayfaları halinde görüntülenmesini sağlarlar. Bunu yaparken JSF ve

PrimeFaces kütüphanelerini kullanırlar. Ayrıca HTTP protokolü üzerinden Oturum

Modülü’ndeki bileĢenlerle iletiĢim kurarak kullanıcının HTML arayüzlerden tetiklediği

iĢlemlerin sunucu tarafında ele alınmasını sağlarlar.

ĠĢ Katmanı’nın Oturum Modülü’ndeki bileĢenler, sistemde oturum açıp iĢlem yapan

kullanıcılara ait oturum bilgisini tutmakla birlikte HTML arayüzlerden gelen HTTP isteklerini

ele alıp gerekli servis çağrılarını yaparlar. Oturum bilgisi tutma ve HTTP isteklerini ele alma

ve servislerde gerçekleĢtirilen iĢlemlerin sonuçlarının HTTP yanıtı olarak kullanıcıya geri

döndürülmesinde JSF ve I18N (Internationalization) kütüphanesini kullanırlar.

ĠĢ Katmanı’nın Servis Modülü’ndeki bileĢenler, Oturum Modülü’nden gelen iĢlem

çağrıları ile ilgili iĢlemi gerçekleĢtirirler. Ġhtiyaç duydukları veriye Kalıcılık Modülü’ndeki

bileĢenleri kullanarak ulaĢırlar ve üzerinde iĢlem yaptıkları verinin tekrar kalıcı hale

getirilmesini Kalıcılık Modülü biĢelenleri üzerinden sağlarlar. Kullanıcıya döndürülecek hata

mesajları için I18N, bileĢenleri oluĢturan parçalar arasındaki bağımlılıkları azaltmak ve daha

modüler bir yapıda olmak için Spring, yapılan iĢlemlerdeki loglama yapmak için SLF4J

kütüphanelerini kullanırlar.

ĠĢ Katmanı’nın Kalıcılık Modülü’ndeki bileĢenler ise uygulamanın iĢlediği verilerin

veri tabanına yazılarak kalıcı hale getirilmesini ve gerektiğinde veri tabanından tekrar

uygulamaya geri yüklenmesini sağlayan sınıfları içerirler. Veri tabanı iĢlemleri için JDBC

kütüphanesi üzerinde bulunan Hibernate kütüphanesini kullanırlar. Ayrıca iĢlemler sırasında

oluĢabilecek hata durumlarını, bilgi mesajlarını SLF4J ile loglarlar.

Uygulamanın geniĢlemesi durumunda, ilgili bileĢenler, verilen modül

organizasyonunda, uygun noktalara eklenecektir.

II. Gerekli Ortak ĠĢlemler

a. Log Tutma

- Tüm bileĢenler, anlaĢılır mesajlar içeren loglar kaydetmelidir.

- Mesajlar Fatal, Error, Warning, Debug ve Info olmak üzere 5 farklı seviyede

kaydedilmelidir.

- BileĢenler bu 5 log seviyesinin tamamında loglama yapabilmelidir.

- Loglama iĢlemi standart bir kütüphane kullanılarak yapılmalıdır.

b. YerelleĢtirme

- Kullanıcı arayüzlerinde kullanıcıların gördüğü metinler yerel dil dosyalarında

saklanacak ve kullanının dil tercihine göre kullanıcıya gösterilecektir. Kaynak kodda

herhangi bir metin yer almayacaktır.

- YerelleĢtirilebilir metinler parametre alabilir Ģekilde olacaktır.

- Tarih, zaman, para birimi gibi yerelliğe sahip bilgiler kullanıcının dil tercihine göre

biçimlendirilecektir.

Page 21: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

- Logging iĢlemlerinde kullanılan metinler kaynak kod içerisinde yer alacak var Türkçe

dilinde yazılacaktır.

III. Standart Tasarım

a. Internationalization

- YerelleĢtime iĢlemleri, Java platformunun sağlamıĢ olduğu ResourceBundle, Locale

sınıfları ve java.text paketindeki sınıflarla gerçekleĢtirilecektir.

- Bir servis ile iliĢkilendirilmiĢ dil dosyasının yüklenmesi için AbstractFactory tasarım

örüntüsü kullanılacaktır. Dil metinlerini kullanacak olan sınıflar, dil metinlerini

yükleyen sınıfları üreten AbstractFactory gerçekleĢtirimini elde ederek bu sınıf

üzerinden ilgili dil dosyasının sınıfını elde edeceklerdir.

b. Form Girdilerinin Kontrolü / Doğrulanması

- Kullanıcı arayüzlerinde bulunan formlardan girilen verilerin doğrulanması için JSF

kütüphanesinin Validator bileĢenleri kullanılacak, gerektiği durumlarda özel Validator

gerçekleĢtirimleri yazılacaktır.

c. Sınıf Tasarımları

- Sistemi oluĢturan sınıflar, dahil oldukları bileĢen ve modüllere göre, belirli bir yapıda

tasarlanacaklardır.

- Servis bileĢenlerini oluĢturan sınıflar için gerçekleĢtirilecek olan servise göre *Service

isim formatında arayüz (Java interface) tanımlamaları yapılacaktır. Örneğin üyelik

iĢlemleri için UyelikService isimli arayüz tanımlanacak ve gerçekleĢtirilecek iĢlemleri

içerisinde metodlar Ģeklinde tanımlayacaktır. UyelikService arayüzünü gerçekleĢtiren

somut sınıf ise UyelikServiceImpl ismine sahip olacaktır.

- BileĢenleri oluĢturan sınıflar, Java Beans kurallarına uygun yapıda olacaktır. Bağımlı

oldukları diğer sınıfları o sınıfların Java arayüzü (Java interface) üzerinden kullanacak

ve ilgili arayüz gerçekleĢtiriminin kendilerine verilmesi için ancestor metodları

tanımlayacaklardır.

- Birden çok bileĢen tarafından kullanılabilecek sınıflar, *Utility isim formatında bir

arayüzün arkasına yerleĢtirilerek, ortak olan metodlar bu arayüzlere dahil edilecek ve

sistemin farklı bileĢenleri bu sınıfları tanımlanan *Utility arayüzleri üzerinden

kullanabilecektir.

IV. Standart Yazılım BileĢenleri

a. Loglama

- Sistemdeki tüm loglama iĢlemleri SLF4J kütüphanesi kullanılarak yapılacaktır. Bu

kütüphane talep edilen tüm log seviyelerinde loglama yapmayı desteklemektedir.

b. JSF 2.0

Page 22: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

- Kullanıcının göreceği arayüzlerin hazırlanmasında ve bu arayüzlerin oturum

katmanındaki Java Bean sınıfları ile kuracağı iletiĢimde JSF 2.0 kullanılacaktır.

c. PrimeFaces

- Kullanıcı arayüzlerinde, kullanıcılara AJAX özelliğine sahip etkileĢimli arayüz

bileĢenleri sunmak için PrimeFaces bileĢen kütüphanesinde bulunan hazır bileĢenler

kullanılacaktır.

d. Hibernate

- Kalıcılık sınıflarında, veritabanı üzerine nesnelerin kaydedilmesini ve veritabanından

nesnelerin getirilmesini kolaylaĢtırması açısından Hibernate isimli ORM aracı

kullanılacaktır. Ġlgili domain nesneleri, veritabanındaki tablolar ile eĢleĢtirilecek ve

veritabanı ile JVM’deki domain nesneleri arasındaki kaydetme, silme, güncelleme gibi

iĢlemleri Hibernate aracı halledecektir.

e. Spring

- Sistemde bulunan sınıfların birbirilerine olan bağımlılıkları ve yaĢam döngüleri Spring

kütüphanesi tarafından yönetilecektir. Servis sınıflarına ihtiyaç duydukları kalıcılık

sınıfları, oturum sınıflarına ise ihtiyaç duydukları servis sınıfları ve diğer yardımcı

sınıflar Spring kütüphanesi tarafından sınıfların sahip oldukları arayüzler üzerinden

sağlanacak ve böylelikle bileĢenleri oluĢturan sınıfların modüler bir yapıda olması

sağlanacaktır. Böylelikle bileĢenlerin bakımı kolaylaĢacak, geniĢleyebilirliği ve test

edilebilirliği artacaktır.

V. Codeline Modeli

a. Kaynak Kodu Yapısı

- Uygulama kurumsal Java teknolojileri ile geliĢtirileceğinden ve nihai ürün sunucu

taraflı bir Java uygulaması olacağından maven aracı ile dinamik Java web projesi

oluĢturulacak ve uygulama geliĢtirme süreci boyunca maven aracı derleme, test ve

build iĢlemleri için etkin olarak kullanılacaktır. Maven’ın sağladığı proje kaynak kodu

dizin yapısı Ģu Ģekildedir:

- src/main/java dizini altına geliĢtirilecek olan Java sınıfları yerleĢtirilecektir.

Kullanılacak servis arayüzlerinin tanımları services paketinin altına, servis

paketlerinin gerçekleĢtirimleri ise impl.services paketinin altına yerleĢtirilecektir.

Kalıcılık birimlerinin arayüz tanımlamaları dao paketi altına yerleĢtirilecek, kalıcılık

birimi arayüzlerini gerçekleĢtiren sınıflar ise impl.dao paketi altına yerleĢtirilecektir.

Fırlatılan Exception sınıfları ise yine ilgili olduğu pakette yer alacaktır (dao ya da

services).

- src/main/resources/ dizini altına dil metinlerini içerecek resources dosyaları ve

uygulamada kullanılacak Hibernate gibi kütüphaneleri konfigüre etmek için gerekecek

xml dosyaları ve benzeri dosyalar yer alacaktır.

Page 23: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

- src/main/web-app/ dizini altında uygulamada kullanılacak web arayüz sayfaları ve

ilgili diğer dosyalar bulunacaktır.

- src/test/java dizini altında sınıflarla aynı paket yapısına sahip bir Ģekilde sınıflara ait

test sınıfları yer alacaktır. Testi yapılacak olan sınıflar geliĢtirilen servisler, kalıcılık

birimleri ve diğer yardımcı sınıflardır.

- src/test/resources dizini altında test sınıflarının kullanacağı çeĢitli kaynak dosyaları

yer alacaktır.

b. Build YaklaĢımı

- GeliĢtirilecek olan projenin kaynak kodu, maven aracı kullanılarak build edilecektir.

Tüm geliĢtiriciler, kendi yerel makinasında olan kaynak kodu, yerel makinalarına

kurdukları maven aracı ile build edebileceklerdir. Ayrıca konfigürasyon yönetimi aracı

tarafından yönetilen ortak kod, geliĢtiricilerin yaptıkları commit iĢlemleri esnasında,

otomatik olarak derleme iĢleminden geçirilecek ve derleme iĢlemini baĢarısız yapan

commitler konfigürasyon yönetim aracı tarafından reddedilecektir. Böylelikle kodda

kaydedilen her geliĢtirmede, build edilebilir bir proje durumu muhafaza edilecektir.

c. Yayınlama ĠĢlemi

- Konfigürasyon yönetimi tarafından yönetilen ortak kod, üzerinde bulunan makinada

çalıĢan maven aracı ile belirli aralıklarla release edilip arĢivlenecektir. Ayrıca bu

release’ler projenin o andaki durumunun iĢlevsel testini yapmada kullanılabilecektir.

Maven aracı ile tanımlanan bağımlılıklar ile, projenin bağımlılık duyduğu 3. parti

kütüphaneler tek bir noktadan yönetilebilecek ve bağımlılık yönetimi iĢlemi son

derece kolay bir Ģekilde gerçekleĢtirilecektir.

d. Konfigürasyon Yönetimi

- Projenin geliĢtiriciler tarafından güncellenen ortak kaynak kodu, Subversion aracı

tarafından yönetilecektir. Maven aracı ile tanımlanmıĢ olan proje yapısı Subversion’a

dahil edilecek, geliĢtiriciler sahip oldukları Subversion kullanıcı hesapları ve eriĢim

yetkileri ile, sorumlu oldukları kod parçalarını kendi yerel makinalarında geliĢtirecek

ve iĢlerini bitirdiklerinde ortak koda geliĢtircikleri yeni kod parçalarını dahil

edeceklerdir. Ayrıca Subversion aracı ile major ve minor sürümlendirme yapılacaktır.

GeliĢtiriciler yaptıkları commitlerde sağladıkları yorumlar ile, projenin geliĢim

sürecinin tüm geliĢtiriciler tarafından tarih sırasına göre izlenebilmesini

sağlayacaklardır.

e. Test YaklaĢımı

- Projenin birim testlerinde JUnit test aracı kullanılacaktır. JUnit test aracı, Maven ile

entegre bir biçimde çalıĢabilmektedir. Yazılan JUnit test sınıfları, Maven aracının test

Page 24: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

komutu ile otomatik olarak test edilecek ve Maven aracı test sonuçlarını bildirecektir.

Test sınıfları da geliĢtirilen uygulama sınıfları ile birlikte ortak kod havuzuna commit

edilecektir. Ayrıca belirli periyotlarla projenin o anki durumu build edilecek ve

uygulamanın iĢlevsel testi yapılacaktır.

VI. Modelin Değerlendirmesi

GeliĢtirme BakıĢı’nın detay seviyesi yeterli seviyede tutulmuĢ, alt düzey

gerçekleĢtirim detaylarına yer verilmemiĢtir. Genel mimari tasarıma ve belirtilen tasarım

kısıtlarına bağlı olmak koĢulu ile yazılım geliĢtiricilere oldukça geniĢ bir alan bırakılmıĢtır.

Aynı Ģekilde, GeliĢtirme BakıĢı’nın her bölümünde, o bölümle alakalı, yeterli detay

seviyesine sahip bilgiler verilmiĢtir. GeliĢtirme BakıĢı’nın kapsamında değerlendirilmesi

gereken tüm kısımlar eĢit bir Ģekilde odaklanılarak değerlendirilmiĢ ve açıklanmıĢtır.

Belirsizlikler ve açık olmayan durumlar minimum seviyeye indirilmeye çalıĢılmıĢtır.

GeliĢtirme aĢamasında kullanılacak yöntemler, hazır kod kütüphaneleri, konfigürasyon

yönetim aracı, test aracı açık bir Ģekilde belirtilmiĢtir.

8) YAYILMA BAKIġI

MODEL ve AÇIKLAMASI

Sistemin çalıĢma ortamında yayılma bakıĢ açısı kapsamında;

Ġstemci Node’u kapsamında istemcilere ait olan web tarayıcılar yer almaktadır. Bunlar

güncel web standartlarına uyumlu herhangi bir tarayıcı olabilir. Ġstemciler ile web sunucusu

arasındaki iletiĢim HTTP protokolü üzerinden gerçekleĢtirilecektir.

Page 25: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Web sunucusu kısmında istemciler için tasarlanmıĢ farklı arayüzler mevcuttur. Bu

farklı arayüzler istemcilerin web tarayıcıları ile bire birlik bir iliĢki içerisindedir. Web

sunucusu, marka / model olarak herhangi bir sınırlamada olmamakla birlikte üzerinde Java

Virtual Machine’i ve bir uygulama sunucusu yazılımını etkin bir Ģekilde çalıĢtıracak nitelikte

olmalıdır. Web sunucusu üzerinde IBM WebSphere Application Server 6.0 uygulama

sunucusu olarak görev alacak ve geliĢtirilecek uygulamayı çalıĢtıracaktır. Uygulama

sunucusu, HTTP protokolü üzerinden aldığı HTTP isteklerini, geliĢtirilen uygulamaya

aktaracak ve geliĢtirilen uygulama da kendisine gelen HTTP isteği doğrultusunda ilgili web

arayüzü bileĢenini tetikleyecektir.

Yayılma bakıĢ açısının son parçası ise Veri tabanı sunucusudur. Bu sunucuda IBM’in

DB2 9.0 veritabanı yönetim sistemi çalıĢtırılacak ve uygulamanın verileri bu veritabanı

üzerinde saklanacaktır.

Web sunucusu ve veri tabanı sunucusu, aynı anda 1000 kullanıcının sistemde bir

yavaĢlama olmadan iĢlem yapabilmesine olanak tanıyacaktır.

MODELİN DEĞERLENDİRMESİ

Modelimize ait olan elemanların belirlenmesinde ve sistemin genel çalıĢma çevresi

içerisinde herhangi bir problem yaĢanmaması adına önceden belirlenmiĢ bir takım

problemlere ve tuzaklara dikkat edilmiĢ olup bunlar için önlemler alınmıĢtır.

Sistemin genel çalıĢma çevresi içerisinde donanımsal elemanların birbirleri ile olan

uyum problemleri en çok karĢılaĢılan problemler arasındadır. Kullanılan donanımsal ürünlerin

versiyonlarının birbirleri ile uyumlu olması gerekmektedir ve özellikle birbirine bağımlı olan

donanımların uyum içerisinde çalıĢabilmesi için versiyonların ve çalıĢma Ģekillerinin birbirleri

ile uyumlu olması gerekmektedir. Bu noktada modelimize ait olan iĢ katmanı sunucusu ile

etkileĢimde bulunan Web sunucusunun her türlü durumda uyumlu çalıĢabilmeleri için

herbirisinin sistemlerinin birbiri ile uyumlu olması gerekmektedir. En baĢta versiyon uyumu

daha sonra hız ve kapasite uyumunun olması gerekmektedir. Birbirine bağımlı olan bu

sunucuların teknolojik olarak aynı seviyede olmaları bu uyumun sağlanmasında önemli bir

kriterdir.

Aynı Ģekilde iĢ katmanı sunucusu ile etkileĢimde olan ve yine birbirine bağımlı olan

bir diğer sunucu ise veri vabanı sunucusudur. Veri tabanı sunucusu içinde yine aynı Ģekilde

uyum probleminin ortaya çıkmaması için baĢta versiyon olmak üzere hız, kapasite gibi

özelliklerin de birbiri ile uyumlu olması gerekmektedir. Tam bu noktada donanımsal ürünler

arasında uyum problemi yaĢamamak adına bu donanımsal ürünler hakkında bilgi sahibi olan,

teknolojik anlamda bu ürünleri kullanan kiĢi veya kurumlardan yeterli bilgiler alınarak bu

uyum problemi aĢılarak sistemin istenilen performansı göstermesi sağlanabilir.

KarĢılıklı kombinasyonları sağlanmıĢ bu donanımsal elemanların test edilmesi veya

aralarına yeni katılacak bir teknolojik elemanın yine aynı performans ile uyum sağlayabilmesi

adına, yine aynı Ģekilde konunun uzmanı kiĢi veya kiĢilerden gerekli bilgiler alınmalıdır.

Page 26: İKİNCİ EL MALZEME SATIŞI OTOMASYON SİSTEMİ ...metinakbulut.com/YAZILIM-MIMARISI/ornekproje.pdfrafine hale getirilerek bu belgede detaylandırılır. Vizyon Belgesi ve Yazılım

Sistemin çalıĢma ortamı içerisinde sistem elemanlarının birbirleri ile etkili Ģekilde

iletiĢim sağlayabilmeleri ve istemcilerin isteklerine en kısa zamanda cevap üretilmesi adına,

sistemin geneli için herhangi bir ağ problemi yaĢanmamalı, herhangi bir ağ kısıtı olmaması

gerekmektedir. Aynı Ģekilde donanım elemanlarının içinde bulundukları sistemin genel ağ

kapasitesini kaldırabilmeleri gerekmektedir.

Genel anlamda sistem, maksimum kullanıcısına ulaĢtığında herhangi bir problem

yaĢamadan hizmet verebilmelidir.