bu tipleri içerir;
- Sınıf
- Arayüz
- Veri tipi
- Bileşen(component)

name : attribute type (özelliğin ismi : özelliğin tipi)
Örneğin; flightNumber : Integer
name : attribute type = default valueÖrneğin; balance : Dollars = 0

Nesneye yönelik tasarımda Miras kavramı oldukça önemlidir. Bir sınıftan miras alarak onun açık olan metotlarını kullanabilirsiniz ve miras alan sınıfa bu metotlar dışında yeni metotlarda ekleyebilirsiniz.
Bir sınıf diagramında miras 'ı modellemek için, çocuk sınıftan ana sınıfa içi doldurulmamış,düz bir ok çizilir. Şekil 3 te CheckingAccount ve SavingsAccount, BankAccount sınıfından miras almıştır.

Yukarıda miras alan sınıflardan ayrı ayrı iki ok çizilmiştir. Bunu bir şekilde daha ifade edebiliriz.
Şekil 4' te ağaç yapısı şeklinde miras alan sınıfları görebiliriz.

Bununla beraber süper sınıf , soyut bir sınıf olmak zorunda değildir. Standart bir sınıfında süper sınıf olması normaldir.
Bir sistem modellediğimizde, belirli nesnelerin diğerleriyle ilişkisi olacaktır, bu ilişkilerin açık bir şekilde ifade edilmesi için gereklidir. 5 tip birleşme vardır. Bu bölümde -tek ve iki yönlü birleşmeler - olmak üzere ikisine göz atacağız. Bu birleşmelerle ilgili olarak çok fazla ayrıntıya girilmeyecektir. Temel olarak amaçları ve şekille nasıl gösterileceğinden bahsedeceğiz.
İki sınıf arasında bir çizgi varsa buna ilişki diyoruz. İlişkiler daima çift yönlü olarak kabul edilirler; Bunun anlamı, iki sınıfın birbirlerinden haberdar olduğudur ve başka bir ilişki tipi olmadığı sürece bu şekilde kabul edilir. Flight örneğinden devam edelim, Şekil 5 Flight ve Plane sınıfları arasında standart bir ilişki tanımlamasını gösterir.

İkili ilişkiler düz bir çizgi ile ifade edilir. Çizgilerin sonunda, bir rol ismi ve çoklu değerler yer alır. Burada Flight ve Plane sınıfları ilişkili ve Flight sınıfının bu ilişkiden haberi var. Bu ilişkide, Plane "assignedPlane" rolunu alır, Çünki Plane sınıfının yanında rol ismi olarak "assignedPlane" yazıyor. Plane sınıfına gelen 0..1 çoklu değerinin anlamı, Bir Flight örneği oluşturulduğunda , Ya bir Plane örneği ile ilişkilidir yada onunla ilgili hiç bir Plane örneği yoktur. Aynı zamanda Plane sınıfıda Flight ile olan ilişkisinden haberdardır. Bu ilişkide Flight sınıfı "assignedFlights" rolünü alır; Plane, ya hiçbir Flight ile ilişkili değildir(Örneğin; yeni marka bir uçak), yada uçuş sayısı sonsuza kadar olabilir(Uçak,Son 5 yıldır görevlendirilmiştir.) Çoklu değerlerle ilgili olarak aşağıdaki tabloya göz atabilirsiniz.

Tek Yönlü İlişkiler
Tek yönlü ilişkilerde, sadece bir sınıf ilişkinin var olduğundan haberdardır. Şekil 6 buna örnektir.

Tek yönlü ilişki olduğunu göstermek için açık bir ok kullanılır(kapalı ve içi dolu olmayan ok miras için kullanılıyordu).Bu ok bilinen sınıfa doğru düz bir çizgi olarak çizilir. Standart ilişkiler gibi tek yönlü ilişkilerde rol ismi ve çoklu değer kısmını içerir, farklı olarak burada sadece bilinen sınıf için bu değerler belirtilir. Bizim örneğimizde "OverdrawnAccountsReport" ,"BankAccount" sınıfını tanıyor ve "BankAccount" sınıfı "overdrawnAccounts" rolünü oynuyor. "BankAccount" sınıfının diğer sınıfla ilişkisi olduğundan haberi yok.[NOT: "BankAccount" sınıfının diğer sınıfı bilmiyor olması garip gelebilir. Bu nesne kalıplarını gevşetir ve sistemi değişikliklere uyumlu hale getirir.]
NOT: 3 tip ilişki daha bulunmaktadır. Bu ilişkiler; Basic aggregation,
Composition aggregation, Reflexive associations
Bu ilişkiler ile ilgili olarak daha fazla bilgi almak için Çevirinin yapıldığı kaynak bölümüne bakabilirsiniz.
Görülebilirlik(Visibility)

Kaynak
Posted in
Aggregation,
association,
Bi-directional (standard) association,
Uml,
Uni-directional association
- iconName : yüklemek için Kde ikonunun ismi
- iconLoader : Bu ikonun yüklemesinde kullanılan yükleyici, ya da yerel ikon yükleyiciyi ön tanımlı olarak kullanabilmek için "null" olur
- overlays : Bu ikonları uygulamak için overlays'lerin bir listesi
- widget = self.makeItemWidget(id_, name, description, type_, kdeui.KIcon(icon), state)
- self.pushToggle.setIcon(kdeui.KIcon("media-playback-stop"))
- self.labelIcon.setPixmap(kdeui.KIcon("document-encrypt").pixmap(48, 48))
- self.labelIcon.setPixmap(kdeui.KIcon("document-decrypt").pixmap(48, 48))
- self.pushToggle.setIcon(kdeui.KIcon("media-playback-start"))
- self.pushEdit.setIcon(KIcon("preferences-other"))
- self.pushDelete.setIcon(KIcon("edit-delete"))
QPixmap QIcon::pixmap ( int w, int h, Mode mode = Normal, State state = Off ) const
Posted in
KDE,
KIcon,
ozgurlukicin,
özgürlükiçin,
QIcon
KApplication, şekilde de görüldüğü üzere QApplication ve KInstance' dan miras alınarak oluşturulmuş bir sınıftır.- Olay kuyruğunu kontrol eder(bknz:QApplication)
- Hızlandırıcılar,ortak menü girişleri, bir KConfig nesnesi gibi KDE kaynaklarıyla uygulama sağlar.oturum yönetimi olayları,yardım vb..
- Zombi çocukları('Zombie Children' tam olarak ne demek istediğini anlamadığım için olduğu gibi çevirdim.) önlemek amacıyla SIGCHLD sinyali için bir sinyal işleyicisi yüklenir. Eğer bu sinyali kendimiz yakalamak istersek yada hiç yakalamak istemezsen, Kapplication yapıcısını çalıştırdıktan sonra yeni bir sinyal işleyicisi(ya da SIG_IGN) düzenleyebiliriz
- installSigpipeHandler() kullanılarak SIGPIPE sinyali için boş bir sinyal işleyici yükler.Eğer Bu sinyali kendimiz yakalamak istersek, Kapplication yapıcısını çalıştırdıktan sonra yeni bir sinyal işleyicisi düzenleyebiliriz.
- Yeni servisler çalıştırılabilir.
- X-DCOP-ServiceType=None (default), Daima yeni bir servis baştır,dcop ile servis kayıtlarına kadar beklemez.
- X-DCOP-ServiceType=Multi , Daima yeni bir servis başlatır, dcop ile servis kayıtlı olana kadar bekler.
- X-DCOP-ServiceType=Unique , Eğer başlatılmamış ise sadece servisi başlatır, dcop ile servis kayıtlı olana kadar bekler.
Posted in
KApplication,
KDE,
ozgurlukicin,
özgürlükiçin,
QApplication
Bizim ne yapabileceğimizle ilgili pek bir fikrimiz yoktu ama elbette Necdet hoca'nın vardı. işte beklenen an.. Proje nedir?
Bu yıl bitirme projesi olarak ekibe sonradanda eklenen kalabalık bir ekip ile Gnome'u Pardusa geçirioruz. Bu kadar Gnome sever varken Pardusta gnome hiç mi çalışmıyor diye sorduğunuzu duyar gibiyim ve cevabım elbette var. Ancak pardusta gnome kullananların işi pekte kolay değil bizim asıl projemizde bunu kolaylaştırmak işte.. KDE de bulunan kaptan, service manager, network manager gibi araçlar QT ile yazıldığından gnome da kullanılamıyor. Bunun sebebi ise Gnome'un GTK yı desteklemesi. Bizde Pardus-gnome severlerin işini kolaylaştırmak ve elbette güzel bir şeyler yapmış olmak adına bitirme projesi olarak QT ile yazılmış olan servis araçlarını GTK ya çevirerek gnome'un bu halinin pardus depolarına girmesini sağlamak. Necdet Hoca zaten Pardus ile görüşmelere başlamıştı bu konuda ve bu projede ilerleme kaydetmemiz üzerine okulumuzda bu konu üzerine Pardus ile yeni bir anlaşma imzalayacak. Çok heycanlı ve güzel bir işe adım atmanın sarhoşluğu ile çalışmalara hazırlık başladı. İlk iş olarak tüm araçların kodlarının okunup anlaşılması ve anlaşılabilmesi için de Qt yi temel olarak öğrenmekle başladık.
Proje ile ilgili gelişmeleri vakit buldukça ve Hocamız bizi bu konuda yazmamız gerektiği ile ilgili uyardıkça yazacağım ve tabi Projedeki diğer arkadaşlarımın yazılarını ve benim proje ile ilgili yazılarımı okumak için:
http://kdetognome.blogspot.com/
bu bloğu takip edebilirsiniz.
Proje Ekibi
Danışmanımız: Necdet Yücel
Aydan Taşdemir
Ben=)
Gökhan Akgün
Özge Barbaros
Mustafa Sertaç Türkel
Tayfur Yılmaz
Mehmet Zahit Şamat
Yine bilgi işlemde ve bu kez farklı bir işle uğraşmaya başlamadan blog içinde biraz zaman ayırmak gerektiğini düşündüm=) Ancak çok uzun sürmeyecek.. Şimdilik bu kadar gençler yaptığım işlerle ilgili fırsat buldukça yazmaya devam edeceğim çok umutlu olmasam da belkide farklı bir blogtan da bitirme projemizle ilgili bilgileri yazabiliriz henüz pek bir şey kesinleşmedi açıkçası ama bu yıl bomba gibi bir yıl olacağa benziyor. Görüşmek dileğiyle:P
google.maps.Geocoder
Geocoding, haritadaki pozisyonda yada markerların yerlerinde kullanabileceğin coğrafi koordinatlar("enlem 37.423021 ve boylam -122.083739" gibi) içindeki adres dönüştürme sürecidir.( "1600 Amphitheatre Parkway, Mountain View, CA" gibi).
Google Maps API,kullanıcının girdiği dinamik geocoding adresleri için bir geocoder sınıfı sağlar.Bunun yerine static geocoding isterseniz,adresleri bilin ve geocoding web service dökümanına bakın.
GEOCODING İSTEKLERİ
Google Maps API,harici bir sunucuya çağrı yapması gerekene kadar,geocoding servisine erişim asenkrondur.Bu nedenle,isteklerin tamamlanması üzerinde çalışmak için geri çağrı metoduna geçmek gerekir.Bu geri çağrı metodu sonuçları işler.Bu geocoder'ın birden fazla sonuç döndürdüğünü unutmayın!!!
Google.maps.Geocoder nesnesi yoluyla kodunuz içinden Google Maps API geocoding servisine erişebilirsiniz. Geocoder.geocode () metodu,yanıt aldıktan sonra geri çağırma metodunu çalıştırmak için ve girdi koşullarını tam anlamıyla içeren bir GeocodeRequest nesnesine geçen bir geocoding servis isteğini başlatır.
GeocodeRequest tam anlamıyla aşağıdaki alanları içerir;
Bu alanlar aşağıda açıklanmıştır;
address (gerekli) — geocode için istediğiniz adres.*
latLng (gerekli*) — İnsanların okuyabileceği adreslere en yakın hale getirebilmek için kullanılır.
bounds (isteğe bağlı) — LatLngBounds ,geocode sonuçlarının daha belirgin bir şekilde olmasını sağlar.
language (isteğe bağlı) — geri döndürülen sonucun dili.
region (isteğe bağlı) — IANA language region subtag gibi özel bölge kodları.Çoğu durumda,bu etiketler bilinen ccTLD iki-karakterli değerler
*NOT:Arama için ya address'e yada latLng ye geçebilirsiniz.(Eğer latLng'ye geçilirse,geocoder,ters geocode olarak bilinen şekilde gerçekleşir.Daha fazla bilgi için Reverse Geocoding 'e bakın)
bounds ve region, geocoderdan gelen sonucu tam olarak kısıtlamayacak sadece etkileyecektir.
GEOCODING YANITLARI
Geocoding servisi,geocoding sonuçlarının alımı üzerinden çalışmak için bir geri çağrım metodu gerektirir.Bu geri çağrım, sonuçları ve o anki durumu tutmak için iki parametre vermelidir. Geocoder birden fazla sonuç geri döndürdüğünden,GeocoderResults nesnesi bir dizidir.
Geocoding Sonuçları
GeocoderResults nesnesi tek bir geocoding sonucu gibi temsil edilir ve aşağıdaki gibidir.
Bu alanların açıklaması şöyledir;
types[] ,geri dönen sonucun tipini gösteren bir dizidir.Bu dizi, geri dönen sonuçta bir veya daha fazla belirlenmiş taglar kümesi içerir.Örneğin; "Chicago" nun coğrafik kodu, "Chicago" nun bir şehir olduğunu gösteren "locality"(mekan,yer) ve üstelik onun siyasi varlığını gösteren bir "political" geri döndürür.
formatted_address, bu yerin okunabilir adresini içeren bir string'dir.Genellikle bu adresler şehirden şehire değişen "posta adres"lerine eşdeğerdir.(Büyük Britanya gibi bazı ülkelerin, gerçek posta adreslerini lisans kısıtlamaları nedeniyle dağıtım izni vermediğini unutmayın).Bu adres genellikle bir yada daha fazla adres bileşenlerinden oluşur.Örneğin "111 8th Avenue, New York, NY" adresi ;"111 8th Avenue"(sokak adresi),"New York"(şehir) ve"NY" (ABD devlet) için ayrı bir adres bileşenleri içerir.Bu adres bileşenleri aşağıda belirtilmiştir(adres bileşenleri tipleri hakkında daha fazla bilgi için "types" a bakın)
address_component[],yukarıda açıklandığı gibi ayrı adres bileşenlerini içeren bir dizidir.
geometry,aşağıdaki bilgileri içerir.
location,coğrafi kodlanmış enlem, boylam değerini içerir.Bu yeri string formatında değil latLng nesnesi gibi geri döndürdüğünü unutmayın.
location_type,belirtilen yer hakkında ek veri depolar.Aşağıdaki değerler şu anda desteklenmektedir:
google.maps.GeocoderLocationType.ROOFTOP,geri dönen sonucun kesin bir coğrafi kod yansıttığını gösterir.
google.maps.GeocoderLocationType.RANGE_INTERPOLATED, geri dönen sonucun iki hassas nokta arasındaki yaklaşık interpolasyonunu yansıttığını gösterir.Çatı coğrafi kodları sokak adresleri için kullanılmadığından genellikle aralıklı sonuçlar geri döndürür.
google.maps.GeocoderLocationType.GEOMETRIC_CENTER, geri dönen sonucun polygon yada polyline gibi, bir sonucun geometrik merkezi olduğunu gösterir.
google.maps.GeocoderLocationType.APPROXIMATE, geri döndürülen sonucu yaklaşık olarak gösterir
viewport,geri döndürülen sonuç için tavsiye edilen viewport'u depolar.
bounds (isteğe bağlı olarak geridöner),geri dönen sonucu tamamen içeren LatLngBounds u tutar.Bu bounds'ların tavsiye edilen viewportla eşleşmeyebileceğini unutmayın.(Örneğin; San Fransisco,teknik olarak şehrin bir parçası olan Farallon adalarını içerir fakat viewportta geri dönmemiş olabilir.)
Adres Bileşen Türler
Types[], geri dönen sonuç içinde adres tipini gösteren dizidir.Bu tür ayrıca address_components[] diziler içinde belirli bir adres bileşeninin tipini göstermek için geri döndürülerbilir.Geocoder içindeki adresler çoklu tiplere sahip olabilir;tipler,"tags" olarak kabul edilmiş olabilir.Örneğin birçok şehir, "political" ve "locality" tipi ile taglenmiştir.
Aşağıdaki tipler HTTP geocoder tarafından geri döndürülür ve desteklenir:
street_address,kesin bir sokak adresi belirtir.
route, isimlendirilmiş bir route içerir.("US 101" gibi)
intersection,önemli bir kesişim gösterir,genellikle de iki önemli yolun..
political,siyasi bir özelliği gösterir.Genellikle bu tip bazı sivil idarelerin bir polygonunu gösterir.
country,ulusal siyasi varlığı gösterir ve geocoder tarafından geri döndürülen en üstün düzendir.
administrative_area_level_1,aşağıda ülke düzeyinde birinci dereceden sivil bir varlık gösterir.Amerika Birleşik Devleti içerisinde bu idari seviyeler eyaletlerdir.Bütün ülkeler bu idari düzeyde sergilenmemektedir.
administrative_area_level_2, aşağıda ülke düzeyinde ikinci dereceden sivil bir varlık gösterir.Amerika Birleşik Devleti içerisinde bu idari seviyeler ilçelerdir.Bütün ülkeler bu idari düzeyde sergilenmemektedir.
administrative_area_level_3,aşağıda ülke düzeyinde üçüncü dereceden sivil bir varlık gösterir.Bu tür küçük bir sivil bölünme gösterir.Bütün ülkeler bu idari düzeyde sergilenmemektedir.
colloquial_area, varlık için yaygın olarak kullanılan alternatif bir isim gösterir.
locality,bir anonim şehir yada kasabanın siyasi varlığını gösterir.
sublocality,locality(yerleşimin) altında birinci dereceden sivil bir varlık gösterir.
neighborhood, isimlendirilmiş bir mahalle gösterir.
premise, isimlendirilmiş yerleri gösterir,genellikle bir bina yada ortak olarak isimlendirilmiş binalar topluluğudur
subpremise,location altında birinci düzeyde bir varlık gösterir,genellikle ortak adlandırılmış binalar topluluğunun içindeki tekil bir binadır.
postal_code ,ülkenin içinden posta adreslerinde kullanılan posta kodunu gösterir.
natural_feature ,önemli doğal bir özelliği gösterir.
airport,bir havaalanını gösterir.
park, isimlendirilmiş bir parkı gösterir.
Ayrıca,adres bileşenleri aşağıdaki tiplerde de görülebilir;
post_box ,belirli bir posta kutusunu gösterir.
street_number ,kesin olan sokak numarasını gösterir.
floor, bir bina adresinin zeminini gösterir.
room, bir bina adresinin odasını gösterir.
Durum Kodları
Status(durum) kodları aşağıdaki değerlerden birini geri döndürebilir;
google.maps.GeocoderStatus.OK ,geocode'un(coğrafi kod) başarılı olduğunu gösterir.
google.maps.GeocoderStatus.ZERO_RESULTS geocode'un başarılı olduğunu fakat sonuç geri döndürmediğini gösterir.Eğerki geocode var olmayan bir adresi yada uzak bir yerde latLng gösteriyorsa bu durum oluşabilir.
google.maps.GeocoderStatus.OVER_QUERY_LIMIT ,kotanızın bittiğini gösterir.
google.maps.GeocoderStatus.REQUEST_DENIED ,bazı sebeplerle isteğinizin reddedildiğini gösterir.
google.maps.GeocoderStatus.INVALID_REQUEST ,genellikle sorgunun(adres ve latLng) kaybolduğunu gösterir.
Bu örnekte,enlem ve boylamın geri döndürüldüğü bir marker'ın yerini ve adresini coğragi kodladık.işleyicinin anonim bir fonsiyon gibi aktardığını unutmayın!!
TERS GEOCODING(Adres Arama)
Geocoding terimi genel olarak,harita üzerindeki bir yerin okunabilir bir adrese çevrilmesi anlamına gelir.Tersini alma işlemi,okunabilir bir adrese haritada yer tahsis etme,geocoding'in tersi olarak bilinir.
Geocoder,direkt olarak geocoding'in tersini destekler.Metinsel bir adresin tedarik edilmesi yerine, latLng parametresinde virgülle ayrılmış enlem/boylam çifti olarak tedarik edilir.
Aşağıdaki örnek bir enlem boylam değerini coğrafi kodlar ve biçimlendirilmiş bir adres ile bilgi penceresine verdiği o yeri haritaya odaklar.(merkezler)İlkinden daha az belirli olan ikinci sonucu geri döndürürüz.
Önceki örnekte ikinci sonucu gösterdiğimizi unutmayın!!!!(results[1] tarafından seçilen).geocoder'ın tersi genellikle birden daha fazla sonuç geri döndürür.geocodding
"addresses" sadece porsta adresleri değildir,fakat bir yeri coğrafi olarak isimlendirmenin başka yolu yoktur.Örneğin; chicago şehrindeki bir nokta coğrafi kodlandığında, coğrafi kodlanmış nokta bir sokak adresi,şehir adresi(chicago), onun eyaleti(Illinois) yada bir ülke(Amerika Birleşik Devletleri) gibi işaretlenmiş olabilir.Tamamıda geocoder için "addresses"'dır.Ters geocoder bu sonuçların tamamını geri döndürür.
Ters geocoder siyasi varlıklar, sokak adresleri ve posta kodları ile eşleşir.
Bir önceki sorguda geri döndürülen adreslerin tamamının listesi aşağıda gösterilmiştir;
Adresler en az eşleşme için en iyi sırada geri döndürülmüştür.Bu durumda olduğu için daha kesin adres, en önemli sonuçtur.En belirli sokak adreslerinden mahalleler,şehirler,ilçeler,eyaletler vb. kadar az belirli siyasi varlıklara kadar farklı adres tipi geri döndürdüğümüzü unutmayın..Eğer daha genel bir adres eşleşmesi istiyorsak, results[].type alanlarını incelemek isteyebilirsiniz.
Not:Ters coğrafi kodlama kesin bir bilim değildir.Geocoder,belirli bir tolerans ile en yakın adreslenebilir yeri bulmaya kalkışacaktır.
VIEWPORT KUTUPLANMASI
Ayrıca belirli bir viewport içerisindeki tercih edilen sonucu Geocoding servisine talimat verebilirsiniz.(sınırlayıcı bir kutu gibi ifade edilmiş)Bu viewportun sınırlarını tanımlamak için GeocodeRequest nesnesinin bounds parametresiyle ayarlamalar yapabilirsiniz.
Örneğin,"Winnetka" için olan bir geocode genellikle Chicago'nun kenar mahallesi olarak geri döndürülür.
Bununla birlikte,bu yerde "Winnetka"adındaki mahalleyi geri döndüren geocode'daki Los Angeles'ın San Fernando vadisi için tanımlanan sınırlayıcı kutuyu bounds parametresi belirler:
BÖLGE KODU KUTUPLANMASI
Ayrıca belirli bir bölgeyi kullanan region parametresine sonuçları geri döndürebilmek için Geocoding servisi ayarlayabilirsiniz.Bu parametre,IANA language region subtag gibi belirli bir bölge kodu alır.Çoğu durumda,bunlar örneğin "co.uk" daki "uk" gibi bilinen ccTLD(üst-düzey alan) iki-karakterli değerler için doğrudan haritaya etiketler.Bazı durumlarda,bölge etiketi
bazı ccTLD değerlerinden farklı ISO-3166-1 kodlarını destekler.(örneğin;"Great Britain" için "GB")
Geocoding isteklerine, ana Google Maps uygulamalarındaki önerilen coğrafi kod her alan için gönderilmiş olabilir.
Örneğin;"Toldeo" için coğrafi kod, Geocoding Hizmet için varsayılan etki alanının ABD'ye ayarlandığı gibi bir sonuç geri döndürür:
'es'(ispanya) olarak ayarlanmış bölge alanı ile "Toldeo" için geocode İspanyol şehrini geri döndürecektir.
Çevirmen Notu:Bu yazının devamı en kısa sürede çevirilip yayınlanacaktır.Services kısımlarından önceki bölüm için "http://dogankadriye89.blogspot.com/" ve "http://blog.alihalukseven.com/" bloglarına göz atabilirsiniz.. Çeviri hatalarım olmuştur bunlar için herkesten özür diliyorum ve orjinal metin'e ulaşmak için: "http://code.google.com/intl/tr-TR/apis/maps/documentation/javascript/services.html" adresini kullanabilirsiniz..









