Olay bölümleme - Event partitioning

Sistem bağlam şeması hayali bir otel için. (Geleneksel olarak, her iki ucunda ok bulunan çift yönlü akışlar, genellikle bir diyalog harici olarak başlatıldığında kullanılır. Örneğin, "rezervasyon diyaloğu", ilk tetikleyici olan "rezervasyon talebi" akışını içerir; "rezervasyon onayı", sonuç geri gönderilir.)

Olay bölümleme uygulaması kolaydır sistem Analizi analistin organize etmesine yardımcı olan teknik Gereksinimler büyük sistemler için daha küçük, daha basit, minimum düzeyde bağlantılı, anlaşılması daha kolay "mini sistemler" / kullanım durumları.

Genel Bakış

Olay bölümleme yaklaşımı, Stephen M. McMenamin ve John F. Temel Sistem Analizi.[1] Yaklaşımın kısa bir versiyonu şu makalede açıklanmıştır: Veri Akış Şemaları (DFD'ler). Daha eksiksiz bir tartışma var Edward Yourdon's Yeterli Yapılandırılmış Analiz.[2] Açıklama, veri akış diyagramları oluşturmak için tekniği kullanmaya odaklanır, ancak bunları tanımlamak için kullanılabilir. kullanım durumları yanı sıra.

Olay bölümlemenin temeli, sistemlerin harici olaylara yanıt vermek için var olmasıdır: iş ortamında planlanan yanıtları gerektiren olayları belirleyin, ardından iş kurallarına göre yanıt verecek sistemleri tanımlayın ve oluşturun. Özellikle müşterilerin isteklerine hizmet etmek için bir iş sistemi mevcuttur. Bir müşteri, jargonunda Birleştirilmiş Modelleme Dili (UML), bir "aktör ".

Olay bölümleme konuları

Oyuncu → Etkinlik → Algıla → Yanıtla

Yöntem aşağıdaki adımlara sahiptir.

  • 1. Harici sistemleri şu şekilde tanımlayın: beyin fırtınası bir listesi "aktörler"(harici sistemler), harici olayların kaynaklarıdır. Yardımcı olacak bir grafik bulursanız, bir bağlam diyagramı incelenen sistemin dışındaki aktörleri ve aralarındaki akışları / sinyalleri göstermek.
  • 2. Kendini koymak ayakkabıların içinde bir "aktörün" (veya aktör temsilcileriyle birlikte çalışarak), beyin fırtınası yapın "harici etkinliklerSistemin planlanmış bir yanıt vermesini istedikleri "/" tetikler ". (Sistemin başlatılamayacağını unutmayın. dış Etkinlikler; sadece bir oyuncu yapabilir.)
  • 3. Sistemin ne yapmasını sağlayacağını tanımlayın tespit etmek dış olaylar:
    • bir veya daha fazla parçanın gelişi veri (muhtemelen bir mesaj biçiminde)
    • bir veya daha fazla noktanın gelişi zaman (M&P tarafından "geçici" olaylar olarak adlandırılır ve bunlar tarafından harici olaylardan ayırt edilir)
  • 4. Tanımlayın planlanmış tepkiler) Olaylar gerçekleştiğinde sistemin gerçekleştirebileceğini. Sistemin hedeflerine ulaşmasını sağlayacak olan yanıtlar / kullanım durumlarıdır.

Teknik, Paul T. Ward tarafından "olay dışı" olaylarla genişletildi ve Stephen J. Mellor içinde Gerçek Zamanlı Sistemler için Yapısal Geliştirme: Temel Modelleme Teknikleri.[3]

"Sonlandırıcılar [aktörler], tanım gereği model tarafından temsil edilen sistem kurma çabasının sınırları dışında olduklarından, uygulayıcılar, sonlandırıcı [aktör] teknolojisini, güvenilirliğini artırmak için istedikleri zaman değiştiremezler. Bunun yerine, sonlandırıcıya yanıtlar oluşturmalıdırlar [ aktör] problemlerini sistemin temel modeline yerleştirir. Sonlandırıcı [aktör] problemlerine verilen yanıtları modellemeye yönelik yararlı bir yaklaşım, 'normal' olayların bir listesini oluşturmak ve ardından her olay için, bu olay başarısız beklendiği gibi gerçekleşecek mi? ' " [4] [vurgu eklendi]

Veri sözlüğü gösterimi

Yourdon / DeMarco tarzı veri sözlüğü notasyonu verilerin bileşimini ve yapısını tanımlamak için kullanılabilir.

SembolAnlam
="içerir", "eşittir" veya "oluşur"
+"ve", "yanı sıra" veya "birlikte" (değil aritmetik "artı")
[x ; y ; z]"ikisinden birini seçin x veya y veya z". Ya bir noktalı virgül (;) veya a dikey çubuk (|) listedeki öğeleri ayırmak için kullanılabilir.
m{x}n veya
m: n{x} veya
"dan m -e n yinelemeler x". Eğer m veya n belirtilmezse, alt veya üst sınır basitçe "bilinmiyor" veya "belirtilmemiş" tir. Çok boyutlu diziler yuvalanarak belirtilebilir, örneğin, 10 {10 {x} 10} 10, 10 sütunlu 10 satırdan oluşan iki boyutlu bir matrisi tanımlar.
(x)"isteğe bağlı olarak x". Bu, 0 {x}1 veya 0:1{x} veya .
@önek bir ... için tanımlayıcı bir yineleme içinde. Örneğin, {@ i + @ j + x} içinde ben ve j tanımlayıcılardır.
* ... *Bekar arasında herhangi bir şey yıldız işaretleri yorum olarak kabul edilir. Şurada veri öğesi düzeyinde, bir açıklama "aralık:", "sınırlar:", "kesinlik:", "birim:" veya "değerler:" gibi tür etiketleri içerebilir.

Veri yapısı öğeleri, yapılandırılmış programlamayla eşleşebilir Kontrol Yapıları:

NB. Tanımlanan öğeler "malzeme" (ör., Oda anahtarı) ve "veriler" (ör. Varış tarihi-saati) olabilir.

Gereksinimleri ve Sebeplerini Belirleme

Olay-cevap bilgisi bir tabloda yakalanabilir. Olay, varoluş nedeni yanıt için, "izlenebilirlik "tepkiden çevreye geri döndü.

1. Oyuncu2. Harici Olay / Tetikleyici3. Algılayan4. Yanıt (lar) / Kullanım Örnekleri
MisafirMisafir, belirli bir varış tarihi, ayrılış tarihi, belirli bir fiyatla vb. İçin belirli tipte bir oda talep eder.rezervasyon talebi +
(ödeme doğrulama) +
(* harici rezervasyon sistemi * rezervasyon onayı) [5]
Oda Rezervasyonu (garantili rezervasyon, alternatif otel rezervasyonu, bekleme listesine alınmış rezervasyonu içerebilir)
MisafirMisafir, oda rezervasyonunun iptal edilmesini ister.iptal talebi [6]Rezervasyon iptali
MisafirMisafir otele gelir.varış mesajı = * *
= [konuk adı; rezervasyon referansı] [7]
Check-in Misafir
Zaman / ZamanlayıcıMisafir başarısız otele varmak. [Bu "olay olmayan" bir olaydır.]23:00 (yerel saat) ["Olay dışı" bir olay, zaman içinde bir noktanın, bir son tarihin varışıyla tespit edilir.]Misafir Faturası Oluşturun,
Rezervasyonu Güncelle
MisafirKonuk otelden çıkış yapmasını ister.çıkış isteği = * *
= [konuk adı; oda numarası] [8]
Misafir Faturası Oluşturun,
Oda Doluluğunu Güncelle
Zaman / ZamanlayıcıMisafir başarısız otelden kontrol edin. [Bu "olay olmayan" bir olaydır.]11:00 (yerel saat) [Zaman içinde bir noktanın, bir son tarihin gelişiyle "olay olmayan" bir olay tespit edilir.]Misafir Faturası Oluşturun
MisafirKonuk fatura ödemesini sunar.ödeme aracı = * *
= [nakit; Kontrol ; kredi kartı ; banka kartı] + (konuk kimliği) [9]
Misafir Ödemesini Kabul Et
Zaman / ZamanlayıcıÖnceki gece için Oda Doluluk Raporu hazırlama zamanı.08:00 (yerel saat)Oda Doluluk Raporu
Otel yöneticisiOtel Müdürü Oda Doluluk Raporu talep eder.doluluk raporu talebiOda Doluluk Raporu
Duman / CO AlarmıAlarm dumanı algılar.duman alarmı mesajıDuman Alarmı Bildir
Duman / CO AlarmıAlarm CO (karbon monoksit) algılar.CO alarm mesajıCO Alarmı Bildir

Gereksinimleri tanımlama

Hayali bir otelde tek işlem kullanarak veri akış diyagramı gösterim.
Kullanarak hayali bir otelde tek kullanımlık durum durum şemasını kullan gösterim.

Bu yaklaşım, analistin, planlı bir yanıt gerektiren olayları kullanarak sistemi "zihinsel olarak ısırık boyutlu" mini sistemlere ayırmasına yardımcı olur. Her yanıtın ayrıntı düzeyi, "birincil kullanım durumları ". Planlanan her yanıt, DFD notasyonu kullanılarak veya kullanım durumu diyagramı kullanılarak tek kullanımlık bir durum olarak modellenebilir.

temel akış bir süreç veya kullanım durumu içinde, genellikle nispeten az sayıda adımda, genellikle yirmi veya otuzdan daha az adımda, muhtemelen "yapılandırılmış İngilizce ". İdeal olarak, tüm adımlar aynı anda görülebilir (genellikle bir sayfa veya daha az). Amaç, ilgili risklerden birini azaltmaktır. kısa süreli hafıza yani, hemen görülemeyen şeyi unutmak ("gözden uzak, akıl dışı").

Alternatif olarak, yapılandırılmış tekniklerin notasyonlarını kullanarak, bir analist bir "Nassi-Shneiderman diyagramı ". UML'de kullanım durumu, bir etkinlik şeması, bir sıra diyagramı veya a iletişim diyagramı. Çok sayıda karmaşık varsa bu sorunlu olabilir senaryolar kullanım durumunun; analist senaryoların tamamını veya çoğunu modellemek isteyebilir.

Karmaşıklığa karşı parçalanma

Yanıt uzun veya karmaşıksa (yani, bir sayfadan fazla metin varsa), bir analist ayrıştırmak ("çarpanla ayır" veya tekilleştirmek ) "ana" birincil kullanım durumunu daha küçük ve daha basit tutmak için daha küçük "ikincil kullanım durumlarına". Bu ikincil kullanım durumları da yeniden kullanılabilir olabilir. (Bir UML'de durum şemasını kullan, olarak çizilecekler Genişletilmiş veya dahil Bir veya daha fazla birincil kullanım durumuyla ilgili kullanım örnekleri.)

Bir kullanım senaryosunu açıklarken, bir analist ayrıca "iş kuralları ". Bazı analistler, iş kurallarının ayrı bir belgede tutulmasını öneriyor. Nesne Kısıtlama Dili veya bir başkası resmi gösterim. Daha sonra, bir kullanım durumunda bir iş kuralına uyulması gerektiğinde, analist ona atıfta bulunur. Bu tekrarlamayı en aza indirir [10] ancak bir spesifikasyonun parçalanma riski vardır. Bu gerilimi azaltabilecek bir teknik kullanmaktır köprüler şartname belgesinde.

Bu indirgemeci yaklaşım, bir şekilde sistem düşüncesi temsil ettiği gibi yaklaşım Peter Checkland 's yumuşak sistemler metodolojisi.

Ek olarak işlevsel gereksinimler bir kullanım senaryosu açıklamasında yer alan bir analist, işlevsel olmayan gereksinimler yanıt süresi, öğrenilebilirlik vb.

Ayrıca bakınız

Referanslar

  1. ^ MCME-84: McMenamin, Stephen M .; John F. Palmer (1984). Temel Sistem Analizi. Prentice-Hall (Yourdon Press). ISBN  0-13-287905-0. (ISBN  978-0-13-287905-7)
  2. ^ SİZİN-89: "yourdon.com - Yeterli Yapılandırılmış Analiz, Bölüm 18, 19 ". 1989. Arşivlenen orijinal 2007-02-14 tarihinde. Alındı 2008-04-24.
  3. ^ WARD-85: Ward, Paul T .; Stephen J. Mellor (1985). Gerçek Zamanlı Sistemler için Yapılandırılmış Geliştirme: 2. Cilt, Temel Modelleme Teknikleri. Prentice-Hall (Yourdon Press). ISBN  0-13-854787-4. (ISBN  978-0-13-854787-5)
  4. ^ WARD-85, sayfa 38-39.
  5. ^ rezervasyon diyaloğu = * *
    = * giriş * rezervasyon isteği + * çıktı * rezervasyon onayı
    rezervasyon talebi = * *
    = misafir adı + oda tipi + (oda olanakları) +
    varış tarihi-saati + kalkış tarihi-saati
    oda tipi = * yatak odası tipi *
    = * değerler: [tek; çift; aile] *
    oda olanakları = * Boole'lar bir tesisin varlığını veya yokluğunu gösteren *
    = televizyon + radyo + çalar saat + iklim kontrolü + İnternet erişimi +
    telefon + buzdolabı + mini bar + tuvalet + lavabo + banyo + duş + bide
    varış tarihi-saati = * *
    = tarih-saat
    kalkış tarih-saat = * *
    = tarih-saat
    tarih-saat = * ISO 8601 biçim *
    = yıl + ay + ayın günü + 'T' + saat + dakika>
  6. ^ iptal diyaloğu = * *
    = * giriş * iptal talebi + * çıkış * iptal onayı
  7. ^ varış diyaloğu = * *
    = * giriş * varış mesajı + * çıkış * varış paketi
    varış paketi = * *
    = oda anahtarı + oda kartı + ücretsiz içecek kuponu
  8. ^ check-out diyaloğu = * *
    = * giriş * çıkış talebi + * çıktı * misafir faturası
  9. ^ ödeme diyaloğu = * *
    = * giriş * ödeme aracı + * çıktı * misafir makbuzu
    misafir makbuzu = * *
    = misafir adı + misafir adresi + {ücret ayrıntısı} + toplam ücret + (vergiler) + ödenmesi gereken tutar + ödenen tutar
  10. ^ Ayrıca bakınız Kendinizi yeniden_hatırlamayın "KURU" olarak da bilinir

Dış bağlantılar