“Nasıl saatler var?” Kum saati. Atomik saat. Biz her saat başı düzenli olarak saldırıyoruz, Siz de arkadaşlar, bize vurmayın, Zamana dikkat edin. Moskova'daki Kremlin'in Spasskaya Kulesi'ndeki saat ana saattir mekanik saatler bizim ülkemizde. Modern su saati. Antik Çin su saati. Adını sen koy. Ateş saati. Güneşin, suyun, kumun, ateş saatinin insana ne yakışmazdı?

"Nesnelerin İlişkisi" - Kolezyum Roma'da bulunmaktadır. İlişki. Hadi tartışalım. Geçit üzerindeki köprü, boğaz üzerindeki köprüden daha kısadır. Nesne adları değiştirildiğinde bazı ilişki adları değişir. İlişkinin adı nesneler arasındaki ilişkinin doğasını belirtir. Yüzer... Viyana'daki belediye binası 1900'lerde inşa edildi XIX sonu yüzyıl. h2. Soldaki üst kısım daha alçaktır.

“Giysi türleri” - Kıyafetleri seçin. Ekstra ne var? Gizem. Giyim türleri. Kim kayıp? Nekrasova Svetlana Mihaylovna Öğretmen birincil sınıflar, Tomsk, Belediye Eğitim Kurumu "Ortaokul No. 14". İş Kıyafetleri Çocuk Kış Yaz Erkek Bayan giyimi köpekler için.

“Parçacık cisim maddeleri” - Doğru mu yanlış mı? Ahşap kirişli ahşap. Ders için herkese teşekkürler! Maddeler. Katı sıvı gaz TUZLU SU GAZI. Lomonosov Mikhail Vasilievich (1711 – 1765). Herhangi bir öğe, herhangi bir Yaşayan varlık beden olarak adlandırılabilir. Bedenler maddelerden oluşur. Bulmacalar. Cisimler, maddeler, parçacıklar. Doğal Yapay.

“Bir nesnenin niteliği” - Konu No. 2: “Nesnelerin nitelikleri.” Bilgisayar bilimleri sınıfında uyulması gereken temel güvenlik kurallarını adlandırın. Nesnenin hangi özelliğini inceledik? Her gruptaki öğelerin ortak noktası nedir? D/z: Sayı 8 sayfa 5. Eşyaları bir tanesini bir çantaya koyarak toplayın ortak özellik. Pratik iş.

“Gemilerin yelken açması” - V. Buzkıranlar. Toplu taşıyıcılar. Bir geminin suya batırıldığı derinliğe draft denir. Rusya'da gemi inşası 17. ve 18. yüzyılların başında ortaya çıktı. Yelkenliler. Gemilerin gövdesi genellikle çelik saclardan yapılır. Savaş gemileri. Antik gemiler. Yelken beyazdır. Gemi yapımı eskiden vardı Antik Mısır, Fenike, Antik Çin.

Toplamda 7 sunum var

Nesneler, ister gerçek dünyaya ait olsunlar, ister bilgisayar ortamında bulunsunlar, ne olduklarını ve belirli durumlarda nasıl davrandıklarını anlamamıza yardımcı olan belirli özelliklere sahiptirler. Kavramlar, bilgisayar düzenlemesine sahip nesnelerin ana yönlerini ve özelliklerini tanımlar:

nesnelerin özellikleri . Nesneler var belirli özellikler veya sunumlarını veya olası durumlarını (örneğin renk, boyut, değişiklik tarihi) tanımlayan, özellikler adı verilen nitelikler. Özellikler harici veya bunlarla sınırlı değildir görünür işaretler nesne. Onları yansıtabilirler
nesnenin iç organizasyonu veya mevcut durumu;

nesneler üzerinde işlemler . Bir nesne üzerinde (veya üzerinde) gerçekleştirilebilecek tüm eylemler geçerli işlemler olarak kabul edilir. Taşı veya
bir nesnenin kopyalanması işlem örnekleridir. Kullanıcı, arayüz tarafından temsil edilen belirli mekanizmaları (özellikle komut kontrolü ve doğrudan manipülasyon) kullanarak nesneler üzerinde işlemler gerçekleştirebilir;

nesneler arasındaki bağlantı (ilişkiler) . Herhangi bir nesne diğer nesnelerle şu ya da bu şekilde etkileşime girer. Çoğu durumda nesneler arasındaki ilişki bir bağlantı olarak tanımlanabilir. belirli tip. En Ortak türler ilişkiler Koleksiyonlar, Kısıtlamalar ve Bileşiklerdir.

Kit nesneler arasında belirli ortak özelliklerin varlığını yansıtan en basit ilişki türüdür. Sorgu sonuçları (örüntü arama) veya çoklu nesne seçme işlemleri - kullanım örnekleri bu türden ilişki. Bu tür bir ilişkinin önemli bir avantajı, belirli bir nesne kümesine uygulanması gereken işlemleri belirtmenize olanak sağlamasıdır.

Bir dernek bir nesnede yapılan değişikliğin kümedeki başka bir nesneyi etkilediği nesneler arasında daha "yakın" bir ilişkiyi yansıtır. En basit örnek böyle bir ilişki, belgenin önceki sayfasına metin eklenirken bitişik sayfanın biçiminin değişmesidir.

Kompozisyon birden fazla nesnenin bir araya getirilmesinin, kendi özellikleri ve geçerli işlemleri olan yeni bir nesne olarak kabul edilebildiği durumlarda ortaya çıkar. Bir tablodaki hücrelerden oluşan bir sütun ve bir metin belgesindeki bir paragraf, kompozisyon örnekleridir.

Konteyner diğer nesneleri içeren bir nesnedir (örneğin, bir belgedeki bir resim veya bir klasördeki bir belge, ilgili kabın içeriğinin bir parçası olarak düşünülebilir). Kapsayıcı özellikleri genellikle içeriğinin davranışını etkiler. Bu etki, içerdiği nesnelerin bazı özelliklerinin genişletilmesinden veya bastırılmasından veya izin verilen işlemler listesinin değiştirilmesinden oluşabilir. Ayrıca kap, içeriğine erişimin yanı sıra içerdiği nesnenin tür (biçim) dönüşümünü de kontrol eder. Bu özellikle bir nesnenin bir kaptan diğerine gönderilmesinin sonucunu etkileyebilir. Yukarıda tartışılan yönler, her nesnenin bir veya başka nesne türüne (sınıfına) atanmasını gerektirir. Aynı türdeki nesnelerin benzer özellikleri ve davranışları vardır.


De olduğu gibi gerçek dünya, bir nesne koleksiyonu (muhtemelen çeşitli türler) kullanıcının bir ortamını (çevresini) oluşturur. Buna dayanarak, çoğu kullanıcı görevi birbiriyle ilişkili nesnelerin belirli bir kombinasyonu olarak tanımlanabilir. Dolayısıyla, örneğin bir metin belgesinin işlenmesi, onun öğeleri üzerinde gerçekleştirilen işlemlerin bir bileşimi olarak tanımlanabilir ( ayrı kelimelerle, paragraflar vb.). Bu yaklaşım sayesinde, ne şekilde olursa olsun karmaşık tasarımlar az sayıda temel anlaşmaya dayalı olarak uygulanabilir. Bu kuralların kullanıcı arayüzünde tutarlı ve tutarlı bir şekilde uygulanmasıyla kullanıcı deneyimi büyük ölçüde geliştirilir. Ayrıca bu yaklaşım modüler, bileşen odaklı uygulama geliştirmeyi de teşvik eder, yani aynı nesnelerin uyarlanması veya yeniden birleştirilmesiyle yeni bir görev gerçekleştirilebilir.

Gerçek dünyada nesneler herhangi bir etki altında değişene kadar mevcut durumlarını korurlar. dış etkiler. Örneğin evden çıkarken pencereyi kapattıysanız, siz dönene kadar büyük ihtimalle aynı durumda kalacaktır. Aynı kural arayüz nesneleri için de geçerli olmalıdır.

Arayüz geliştirmede nesne tabanlı yaklaşımın tüm avantajlarına rağmen, kullanımı tek başına arayüzün gerekli kalitesini garanti etmez. Etkili bir kullanıcı arayüzü oluşturmak için, potansiyel kullanıcının ihtiyaçlarına odaklanan, nesne tabanlı yaklaşımı tüm arayüz bileşenlerinin dikkatli tasarımıyla tamamlamak gerekir.

Nesneye yönelik arayüz tasarımında ilk adım, kullanıcıların hedeflerinin ve gerçekleştirdikleri görevlerin özelliklerinin analizi olmalıdır. Böyle bir analiz yaparken, kullanıcının etkileşime girdiği ana bileşenleri veya nesneleri ve ayrıca her nesne türünün karakteristik özelliklerini tanımlamanız gerekir. Nesneler üzerinde gerçekleştirilen işlemlerin listesini, bunların nesnelerin durumu ve özellikleri üzerindeki etkilerini de belirlemek gerekir.

Analizi tamamladıktan sonra açıklamaya geçebilirsiniz. olası yollarçeşitli türdeki nesnelerle kullanıcı etkileşimi. Bu adımda nesnelerin görsel temsil biçimi seçilir. Bir nesnenin görsel görüntüsünün duruma göre değişebileceği unutulmamalıdır. Örneğin, bir kap hem simge olarak hem de bu kabın içeriğini görüntüleyen bir pencere olarak sunulabilir.

GUI tasarımında bir sonraki adım, görsel arayüz öğelerinin ekrandaki düzeni ve mekansal yerleşimidir. Bu aşamada, bu unsurların renk, boyut ve diğer özelliklerinin seçimi ile kullanıcının dikkatini en önemlilerine çekme araç ve yöntemlerinin seçimi gibi sorunların çözülmesi gerekmektedir. önemli bilgi ekranda görüntülenir.

Bilgilerin ekrandaki yerleşimi tasarlanırken, görevin hangi adımında olursa olsun ve ekranda hangi bilgiler sunulursa sunulsun, kullanıcının yardım araçlarına rahatlıkla erişebilmesinin sağlanması gerekir.

Anahtar Kelimeler:

  • davranış
  • ilişki "bir kümenin elemanıdır"
  • "dahil" ilişkisi
  • ilişki diyagramı
  • kompozisyon diyagramı
  • Euler çevreleri

İlişkilerin çeşitliliği

Bir kişi yalnızca bir nesnenin özelliklerini değil aynı zamanda bu nesnenin diğer nesnelerle olan ilişkilerini de anlatabilir.

Örneğin:

  • “Ivan, Andrei'nin oğludur”;
  • “Everest Elbrus'tan yüksektir”;
  • "Winnie the Pooh, Piglet'le arkadaştır";
  • “21, 3'ün katıdır”;
  • “Kostroma, Moskova kadar eski bir şehir”;
  • "Kelime işlemcinin bir parçası yazılım bilgisayar";
  • "bir bayt sekiz bit'e eşittir."

Yukarıdaki cümlelerin her birinde, iki nesne arasındaki bağlantının doğasını belirten ilişkinin adı vurgulanmıştır.

Davranış- bu, bazı nesnelerin bulunduğu karşılıklı bir ilişkidir.

Birkaç nesne aynı ilişkiyle çiftler halinde bağlanabilir. İlgili sözlü açıklama çok uzun olabilir ve anlaşılması zor olabilir.

A, B, C, D, E ve E yerleşimlerinden bazılarının demiryolu ile bağlantılı olduğu bilinsin: A yerleşimi demiryolu ile B, D ve E yerleşimlerine, E yerleşimi A, B yerleşimlerine, G ve D.

Daha fazla netlik sağlamak için mevcut bağlantılar (“demiryoluyla bağlı”) ilişki diyagramında çizgilerle gösterilebilir. İlişki diyagramındaki nesneler daire, oval, nokta, dikdörtgen vb. şeklinde gösterilebilir (Şekil 4).

Pirinç. 4

Bazı ilişkilerin isimleri nesnelerin isimleri değiştirildiğinde değişir, örneğin: “yukarıda* - “aşağıda”, “babadır” - “oğuldur”. Bu durumda ilişki diyagramında ilişkinin yönü okla gösterilir.

Yani, Şekil 2'de. Şekil 4'te, her ok babadan oğula yöneliktir ve dolayısıyla ilişkinin "oğuldan değil" "babadan kaynaklandığını" yansıtır. Örneğin: "Andrey, Ivan'ın babasıdır."

Diyagramdaki nesnelerin göreceli düzenine ilişkin kuralı formüle edip uygulayabiliyorsanız, okları kullanmanıza gerek yoktur. Örneğin, eğer Şekil 2'de ise. 5 Çocukların isimleri her zaman baba isminin altına yazılmalıdır, o zaman oklar olmadan da yapabilirsiniz.

Pirinç. 5

"Oğuldur", "demiryoluyla bağlı", "satın alır", "iyileşir" vb. ilişkiler yalnızca belirli türdeki nesneleri birbirine bağlayabilir. “Bir kümenin öğesidir”, “bir parçasıdır” ve “çeşitlidir” ilişkileri herhangi bir nesneyi içerebilir.

İlişkiler yalnızca iki nesne arasında değil aynı zamanda bir nesne ile birçok nesne arasında da mevcut olabilir, örneğin:

  • Harry Potter edebi bir karakterdir;
  • “Kamçatka bir yarımadadır (bir yarımadadır)”;
  • "Moskova bir başkenttir."

Bu cümlelerin her biri “bir kümenin öğesidir” ilişkisini tanımlamaktadır.

Kümeler arasındaki ilişkiler

İlişkiler iki nesne kümesini birbirine bağlayabilir, örneğin:

  • "Dosyalar gruplandırılmış klasörlere";
  • "tekerlekler dahil arabaların bileşiminde";
  • "Kelebekler böceklerdir ( bir tür haşarat)".

Kümeleri, adı verilen daireleri kullanarak grafiksel olarak temsil etmek uygundur. Euler çevreleri.

A ve B kümelerinin ortak elemanları varsa, yani aynı anda A ve B'ye ait olan elemanlar varsa, bu kümelerin kesişmek(Şekil 6).

Pirinç. 6

Örnek. A'nın bir dizi e-posta, B'nin Rusça'daki bir dizi harf olduğunu varsayalım. Bu kümelerin kesişimi her şeyi içerir e-postalar Rusça.

Kümelerin ortak elemanları yoksa kümelere denir. kesişmiyor(Şekil 7).

Pirinç. 7

Örnek. A'nın bir dizi bilgisayar bilgi giriş cihazı, B'nin bir dizi bilgi çıkış cihazı olduğunu varsayalım. Bu kümelerin ortak elemanları yoktur.

B kümesinin her elemanı A kümesinin elemanı ise B kümesi deriz. alt küme A (Şek. 8).

Pirinç. 8

Örnek. A öğrencilerin kümesi olsun, B altıncı sınıf öğrencilerinin kümesi olsun. Altıncı sınıf öğrencileri kümesi, öğrenci kümesinin bir alt kümesidir.

Eğer B kümesinin her elemanı A kümesinin bir elemanı ise ve bunun tersi olarak A kümesinin her elemanı B kümesinin bir elemanı ise, o zaman A ve B kümeleri deriz. eşit(Şekil 9).

Pirinç. 9

Örnek. A bir eşkenar dikdörtgenler kümesi, B bir kareler kümesi olsun. Bu kümeler eşittir.

İlişki "dahil"

Duruma göre bir nesne ya tek bir bütün olarak değerlendirilebilir ya da daha küçük nesnelere “parçalanabilir”. Örneğin bir okuldaki bilgisayar sayısını saymak istiyorsanız bilgisayar bir bütün olarak ele alınır. Bir bilgisayarın yetenekleri hakkında fikir edinmek için işlemci, bellek, gibi cihazlarının özelliklerini dikkate almak gerekir. Sabit disk vesaire.

Bir nesne birçok özdeş (homojen, benzer) nesneden oluşabilir. Örneğin, "turuncu" nesnesi parçalardan - portakal dilimlerinden oluşur. Bir obje " sınıf"birçok öğrenciden oluşur - yaklaşık olarak aynı yaştaki kız ve erkek çocuklar. Her öğrenci “okul sınıfı” nesnesinin bir bütün, bağımsız bir parçasıdır.

Bir nesne birçok farklı nesneden oluşabilir. Örneğin, “bilgisayar” nesnesi bir takım öğelerden oluşur. benzer arkadaşlar diğer nesnelerde (sistem birimi, monitör, klavye vb.). Bilgisayar nesnesini parçalara bölerken yeni nesneler farklı isimler; yeni nesnelerin işaretleri farklıdır.

Bazı durumlarda nesnelerin bileşimini açıklarken Hakkında konuşuyoruz belirli bir nesnenin bileşimi ve diğerlerinde - genel hakkında bileşenler birçok nesne. İÇİNDE ikinci durum kompozisyonun açıklaması "Belirli bir kümenin nesneleri genellikle nelerden oluşur?" sorusunun cevabını içerir. Örneğin:

  • “Evin yapısı duvarları, çatıyı, kapıları, pencereleri vb. içerir…”;
  • “Bir arabanın bir motoru, bir gövdesi, bir bagajı vardır…”

Bir nesnenin kompozisyonunu anlatırken, kişi zihinsel olarak onu parçalara ayırır. Bu durumda, kural olarak aşağıdaki tekniği kullanırlar: önce küçük bir sayıyı adlandırırlar. büyük parçalar, daha sonra her biri daha küçük parçalara vb. "parçalanır". Örneğin, bir evin kompozisyonunu açıklarken, önce temeli, duvarları ve çatıyı vurgulamak, ardından duvarın bir parçası olarak pencereyi ve kapıyı vurgulamak uygundur. , daha sonra pencerenin bir çerçeve ve camdan oluştuğunu söyleyin ve aynısını yaparak kapının kompozisyonunu açıklayın (Şek. 10).

İlişki şeması “bir parçasıdır” ( kompozisyon diyagramı) yalnızca bileşen parçalarını değil aynı zamanda nesnenin parçalara ayrılma sırasını da yansıtır. Böylece nesnenin yapısını (yapısını) yansıtır. Bir kompozisyon diyagramında, parça nesnesinin adı bu parçanın ait olduğu nesnenin adının altında yer alıyorsa, oksuz çizgiler kullanabilirsiniz.

Pirinç. 10

Resimdeki tüm isimler. 11 - genel (birçok nesneyi belirtir), çünkü bu diyagram belirli bir evin değil, "genel olarak bir evin" kompozisyonunu yansıtır.

Pirinç. on bir

Karmaşık, bileşik bir nesnenin özelliklerini tanımlarken, kişi yalnızca tüm nesnenin eylemlerini ve özelliklerini değil, aynı zamanda bileşen nesnelerinin eylemlerini ve özelliklerini de adlandırabilir. Örneğin evin tamamı inşa edilip yenilenebilir, çatı boyanabilir, cam yerleştirilebilir; tüm evin uzunluğu, genişliği ve yüksekliği vardır, duvarların kalınlığı vardır, çatının yüksekliği vardır.

Hariç iç yapı veya sınıf yapılarına karşılık gelen diyagram, sınıflar arasındaki çeşitli ilişkileri gösterir. Ayrıca, bu tür ilişkilerin türleri kümesi UML dilinde sabittir ve bu tür ilişkilerin semantiği tarafından önceden belirlenir. UML'deki temel ilişkiler veya bağlantılar şunlardır:

    Bağımlılık ilişkisi

    birliktelik ilişkisi

    genelleme ilişkisi

    Gerçekleşme ilişkisi

Bu ilişkilerin her birinin, ilgili sınıfların nesneleri arasındaki ilişkileri yansıtan, diyagram üzerinde kendi grafiksel temsili vardır.

Bağımlılık ilişkisi

Bir bağımlılık ilişkisi genellikle bir modelin iki öğesi veya bu tür öğelerin iki kümesi arasındaki bazı anlamsal ilişkileri belirtir; bu bir ilişkilendirme, genelleme veya uygulama ilişkisi değildir. Yalnızca modelin öğeleriyle ilgilidir ve anlamını açıklamak için çok sayıda bireysel örnek gerektirmez. Bağımlılık ilişkisi, bir model öğesinde yapılan bir değişikliğin, ona bağlı başka bir model öğesinde değişiklik yapılmasını gerektirebileceği bir durumda kullanılır.

Bağımlılık ilişkisi grafiksel olarak temsil edilir noktalı çizgi bir ucunda bir ok bulunan karşılık gelen öğeler arasında ("->" veya "<-"). На диаграмме классов данное отношение связывает отдельные классы между собой, при этом стрелка направлена от класса-клиента зависимости к независимому классу или классу-источнику (рис. 5.3). На данном рисунке изображены два класса: Класс_А и Кяасс_Б, при этом Класс_Б является источником некоторой зависимости, а Класс_А - клиентом этой зависимости.

Pirinç. 5.3. Bir sınıf diyagramında bağımlılık ilişkisinin grafiksel gösterimi

Model öğelerinin tamamı bir istemci sınıfı ve bir bağımlılık kaynağı sınıfı olarak hareket edebilir. Bu durumda, bağımlılığın kaynağından gelen tek bir ok çizgisi, bir noktada her biri istemci sınıfı için ayrı bir oka sahip olan birkaç ayrı satıra bölünür. Örneğin, Class_C'nin işleyişi Class_A ve Class_/>'nin uygulama özelliklerine bağlıysa, bu bağımlılık aşağıdaki gibi gösterilebilir (Şekil 5.4).

Pirinç. 5.4.İstemci sınıfı (Class_C) ile kaynak sınıfları (Class_L ve Class_B) arasındaki bağımlılığın grafiksel gösterimi

Ok, tırnak işaretleri içinde isteğe bağlı ancak standart bir anahtar sözcük ve isteğe bağlı bir özel adla işaretlenebilir. Bir bağımlılık ilişkisinde belirli özel bağımlılık türlerini belirten önceden tanımlanmış anahtar sözcükler bulunur. Bu anahtar kelimeler (klişeler), bu ilişkiye karşılık gelen okun yanına tırnak işareti içinde yazılmıştır. Bağımlılık ilişkilerine ilişkin stereotip örnekleri aşağıda sunulmuştur:

    "erişim" - istemci sınıfları için kaynak sınıfın genel özelliklerinin ve işlemlerinin kullanılabilirliğini belirtmeye yarar;

    "bind" - istemci sınıfı sonraki parametrelendirmesi için bazı şablonları kullanabilir;

    "türet" - istemci sınıfının nitelikleri kaynak sınıfın niteliklerinden hesaplanabilir;

    "içe aktarma" - kaynak sınıfın genel nitelikleri ve işlemleri, sanki doğrudan içinde bildirilmiş gibi istemci sınıfının bir parçası haline gelir;

    "iyileştirme" - proje üzerinde çalışma sırasında ek bilgiler göründüğünde, istemci sınıfının tarihsel nedenlerden dolayı kaynak sınıfın iyileştirilmesi olarak hizmet ettiğini belirtir.

Not

Bağımlılık ilişkisi UML'deki en yaygın ilişki biçimidir. Söz konusu diğer tüm ilişki türleri bu ilişkinin özel bir durumu olarak düşünülebilir. Bununla birlikte, diğer ilişki türleri için belirli anlamsal özelliklerin ve ek özelliklerin vurgulanmasının önemi, bunların diyagramlar oluşturulurken bağımsız olarak dikkate alınmasını belirler.

Dernek ilişkisi

Bir birliktelik ilişkisi, sınıflar arasında bazı ilişkilerin varlığına karşılık gelir. Bu ilişki, belirli bir ilişkinin bireysel özelliklerini karakterize eden ek özel sembollerin bulunduğu düz bir çizgiyle gösterilir. Ek özel karakterler, birliğin adının yanı sıra, birliğin rol sınıflarının adları ve çoklukları da olabilir. Derneğin adı, kuruluşunun isteğe bağlı bir unsurudur. Belirtilmişse ilgili olduğu satırın yanına büyük (büyük) harfle yazılır.

Bu ilişkinin en basit durumu ikili ilişkidir. Tam olarak iki sınıfı birbirine bağlar ve istisna olarak bir sınıfı kendisine bağlayabilir. İkili bir ilişki için sınıfların sırası, birliğin adının yanında ok şeklinde bir üçgen kullanılarak diyagramda belirtilebilir. Bu okun yönü sınıfların sırasını gösterir; bunlardan biri birinci (üçgen tarafından) ve diğeri ikinci (üçgenin tepe tarafından) olur. Dernek adının yanında bu okun bulunmaması, söz konusu ilişkideki sınıfların sırasının tanımlı olmadığı anlamına gelir.

İkili ilişki ilişkisinin basit bir örneği olarak, iki sınıf - "Şirket" sınıfı ve "Çalışan" sınıfı - arasındaki ilişkiyi düşünün (Şekil 5.5). Bunlar, adı ilişkilendirme çizgisinin yanındaki şekilde gösterilen ikili ilişkilendirme Çalışması ile birbirlerine bağlanırlar. Bu ilişki için sınıfların sırası tanımlanır; bunlardan birincisi “Çalışan” sınıfı, ikincisi ise “Şirket” sınıfıdır. Bu ilişkinin ayrı bir örneği veya örneği bir çift değer olabilir (Petrov I.I., “Boynuzlar ve Toynak”). Bu, çalışan I.I. Petrov'un Horns & Hooves şirketi için çalıştığı anlamına geliyor.

Pirinç. 5.5. Sınıflar arasındaki ikili ilişki ilişkisinin grafiksel gösterimi

Üçlü bir birliğe ve daha yüksek ariteye sahip birliklere genellikle N-ary birliği denir ("enary birlik" olarak okuyun). Böyle bir dernek, 3 veya daha fazla sınıfı bir tür ilişkiyle birbirine bağlarken, bir sınıf birliğe birden fazla katılabilir. İlişkilendirme sınıfının, ilgili ilişkide, diyagramda açıkça gösterilebilecek özel bir rolü vardır. Bir N-ary ilişkisinin her örneği, karşılık gelen sınıflardan gelen bir N-ary nesne değerleri kümesidir. İkili ilişki, değer N=2 olduğunda ve kendi gösterimine sahip olduğunda, N-ary ilişkisinin özel bir durumudur.

Bir N-ary ilişkisi grafiksel olarak bir baklava deseniyle gösterilir ve buradan çizgiler bu ilişkinin sınıf sembollerine götürür. Bu durumda elmas, karşılık gelen sınıfların sembollerine düz çizgilerle bağlanır. Tipik olarak, çizgiler bir eşkenar dörtgenin köşelerinden veya kenarlarının ortasından çizilir. N-ary derneğinin adı, karşılık gelen derneğin elmas işaretinin yanında yazılır.

Bir N-ary birlikteliğinde sınıfların sırası, bir ilişkideki kümelerin sırasının aksine diyagramda sabit değildir. Bazı sınıflar elmasa noktalı bir çizgiyle iliştirilebilir. Bu, sınıfın karşılık gelen N-ary birleşiminin özellikleri için destek sağladığı ve N-ary birleşiminin kendisinin de niteliklere, işlemlere ve/veya ilişkilere sahip olduğu anlamına gelir. Başka bir deyişle, böyle bir ilişkilendirme, dikdörtgen biçiminde karşılık gelen atamaya sahip bir sınıftır ve UML dilinin bağımsız bir öğesidir - bir İlişkilendirme Sınıfı. Bir N-ary ilişkilendirmesi, rollerinden herhangi biri için bir toplama sembolü içeremez.

Belirli bir üçlü ilişkilendirmeye örnek olarak üç sınıf arasındaki ilişkiyi düşünün: "Futbol Takımı", "Yıl" ve "Oyun". Bu ilişki, futbol takımlarının son birkaç yıldaki ulusal şampiyonadaki performansı hakkında bilgi sağlayabilecek bu üç sınıf arasında bir ilişkinin varlığını göstermektedir (Şekil 5.6).

Bahsedildiği gibi, ayrı bir birliktelik sınıfının ilişkide kendi rolü vardır. Bu rol bir sınıf diyagramında grafiksel olarak gösterilebilir. Bu amaçla, UML dilinde özel bir öğe dikkate alınır - ilişkilendirmenin sonu (İlişkilendirme Sonu), grafiksel olarak ilişkilendirme hattının ayrı bir sınıfla bağlantı noktasına karşılık gelir. Bir derneğin sonu derneğin bir parçasıdır ama sınıfın değil. Her birliğin iki veya daha fazla birliktelik sonu vardır. En önemli birliktelik özellikleri şemada bu birliktelik elemanlarının yanında belirtilmiştir ve onlarla birlikte karıştırılmalıdır.

Pirinç. 5.6.Üç sınıf arasındaki üçlü ilişkinin grafiksel gösterimi

Böyle bir ek atama, bir birliğin parçası olan belirli bir sınıfın rolünün adıdır. Rol adı, karşılık gelen sınıfa ilişkin ilişkinin sonuna yakın bir metin satırıdır. Söz konusu ilişkinin sonu olan sınıfın oynadığı spesifik rolü belirtir. Rol adı, gösterimin isteğe bağlı bir öğesidir ve diyagramda görünmeyebilir.

Gösterimin bir sonraki unsuru, birliğin amaçları olan bireysel sınıfların çokluğudur. Belirli bir sınıfın çokluğu, sınıfların niteliklerinin ve işlemlerinin çokluğuna benzer şekilde, bir tamsayı aralığı olarak gösterilir. Bir ilişkinin sonuna yakın bir aralık yazılır ve bir N-ary ilişkilendirmesi için, kalan N-1 örnekleri veya sınıf değerleri değiştirildiğinde ortaya çıkabilecek bu ilişkinin potansiyel farklı örneklerinin veya demet değerlerinin sayısını belirtir. sabit.

Dolayısıyla, daha önce tartışılan örnekte (bkz. Şekil 5.5), "Şirket" sınıfı için "1"in çokluğu, her çalışanın yalnızca bir şirkette çalışabileceği anlamına gelir. "Çalışan" sınıfı için "1..*" sayısının çokluğu, her şirketin birden fazla çalışana sahip olabileceği anlamına gelir; bunların toplam sayısı önceden bilinmez ve hiçbir şekilde sınırlandırılmaz. "1..*" çokluğu yerine yalnızca "*" sembolünü yazmanın imkansız olduğunu unutmayın, çünkü ikincisi "0..*" çokluğu anlamına gelir. Bu örnek için bu, bireysel şirketlerin hiç çalışanının olmayabileceği anlamına gelebilir. Ancak yukarıda tartışılan örnekte de görülebileceği gibi, bu tür bir çeşitlilik diğer durumlarda oldukça kabul edilebilirdir (Şekil 5.6).

İlişkinin diğer özelliklerine gelince, eğer varsa, bunlar birlik sınıfının nitelikleri olarak düşünülebilir ve sınıf dikdörtgeninin karşılık gelen bölümünde sınıf için olağan şekilde diyagramda belirtilebilir.

Birlik ilişkisinin özel bir durumu, özel birleşme (Xor-birleşmesi) olarak adlandırılan durumdur. Bu ilişkilendirmenin semantiği, bu ilişkilendirmenin potansiyel olarak olası çeşitli varyantlarından herhangi bir zamanda yalnızca bir örneğinin kullanılabileceğini göstermektedir. Bir sınıf diyagramında, dışlayıcı bir ilişki, iki veya daha fazla ilişkilendirmeyi birbirine bağlayan noktalı bir çizgiyle temsil edilir ve yanına "(xog)" kısıtlama dizisi yazılır.

Örneğin, bir birey (birey) veya münhasır bir dernek tarafından temsil edilen bir şirket olabilecek bir müşteri için bir banka hesabı açılabilir (Şekil 5.7).

Pirinç. 5.7.Üç sınıf arasındaki özel ilişkinin grafiksel gösterimi

Çağrışım ilişkisinin özel bir biçimi veya özel durumu, toplama ilişkisidir ve bu bağıntı da özel bir biçime sahiptir - bileşim ilişkisi. Bu ilişkilerin kendine özel notasyonları olması ve UML dilinin temel kavramlarıyla ilgili olması nedeniyle bunları sırasıyla ele alacağız.

Toplama ilişkisi

Sınıflardan biri, diğer varlıkları bileşen olarak içeren bir varlığı temsil ediyorsa, birkaç sınıf arasında bir toplama ilişkisi oluşur.

Bu ilişki, "parça-bütün" tipindeki sistem ilişkilerini temsil etmek için kullanıldığından, karmaşık sistemlerin yapısını tanımlamak için temel öneme sahiptir. Sistemin iç yapısını ortaya koyan toplama ilişkisi, sistemin hangi bileşenlerden oluştuğunu ve bunların birbirleriyle nasıl ilişkili olduğunu gösterir. Model açısından bakıldığında, sistemin bireysel parçaları hem öğeler hem de alt sistemler biçiminde hareket edebilir ve bunlar da kompozit bileşenler veya alt sistemler oluşturabilir. Bu ilişki, doğası gereği, karmaşık bir sistemin daha sonraki bir tarihte ihtiyaç ortaya çıkması durumunda ayrıştırılabilecek daha basit bileşen parçalarına ayrıştırılmasını veya parçalanmasını tanımlar.

Not

Bu ilişkinin değerlendirilmesiyle bağlantılı olarak, etkileşimli bileşenlerden veya alt sistemlerden oluşan bir teknik sistemi belirtmeye yarayan "toplam" özel terimini hatırlamak oldukça yerinde olacaktır. Bu benzetme tesadüfi değildir ve söz konusu ilişkinin özünün daha net anlaşılmasına hizmet edebilir.

Bu açıdan bakıldığında bir sistemin kendisini oluşturan parçalara bölünmesinin, bileşenlerinin belirli bir hiyerarşisini temsil ettiği açıktır, ancak bu hiyerarşi, genelleme ilişkisinin ürettiği hiyerarşiden temel olarak farklıdır. Aradaki fark, sistemin parçalarının tamamen bağımsız varlıklar olması nedeniyle hiçbir şekilde onun özelliklerini ve davranışlarını miras almak zorunda olmamasıdır. Dahası, bir bütünün parçalarının, bütünün nitelik ve işlemlerinden önemli ölçüde farklı olan kendi nitelikleri ve işlemleri vardır.

Toplama ilişkisine örnek olarak, “Kamyon” varlığı ile “Motor”, “Şasi”, “Kabin”, “Gövde” gibi bileşenler arasında oluşan parça-bütün ilişkisini düşünün. Belirli bir konunun terminolojisine tam olarak uyduğunu iddia etmeden, bir kamyonun motor, şasi, kabin ve karoserden oluştuğunu hayal etmek zor değildir. Toplama ilişkisini tanımlayan, “Kamyon_vehicle” sınıfı ile “Motor”, “Şasi”, “Kabin”, “Gövde” sınıfları arasındaki bu ilişkidir.

Grafiksel olarak, toplama ilişkisi, uçlarından biri içi dolgusuz bir elmas olan düz bir çizgiyle gösterilmektedir. Bu baklava hangi sınıfın “bütünü” temsil ettiğini gösteriyor. Geriye kalan sınıflar onun “parçalarıdır” (Şekil 5.8).

Pirinç. 5.8. UML'de bir toplama ilişkisinin grafiksel gösterimi

Toplama ilişkisinin bir başka örneği, kişisel bir bilgisayarın her okuyucunun bildiği bileşen parçalarına bölünmesidir: sistem birimi, monitör, klavye ve fare. UML dili gösterimleri kullanılarak, bir PC'nin bileşen bileşimi, bu durumda toplama ilişkisini gösteren, karşılık gelen bir sınıf diyagramı (Şekil 5.9) biçiminde temsil edilebilir.

Pirinç. 5.9.Örnek olarak bir PC kullanarak toplama ilişkisini gösteren sınıf diyagramı

Kompozisyon oranı

Bileşim ilişkisi, daha önce de belirtildiği gibi, toplama ilişkisinin özel bir durumudur. Bu ilişki, parçaları bir anlamda bütünün içinde konumlandıran “parça-bütün” ilişkisinin özel bir biçimini öne çıkarmaya hizmet ediyor. Aralarındaki ilişkinin özelliği, parçaların bütünden ayrı hareket edememesi, yani bütünün yok edilmesiyle, onu oluşturan tüm parçaların da yok olması gerçeğinde yatmaktadır.

Belki en iyisi olmasa da, bu ilişkinin herkes için net bir örneği biyolojideki canlı hücredir. Başka bir örnek, bir başlık çubuğu, boyut kontrol düğmeleri, kaydırma çubukları, bir ana menü, bir çalışma alanı ve bir durum çubuğundan oluşabilen bir program arayüz penceresidir. Böyle bir pencerenin bir sınıf olduğunu ve bileşenlerinin hem pencerenin sınıfları hem de nitelikleri veya özellikleri olduğunu anlamak kolaydır. Son durum kompozisyon ilişkisinin çok karakteristik özelliğidir çünkü bu ilişkiyi temsil etmenin farklı yollarını yansıtır.

Grafiksel olarak, kompozisyonun ilişkisi, uçlarından biri içi elmas gölgeli olan düz bir çizgi ile gösterilmektedir. Bu elmas hangi sınıfın kompozisyon sınıfı veya "bütün" olduğunu gösterir. Geri kalan sınıflar onun “parçalarıdır” (Şekil 5.10).

Pirinç. 5.10. UML'de bir kompozisyon ilişkisinin grafiksel gösterimi

Bileşim ve toplama ilişkilerine yönelik ek gösterimler, birliktelik ilişkisine yönelik ek gösterimler olarak kullanılabilir. Yani isteğe bağlı olan birliktelik sınıfının çokluğunu ve bu ilişkinin adını belirtmek. Yukarıda açıklanan “Program_Window” sınıfı örneğiyle ilgili olarak sınıf diyagramı şu şekilde görünebilir (Şekil 5.11).

Pirinç. 5.11.Örnek olarak program penceresi sınıfını kullanarak kompozisyon ilişkisini gösteren sınıf diyagramı

Bu örnek, geliştirilmekte olan bilgisayar programının, bu örnek açıklanırken açıkça belirtilmeyen diğer özelliklerini gösterebilir.Bu nedenle, özellikle "Work_area" sınıfının yanında 1'in çokluğunun belirtilmesi, tek belge uygulamaları için tipiktir.

Genelleme ilişkisi

Genelleme ilişkisi, daha genel bir öğe (ebeveyn veya ata) ile daha spesifik veya özel bir öğe (çocuk veya alt nesil) arasındaki olağan taksonomik ilişkidir. Bu ilişki paketler, sınıflar, kullanım durumları ve UML dilinin diğer unsurları arasındaki ilişkileri temsil etmek için kullanılabilir.

Bir sınıf diyagramına uygulandığında bu ilişki, sınıfların hiyerarşik yapısını ve onların özelliklerinin ve davranışlarının mirasını açıklar. Bu, alt sınıfın, ata sınıfın tüm özelliklerine ve davranışlarına sahip olduğunu ve ayrıca ata sınıfın sahip olmadığı kendi özelliklerine ve davranışlarına sahip olduğunu varsayar. Diyagramlarda genelleme ilişkisi, bir ucunda üçgen ok bulunan düz bir çizgiyle gösterilir (Şekil 5.12). Ok daha genel bir sınıfı (ata sınıfı veya üst sınıf) belirtirken, yokluğu daha uzmanlaşmış bir sınıfı (son sınıf veya alt sınıf) gösterir.

Pirinç. 5.12. UML'de bir genelleme ilişkisinin grafiksel gösterimi

Tipik olarak bir diyagram, taksonomik doğasını yansıtan bir genelleme ilişkisi için birkaç satır gösterebilir. Bu durumda daha genel bir sınıf, bir Genelleme ilişkisi ile alt sınıflara bölünür. Örneğin, Geometric_shape_on_plane sınıfı (italik soyut bir sınıfı belirtir), Dikdörtgen, Daire, Elips vb. gibi belirli geometrik şekillere karşılık gelen alt sınıflar için bir üst sınıf görevi görebilir. Bu gerçek, aşağıdaki sınıf diyagramı biçiminde grafiksel olarak gösterilebilir: aşağıdaki tip (Şek. 5.13 ).

Pirinç. 5.13. Bir sınıf genelleme ilişkisinin grafiksel temsiline bir örnek

Bir sınıf diyagramındaki gösterimi basitleştirmek için, aynı genelleme ilişkisini ifade eden bir dizi çizgi tek bir çizgide birleştirilebilir. Bu durumda, bu bireysel çizgiler, kendileriyle ortak bir kesişme noktasına sahip olan tek bir ok üzerinde birleşerek tasvir edilmiştir (Şekil 5.14).

Pirinç. 5.14. Bireysel çizgilerin birleştirilmesi durumunda sınıf genelleme ilişkisinin grafiksel temsilinin bir çeşidi

Biçimsel olarak bu gösterim, Bölüm 2'de tartışılan özel bir grafik türüne, yani hiyerarşik bir ağaca karşılık gelir. Bu durumda ata sınıfı bu ağacın kökü, alt sınıflar ise yapraklarıdır. Aradaki fark, sınıf diyagramının, sınıf diyagramı sembollerinde yer almayan diğer alt sınıfların potansiyel varlığını gösterebilmesidir (dikdörtgenler yerine elipsler).

Genelleme okunun yanına bu ilişkinin bazı ek özelliklerini belirten bir metin satırı yerleştirilebilir. Bu metin alt sınıflara giden tüm genelleme satırlarına uygulanacaktır. Başka bir deyişle, belirtilen özellik belirli bir ilişkinin tüm alt sınıfları için geçerlidir. Bu durumda metin bir sınırlama olarak düşünülmeli ve daha sonra süslü parantez içinde yazılmalıdır.

Aşağıdaki UML anahtar sözcükleri kısıtlama olarak kullanılabilir:

    (tam) - bu genelleme ilişkisinde tüm alt sınıfların belirtildiği ve bu üst sınıfın başka alt sınıflara sahip olamayacağı anlamına gelir. Örnek - Bank_Client sınıfı iki sınıfın atasıdır: Bireysel_kişi ve Şirket ve başka alt sınıfı yoktur. İlgili sınıf diyagramında, bu kısıtlama dizisinin genelleme satırının yanına yazılmasıyla bu açıkça belirtilebilir;

    (ayrık) - alt sınıfların aynı anda iki veya daha fazla sınıfın örneği olan nesneleri içeremeyeceği anlamına gelir. Yukarıdaki örnekte, belirli bir şahsın aynı zamanda belirli bir şirket olamayacağı varsayıldığından bu koşul da karşılanmıştır. Bu durumda genelleme satırının yanına şu kısıtlama satırını yazabilirsiniz;

    (eksik) - ilkinin tersi durum anlamına gelir. Yani, tüm alt sınıfların diyagramda gösterilmediği varsayılmaktadır. Daha sonra, önceden oluşturulmuş diyagramı değiştirmeden listeyi tamamlamak mümkündür. Bir örnek, istisnasız tüm araba modellerinin belirtilmesinin ilgili kataloğun oluşturulmasıyla orantılı olduğu "Araba" sınıfının bir diyagramıdır. Öte yandan, belirli modeldeki arabaların satışına yönelik bir sistem geliştirmek gibi ayrı bir görev için bu gerekli değildir. Ama yine de alt sınıfların yapısının eksikliğini belirtmek gerekiyor;

    (örtüşme) - alt sınıfların bireysel örneklerinin aynı anda birkaç sınıfa ait olabileceği anlamına gelir. Örnek - "Polygon" sınıfı, "Rectangle" sınıfının ve "Rhombus" sınıfının ata sınıfıdır. Ancak, örnekleri aynı anda ilk iki sınıfın nesneleri olan ayrı bir "Kare" sınıfı vardır. Bu kısıtlama dizesini kullanarak böyle bir durumu açıkça belirtmek oldukça doğaldır.

Kısıtlama çizgilerinin kullanılma olasılığı dikkate alındığında, sınıf diyagramı (Şekil 5.14) elipsler olmadan ve bilgi kaybı olmadan gösterilebilir (Şekil 5.15).

Pirinç. 5.15. Bir dize kısıtlaması kullanarak bir sınıf genelleme ilişkisini grafiksel olarak temsil etmeye yönelik bir seçenek

Genelleştirme ilişkisini kullanmanın özelliklerini göstermek için, daha önce tartışılan sınıf temsili örneklerinden birini UML dilinin grafik gösterimine dönüştürelim. Böyle bir örnek olarak, soyut "Araba" sınıfı için sınıf yuvalama hiyerarşisini düşünün (bkz. Şekil 1,2, 2.7). Görülmesi kolay olduğu gibi, bu şekillerdeki bireysel sınıflar arasındaki ilişki tam olarak bir genelleme ilişkisidir ve UML dilinde özel bir grafik gösterimi vardır. Bu grafik gösterimi dikkate alarak, "Araba" sınıfının hiyerarşisini temsil eden anlamsal ağın bir parçası (bkz. Şekil 2.7), aşağıdaki sınıf diyagramı (Şekil 5.16) olarak temsil edilebilir.

Bu örnekte tüm üst düzey sınıfların soyut olduğunu, yani kendi örnekleriyle temsil edilemeyeceklerini unutmayın. Bu nedenle isimleri italik yazılmıştır. Buna karşılık, daha düşük seviyeli sınıflar, benzersiz bir seri numarasına sahip ilgili modelin üretilmiş arabaları olan kendi kopyalarıyla temsil edilebildikleri için spesifiktir.

Pirinç. 5.16. Daha önce tartışılan örnekten "Araba" sınıf hiyerarşisini temsil eden genelleme ilişkisine sahip bir sınıf diyagramının bir parçası (bkz. Şekil 2.7)

Not

Tartışılan materyali pekiştirmek için bir alıştırma olarak, UML dilinin grafik gösterimini kullanarak standart sınıf kütüphaneleri MFC (Microsoft) ve VCL (Borland/Inprise) için sınıf diyagramları veya en azından bunların parçalarını oluşturmayı deneyebilirsiniz. Yakın gelecekte ilgili programlama ortamlarına yönelik referans kılavuzlarının bu tür sınıf diyagramlarını ve belki de başkalarını içereceği varsayılabilir.


























Tartışalım 1. Aşağıdakiler arasındaki ilişkilere örnekler verin: iki nesne; bir nesne ve bir dizi nesne; iki nesne kümesi. 2. Hangi ilişkilerde yalnızca belirli türdeki nesneler var olabilir? Herhangi bir nesne hangi ilişkilerde var olabilir? 3.Nesnelerin ilişkilerini nasıl görselleştirebilirsiniz? 4.Nesnelerin adları değiştirildiğinde ilişki adları değişen nesne çiftlerine örnekler verin. ??








Büyükanne Ivan'a elma ve armut içeren bir paket gönderdi. Bu meyvelerin bazıları büyük, bazıları küçüktü. Meyvelerin rengi de farklıydı: Meyvelerin bir kısmı sarı, geri kalanı yeşildi. Meyveler arasında ne küçük armut ne de küçük yeşil elma vardı. 25 elma, 17 armut, 32 büyük meyve, 28 sarı meyve, yeşil armutlardan 2 fazla yeşil elma vardı. Ivan arkadaşlarına bu meyveleri ikram etti. Çocukların çoğu büyük sarı elmaları severdi. Bu elmalardan kaç tane vardı? Hadi tartışalım?? Çözüm








32 büyük meyve olduğundan bunların arasında 15 büyük elma (32-17) vardı. Toplamda 25 elma vardı, yani 10 küçük elma vardı ve hepsi sarıydı. Meyveler, 42 Elma, 25 Büyük, 15 Sarı Yeşil Küçük, 10 Sarı, 10 Armut, 17 Büyük, 17 Sarı Yeşil


28 sarı meyve varsa 14 yeşil elma vardır ve yeşil armutlardan 2 yeşil elma daha fazla olduğuna göre x+x+2=14 denkleminden 8 yeşil elma ve 6 armut olduğunu elde ederiz. , 42 Elma, 25 Büyük, 15 Sarı, 7 Yeşil, 8 Küçük, 10 Sarı, 10 Armut, 17 Büyük, 17 Sarı, 9 Yeşil, 6 Cevap: 7 büyük sarı elma vardı.


En önemli İlişki, herhangi bir nesnenin bulunduğu karşılıklı bağlantıdır. İlişkiler şunları birbirine bağlayabilir: iki nesne; bir nesne ve bir dizi nesne; iki set. Bir nesne tek bir bütün olarak düşünülebilir veya daha küçük nesnelere “parçalanabilir”.




1. Aşağıdakiler arasındaki ilişkilere örnekler verin: iki nesne; bir nesne ve bir dizi nesne; iki nesne kümesi. 2. Hangi ilişkilerde yalnızca belirli türdeki nesneler var olabilir? Herhangi bir nesne hangi ilişkilerde var olabilir? 3.Nesnelerin ilişkilerini nasıl görselleştirebilirsiniz? 4.Nesnelerin adları değiştirildiğinde ilişki adları değişen nesne çiftlerine örnekler verin. Hadi tartışalım??


5. Anaokulunda 52 çocuk bulunmaktadır. Her biri şekeri veya dondurmayı sever. Çocukların yarısı tatlıyı, 20 kişi ise tatlı ve dondurmayı seviyor. Kaç çocuk dondurmayı sever? Kaç çocuk sadece dondurma sever? Hadi tartışalım?? 20, K ve M'yi seviyorum 26, K'yi seviyorum, M'yi seviyorum, sadece M'yi seviyorum, sadece K'yi seviyorum 52