Anadolu Liselerine Öğretmen Atama İşleminin Nesneye Yönelimli Veritabanı Programlama Kullanılarak Gerçekleştirilmesi



Benzer belgeler
Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

Öğr. Gör. Serkan AKSU 1

Bölüm 10: PHP ile Veritabanı Uygulamaları

BİL-142 Bilgisayar Programlama II

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL

«BM364» Veritabanı Uygulamaları

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

1 PROGRAMLAMAYA GİRİŞ

KULLANICI TANIMLI FONKSİYONLAR

SQL e Giriş. Uzm. Murat YAZICI

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

LINQ (Temel Kavramlar)

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

YZM 2105 Nesneye Yönelik Programlama

Nesne Yönelimli Programlama

BTEP243 Ders 3. class Yazım Kuralı:

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Kalıtım (Inheritance)

Bakım Yönetimi Logo Nisan 2016

STORED PROCEDURE LER (Saklı Yordamlar)

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Ders 8: Metotlar. barisgokce.com

İnternet Programcılığı

JAVASCRIPT JAVASCRIPT DİLİ

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Oracle da kullanılan veri tipleri:

VERİ TABANI ve YÖNETİMİ

VERİ TABANI YÖNETİM SİSTEMLERİ I

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Veri Tabanı-I 1.Hafta

Sunum İçeriği. Programlamaya Giriş

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

Timer İle arka plan renk değişimi

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

VERİ TABANI YÖNETİM SİSTEMLERİ

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

C++ Dersi: Nesne Tabanlı Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

VERİ TABANI ve YÖNETİMİ

YZM 2105 Nesneye Yönelik Programlama

NESNE TABANLI PROGRAMLAMA

BİL-141 Bilgisayar Programlama I (Java)

SUPERVISOR (YETKİLİ KULLANICI) KAMPANYA YÖNETİMİ EĞİTİM DOKÜMANI

Veritabanı Uygulamaları Tasarımı

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

KULLANICI TANIMLI FONKSİYONLAR (Devam)

1 Temel Kavramlar. Veritabanı 1

Veritabanı. Ders 2 VERİTABANI

Basit bir web uygulaması

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com

C++ Dersi: Nesne Tabanlı Programlama

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

KULLANICI TANIMLI FONKSİYONLAR (Devam)

İş Akış Yönetimi LOGO Kasım 2014

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

İNTERNET PROGRAMCILIĞI DERSİ

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Veritabanında Saklı Yordamlar: Bir Veritabanı Tasarımı ve Web Uygulaması

VERİ TABANI PROGRAMCILIĞI DALI

HSancak Nesne Tabanlı Programlama I Ders Notları

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Asp.Net Veritabanı İşlemleri

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Operator Aşırı Yükleme (Operator OverLoading)

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Cursor. Bir veri tipi olarak da ele alınabilen Transact-SQL Sunucu Cursor şu aşamalardan geçirilerek kullanılır.

AOSB 2017 EĞİTİM PROGRAMI

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

HB1002: ORACLE 10G VERĐTABANI PL/SQL ile PROGRAMLAMA (32 saat)

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

HSancak Nesne Tabanlı Programlama I Ders Notları

YAZILIM MODELLEME VE TASARIM

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

XIX. Türkiye de Internet Konferansı (inet-tr 14) BULUT BİLİŞİM GÜVENLİĞİ HOMOMORFİK ŞİFRELEME Kasım, 2014, Yaşar Üniversitesi İÇİN

Transkript:

Akademik Bilişim 10 - XII. Akademik Bilişim Konferansı Bildirileri 10-12 Şubat 2010 Muğla Üniversitesi Anadolu Liselerine Öğretmen Atama İşleminin Nesneye Yönelimli Veritabanı Programlama Kullanılarak Gerçekleştirilmesi Haydar Tuna 1, O. Ayhan Erdem 2 1 Milli Eğitim Bakanlığı, Eğitim Teknolojileri Genel Müdürlüğü, Ankara 2 Gazi Üniversitesi, Teknoloji Fakültesi, Ankara haydartuna@meb.gov.tr, ayerdem@gazi.edu.tr Özet: Nesneye Yönelimli Programlama 1960 lı yıllarda ortaya çıkan bir yaklaşımdır. Karmaşık görülen problemler bu yaklaşımla çok kolay hale getirilebilir. Bu çalışmada ise klasik nesneye yönelimli programlarla istemci tarafında çözülebilen, bir ilde bulunan kurumlardaki ihtiyaca göre öğretmen atama problemi, veritabanı düzeyinde tabloya dönüştürülebilen nesneler kullanılarak sunucu tarafında çözülmüştür. İstemci sadece veritabanında bulunan saklı bir yordama üzerinde çalışılan ili, branşı parametre olarak göndermekte ve sonuçları bir veri setinde geri almaktadır. Anahtar Sözcükler: Nesneye Yönelimli Veritabanı Programlama, Saklı Yordam, Parametrik Sorgu Using the Object Oriented Database Programming to Perform Anatolian High School Teacher Appointment Process Abstract: Object-Oriented Programming is an approach emerged in the 1960s. Common complex problems can be solved very easy with this approach. In this study, according to the needs of institutions in a province of teacher assignment problem that can be solved with the classic object-oriented programs on the client side that has been solved on the server side using objects that can be converted into table in a database-level. Client-side which only sends two parameters to a stored procedure and then it gets the results back in a data set. Keywords: Object Oriented Database Programming, Stored Procedure, Parametric Query 1.Giriş Nesneye yönelimli programlama 1960 lı yıllarda ortaya çıkan bir yazılım yaklaşımıdır. Çıkış nedeni yapısal programlamadaki karmaşıklığı gidermek, daha açık ve rahat okunabilen, yüksek verime ve düşük maliyete sahip programlar hazırlamaktı [1]. Bu konuda oldukça başarılı da olundu. Bu yaklaşımda temel veri nesnedir. Her bir nesne bir sınıfın özelliklerini taşır. Nesne için bir sınıfın örneği olduğu söylenebilir [2]. Sınıf yapılarını anlamak, günlük hayattan örnek verilirse oldukça kolaydır. Örneğin bir araba sınıfı renk, tekerlek çapı gibi özelliklere sahiptir. Aynı araba sınıfının hızlanma eylemi vardır. Burada araba sınıfının renk, tekerlek çapı gibi büyüklükleri sınıfın özellikleridir ve bu iki özellik nesneye yönelimli yaklaşımda sırasıyla public ve private kelimeleri kullanılarak dışarıya görünür ya da görünmez. Arabanın hızlanması ise arabanın bir fonksiyonu olduğu için nesneye yönelimli yaklaşımda bu özellik metot olarak karşılık bulur. 509

Anadolu Liselerine Öğretmen Atama İşleminin Nesneye Yönelimli Veritabanı Programlama Kullanılarak Gerçekleştirilmesi - Haydar Tuna, O. Ayhan Erdem Nesneye yönelimli programlama yazılım verimliliğini, yeniden kullanılabilirlik özelliğinden dolayı artırır. Bunda en büyük pay bu yaklaşımın kalıtım ve soyut sınıf özellikleridir [3]. Kalıtım sınıflar arasında kod paylaşımı olarak tanımlanabilir [4]. Nesneye yönelimli programlama daha önceden de söylendiği gibi çok karmaşık gözüken problemleri basite indirgeyerek çözmemizi sağlar. Bu problemlerden bir tanesi de atamadır. Bu çalışmaya esas teşkil eden anadolu liseleri atamaları Milli Eğitim Bakanlığında, il milli eğitim müdürlükleri düzeyinde yapılmaktadır ve şekil 1 deki gibi iş adımları uygulanmaktadır. dikkat edilir. Buradan bir atamanın tamamen bitmesi için gerekli sürenin en az dört gün olduğu ortaya çıkar. Kontenjan girişi il düzeyinde okulların branşlardaki öğretmen ihtiyaçlarına göre veri girilmesidir. Bu veri girişinde sistem üzerinde okullara branş bazında ayrılan norm, mevcut, atanan ve ayrılan öğretmen sayıları dikkate alınır. Belirlenen ihtiyaç kadar il milli eğitim müdürlükleri bu sayıları girerler. Başvurular kontenjan girişinden en az bir gün sonra öğretmenlere açılır. Öğretmenlerin bu aşamada başvuru şartlarını taşıyıp taşımadığı, tercih edebilecekleri kurumlar ve atamaya esas puanları karşılarına gelir. Tercihler yapılıp başvurular kaydedildikten sonra ise yapılan tercihler çıktı alınarak, imzalanır ve çalışılan kuruma teslim edilir. Bu aşamadan hemen sonra personelin başvurusu çalıştığı kurum, ilçe milli eğitim müdürlükleri ve son olarak da il milli eğitim müdürlükleri tarafından elektronik ortamda onaylanır. Personelin özlük bilgilerinden kaynaklanan herhangi bir sorun olduğunda ya da başvuru şartlarını taşımadığı tespit edildiğinde bu üç onay mekanizmasından bir tanesi tarafından personelin başvurusu reddedilir. Bu aşamadan sonra personel isterse özlük bilgilerini düzelttirip yeniden başvuru yapabilir. Şekil 1. Anadolu Liseleri Atama Adımları Bu adımlardan birincisi, il milli eğitim müdürlüklerinin başvurulardaki okulların ihtiyaçlarını girebilmeleri ve başvuruları tamamlamaları için gerekli tarih aralıklarını girmeleri ile gerçekleştirilir. Bu tarih aralıkları girilirken ihtiyaç girişi olarak adlandırılan kontenjan girişleri ile başvuruların başlaması arasında en az bir gün, başvuruların başlaması ile bitmesi arasında en az bir gün, başvuruların bitmesi ve atamaların gerçekleşmesi arasında en az iki gün olmasına 510 Bir personelin başvurusunun geçerli olabilmesi için üç onay mekanizmasında onay vermesi gerekir. Bu onay işlemi yapılan personellerin başvuruları atama yapmak üzere aktarılır. Atama işlemi, klasik nesneye yönelimli yaklaşımla çözülür. Bu yaklaşımda kontenjan girişi yapılan kurumlar kurum nesnesine yüklenir. Kurum nesnesinde kod ve kontenjan bilgileri özellik, kontenjan azaltma ve artırma işlemi ise metot olarak tutulur. Buradaki ikinci nesne türü ise personel dir. Personel nesnesinde kimlik numarası, atamaya esas puan, görev süresi, kura numarası, çalıştığı kurum, yapılan tercihler ve atanıp atanmadığı bilgileri bulunur.

Akademik Bilişim 10 - XII. Akademik Bilişim Konferansı Bildirileri 10-12 Şubat 2010 Muğla Üniversitesi en önemli durum personelin idareci olmasında ortaya çıkar. Personel müdür, müdür başyardımcısı ya da müdür yardımcısı ise kurumunda öğretmen normu işgal etmez. Bu yüzden başka bir kuruma atandığında kendi kurumunda kontenjan artırıma gidilmez. Şekil 2. Kurum ve Personel nesneleri Problemin çözümü için öncelikle dizi şeklinde kurum nesneleri oluşturulur ve her bir dizi elemanına branş bazında kurumların kod ve kontenjan bilgileri yüklenir. Tüm personellerin tercihleri arasında dolaşıldıktan ve sorun olmaması durumunda döngülerden çıkılır ve atanan öğretmenlerin sonuçları veritabanına kaydedilir. Daha sonra öğretmenler aldıkları puana göre azalan, görev süresine göre azalan ve kura numarasına göre azalan olacak şekilde SQL sorgusu ile alınıp dizi şeklindeki personel nesnelerine yüklenir. Eğer öğretmenlerin şu anda çalıştıkları kurum kontenjan listesinde ise kontenjanlar birer artırılır. Kurum nesnesine yüklenen kontenjan bilgileri bu aşamadan sonra geri çağrılmak üzere başka bir nesneye kopyalanır. Kurum ve personel nesneleri bu şekilde hazır olduktan sonra bir döngü içinde öğretmenlerin tercihlerine bakılır. Eğer kurum kontenjanı uygunsa öğretmen atanır personel nesnesinin atandi özelliği 1 yapılır. Öğretmen tercihine atandıktan sonra kendi kurumunun kontenjan listesinde olup olmadığı kontrol edilir. Eğer böyle bir durum söz konusu ise personelin kurumundaki kontenjan sayısı bir artırılır. Daha sonra bulunduğu kurumu boşaltan personelin yerine, bu kurumu tercih eden başka öğretmenlerin atanması ve tercihlerin yeniden taranması için SorunVar değişkeninin değeri True yapılır. Personel hiçbir tercihine atanamadı ise bu değişken üzerinde işlem yapılmaz. Başka bir kuruma atanarak, yer boşaltmadaki 511 Şekil 3. Atama işlemi akış diyagramı Nesneye yönelimli programlama ile çözülen atama probleminde veriler nesnelere yüklenirken bir bağlantı yapılır daha sonra bu bağlantı üzerinden SQL sorguları kullanılarak veri kümesi alınıp nesnelere yüklenir. Tüm bu işlemler yapılırken sorgularda parametre kullanılarak daha güvenli bir iletişim sağlanır. Örneğin atama probleminde üzerinde çalışılan il ve branş parametrik olarak sorguya gönderilip veri kümesi döndürülebilir. Bunun dışında kontenjanların kurum nesnelerine, öğretmen bilgilerinin personel nesnelerine yüklenmesi

Anadolu Liselerine Öğretmen Atama İşleminin Nesneye Yönelimli Veritabanı Programlama Kullanılarak Gerçekleştirilmesi - Haydar Tuna, O. Ayhan Erdem ve atama sonuçlarının kaydedilmesi aşamaları doğrudan veritabanında bulunan gömülü programlar vasıtasıyla da yapılabilir. Bu çalışmada ise Oracle veritabanı üzerinde PL/SQL dili kullanılarak nesneler yaratılıp bunlar üzerinden atama işlemi gerçekleştirilmiştir. Atama işlemini gerçekleştiren uygulama programı ise sadece il ve branş parametrelerini PL/ SQL paketi içinde bulunan prosedüre göndermekte ve doğrudan atama sonuçları almaktadır. Bundan sonraki bölümde veritabanı düzeyinde bu işlemin nasıl gerçekleştiği üzerinde durulacak; son bölümde ise çalışmadan elde edilen sonuçlar tartışılacaktır. 2. Atama İşleminin Gerçekleştirilmesi Veritabanı düzeyinde nesneye yönelimli programlama işlemini gerçekleştirmek için sınıflara benzeyen type yapıları kullanılır. Bu yapılarda öncelikle bir nesne oluşturulur daha sonra bu nesne türü referans gösterilerek tablo tipi oluşturulur. Oluşturulan bu tablonun her bir satırı nesne türünün özellik ya da metotlarını kullanır. Örneğin anadolu liseleri atamalarında kullanılan kontenjan nesnesi şu şekilde oluşturulabilir: Create or Replace Type ILSISWEB.ATO_KONTENJAN_OBJ AS OBJECT ( AIK_KURUM_KODU NUMBER(8), AIK_KONTENJAN NUMBER(10), CONSTRUCTOR FUNCTION ATO_ KONTENJAN_OBJ( KURUM_KODU NUMBER, KONTENJAN NUMBER) RETURN SELF AS RESULT, MEMBER PROCEDURE KontenjanAzalt, MEMBER PROCEDURE KontenjanArtir ); Yapılan bu tanımlama içinde oluşturulan nesnenin özellik ya da metotları belirlenir. Örneğin bu yapıda AIK_KURUM_KODU nesnenin özelliğidir ve sayısaldır, CONSTRUCTOR FUNCTION ATO_KONTENJAN_OBJ ise nesne ile aynı isimde olan ve nesne ilk yaratıldığında çalışan (constructor) metottur. Bunun dışında MEMBER PROCEDURE KontenjanAzalt gibi kullanıcı tanımlı nesne metotları da bu yapı içerisinde kullanılabilir. Veritabanı nesnesi bu şekilde oluşturulduktan sonra kullanılan metotlar nesne gövdesinde tanımlanır. Örneğin kontenjan nesnesi için bu tanımlama şu şekilde yapılabilir: CREATE OR REPLACE TYPE BODY ILSISWEB.ATO_KONTENJAN_OBJ AS CONSTRUCTOR FUNCTION ATO_KONTENJAN_OBJ(KURUM_KODU NUMBER, KONTENJAN NUMBER) RETURN SELF AS RESULT AS BEGIN SELF.AIK_KURUM_KODU := KURUM_KODU; SELF.AIK_KONTENJAN := KONTENJAN; RETURN; MEMBER PROCEDURE KontenjanAzalt IS BEGIN SELF.AIK_KONTENJAN:=SELF.AIK_ KONTENJAN-1; IF SELF.AIK_KONTENJAN < 0 THEN SELF.AIK_KONTENJAN := 0; END IF; MEMBER PROCEDURE KontenjanArtir IS BEGIN SELF.AIK_KONTENJAN:=SELF.AIK_ KONTENJAN+1; Bu tanımlamada geçen SELF ifadesi nesneye yönelimli yaklaşımda this kelimesine karşılık gelir. Metot tanımlanırken bu dilde BEGIN blokları kullanılır. Bloklar içinde ise her 512

Akademik Bilişim 10 - XII. Akademik Bilişim Konferansı Bildirileri 10-12 Şubat 2010 Muğla Üniversitesi türlü karar yapıları, döngüler gibi birçok PL/ SQL ifadesi kullanılabilir. Nesne tanımlaması bittikten sonra nesneyi referans olarak kabul eden tablo tipi oluşturulur. Bunun için nesne oluşturmakta kullandığımız Create Type yapısında AS OBJECT ifadesi yerine IS TABLE OF NesneAdi ifadesini kullanmamız yeterlidir. Örneğin oluşturulan kontenjan nesnesinin tablo tipini oluşturmak için şu şekilde bir yapı kullanmak yeterlidir: CREATE OR REPLACE TYPE ILSISWEB.ATO_KONTENJAN_OBJ_T IS TABLE OF ILSISWEB.ATO_KONTENJAN_ OBJ; Bu şekilde tablo tipi tanımlanan nesne PL/SQL blokları içinde başka bir tablo nesnesine referans olur ve bu tablonun boyutu girilir: kurum ILSISWEB.ATO_KONTENJAN_OBJ_T:= ATO_ KONTENJAN_OBJ_T(); kurum.extend( kayitsayisi ); Oluşturulan kontenjan nesnesinin tablo tipinden türetilen kurum nesnesindeki her bir satır artık kontenjan nesnesinin tüm özellik ya da metotlarını destekler. Örneğin bu tablo nesnesinin i. satırındaki kurumun kontenjanı azaltılmak istendiğinde kurum(i).kontenjanazalt (nesneadi.özellik ya da metot) şeklinde bir ifade kullanılabilir. Kurumlar ve kontenjanları bu şekilde nesnelere alındıktan sonra benzer şekilde aynı işlemler personel nesnesi içinde uygulanabilir. Bundan sonraki aşamada ise şekil 3 deki akış diyagramının aynısı kullanılarak veritabanı düzeyinde atama işlemi gerçekleştirilir. Uygulama içerisinde istemci bilgisayar ile haberleşme bir defa il ve branş parametreleri almada gerçekleşmekte ve istemciye işlem sonunda başarılı ya da başarısız olunduğuna dair mesaj ile geri bildirimde bulunulmaktadır. Uygulama Türkiye de bulunan 81 il milli eğitim müdürlüğü tarafından 18 farklı branşta gerçekleştirilmiştir. Sistemin çalışmasında ise çift işlemcili 15 tane uygulama sunucusu ve 1 tane 32 işlemcili mainframe veritabanı sunucusu kullanılmıştır. 2. Sonuç ve Öneriler Klasik nesneye yönelimli yaklaşımda atama problemi istemci üzerinde çözülmektedir. Bu atama türü için ise kurum kontenjanlarının, personel bilgilerinin alınması ve atama sonuçlarının tek tek kaydedilmesi aşamasında veritabanı ile haberleşme gerçekleşmektedir. Bu uygulamada klasik nesneye yönelimli yaklaşımla çözülen atama probleminin aynı algoritma kullanılarak veritabanı düzeyinde çözülmesi amaçlanmıştır. Yapılan çalışmadaki diğer bir hedef ise istemci ile an az haberleşme ve en az sayıda parametre kullanılarak haberleşmenin sağlanıp atama işleminin sonuçlandırılmasıdır. Hedeflenen bu iki amaca veritabanı düzeyinde nesneye yönelimli programlama teknikleri kullanılarak ve parametrik sorgularla ulaşılmıştır. Bunun dışında uygulama kullanım alanı olarak 81 il merkezinde başarılı bir şekilde çalıştırılmış ve sonuçlar anlık olarak bu merkezler tarafından alınmıştır. Kaynaklar [1] Franca, P.B., Software engineering education the shift to object oriented programming, Computer Software and Applications Conference, 71-76, 1994 [2] Gossain, S. Anderson, D.B., Applications of Object-Oriented Programming, IEE Colloquium on 16 Nov 1989, (6):1-4, 1989 513

Anadolu Liselerine Öğretmen Atama İşleminin Nesneye Yönelimli Veritabanı Programlama Kullanılarak Gerçekleştirilmesi - Haydar Tuna, O. Ayhan Erdem [3] Gossain, S. Anderson, D.B., Applications of Object-Oriented Programming, IEE Colloquium on 16 Nov 1989, 101-112, 1989 [4] Al-Haddad H.M., George K.M., Samadzadeh M.H., Description of a new approach to object inheritance, Applied Computing Symposium, 289-296,1990 514