3. Online Okul Web Otomasyon Sistemi; ilköğretim, Lise, Yüksekokul ve Özel eğitim
kurumları için hazırlanmış bir otomasyon sistemidir.
Bu sistem ile okullara ait her türlü bilgi, duyuru, doküman, resim gibi içerikleri
online bir şekilde web sitesinde yayınlanabilmektedir.
Sistem sadece web üzerinden yayınlanan içeriklerden öte, öğrenci bilgi sistemini de
içermektedir. Bu sistem ile öğrenci ve veliler not, devamsızlık, öğretmen görüşleri ve
ödevlerini internet üzerinden takip edebilirler.
Öğretmenler internet erişimi olan her bilgisayardan öğrenci notları, ödevleri ve
öğrenciler hakkındaki görüşleri sisteme girebilirler. Ayrıca öğretmenlerin genel
ihtiyaçları arasında olan sınıf listeleri, öğrenci not durumu, devamsızlıklık durumu
gibi listelere sistem üzerinden ulaşabilirler.
Sistemin en büyük amacı öğrenci-Veli-Öğretmen-İdareci işbirliğini arttırmak ve
bunun sonucu olarak eğitimde kaliteyi yükseltmeyi hedeflemektedir. Sistemin kolay
kullanılması, web üzerinden güncellenebilmesi, sistemi kullanmak için ekstra
internet bilgisine gerek kalmaması öğrenci ,veli ve öğretmenlerin işlemlerini
kolaylaştırması büyük önem taşımaktadır.
SUMMARY
3
4. School web otomation system is prepared for primary schools, high school and
universities to make easier to share and get informations easily.
The users of this system can easily access all kinds of informations, advirtisements,
documents, pictures,etc. which according themselves.
The system not only include the web contentns but also the student information
system. By this system students can easily access their educational information,
marks, teacher’s thoughts about themselves.
The teachers can save the marks about the student’s exams, homeworks, etc. easily if
they have an internet connection. In addition they can see the lessons which they
have. Also they can see the lack of continuities about the students.
The most important purpose of this system is to make beter the teacher-parents and
manager relationship and make higher the level of the education quality. It is
important for the users that the system can be used easily and make easy to do all the
processes without any knowladge about using the internet, so everyone can use this
systen practically.
ÖNSÖZ
4
5. Sunmuş olduğumuz proje online bir Okul Otomasyon sistemidir. Sistem okullara ait
her türlü bilgi, doküman, duyuru gibi bilgilerin paylaşılmasına, öğretmenlerin, ilgili
öğrencilerinin notlarını kolay bir şekilde sisteme kaydedebilmesi, yönetebilmesi ve
değerlendirebilmesine, öğrencilere ait bilgilerin kolayca erişilebilmesine,
öğrencilerin kendilerine ait not listesi, devamsızlık listesi gibi bir takım bilgilere
ulaşabilmesine olanak sağlamaktadır. Ayrıca idareciler de kendileri ile ilgili
sorumlulukları dahilindeki alanlara veri girme, güncelleme işlemlerini kolayca
gerçekleştirebilmektedir. Bu proje ile öğrenci-Veli-Öğretmen-İdareci işbirliğini
arttırmak ve bunun sonucu olarak eğitimde kaliteyi yükseltmeyi hedeflemiştir.
Saygılarımızla,
Enes ÇAĞLAR - Şeyda YILMAZ
5
6. İÇİNDEKİLER
ÖZET..............................................................................................................................................2
SUMMARY.....................................................................................................................................3
ÖNSÖZ...........................................................................................................................................4
ŞEKİLLER DİZİNİ..............................................................................................................................9
TABLOLAR DİZİNİ.........................................................................................................................11
GİRİŞ................................................................................................................................................12
BÖLÜM II.....................................................................................................................................14
2.1. PROJEDE KULLANILAN TEKNOLOJİLER......................................................................................14
2.1.1. ASP.NET Ve .NET Framework............................................................................................14
2.1.1.1. .NET Framework ......................................................................................................................14
2.1.1.2. Server Kontrol ..........................................................................................................................15
2.1.1.3. Web.Config .............................................................................................................................15
2.1.1.4. State Management...................................................................................................................17
2.1.1.5. Master Page..............................................................................................................................18
2.1.1.6. Web User Control ....................................................................................................................23
2.1.1.6.1 Özellikleri ..........................................................................................................................23
2.1.2. SQL ve MSSQL.....................................................................................................................24
2.1.2.1. SQL Veri Tanımlama Deyimleri..................................................................................................25
2.1.2.1.1. ALTER TABLE tablo_adı.....................................................................................................25
2.1.2.1.2. DROP TABLE tablo_adı......................................................................................................25
2.1.2.1.3. TRUNCATE TABLE tablo_adı..............................................................................................25
2.1.2.1.4. CREATE VIEW görüş_adı...................................................................................................25
2.1.2.1.5. DROP VIEW görüş_adı......................................................................................................25
2.1.2.1.6. CREATE INDEX indeks_adı.................................................................................................25
2.1.2.1.7. DROP INDEX indeks_adı....................................................................................................25
2.1.2.1.8. SELECT deyimi...................................................................................................................26
2.1.2.1.9. UPDATE deyimi.................................................................................................................26
2.1.2.1.10. INSERT deyimi.................................................................................................................26
2.1.2.1.11. DELETE deyimi................................................................................................................26
2.1.2.2. SQL Deyimleri............................................................................................................................26
2.1.2.3. DML (Data Manipulation Language) Deyimleri,........................................................................27
2.1.2.3.1. Select Deyimi....................................................................................................................28
2.1.2.3.2. Aritmetik İşlemler.............................................................................................................29
2.1.2.3.3.Verileri Sıralamak...............................................................................................................29
2.1.2.3.4. Gruplandırma İşlemleri.....................................................................................................30
2.1.2.3.5. Insert Deyimi....................................................................................................................30
2.1.2.3.6. Update Deyimi..................................................................................................................30
2.1.2.3.7. Delete Deyimi..................................................................................................................31
2.2. KODLAMA STANDARTLARI....................................................................................................................31
2.2.1. Tanımlar ve Kısaltmalar.....................................................................................................31
2.2.1.1. PascalCase.................................................................................................................................31
2.2.1.2. CamelCase................................................................................................................................32
2.2.1.3. UpperCase................................................................................................................................32
2.2.1.4. LowerCase.................................................................................................................................32
2.2.2. C# İsimlendirme Standartları..............................................................................................32
2.2.2.1. Değişken Tanımlama Standartları.............................................................................................33
2.2.2.2. Genel Hata Yönetimi.................................................................................................................33
2.2.2.3. Programlama Pratikleri.............................................................................................................34
2.2.2.4. Veritabanı Nesne Adlandırma Kuralları.....................................................................................34
2.2.2.5. Tabloların İsimlendirilmesi........................................................................................................35
2.2.2.6. Saklı Prosedürlerin İsimlendirilmesi..........................................................................................36
2.2.2.7. Tetikleyicilerin (Trigger) İsimlendirilmesi..................................................................................37
2.2.2.8. Birincil Anahtarlar (Primary Keys).............................................................................................38
2.2.2.9. Sekanslar(Sequences)...............................................................................................................38
6
7. 2.2.3. PROJE İÇERİĞİNİN ANLATILMASI........................................................................................38
2.2.3.1.UYGULAMA KISMI......................................................................................................................38
2.2.3.1.1. Öğrenci ve Veli Kısmı........................................................................................................44
2.2.3.1.1.1. Öğrenci Bilgi Paneli Özellik ve İşlevleri......................................................................44
2.2.3.1.1.1.1 Öğrenci Not Görüntüleme.................................................................................44
2.2.3.1.1.1.2 Devamsızlık Bilgileri...........................................................................................45
2.2.3.1.1.1.3 Ödev Görüntüleme............................................................................................46
2.2.3.1.1.1.4 Öğretmen Görüşleri Görüntüleme....................................................................47
2.2.3.1.1.1.4 Ders Listesi Görüntüleme..................................................................................47
2.2.3.1.1.1.5 Şifre Güncelleme...............................................................................................47
2.2.3.1.1.2 Editör Bölümü............................................................................................................48
2.2.3.1.1.2.1 Editör Ana Menü...............................................................................................48
2.2.3.1.1.2.2 Duyurular..........................................................................................................48
2.2.3.1.1.2.3 Personel Bilgisi..................................................................................................49
2.2.3.1.1.2.4 Resim Galerisi ...................................................................................................51
2.2.3.1.1.2.5 Ziyaretçi Defteri.................................................................................................52
2.2.3.1.1.2.6 Makaleler..........................................................................................................53
2.2.3.1.1.2.7. Etkinlikler .........................................................................................................54
2.2.3.1.1.2.8. Başarılar...........................................................................................................55
2.2.3.1.1.2.9 Okul Ziyaretçi Takibi .........................................................................................56
2.2.3.1.1.3 Öğretmen Bölümü.....................................................................................................57
2.2.3.1.1.3.1. Öğretmen Girişi................................................................................................57
2.2.3.1.1.3.2. Öğretmen Anasayfa..........................................................................................58
2.2.3.1.1.3.3. Ödev Girişi .......................................................................................................58
2.2.3.1.1.3.4. Öğrenci Görüş Bildirme ...................................................................................60
2.2.3.1.1.3.5. Okul Ziyaretçi Bilgileri.......................................................................................61
2.2.3.1.1.3.6. Şifre Değiştirme ...............................................................................................62
2.2.3.1.1.3.7. Rehberlik Servisleri...........................................................................................62
2.2.3.1.1.3.8. Öğrenci Not Girişi ............................................................................................64
2.2.3.1.1.3.9. Bilgi Listeleri.....................................................................................................65
2.2.3.1.1.3.9.1. Öğrenci Durum Dökümanı .......................................................................65
2.2.3.1.1.3.9.2. Sınıf Listeleri.............................................................................................66
2.2.3.1.1.3.9.3. Toplu Sınıf Not Listesi...............................................................................67
2.2.3.1.1.3.9.4. Toplu Sınıf Devamsızlık Listesi..................................................................69
2.2.3.1.1.3.9.5. Öğretmen Listesi......................................................................................70
2.2.3.1.1.4. Yönetici Bölümü.......................................................................................................70
2.2.3.1.1.4.1. Web Sitesi Bilgi Yönetim Bölümleri ve İşleveri..................................................70
2.2.3.1.1.4.2 Yönetici Giriş.....................................................................................................71
2.2.3.1.1.4.3. Bölüm Bilgileri.................................................................................................72
2.2.3.1.1.4.4. Tarihçe Bilgisi...................................................................................................73
2.2.3.1.1.4.5. Logo Yönetimi...................................................................................................74
2.2.3.1.1.4.6. Site Ayarları......................................................................................................74
2.2.3.1.1.4.7. Mezun Bilgileri..................................................................................................75
2.2.3.1.1.4.8. Akademik Takvim.............................................................................................76
2.2.3.1.1.4.9. Şifre Yenileme..................................................................................................77
2.2.3.1.1.4.10. Editör Ekleme.................................................................................................77
2.2.3.1.1.4.11. Link Yönetimi..................................................................................................79
2.2.3.2. VERİTABANI KISMI....................................................................................................................79
2.2.3.2.1. Saklı Yordamlar - Stored Procedures.................................................................................80
2.2.3.2.1.1. Sp_DeletetblAnketler...............................................................................................80
2.2.3.2.1.2. Sp_DeletetblBolumler..............................................................................................80
2.2.3.2.1.3. Sp_DeletetblDersler.................................................................................................80
2.2.3.2.1.4. Sp_DeletetblDevamsizlikBilgileri..............................................................................80
2.2.3.2.1.5. Sp_DeletetblOdevler................................................................................................81
2.2.3.2.1.6. Sp_DeletetblOgrenciler............................................................................................81
2.2.3.2.1.7. Sp_DeletetblSiniflar..................................................................................................81
2.2.3.2.1.8. Sp_GetAnketIds........................................................................................................81
2.2.3.2.1.9. Sp_GetDersAdi.........................................................................................................81
2.2.3.2.1.10. Sp_GetOgretmenList..............................................................................................81
2.2.3.2.1.11. Sp_GetOgrIdByOgrNo.............................................................................................82
2.2.3.2.1.12. Sp_GetSinifIdbyName.............................................................................................82
7
9. ŞEKİLLER DİZİNİ
Şekil 2.1. State Management olmadığı durum
Şekil 2.2. State management olduğu durum
Şekil 2.3. Master page oluşturma
Şekil 2.4. Master Page oluşturma
Şekil 2.5. Saklı yordamların avantajları
Şekil 2.6. Projeye ait solution explorer görüntüsü
Şekil 2.7. Tüm kullanıcıların giriş yaptığı anasayfa
Şekil 2.8. Öğrenci Ana Menü
Şekil 2.9. Öğrenci Not Götüntüleme
Şekil 2.10. Devamsızlık Bilgileri
Şekil 2.11. Ödev Görüntüleme
Şekil 2.12. Öğretmen Yorumları
Şekil 2.13. Ders Listesi
Şekil 2.14. Öğrenci Şifre Güncelleme
Şekil 2.15. Editör Ana Menü
Şekil 2.16. Duyurular
Şekil 2.17. Yeni Duyuru Ekleme
Şekil 2.18. Personel Tablosu
Şekil 2.19. Personel Tablosunda güncelleme işlemi
Şekil 2.20. Yeni Personel Ekleme
Şekil 2.21. Resimler
Şekil 2.22. Yeni Resim Ekleme
Şekil 2.23. Makaleler
Şekil 2.24. Yeni Makale Ekleme
Şekil 2.25. Etkinlikler
Şekil 2.26. Yeni Etkinlik Ekleme
Şekil 2.27. Başarılar
Şekil 2.28. Yeni Başarı Ekleme
Şekil 2.29. Okul Ziyaretçi Bilgileri
Şekil 2.30. Yeni Ziyaretçi Ekleme
Şekil 2.31. Öğretmen Giriş Ekran Ekranı
Şekil 2.32. Öğretmen Ana Menü
Şekil 2.33. Öğretmen Ödev Görüntüleme
Şekil 2.34. Ödev Ekleme
9
10. Şekil 2.35. Öğrenci Görüş Bildirme 1. Aşaması
Şekil 2.36. Görüş Bildirme Ekranı
Şekil 2.37. Okul Ziyaretçi Bilgileri
Şekil 2.38. Şifre Güncelleme
Şekil 2.39. Rehberlik Servisleri
Şekil 2.40. Görüş Bildirme-Öğrenci Seçimi
Şekil 2.41. Rehberlik Anketi
Şekil 2.42. Öğrenci Not Giriş-Sınıf Seçimi
Şekil 2.43. Öğrenci Not Giriş Ekranı
Şekil 2.44. Yeni Not Giriş ve Güncelleme
Şekil 2.45. Bilgi Listeleri
Şekil 2.46. Öğrenci Durum Dökümanı Birinci Aşama
Şekil 2.47. Öğrenci Durum Dökümanı
Şekil 2.48. Öğretmenin Derslerine Girdiği Sınıfların Listesi
Şekil 2.49. Sınıfa Ait Öğrenci Listesi
Şekil 2.50. Toplu sınıf Not Listesi-Öğretmene ait sınıfların GörüntülenmesiŞekil
Şekil 2.51. Toplu Sınıf Not Listesi- Dönem Seçimi
Şekil 2.52. Toplu Sınıf Not Listesi
Şekil 2.53. Toplu Sınıf Devamsızlık Listesi
Şekil 2.54. Toplu Sınıf Devamsızlık Listesi
Şekil 2.55. Öğretmen Listesi
Şekil 2.56. Yönetici Girişi
Şekil 2.57. Yönetici ana Menü
Şekil 2.58. Yönetici Bölüm Ekleme
Şekil 2.59. Tarihçe Bilgisi Ekleme
Şekil 2.60. Logo Yönetimi
Şekil 2.61. Site Ayarları
Şekil 2.62. Mezun Arama
Şekil 2.63. Akademik Takvim
Şekil 2.64. Yeni Akademik Takvim Ekleme
Şekil 2.65. Yönetici Şifre Değiştirme
Şekil 2.66. Editör Yetki Alanları
Şekil 2.67. Yeni Editor Ekleme
Şekil 2.68. Link Yönetimi
Şekil 2.69. Link Ekleme
10
12. BÖLÜM I
GİRİŞ
Online Okul Web Otomasyon Sistemi; ilköğretim, Lise, Yüksekokul ve Özel eğitim
kurumları için hazırlanmış bir otomasyon sistemidir.
Bu sistem ile okulunuza ait her türlü bilgi, duyuru, doküman, resim gibi içerikleri
online bir şekilde web sitenizde yayınlayabilirsiniz.
Sistem sadece web üzerinden yayınlanan içeriklerden öte, öğrenci bilgi sistemini de
içermektedir. Bu sistem ile öğrenci ve veliler not, devamsızlık, öğretmen görüşleri ve
ödevlerini internet üzerinden takip edebilirler.
Okulda kullandığınız programa girdiğiniz bilgileri ayrıca web not sistemine
girmenize gerek kalmadan tüm bilgileri web sayfasına aktarabilirsiniz. Bu işlem
sayesinde büyük bir kolay sağlanmakta, bilgilerin teker teker girilerek işlemlerin
zorlaşması önlenmektedir.
Öğretmenler internet erişimi olan her bilgisayardan öğrenci notları, ödevleri ve
öğrenciler hakkındaki görüşleri sisteme girebilirler. Ayrıca öğretmenlerin genel
ihtiyaçları arasında olan sınıf listeleri, öğrenci not durumu, devamsızlıklık durumu
gibi listelere sistem üzerinden ulaşabilirler.
Sistemin en büyük amacı öğrenci-Veli-Öğretmen-İdareci işbirliğini arttırmak ve
12
13. bunun sonucu olarak eğitimde kaliteyi yükseltmeyi hedeflemektedir. Sistemin kolay
kullanılması, web üzerinden güncellenebilmesi, sistemi kullanmak için ekstra
internet bilgisine gerek kalmaması öğrenci ,veli ve öğretmenlerin işlemlerini
kolaylaştırması büyük önem taşımaktadır.
Okul otomasyon sistemi .Net kullanılarak hazırlanmıştır. Veritabanı olarak MSSQL
veritabanı kullanılmıştır. ASP.NET ile üç katmanlı mimari ile hazırlanmış olup
veritabanı işlemleri için stored procedur ler kullanılarak güvenlik sağlanmıştır.
Proje dört ana kısımda incelenebilir. Bunlar öğrenci, öğretmen, editör ve idareci
kısımlarıdır. Her bir kullanıcının görevleri ayrıdır ve sistemden bu görevleri yerine
getirebilirler. Her bir kullanıcı kendilerine ait kullanıcı adı ve şifrelerini kullanarak
sisteme giriş yaparlar ve kendilerine ait alanları görebilirler. Aşağıda her bir kullanıcı
için kullanıcının yapabileceği işlevler belirtilmiştir.
Öğrenci ve Veliler internet üzerinden öğrencinin derslerine ait yazılı, sözlü ve ödev
notlarını görebilir, Öğrencinin yapmış olduğu devamsızlıklık durumunu sistemden
öğrenebilirler. Ayrıca ders öğretmenleri tarafından verilen ödevleri ve öğretmenlerin
öğrenci hakkındaki görüşlerini sistemden takip edebilirler.
13
14. BÖLÜM II
PROJEDE KULLANILAN TEKNOLOJİLER
KODLAMA STANDARTLARI
PROJE İÇERİĞİNİN ANLATILMASI
2.1. PROJEDE KULLANILAN TEKNOLOJİLER
Proje ASP.NET ve C# yazılım dilleri kullanılarak yazılmıştır. Veritabanı sunucusu
olarak ise Microsoft SQL Server 2005 veritabanı sunucusu kullanılmıştır. ASP.NET
teknolojisi çok geniş bir alana yayılmaktadır. Aşağıda bu teknolojinin projede
kulanılan bazı kısımlarına değinilmektedir.
2.1.1. ASP.NET Ve .NET Framework
2.1.1.1. .NET Framework
.Net Framework, .Net platformunun bir dayanak noktasıdır. .Net Framework gücünü
içerisinde
barındırdığı yüzlerce sınıf (class) kütüphanesinden alır. .Net framework, sunucu
14
15. tarafında çalışan bir yapı kurulabilmesini sağlar, olaya dayalı programlama modeli
sayesinde daha hızlı ve verimli uygulamalar geliştirebilmesini ve bunları istenilen
programlama diliyle yazabilmesini sağlar.
.Net’in destek verdiği diller
Visual Basic C# Microsoft Microsoft Jscript Microsoft
.Net Visual J# .NET .Net Visual C+
+
Pyhton Oberon Perl Haskell APL
Cobol Scheme Pascal ML Eiffel
Mercury Ada SmallTalk Caml C
Çoklu dil desteğinin avantajları:
• Kod modülleri yeniden kullanılabilir. Bir kod modülü, bir dil içinde yazılıp
farklı diller içinde kullanılabilir.
• Tüm diller için object kütüphanesi aynıdır ve aynı object modeli kullanılır.
• Eski dillerde yazılmış programlar güncellenebilir.
• .NET Framework içindeki tüm diller eşit performansa sahiptir. Bütün .NET
tabanlı diller Microsoft Intermediate Language (MSIL)’a derlenir. Tüm MSIL
ler native kod’a derlenir. Bu run-time’dır ve hepsi aynı derleyici kullanır.
2.1.1.2. Server Kontrol
Kullanıcı arabirimi veya diğer ilişkisel fonksiyonlar oluşturmak üzere Server
üzerinde çalışan
componentlere server kontrol denir. Server kontroller runat= “server” özelliğine
sahiptirler.
2.1.1.3. Web.Config
Asp.Net’in yeniliklerinden olan web.config dosyası aslında bir ayar dosyasıdır.
Ayarları bir XML formatında oluşturur ve ona göre kullanıcı işlemleri gerçekleştirilir.
Web.config dosyası Asp.Net çalışmalarında mutlaka olmalıdır. Web.Config olmadığı
15
16. durumlarda daha üst bir seviyede
olan machine.config dosyası bulunmaktadır. Web.Config olmadığı durumlarda bu
dosyadan ayarlar okunur.
Bir web site oluşturulduğunda Soution Explorer'da web.config dosyasının
eklendiğini görülür. Web.Config dosyamızın birimleri aşağıdaki gibidir.
Birim Adı Tanımı
<trace> Asp.Net trace ayarlarının
yapılmasını sağlar.
<globalization> Uygulada herhangi bir hata
verdiğinde ne yapılması gerektiği
belirlenebilir. Hata sayfasına git,
mesaj iletisi ver gibi işlemler
yapılabilir.
<authentication> Üyelik sistemlerinde
kullanıcıların geçerliliğini
sağlamak için kullanılır.
<sessionState> Session state ayarlarını
bulundurur.
<webservices> Web servisleri ile ilgili ayarları
tutar.
<securityPolicy> Kullunılabilecek güvenlik
ayarlarını içerir.
Örnek verilecek olursa; KOURYS projesinde veritabanına bağlanmak için
tanımlanan connection string nesnesi, webconfig dosyasında şu şekilde
tanımlanmıştır.
<appSettings>
<add key="systemConnectionString" value="Data Source=SEYDA-PCSQLEXPRESS; Initial
Catalog=OkulOtomasyon; Integrated Security=sspi"></add>
</appSettings>
16
17. 2.1.1.4. State Management
Web sayfalarında en çok kullanılan yöntemlerden biriside bir bilginin sayfalar arasın
geçiş yapmasıdır.
Bunun en iyi örneği üye girişi yapan bir kullanıcının web sitesinde dolaşabilmesidir.
Asp.Net teknolojisi sayfalar arasında kullanıcı bilgilerini tutmayı (state) sağlar. Bu
tarz uygulamalar windows uygulamalarda rahatlıkla yapılırken, her isteği sürekli
olarak server’a post edilmesinden dolayı Asp.Net uygulamalarından biraz farklıdır.
State management yok ise gönderilen bilgileri diğer sayfalar algılayamayacaktır.
Şekil 2.1. State Management olmadığı durum
Şekil 2.2. State management olduğu durum
Kullanıcı bilgilerini saklamak ve kullanmak için kullanabilecek yöntemler vardır.
Bunlar:
17
18. • View State
• Session State
• Application State
View State kontrolü kendisine verilen bilgiyi gizli bir alanda tutar. Bu bilgi hafızaya
Base64 formatında bir karakter dizisi olarak yazılır ve her geri
postalamada(postback) sunucuya getirilir. Ancak viewstate özelliği sunucu
kontrolleriyle sınırlıdır. Yüklenen bilgi ya sizin tarafınızdan oluşturlan bir custom
object ya da basit bir bilgi türü olmak zorundadır.
Session State kontrolü HttpSessionState sınıfını kullanır. Kullanıcıların bilgilerini
içeren kod bilgileri, 120 bit’lik Session ID’de tutulur. Bilgileri tespit etmek, Session
ID yardımı ile olur. Session tanımlama ASP.NET'te şu şekilde olabilir:
Session["OgrenciNo"] = reader["OgrenciAdi"].ToString();
Burada veritabanından dönen bir değer Session[“OgrenciNo”] isimli session a
atılmıştır. Diğer sayfalara geçiş yapıldığında bu nesne kullanılabilecektir.
Application State web uygulaması içindeki türm sayfalar için global bir sistemdir.
Ziyaretçi sayısını
tutulması Application üzerinden kullanılır.
2.1.1.5. Master Page
Internet siteleri göz önüne aldındığında, siteye ait sayfaların sıklıkla aynı şablonları
kullandığı görülmektedir. Özellike, header, footer, navigasyon ve advertisement
alanları, çoğunlukla siteye ait tüm sayfalarda aynı yerlerde kullanılır. Bu, siteye ait
sayfaların standart olarak aynı görünümde olmasını sağlamakla kalmaz, değişen
içeriğinde ortak bir şablon üzerinde durmasına imkan tanır.
Htmli in ilk zamanlarında, bu tarz işlemleri gerçekleştirmek için, ortak olan alanlar
18
19. kopyalanarak diğer sayfalara yapıştırılırdı. Ya da, ana şablonu ihtiva eden bir
sayfadan diğer sayfalar "save as" metodu ile oluşturulur ve içerikleri değiştirilirdi.
Bu tekniğin en büyük dezavantajı, şablondaki herhangi bir değişikliğin diğer
sayfalara yansıtılması sırasında ortaya çıkmaktadır. Nitekim yüzlerce alt sayfaya aynı
şablon uygulanıyorsa, bu gerçekten büyük bir problemdir.
Bu soruna çözüm Asp ile gelmiştir. Asp, include takılarını kullanarak, sayfalarda
tekrar eden içeriklerin kolayca kullanılabilmesini ve değişikliklerin tüm sayfalarda
görünebilmesini sağlamıştır. Ancak elbetteki include takısınında bir takım sorunları
vardır. Bunlardan birisi, tasarım zamanında include takısının işaret ettiği içeriğin
görünememesidir. Dolayısıyla sayfanın bütünün nasıl göründüğünü inceleyebilmek
için mutlaka çalıştırmak gerekmektedir. Diğer yandan, include tekniği takılar üzerine
kurulu olduğundan, özellikle açık unutulan takılar sayfalarda istenmeyen Html
çıktılarının oluşmasına yol açmaktadır.
Asp.Net, bu tip ortak içeriklerin kullanılmasına daha güçlü ve etkin bir yaklaşımı
getirmiştir. User Controls (Kullanıcı tanımlı kontroller), normal aspx içeriğine sahip
olabilmekte ve .Net mimarisinin güçlü özelliklerini kullanabilmektedir. Her ne kadar
etkili bir teknik olsada, user controlö 'ler içinde tek bir sorun öne çıkmaktadır. Bu
sorun, tasarım zamanında user control içeriğinin görülememesidir.
Asp.Net 2.0, Master Page yaklaşımı ile, yukarıda bahsedilen dezavantajları ortadan
kaldırmayı başarmıştır. Bir Master Page, uygulandığı diğer aspx sayfalarının nasıl
görünmesi gerektiğine karar veren bir şablon gibidir. Ancak, sağladığı
ContentPlaceHolder bileşeni sayesinde, Master Pagei leri uygulayan diğer aspx
sayfalarının, istenilen içeriğe sahip olmasınıda sağlamaktadır. En güzel yanı ise,
normal bir aspx sayfası gibi tasarlanabilmesi, yani html, image, server control gibi
üyeleri içerebilmesidir. Bunlara ek olarak, olay güdümlü programlama modelinide
destekler. Dolayısıyla bir Master Page aslında bir aspx sayfasından farksızdır.
Ancak asıl fark, bir Master Page bir aspx sayfasına uygulandığında ortaya çıkar.
Master Pagef i uygulayan bir aspx sayfası tarayıcıda açıldığında tarayıcıya gelen
sayfa, Master Page ile aspx sayfasının birleştirilmesi sonucu ortaya çıkan başka bir
19
20. aspx sayfasıdır. Bu, .net framework ün getirdiği partial class tekniği sayesinde
gerçekleşebilmektedir. Bunun, Master Pagee
değişik kodlama etkileride vardır.
Projede kullanılan Master Page'in oluşturulma aşamalarına değinildiğinde, ilk
olarak, Visual Studio.Net 2008'de bir web sitesi açılmalıdır. Siteye Master Page
eklemek için tek yapılması gereken, Solutiont 'a sağ tıklamak ve Add New ItemP
den gelen pencerede, Master Page tipini seçmektir. Master Pagee ler master uzantılı
dosyalardır.
Şekil 2.3. Master page oluşturma
Masterpage'i oluşturduktan sonra bu sayfalara her bir yeni sayfa türetildiğinde
eklenecek yeni özellikler için bir alan ayrılmalıdır. Bu da ContentPlaceHolder
bileşeni ile gerçekleştirilmektedir.
Burada ContentPlaceHolder bileşeni, bu Master Pageı i uygulayacak olan sayfaların
serbestçe erişebilecekleri ve içerik oluşturabilecekleri alanları tanımlamaktadır.
20
21. Master Page° lerde, normal aspx sayfaları gibi tasarlanabilirler. Bir başka deyişle,
Html kodları, aspx bileşenleri vb. içerebilirler.
Projeye ait MasterPage.master isimli masterpage, image, menu ve
ContentPlaceHolder ve PlaceHolder bileşenlerinden oluşmaktadır.
Şekil 2.4. Master Page oluşturma
Burada standart olarak bir web sayfasının tasarlanmasından farklı bir işlem
yapılmamıştır. En önemli nokta Master Paget
yazabilecekleri ContentPlaceHolder bileşeninin kullanılmasıdır. Dilersek bir Master
Page içinde, birden fazla ContentPlaceHolder bileşeninede yer verebiliriz. Master
Page in aspx kodlarına bakıldığında normal aspx sayfalarına göre en önemli
değişik page direktifi yerine master direktifinin kullanılmasıdır. Master direktifi
sayfanın bir Master Page olduğunu belirtmektedir.
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs"
Inherits="AnaSayfa" %>
ContentPlaceHolder bileşeni ise,
21
22. <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder>
Anasayfanın masterpage tabanlı oluşturulması için anasayfaya yazılması gerek kod
şu şekilde olmaktadır:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="OkulOtomasyon-AnaSayfa.aspx.cs" Inherits="AnaSayfa" Title="OkulOtomasyon-
Anasayfa" %>
Yukarıda bulunan tek satır aslında çok şey ifade etmektedir. Herşeyden önce,
MasterPageFile özelliği, sayfaya uygulanan Master Pagek in yolunu belirtir. Bu,
sayfanın bir Master Page i uyguladığını başka bir deyişle master pager den
türetilerek üretildiğini gösterir. Kendi sınıfı ve code-behind dosyası vardır.
Eğer sayfadaki Content alanı içerisinde düzenleme yapmak istenirse bunu
sağlayabilmek için, Master Pagee de yer alan ContentPlaceHolder bileşeninin, bu
sayfada bir Content bileşeni ile eşleştirilmesi gerekmektedir. Bunun için, web
sayfasına aşağıdaki aspx kodları yazılmalıdır. Content bileşeninin,
ContentPlaceHolderID özelliği, uygulanan Master Pagee deki hangi
ContentPlaceHolder bileşenini eşleştireceğini belirtmektedir. Bu özelliğin değeri,
birden falza ContentPlaceHolderş ın, Master Pagel i uygulayan sayfalarda
eşleştirilmesinde önem kazanır.
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">
</asp:Content>
Projede kullanılan diğer bir master page ise master isimli master page'tir. Bu master
page'in içeriği örnek verilerek hem contentPlaceHolder hem de masterpage'in diğer
özellikleri açıklanabilir:
Eklenmiş olan tüm kontroller ve diğer içerikler, ContentPlaceHolder bileşenine ait
takılar içerisinde yer almaktadır. Diğer taraftan ContentPlaceHolder takıları dışında
herhangibir içerik oluşturmayı sağlayacak bileşenleri kullanma imkanı yoktur. Bir
diğer önemli özellik de, içeriğin herhangi bir form takısı içerisinde yer almıyor
22
23. oluşudur. Bunun sebebi, form takısının zaten Master Pageo de uygulanmış olmasıdır.
Dolayısıyla web sayfası, Master Pageı den kalıtımsal olarak türetildiği için form
takılarının burada kullanılmasına gerek yoktur.
2.1.1.6. Web User Control
Daha önceden varolan bazı server ve HTML componentlerini kullanarak yeni bir
görünüş yapmamıza yararlar. Yaptığımız bu controller .ascx dosyalarında saklanır ve
nerede kullanılmak istenirse orada sayfaya eklenebilir.
Oluşturulan bir Web User Control sayfanın istenilen yerine koyulabilir ve orada onun
görünmesi sağlanabilir.
2.1.1.6.1 Özellikleri
Web user controller proje içerisinde yaratılan ascx dosyalarıdır. Bu dosyalar
içerisinde daha önceden var olan HTML ve server componentleri kullanılarak yeni
bir görünüm oluşturulabilir. Web User Controller kullanıldıkları her proje içerisinde
mutlaka bulunmalıdırlar. Bunun nendeni ise bunların compile edilememesidir..Yani
Web User Controller derlenerek bir dll yapılıp bu DLL istenilen projede kullanılma
imkanı yoktur. User Controller VS toolbox ında yani araç çubuğunda bulunmazlar.
Onları herhangi bir projeye eklemek için Solution Explorer dan ascx dosyasını
tutarak sayfada istenilen yere bırakılmalıdır. User Control kodları ise Web Formlar
load edildikten sonra yüklenir. Page_Load eventi User Controlü yuklenmesinden
önce gerçekleşmektedir. Bu özellikler .NET deki diğer componentlerde olmayan
özelliklerdir.
2.1.1.6.2 Web User Control Oluşturma
VS editöründe Solution Explorer da projeye sağ tıklanır ve Add New Item seçeneğini
seçilir. Buarad açılan pencereden Web USer Controlü seçilip adı verilerek onaylanır.
Böylelikle yeni bir ascx dosyası projenize eklenmiş olacaktır.
23
24. User kontrole örnek olarak menü örneği verilebilir. Örneğin bir menü kontrolü var ve
bu menü projenin her sayfasında kullanılıyor. Ve bu menude bazen değişiklikler
yapılması gerekiyorsa bu durumda her sayfada bu işin tek tek yapılması yerine tek
bir menü sayfası oluşturup bunu her sayfada kullanmak daha mantıklı olacaktır. Bu
kullanım için bir user control oluşturulabilir.
Menü de herhangi bir değişiklik yapılmak istendiğinde sadece bir yerde değişiklik
yapılması yeterli olacaktır. Bu değişiklikler user control ün kullanılmış olduğu tüm
sayfalarda geçerli olacaktır.
2.1.2. SQL ve MSSQL
SQL, (İngilizce "Structured Query Language", Türkçe: Yapılandırılmış Sorgu Dili)
verileri yönetmek ve tasarlamak için kullanılan bir veritabanı yönetim sistemidir.
SQL, kendisi bir programlama dili olmamasına rağmen birçok kişi tarafından
programlama dili olarak bilinir. SQL herhangi bir veritabanı ortamında kullanılan bir
alt dildir. KOURYS sisteminde kullanılan MSSQL de SQL dilini kullanan bir
veritabanıdır. Bu yüzden KOURYS sisteminde kullanılan SQL komutları aşağıda
anlatılmıştır. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir. SQL'e özgü
cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir,
silinebilir ve bu kayıtlardan listeler oluşturulabilir.
SQL veri tanımlama deyimlerinden başlıcaları şunlardır:
CREATE TABLE tablo_adı
Yeni bir tablo oluşturmak için kullanılır.
CREATE TABLE tabloilceler (
ilceNo mediumint(8) unsigned DEFAULT '0' NOT NULL,
ilce varchar(30) NOT NULL,
postakodu varchar(5),
ilceTel char(3),
plakaKodu char(2) NOT NULL
)
24
25. 2.1.2.1. SQL Veri Tanımlama Deyimleri
2.1.2.1.1. ALTER TABLE tablo_adı
Yeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek vb. yapısal
değişiklikler yapılması için kullanılır.
2.1.2.1.2. DROP TABLE tablo_adı
Tabloyu fiziksel olarak siler.
2.1.2.1.3. TRUNCATE TABLE tablo_adı
Tablodaki tüm verileri siler (tablo yapısı kalır)
2.1.2.1.4. CREATE VIEW görüş_adı
Görüntü oluşturmak için kullanılır.
2.1.2.1.5. DROP VIEW görüş_adı
Görüntüyü siler.
2.1.2.1.6. CREATE INDEX indeks_adı
Tablonun (en azından bir) sütun adı üzerinde indeks oluşturmak için kullanılır.
2.1.2.1.7. DROP INDEX indeks_adı
25
26. Yaratılan indeksleri veri tabanından kaldırmak için kullanılır..
2.1.2.1.8. SELECT deyimi
SELECT ilce, postakodu FROM tabloIlceler WHERE plakaKodu = '06'
Ankara'nın ilçeleri ile posta kodlarını gösterir.
2.1.2.1.9. UPDATE deyimi
UPDATE tabloIlceler SET postakodu = '06720' WHERE ilce = 'Bala' Bala'nın
posta kodunu değiştirir.
2.1.2.1.10. INSERT deyimi
INSERT INTO tabloIlceler VALUES (, 'Yenişehir', , , '53') Yeni veriler ekler
2.1.2.1.11. DELETE deyimi
DELETE FROM tabloIlceler WHERE plakaKodu = '53' plakaKodu 53 olan bütün
verileri siler
MSSQL de projede kullanılan veritabanıdır. MSSQL de SQL dilini kullanan bir
veritabanıdır.
2.1.2.2. SQL Deyimleri
SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler.
Veritabanından sorgulama yapmak için SELECT, ekleme yapmak için INSERT
güncelleme yapmak için UPDATE, silme yapmak için DELETE, yeni tablo
26
27. oluşturmak için CREATE TABLE gibi komutlara sahiptir. Bu komutlar işlevlerine
göre şu şekilde kategorilendirilir:
DDL (Data Definition Language): Veri tanımlama deyimleri.
DML (Data Manuplation Language) : Veri düzenleme dili.
DCL (Data Control Language): Veri kontrol dili.
DDL deyimleri veritabanı üzerinde nesne yaratmak için kullanılırlar. En yaygın
kullanılan DDL deyimleri şunlardır: CREATE , ALTER, DROP
Create deyimi tablo ve view gibi bir veritabanı nesnesi yaratmayı sağlar.
Tablo Yaratmak:
Veritabanı üzerinde bir tablo yaratmak için CREATE deyimi kullanılır.
Yapısı: CREATE <tablo adı>
Alter Deyimi daha önce yaratılmış nesnenin değiştirilmesini sağlar. Örneği bir
tablonun tasarımını değiştirmek gibi.
Örnek: ALTER TABLE Musteri
ADD tel varchar(20) NOT NULL
Yukarıdaki deyimde müşteri tablosunun alanlarına tel adlı bir alan daha eklenmiştir.
Drop deyimi bir nesnesin silinmesini sağlar.
Örnek: DROP TABLE MUSTERI
Müşteri tablosunun verilerini ve tabloyu siler.
2.1.2.3. DML (Data Manipulation Language) Deyimleri,
Veritabanı içindeki verileri elde etmek ve değiştirmekle ilgili SQL deyimleridir.
1. SELECT
2. INSERT
3. UPDATE
27
28. 4. DELETE
2.1.2.3.1. Select Deyimi
Veritabanındaki verilere erişmenin, diğer bir deyişle onları görmenin ya da onları
elde etmenin en sık kullanılan yöntemidir. Genellikle bir ya da daha çok tablonun
bütün alanlarıya da belli alanları için SELECT deyimi yazılır.
Temel Yapısı:
SELECT [ALL] [DISTINCT] liste [INTO yeni tablo] FROM [tablo]
[WHERE ifade]
[GROUP BY ifade]
[HAVING ifade]
[ORDER BY ifade]
[COMPUTE ifade]
Seçeneklerin Anlamları:
All sözcüğü bütün satırların sonuç listesinde görünmesini sağlar.
Distinct sözcüğü sadece tek olan (unique) kayıtların sonuç listesinde yer almasını
sağlar.
liste parametresi veriden seçilecek kolonu (sütunu) belirtir.
Into sözcüğü yeni bir tablo yaratmayı sağlar.
yeni tablo parametresi sorgu sonucu yaratılacak tabloyu belirtir.
From sözcüğü belli bir tablonun seçilmesini sağlar.
tablo parametresi ise sorgulanacak olan tablo ya da tabloları, görünümleri belirtir.
28
29. Where bir koşulu belirterek sadece o kuşula uyan kayıtların seçilmesini sağlar.
Group By Kayıtların gruplanmasını sağlar. HAVING deyimiyle de ara toplamların
alınmasını sağlar.
Having sözcüğü de kayıtlarda kısıtlama yapar ancak hesaplamayı etkilemez.
Order Bysözcüğü ise belirtilen kolona göre listelenen kayıtları sıralamayı sağlar.
Sıralama artan (ASC) ya da azalan (DESC) olabilir
Compute sözcüğü ise hesaplama yapar. Tipik olarak SUM, AVG, MIN, MAX,
COUNT gibi fonksiyonları kullanarak hesaplama yapar.
2.1.2.3.2. Aritmetik İşlemler
Aritmetik işlemleri gerçekleştirmek için belli operatörler kullanılır:
• + Toplama
• - Çıkarma
• / Bölme
• * Çarpma
2.1.2.3.3.Verileri Sıralamak
SELECT deyimi ile elde edilen veriler istenirse sıralanabilir. Sıralama belirtilen bir
ya da daha fazla kolona göre yapılır. Bunun dışında sıralama ASC (ascending-artan)
ya da DESC (descending-azalan) olarak belirtilebilir.
SELECT * FROMmusteri ORDER BY ad
29
30. Yukarıdaki deyim ile müşteri tablosundaki bütün kayıtlar ad alanına göre sıralı olarak
listelenirler.
2.1.2.3.4. Gruplandırma İşlemleri
Gruplama seçenekleri tablo satırlarının belli alanlarına göre gruplandırılmasını
sağlar.
GROUP BY sözcüğü ise yapılan bir gruplandırma işlemine göre listeleme sağlar.
Örnek: SELECT grup, sum(bakiye) FROM musteri
GROUP BY grup
2.1.2.3.5. Insert Deyimi
Tabloya veri girmek için kullanılır. INSERT INTO <tablo adı> (sütunlar listesi)
VALUES (değerler listesi)
Örnek: INSERT INTO CARIANA
(kodu, adi, grubu, adresi)
VALUES ('600', 'FARUK', 'A', '76 sokak no 5')
Örnek: INSER INTO deyimi ile bir tabloyu diğer bir tablodan doldurmak:
2.1.2.3.6. Update Deyimi
Tablodaki verileri güncellemek için kullanılır. Genellikle güncelleştirilecek satırı
belirtmek için WHERE sözcüğüyle kullanılır.
Mevcut bir tablodaki satırları değiştirmek için UPDATE deyimi kullanılır. UPDATE
deyimi sadece bir tablo üzerinde kullanılmalıdır. UPDATE deyimi ile SET ve
WHERE sözcüğü kullanılır.
30
31. SET sözcüğü değiştirilecek kolonları ve değerleri belirtir. WHERE sözcüğü ise
değiştirilecek satırı belirtir.
Update deyiminin kullanım biçimi:
UPDATE tablo
SET kolon = ifade
WHERE arama_koşulu
2.1.2.3.7. Delete Deyimi
Bir tablodaki verileri silmek için DELETE komutu kullanılır. Örneğin Öğrenci
tablosundaki tüm verileri silmek için;
Kullanım biçimi:
DELETE tablo
WHERE arama_koşulu
Örnek: Tablodan satır silmek
Aşağıdaki örnekte müşteri tablosundan 'B' grubuna sahip olan müşteriler silinir.
DELETE musteri
WHERE grubu = 'B'
2.2. Kodlama Standartları
2.2.1. Tanımlar ve Kısaltmalar
2.2.1.1. PascalCase
İlk karakterin ve içerisinde yer alan tüm kelimelerin ilk harfinin büyük, diğer
harflerin küçük olduğu isimdir. Örnek : MusteriNo
31
32. 2.2.1.2. CamelCase
İlk karakterin küçük, içerisinde yer alan tüm kelimelerin ilk harfinin büyük, diğer
harflerin küçük olduğu isimdir. Örnek : musteriNo
2.2.1.3. UpperCase
Tüm karakterleri büyük harf olan isimdir. Örnek : MUSTERINO
2.2.1.4. LowerCase
Tüm karakterleri küçük harf olan isimdir. Örnek : musterino
2.2.2. C# İsimlendirme Standartları
• Tüm class, method, property, vb. tüm isimler Türkçe verilmeli, isim
içerisinde Türkçe karakter(‘ıİçÇğĞşŞöÖüÜ’) kesinlikle kullanılmamalıdır.
• Tüm isimler, anlamlı, açıklayıcı olmalı ve içerisinde kısaltma
kullanılmamalıdır.
• Finart katman bileşenleri (entity, facade vs.) dışındaki public class isimleri ile
tüm public member (metod, property, vb.) isimleri PascalCase verilmelidir.
• Tüm private değişkenler ve metodların parametreleri camelCase
isimlendirilmelidir.
• Constant’lar UPPERCASE ve kelimeler arasında ‘_’ kullanılacak şekilde
isimlendirilmelidir.
• Değişken isimleri için i, j, a, vb. gibi tek karakterler, döngülerdeki
iterasyonlar dışında kullanılmamalıdır.
• Metodlar için, bir emir ifade eden isimler (Oku, Getir, Kaydet, İptal, Sil vs.)
seçilmesi tavsiye edilmektedir.
• Form ve üzerinde kullanılan kontrollerin isimlendirilmesi için aşağıdaki
32
33. standartlara uyulmalıdır.
.Net Bileşenleri Ön Ek
Label Lbl
TextBox Txt
ComboBox Cmb
CheckBox Chk
NumericUpDown Nud
GroupBox Grp
Buton Btn
Panel Pnl
Form Form
ListView Lvw
RadioButton Rdb
ContextMenu Cm
TabControl Tbc
TabPage Tbp
ListBox Lbx
PictureBox Pbx
.Net Bileşenleri
2.2.2.1. Değişken Tanımlama Standartları
• Her satırda bir değişken tanımlanmalıdır. Bu şekilde yapılan tanımlama,
açıklama girişini kolaylaştırmaktadır.
• Değişkenlere, tanımlandığı anda değer atanmasına özen gösterilmelidir.
• Tanımlanan her değişken mutlaka kullanılmalıdır.
• Her değişken sadece bir amaç için kullanılmalıdır.
Örnek: int musteriNo = musteri.No; // Müşteri Numarası
2.2.2.2. Genel Hata Yönetimi
• Yakalanan exception sonrası kullanıcıya, anlayabileceği ve yönlendirici bir
33
34. mesaj verilmelidir.
• Çok büyük try-catch blokları oluşturulmamalı, bunun yerine her farklı iş için
ayrı bir blok kullanılmalı ve blok spesifik bir kod bölümünü kapsamalıdır.
Bu şekilde hangi kod parçaçığının exception’ı oluşturduğunu kolaylıkla
bulunabilir.
• Static bir class’ın, constructor’ında alınan hata sebebiyle initialize işlemi
gerçekleştirilemez ise, constructor bir daha çalışmayacak olduğu için
uygulamada beklenmeyen hatalar oluşabilir. Constructor’a sahip statik class
kullanımları için kontrol yöntemleri oluşturulmalıdır.
2.2.2.3. Programlama Pratikleri
• Kod tekrarından kaçınılmalı, belirli bir işi yapan kod parçaları ayrı bir metod
içerisine alınmalıdır.
• Tasarım sırasında, kod birimlerinin tek başına iş yapabilirliğinin yüksek,
diğer birimler ile olan bağımlılığının düşük olmasına dikkat edilmelidir.
• Dış girdiler ve dış kaynaklardan gelen veri (kullanıcı girdisi, dosya, vb.) için
girdi kontrolleri oluşturulmalı, girdinin doğruluğu kontrol edilmelidir.
• Değişkenler mümkün olan en küçük yaşam döngüsüne sahip olmalıdır.
• En sık kullanılan case’ler ilk olarak kontrol ediliyor olmalıdır.
• System namespace’i altında tanımlı tipler yerine C# spesifik tipler
kullanılmalıdır.
int yas; // Int32
string musteriAd; // String
object kulaniciBilgi; // Object
Beklenmeyen değerlerin/durumların oluşma olasılığı her zaman düşünülmeli ve
gerekli kontrol yapısı kurulmalıdır.
2.2.2.4. Veritabanı Nesne Adlandırma Kuralları
Bu bölüm, veritabanı nesnelerinin adlandırılmasında kullanılacak standartları
içermektedir. Bu standartların uygulanması sonucunda, veritabanı üzerinde işlem
34
35. yapması (değişiklikler yapma, sorun giderme, kod yazımı gibi) gerekli olabilecek
tüm teknik personelin rahatlıkla anlayabileceği bir veritabanı oluşmuş ve yönetilmiş
olacaktır. Bu bölüm, aşağıdaki başlıklarda tercih edilen adlandırma kurallarını
içermektedir:
• Tablolar – Tables
• Geçici Tablolar – Temporary Tables
• Görünümler - Views
• Saklı prosedürler - Stored procedures
• Kullanıcı tanımlı fonksiyonlar - User defined functions
• Tetikleyiciler - Triggers
• İndeksler – Indexes
• Sütunlar – Columns
• Kullanıcı tanımlı veri türleri - User defined data types
• Primary keys
• Foreign keys
• Default bilgileri ve Kontrol kısıtları - Default and Check constraints
• Değişkenler - Variables
• Paketler – Packages
• Sekanslar – Sequences
İsimlendirmelerde 30 karakter olarak bir sınırlandırma getirilmiştir. Bu sınırlandırma
çerçevesinde veritabanı nesneleri isimlendirilmelidir. Nesne isimleri tüm harfleri
büyük olacak şekilde, yani “UPPERCASE” formatında yazılmalıdır. Türkçe harflere
yazımda yer verilmemelidir.
2.2.2.5. Tabloların İsimlendirilmesi
Tablolar, herhangi bir varlığın anlık bilgilerini sunmaktadır. Örneğin, tüm müsteri
bilgileri bir tabloda saklanmaktadır. Burada “müsteri” bir varlık niteliğindedir, ve
müsteri tablosunun tüm satırları “müsteri” varlığının anlık bilgilerini sunmaktadır.
35
36. Bu durumda, tabloyu, bilgilerini sunduğu varlığın ismi uyarınca adlandırmak
gereklidir – yani “Musteriler”. Tabloda müsterilerin farklı anlardaki bilgileri
sunulduğu için, tablo isminin çoğul olarak belirlenmesi gereklidir.
Yazım Formatı:
tbl(3 karakter)AmacaYonelikKısım
Örn: tblKullaniciBilgileri
şeklinde olacaktır.
2.2.2.6. Saklı Prosedürlerin İsimlendirilmesi
Saklı prosedürler, iyi tanımlanmıs ve spesifik görev üstlenirler ve eylem/hareket
odaklıdırlar. Bu nedenle, isimlerinin üstlendikleri görevleri ifade ediyor olması
gereklidir. Üstlenilen görevi betimlemek için “fiil” yapısındaki kelimeler
kullanılmalıdır.
Yazım Formatı:
sp_AmacaYonelikFiiller
Örn: sp_getUsersInformation
şeklinde olacaktır.
Kelime dizgesinin başında stored procedure olduğunu belirten sp kelimesi
kullanılacaktır.
Prosedür yazım formatında ISLEM olarak belirtilen kelime yerine islemin amacına
göre:
insert islemleri için “INS”,
delete islemleri için “DEL”
update islemleri için “UPD”
select gibi sorgulama islemleri için “SEL”
36
37. yukarıda belirtilen “UPD” ve “SEL” lerin beraber kullanıldığı durumlarda
veya
scheduled işlemlerde “BAT”
kelimeleri kullanılacaktır.
Saklı Yordamlar yardımıyla tablolara veri eklemek son derece kolay, hızlı ve
etkilidir. Bununla birlikte Saklı Yordamlar sağladıkları güvenlik kazanımları nedeni
ilede tercih edilirler. Saklı Yordamları geliştirmek son derece kolaydır. İstediğiniz sql
işlemini, satır silmek, satır aramak gibi işlemler kolayca gerçekleştirilmektedir.
Şekil 2.5. Saklı yordamların avantajları
2.2.2.7. Tetikleyicilerin (Trigger) İsimlendirilmesi
Yazım Formatı:
MODULKODU(3 karakter)_AMACAYONELIKISIM_ISLEM(3 karakter)_TRG
Amaca Yönelik olarak kullanılan Kelimeler arasında “_” karekteri kulanılmayacaktır.
Kelime dizgesinin sonuna triger olduğunu belirten TRG kelimesi kullanılacaktır.
Tetikleyici yazım formatında ISLEM olarak belirtilen kelime yerine islemin amacına
göre:
insert (ekleme) için “INS”
update (güncelleme) için “UPD”
delete (silme) için “DEL”
kelimeleri kullanılacaktır.
37
38. 2.2.2.8. Birincil Anahtarlar (Primary Keys)
Birincil anahtar sütun(lar)ı, tablodaki her bir satırı birincil (unique) olarak belirleyen
sütun(lar)dır.Bu nedenle, Birincil anahtar adlandırma kuralı olarak, tablo isminin
önüne 'PK_' eklenmelidir.
Yazım Formatı:
PK_TABLOADI
2.2.2.9. Sekanslar(Sequences)
Ardışık sırada numara üretmek için kullanılan yapılardır. Burada
isimlendirmeler :
Yazım Formatı:
MODULKODU(3 karakter)_AMACAYONELIKISIM_SEQ şeklinde
olmalıdır.
2.2.3. PROJE İÇERİĞİNİN ANLATILMASI
Projenin uygulama kısmı ve veritabanı tasarımı aynı eş zamanlı tasarlanmıştır. Fakat
anlaşılır olması açısından bu aşamalar uygulama kısmı ve veritabanı kısmı olarak iki
kısımda anlatılacaktır.
2.2.3.1.UYGULAMA KISMI
Projeye başlamadan önce projenin kullanıcılarının kimler olacağı belirlenmiştir.
Bunlar:
38
39. ι) Öğrenciler
ιι) Öğretmenler
ιιι) Editör
ιϖ) İdareci
Her bir kullanıcının görevleri ayrıdır ve sistemden bu görevleri yerine getirebilirler.
Her bir kullanıcı kendilerine ait kullanıcı adı ve şifrelerini kullanarak sisteme giriş
yaparlar ve kendilerine ait alanları görebilirler. Aşağıda her bir kullanıcı için
kullanıcının yapabileceği işlevler belirtilmiştir.
Uygulama kısmında projenin oluşturulduğu yazılım programında projenin
bileşenlerinin görebileceği solution explorer kısmında projenin 3 katmanlı bir yapıya
sahip olduğu görülmektedir. Bu katmanlardan ilki Blog isimli bir website kısmıdır.
Diğer katmanlar ise metotların bulunduğu DAL isimli project katmanı ve nesnelerin
bulunduğu PROPERTY katmanıdır. Solution explorerda website katmanında web
page, user controls, style dosyaları ve masterpage nesneleri bulunmaktadır. Project
kısmında ise nesnelere ait sınıflar bulunmaktadır. Bu sınıflar içinde web controls
tarafından kullanılan metotlar bulunmaktadır. Web sayfaları masterpage ve user
controls kullanılarak oluşturulmuştur. Masterpage, aynı özelliklerin ya da menülerin
kullanıldığı benzer sayfaları oluştururken büyük kolaylık sağlamaktadır. Aşağıda
projenin oluşturulduğu programda, projeye ait solution explorer'ın ekran görüntüsü
mevcuttur.
39
43. Şekil 2.6. Projeye ait solution explorer görüntüsü
Ana sayfada tüm kullanıcıların kendilerine ait menülere erişebilcekleri bağlantılar
bulunmaktadır. Ayrıca açılan sayfada editör tarafından eklenmiş olan makaleler
kullanıcılara sunulmaktadır. Ana sayfanın ekran görüntüsü Şekil 2.8 de
görülmektedir.
43
44. Şekil 2.7. Tüm kullanıcıların giriş yaptığı anasayfa
2.2.3.1.1. Öğrenci ve Veli Kısmı
Öğrenci ve Veliler internet üzerinden öğrencinin derslerine ait yazılı, sözlü ve ödev
notlarını görebilir, Öğrencinin yapmış olduğu devamsızlıklık durumunu sistemden
öğrenebilirler. Ayrıca ders öğretmenleri tarafından verilen ödevleri ve öğretmenlerin
öğrenci hakkındaki görüşlerini sistemden takip edebilirler.
2.2.3.1.1.1. Öğrenci Bilgi Paneli Özellik ve İşlevleri
- Not Durumunu Öğrenme
- Devamsızlık Durumunu Öğrenme
- Verilen Ders Ödevlerini Öğrenme
- Öğretmen Görüşlerini Öğrenme
- Okul Ziyaretçi Bilgilerini Öğrenme
- Şifre Güncelleme
Öğrenci kullanıcı adı ve şifresini kullanarak giriş yapar ve ana sayfasına ulaşmış olur.
Öğrenci anasayfası aşağıda görülmektedir.
Şekil 2.8. Öğrenci Ana Menü
2.2.3.1.1.1.1 Öğrenci Not Görüntüleme
44
45. Öğrencinin yapabilecekleri menüde listelenmiştir. Öğrenci notlarını görüntüleyebilir,
okul devamsızlık bilgilerini görebilir, eğer varsa verilen ödevlerini görebilir,
öğretmenin kendisi için yapmış olduğu görüşleri okuyabilir, kendi ders listesini
görebilir ve mevcut şifresini güncelleyebilir.
Öğrenci menüden notlarını görüntülemek istediğinde aşağıdaki ekran karşısına
gelmektedir. Öğrenci burada dönem seçimi yaparak o döneme ait not bilgilerini
görüntüleyebilmektedir.
Şekil 2.9. Öğrenci Not Götüntüleme
Buradan öğrenci görüntülemek istediği not listesi için dönemini seçer ve seçtiği
döneme göre öğrencinin notları listelenir. Burada notlar her ders için ayrı ayrı
gösterilmektedir. Not, ödev ve sözlü için farklı not alanları bulunmaktadır. Bunlar
derslere göre ayrı ayrı listelenmektedir.
2.2.3.1.1.1.2 Devamsızlık Bilgileri
Öğrenci devamsızlık bilgilerini öğrenmek istediğinde ise menüden ilgili menüyü
seçmelidir. Daha sonra ise öğrencinin devamsızlık bilgileri aşağıdaki gibi
listelenmektedir .
45
46. Şekil 2.10. Devamsızlık Bilgileri
Devamsızlık bilgileri devamsız, geç, izinli, raporlu, cezalı, faaliyet ve sevk olmak
üzere farklı alanlarda belirtilmektedir. Ekranın üst kısmında ise öğrenci bilgileri ve
toplam devamsızlık günü gösterilir.
2.2.3.1.1.1.3 Ödev Görüntüleme
Öğrenci aynı zamanda kendi sayfasından öğretmenler tarafından verilen ödevleri de
görüntüleyebilmektedir. Ödev içeriğini, ödev bitiş tarihini, hangi ders için ödev
verildiğini görebilmektedir.
Şekil 2.11. Ödev Görüntüleme
46
47. 2.2.3.1.1.1.4 Öğretmen Görüşleri Görüntüleme
Öğrenci öğretmen görüşleri altında öğretmenlerinin kendisi için yazmış olduğu
yorumları ve kendisi için doldurulan anket cevaplarını görebilmektedir.
Şekil 2.12. Öğretmen Yorumları
2.2.3.1.1.1.4 Ders Listesi Görüntüleme
Öğrenci bulunduğu sınıf için ders listesini listeleyebilmektedir. Öğrenci kullanıcı
girişi yaptıktan sonra ders listesine ulaşılmış hali şekilde görülmektedir.
Şekil 2.13. Ders Listesi
Öğrenci anasayfaya dön seçeneği ile kendisine ait ana sayfaya geri dönüş
yapabilmektedir.
2.2.3.1.1.1.5 Şifre Güncelleme
En son kısımda da öğrenci mevcut şifresini güncelleyebilmektedir.
47
48. Şekil 2.14. Öğrenci Şifre Güncelleme
Öğrenci eski şifresini girdikten sonra yeni şifresini girer ve tekrar yeni şifresini teyit
ederek güncellenmiş şifresini bir sonraki kullanıcı girişinde kullanabilmektedir.
2.2.3.1.1.2 Editör Bölümü
Editör sistemin bir çok alanına erişim hakkına sahiptir. Bu bölümde editor bir çok
alanda görüntüleme, silme, güncelleme işlemlerini yapabilmektedir. Editör;
Duyurular, Personel Bilgileri, Resim Galerisi, Ziyaretçi Defteri, Makaleler,
Etkinlikler, Etkinlikler, Başarılar, Okul Ziyaretçi Takibi gibi alanları yönetme
hakkına sahiptir.
2.2.3.1.1.2.1 Editör Ana Menü
Editörün anasayfasındaki menudur. İşlemlere bu menu aracılığıyla ulaşmaktadır.
Şekil 2.15. Editör Ana Menü
2.2.3.1.1.2.2 Duyurular
Duyurular Menüsünde yayımlanan duyurular görüntülenir ve silme, güncelleme
işlemleri yapılır. Duyuru Ekle linki ile ise yeni bir duyuru eklenir. Bu menulerin
ekran çıktısı aşağıdaki gibidir.
48
49. Şekil 2.16. Duyurular
Şekil 2.16' da görüldüğü gibi Editör duyurulara ait Id, Içerik ve duyurunun
yayınlandığı tarih ve saat bilgilerine erişebilmekte, bu bilgileri Düzenle butonu ile
güncelleyebilmekte, Sil butonu ile seçilen duyuruyu silebilmektedir. Yeni Duyuru
Ekle Linki ile Duyuru Ekleme sayfasına ulaşabilmektedir. AnaSayfaya Dön linki ile
kendi anasayfasına ulaşabilmektedir.
Şekil 2.17. Yeni Duyuru Ekleme
Şekil 2.17' de ise Editör duyuru ekleyebilmektedir. Duyuruya ait konu, içerik, tarih
ve saat bilgilerini girerek duyuru ekleme işlemini Kaydet butonuna basarak
tamamlamaktadır. Kayıt gerçekleştikten sonra Duyurular sayfasına yönlendirilip yeni
yapılan kayıt görülmektedir. İptal butonu ile duyuru ekleme işlemi tamamlanmadan
duyurular sayfasına yönlendirme işlemi gerçekleştirilir.
2.2.3.1.1.2.3 Personel Bilgisi
Editör, personel menüsü ile personel bilgilerini görüntüleme, güncelleme ya da silme
işlemlerini yapabilmektedir. Personel Ekle menüsü ile ise yeni personel
49
50. ekleyebilmektedir. Personel ekle menüsü esnek bir menu olup eklenecek personele
ait tüm kişisel bilgileri içermektedir. Bu menulerin ekran çıktıları aşağıdaki gibidir.
Şekil 2.18. Personel Tablosu
Şekil 2.18'de Editörün personellere ait Id,Ad,Soyad,Görev,Unvan,Telefon,Email
bilgileri görüntüdiği görülmektedir. Düzenle butonu ile ilgili satırdaki personel
bilgileri düzenlenebilmektedir. Sil butonu ile seçilen satırdaki personel bilgileri
silinmektedir.
Güncelle butonu ile aşağıdaki şekilde de görüldüğü gibi seçilen satırda bulunan
personel bilgileri güncellenebilmektedir.
Şekil 2.19. Personel Tablosunda güncelleme işlemi
Şekil 2.19'da Güncelleme yapılan alanlar tamamlandıktan sonra tekrar Güncelle
Butonuna basılarak güncelleme işlemi tamamlanır.
Personel Ekle linki ile Yeni personel ekleme sayfasına yönlendirilip, editörün
yeni personel eklemesini sağlayan sayfa açılmaktadır.
50
51. Şekil 2.20. Yeni Personel Ekleme
Şekil 2.20'de görüldüğü gibi eklenecek personele ait yetki alanı, kişisel bilgiler,
iletişim bilgileri, özgeçmiş gibi bilgiler ilgili alanlara doldurulduktan sonra Kaydet
butonuna basılarak kayıt personel kaydetme işlemi tamamlanmış olur. İptal butonu
ile personel ekleme işlemi tamamlanmadan personeller sayfasına yönlendirme işlemi
gerçekleştirilir.
2.2.3.1.1.2.4 Resim Galerisi
Bu menu ile resim galerisindeki resimlere ait bilgileri görüntüleme, güncelleme ya da
silme işlemleri yapılır. Resim Ekleme işleminde ise resime ait bilgiler girilir ve
kaydedilir. Bu işlemleri gösteren ekran çıktıları aşağıdaki gibidir.
51
52. Şekil 2.21. Resimler
Sekil 2.21'de Editörün Resimlerle ilgili görüntüleyebildiği ve düzenleyebildiği
alanlar verilmiştir. Diğer menulerde de oldugu gibi yine Düzenle ve Sil butonları ile
güncelleme ve silme işlemleri yapılabilmektedir.
Şekil 2.22. Yeni Resim Ekleme
Şekil 2.22'de görüldüğü üzere Eklenecek resime ait resmin adı, eğer küçük resim
eklenecekse Küçük Resim Url alanına, küçük resim eklenecekse Küçük Resim Url
alanına Url adresi yazılır. Açıklama kısmına ise resimle ilgili açıklama yazılıp
Kaydet butonu ile resim ekleme işlemi tamamlanır. İptal butonu ile resim ekleme
işlemi tamamlanmadan resimler sayfasına yönlendirme işlemi gerçekleştirilir.
2.2.3.1.1.2.5 Ziyaretçi Defteri
Bu menu ile editor, siteyi ziyaret eden kişilerin görüşlerini bildirdiği Ziyaretçi Defteri
52
53. sayfasına erişir. Bu sayfada ziyaretçilerin yazdıgı yorumları görüntüleme işlemlerini
yapabilmektedir. Ziyaretçi defter ayrıntıları ilerleyen bölümlerde anlatılacaktır.
2.2.3.1.1.2.6 Makaleler
Makaleler menüsü ile makaleler görüntülenmektedir. Makale Ekle Menüsü ile ise
yeni bir makale ekleme işlemi gerçekleştirilmektedir.
Şekil 2.23. Makaleler
Şekil 2.23' de görüldüğü gibi Editör, makalelere ait Konu, İçerik, Yazar, Tarih ve Saat
bilgilerini görüntüleyebilmektedir. Güncelle Butonu ile ilgili satırdaki makaleye ait
bilgileri düzenleyebilir. Sil butonu ile ilgili satırdaki makaleyi silebilir. Yeni makale
Ekle Linki ile Editör Yeni makale ekleme ile ilgili sayfaya yönlendirilir.
Şekil 2.24. Yeni Makale Ekleme
Şekil 2.24'de yeni makale ekleme sayfası görülmektedir. Makaleye ait Konu, Yazar
53
54. ve Açıklama alanına makale içeriği yazılır. Kaydet butonu ile makale ekleme işlemi
tamamlanır. İptal butonu ile makale ekleme işlemi tamamlanmadan makaleler
sayfasına yönlendirme işlemi gerçekleştirilir.
2.2.3.1.1.2.7. Etkinlikler
Etkinlikler menüsü ile editor okulla ilgili etkinlikleri düzenleyebilir. Zamanı gecen
etkinlikleri silebilir ya da zaman aşımına uğramamış fakat düzenlenmesi gereken
etkinlikler düzenleyebilir. Yeni Etkinlik ekle linki ile Yeni Etkinlik ekleme sayfasına
yönlendirilir ve Etkinliğe ait bilgileri girerek yeni etkinlik kaydını gercekleştirir.
Şekil 2.25. Etkinlikler
Şekil 2.25' de etkinliklere ait konu ve açıklama bilgileri görüntülenmektedir.
Düzenle butonu ile ilgili etkinlik bilgileri güncelenir. Sil butonu ile ilgili etkinlik
listeden silinir.
Yeni etkinlik Ekle linki ile yeni etkinlik ekleme sayfasına yönlendirilir.
Şekil 2.26. Yeni Etkinlik Ekleme
54
55. Sekil Şekil 2.26'da Eklenecek etkinliğe ait konu ve açıklama bilgileri ilgili alanlara
yazıldıktan sonra Kaydet butonu ile etkinlik kaydı tamamlanır. İptal butonu ile
etkinlik ekleme işlemi tamamlanmadan etkinlikler sayfasına yönlendirme işlemi
gerçekleştirilir.
2.2.3.1.1.2.8. Başarılar
Başarılar menüsünde okulun bu zamana kadar göstermiş oldugu başarılar ve almış
olduğu ödüller gibi bilgileri bulunduram bir tablo yer almaktadır. Bu tabloda silme ve
güncelleme işlemleri gerçekleştirilmektedir.
Şekil 2.27. Başarılar
Şekil 2.27 de görüldüğü gibi başarılara ait konu ve açıklama bilgilerine
erişilebilmekte, Düzenle butonu ile bu bilgiler güncellenebilmekte ya da Sil butonu
ile ilgili satır silinebilmektedir.
Yeni Başarı Ekle Linki ile Yeni başarı ekleme sayfasına yönlendirilmektedir.
Şekil 2.28. Yeni Başarı Ekleme
Başarıya ait konu ve içerik yazıldıktan sonra Kaydet butonu ile basarı kaydı
55
56. tamamlanır. İptal butonu ile başarı ekleme işlemi tamamlanmadan başarılar sayfasına
yönlendirme işlemi gerçekleştirilir.
2.2.3.1.1.2.9 Okul Ziyaretçi Takibi
Öğrencilerin velileri, yakınları zaman zaman bilgi almak amacıyla okula gelip yetkili
kişilerle görüşmeler yapmaktadır. Bu bilgilerin kayıt altında tutulması hem öğrenci
ve veli açısından hem de idari grevli ve öğretmenler açısından önem taşımaktadır. Bu
nedenle ziyaretçilere ve ziyaret sebebine ait bilgiler de sistemde tutulmaktadır. Editör
bu bilgileri görüntüleme, güncelleme, silme ya da yeni kayıt ekleme yetkilerine
sahiptir.
Şekil 2.29. Okul Ziyaretçi Bilgileri
Şekil 2.29’da okula gelen ziyaretçilere ait bilgiler görülmektedir. Ziyaretçinin adı,
Ziyaretçinin kiminle görüşme yaptığı, ziyaret nedeni ve ziyaretçinin geldiği tarih gibi
bilgiler Editör tarafından görüntülenmektedir. Bu bilgiler editor tarafından Düzenle
butonu ile düzenlenebilmekte ya da sil butonu ile silinebilmektedir.
Yeni Ziyaretçi ekle linki ile yeni ziyaretçi ekleme sayfasına yönlendirilir.
Şekil 2.30. Yeni Ziyaretçi Ekleme
56
57. Şekil 2.30'da yeni ziyaretçi eklerken ziyaretçinin adı, görüştüğü kişi, adresi, ziyaret
nedeni, ziyaret tarih ve saat bilgileri ve ziyareti kaydeden kişinin kim oldugu
bilgilerinin girildiği görülmektedir. Bu bilgiler girildikten sonra Kaydet butonu ile
ziyaretçi kaydı tamamlanır. İptal butonu ile ziyaretçi ekleme işlemi tamamlanmadan
Okul ziyaretçiler sayfasına yönlendirme işlemi gerçekleştirilir.
2.2.3.1.1.3 Öğretmen Bölümü
Okul otomasyon sisteminin amaçlarının en başında öğretmenlerin kendi derslerine ait
notlarını görsel bir şekilde bir arada görebilmesi, notların kayıtlarının kolay bir
şekilde yapılabilmesi, öğrencilerin dersteki durum ve tutumlarının kaydedilmesi ile
öğrenciler hakkında doğru karar verebilmesi, öğrencilerin devamsızlık bilgilerini
kontrol ederek öğrencilerin dersteki performans düşüş nedenlerini saptayabilmesi
gibi birçok neden gelmektedir. Öğretmenlerin bu işlemleri kolay ve hızlı bir şekilde
yapabilmeleri için tasarlanan Öğretmenler Alanı kullanımı kolay ve pratik olması
açısından pek çok avantaj sağlamaktadır.
Öğretmenler AnaSayfa’da bulunan Öğretmen Girişi linki üzerinden kendilerine ait
sayfaya yönlendirilmektedir. Kendilerine ait sayfaya yönlendirilirken login kontrolü
yapılmaktadır. Daha sonra karşılarına gelen menüden İstedikleri işlemi
yapabilmektedirler.
2.2.3.1.1.3.1. Öğretmen Girişi
Öğretmenler kullanıcı adlarını ve kendilerine ait şifreyi girerek kendilerine ait alana
giriş yaparlar.
Şekil 2.31. Öğretmen Giriş Ekran Ekranı
57
58. Kullanıcı Adı ve Şifre girilerek giriş yapılır. Eger kullanıcı adı ya da şifre hatalıysa,
kullanıcılar uyarı mesajı ile karşılaşırlar. Şifre ve kullanıcı adı doğru ise, kendilerine
ait ana menünün olduğu sayfaya yönlendirilirler.
2.2.3.1.1.3.2. Öğretmen Anasayfa
Öğretmenler login işlemini gerçekleştirdikten sonra ana menünün olduğu sayaya
yönlendirilirler. Bu sayfadaki ana menüde, Ödev Girişi, Öğrenci Görüş bildirme,
Okul ziyaretçi Bilgileri, Şifre Değiştirme, Rehberlik Servisi, Öğrenci Not girişi ve
Bilgi Listeleri seçenekleri bulunmaktadır. Bu menüde bazı seçenekler alt menülere
ayrılmaktadır. Bu alt menüler ilerleyen bölümlerde anlatılacaktır.
Şekil 2.32. Öğretmen Ana Menü
Şekil daki menüden seçilen seçenege göre kullanıcılar ilgili sayfaya yönlendirilirler.
2.2.3.1.1.3.3. Ödev Girişi
Bu menu ile Öğretmenler seçtikleri sınıfa ödev vermektedir. Verilen bu ödevler
öğrencilerin kendi sayfalarındaki menüden ulaşılıp görülebilmektedir. Öğretmenler
Ödev girişi ekranında kendileri verdikleri ödevleri ve bu ödevlere ait bilgileri
görüntüleyebilmekte ve verilen ödevlerde eklenen dosyaları da bilgisayarlarına
indirebilmektedirler.
58
59. Şekil 2.33. Öğretmen Ödev Görüntüleme
Yeni Ödev Ekle linki ile öğretmenler yeni ödev ekleyecekleri sayfaya
yönlendirilirler.
Yeni ödev ekleme ekranında, ödevin konusu, hangi sınıfa verileceği, teslim tarihi,
açıklama ve varsa ödeve ait belge,dosya,resim,vb. dokumanlar eklenerek kaydet
butonunu ile ödev ekleme işlemi gerçekleştirilir.
59
60. Şekil 2.34. Ödev Ekleme
2.2.3.1.1.3.4. Öğrenci Görüş Bildirme
Bu menu ile öğretmenler öğrenciler hakkında görüşleri bildiriler. Görüş bildirme iki
aşamada tamamlanır. Önce öğrenci numarası girilir ve öğrenci bilgilerinin ve
görüşün bildirileceği alanın bulunduğu sayfaya yönlendirilir.
Şekil 2.35. Öğrenci Görüş Bildirme 1. Aşaması
60
61. Şekil 2.36. Görüş Bildirme Ekranı
Şekilde öğrenci bilgileri sayfa açıldıgında otomatik olarak gelmektedir. Öğretmen
ilgili alana görüşlerini yazıp Görüş Bildir butonu ile görüş kaydetme işlemini
tamamlamaktadır. Öğrenciler kendilerine ait yapılmış görüşlere kendi sayfalarından
ulaşabilmektedirler.
2.2.3.1.1.3.5. Okul Ziyaretçi Bilgileri
Okula zaman zaman veliler gelip öğrencileri hakkında bilgi alırlar. Bu görüşmelerin
ne zaman, kim ile, kim hakkınd ve kim tarafından yapıldıgı bilgileri de sistemde
tutulur. Bu bilgileri öğretmenler görüntüleyebilmektedir.
Şekil 2.37. Okul Ziyaretçi Bilgileri
61
62. 2.2.3.1.1.3.6. Şifre Değiştirme
Öğretmenlerin kendilerine verilen şifreyi güncelleyebilmeleri için oluşturulmuş bir
seçenektir.
Şekil 2.38. Şifre Güncelleme
Öğretmenler yeni şifrelerini girip Güncelle butonuna basarak şifrelerini
değiştirebilirler. Şifre değiştirme işlemi sırasında kullanıcıdan şifreyi iki kere girmesi
istenmektedir. Böylece kullanıcının yanlış bir şifre güncellemesi yapması sağlanır.
Eğer iki alana girilen şifreler birbirinden farklı ise Şifre güncelleme işlemi
gerçekleştirilemez.
2.2.3.1.1.3.7. Rehberlik Servisleri
Öğretmen öğrenciler hakkındaki görüşlerini rehberlik servisleri aracılığı ile
bildirebilmektedir. Öğretmen ilgili menüden rehberlik servisleri menüsüne
ulaştığında rehberlik bilgi formu girişi ve rehberlik bilgi dökümü seçenekleri
karşısına çıkmaktadır. Öğretmen rehberlik bilgi formu girişinden görüş bildirmek
istediği öğrencinin öğrenci numarasını girerek o öğrenci için görüş
bildirebilmektedir.
Şekil 2.39. Rehberlik Servisleri
62
63. Öğretmen rehberlik bilgi formu bilgisini girmek istediğinde sistem öğretmene hangi
öğrenci için görüş bildirmek istiyorsa o öğrencinin öğrenci numarasını girerek o kişi
hakkında görüş bildirmesini sağlayabilmektedir.
Şekil 2.40. Görüş Bildirme-Öğrenci Seçimi
Öğretmen öğrencinin öğrenci numarasını girerek görüş bildirmek istediği öğrencinin
görüş bildirme arayüzüne ulaşmış olmaktadır. Öğrenci numarası girilerek işlem
onaylandığında öğretmenin görüş bildirebilmesi için ilgili ekran öğretmenin karşısına
gelmektedir.
Şekil 2.41. Rehberlik Anketi
Burada öğretmen ilgili anketi doldurarak öğrenci hakkındaki görüşlerini
bildirebilmektedir. Eğer öğretmen girdiği bilgileri görüntülemek isterse rehberlik
bilgi formu dökümü menüsünü kullanmaktadır.
63
64. 2.2.3.1.1.3.8. Öğrenci Not Girişi
Bu bölümde öğretmenler, derslerine girdikleri sınıflarda bulunan öğrencilere
ait, yazılı, sözlü ve ödev notlarını kolayca girebilmektedirler. Not giriş işlemi üç
aşamada gerçekleşmektedir. Öncelikle öğretmenlerin karşısına, derslerine girdikleri
sınıflar ve ilgili sınıflarda hangi derse girdiklerine ait bir tablo gelmektedir. Bu tablo
aşağıdaki şekildeki gibidir.
Şekil 2.42. Öğrenci Not Giriş-Sınıf Seçimi
Sınıf seçimi yapıldıktan dönem seçimi ekranı gelmektedir. Öğretmen 1.Dönem ya da
2. Dönem linkini tıklayarak ilgili dönemin notlarını girmek için bir sonraki aşamaya
yönlendirilir. Dönem seçimi yapıldıktan sonra, seçilen sınıf ve döneme ait tüm
öğrenciler ve o öğrencilere ait ilgili öğretmenin verdiği derse ait notlar gelmektedir.
Şekil 2.43. Öğrenci Not Giriş Ekranı
Şekilde de görüldüğü gibi öğretmenler hem tüm öğrencilerin notlarını
görüntüleyebilmekte hem de Güncelle butonu ile yeni not bilgisi girebilmekte hem
de güncelleme işlemini yapabilmektedir. Böylece işlemler çok pratik bir şekilde
gerçekleşebilmektedir. Düzenle butonunun işlevi şekilde görülmektedir.
64
65. Şekil 2.44. Yeni Not Giriş ve Güncelleme
Şekilde görüldüğü gibi seçilen öğrencinin notları güncellenebilmekte, yeni not girişi
yapılabilmektedir. İstenirse İptal butonu ile yapılan değişiklikler yapılmadan bu
ekrandan çıkılabilmektedir.
2.2.3.1.1.3.9. Bilgi Listeleri
Bilgi listeleri menüsü alt menülere ayrılan ve öğretmenlere bir çok konudaki bilgilere
pratik ve kolay erişim sağlar. Bu menünün alt Öğrenci durum Dökümanı, Sınıf
Listeleri, Toplu Sınıf Not Listesi, Toplu Sınıf Devamsızlık Listesi ve Öğretmen
Listesi olmak üzere beş seçenektir.
Şekil 2.45. Bilgi Listeleri
2.2.3.1.1.3.9.1. Öğrenci Durum Dökümanı
Bu menu ile istenen öğrencinin birinci ve ikinci dönemde aldığı tüm notlar
görüntülenmektedir. Bu işlem iki aşamada gerçekleşmektedir. Öğrenci Durum
Dökümanı linkine basıldığında bilgileri görüntülenmek istenen öğrencinin numarası
girilir ve Devam Et butonu ile ikinci aşamaya geçilir.
65
66. Şekil 2.46. Öğrenci Durum Dökümanı Birinci Aşama
Öğrenci numarası girilip Devam Et butonuna basıldığında, kullanıcı, ilgili öğrencinin
bilgileri ve notlarının görüntülendiği sayfaya yönlendirilir.
Şekil 2.47. Öğrenci Durum Dökümanı
Şekil 2.47’ de Öğrencinin kişisel bilgileri ve Birinci ve İkinci dönem notları
görülmektedir. Öğretmenlerin bu notları görerek öğrenciyi değerlendirmesinin daha
kolay ve etkin olacağı düşünülerek bu menu eklenmiştir.
2.2.3.1.1.3.9.2. Sınıf Listeleri
Bu menu ile öğretmenler kendilerine ait sınıfları listeleyebilmektedir. Ayrıca
listelenen bu sınıflardan seçilen sınıfın öğrenci listesi de görüntülenebilmektedir.
66
67. Şekil 2.48. Öğretmenin Derslerine Girdiği Sınıfların Listesi
Şekil 2.48’de bulunan listele butonu ile ilgili sınıfta bulunan öğrenciler
listelenebilmektedir.
Şekil 2.49. Sınıfa Ait Öğrenci Listesi
Şekil 2.49’da ise bir önceki aşamada seçilen sınıfa ait sınıf listesi göülmektedir.
Öğrenciye ait öğrenci numarası, Öğrencinin Adı ve Öğrencinin soyadı bilgileri
listelenmektedir. Ayrıca sınıfın toplam mevcudu da görülmektedir.
2.2.3.1.1.3.9.3. Toplu Sınıf Not Listesi
Bu menu ile öğretmenler derslerine girdikleri sınıfa ait notları seçilen sınıftaki tüm
öğrencilerin notlarını bir arada görecek şekilde görüntüleyebilmektedir.
67
68. Şekil 2.50. Toplu sınıf Not Listesi-Öğretmene ait sınıfların Görüntülenmesi
Şekil de Öğretmene ait sınıflar görüntülenmektedir. Öğretmen Listele Butonu ile,
hangi dönem notlarını görüntülemek istediğini seçer ve daha sonra ilgili sınıfın tüm
öğrencilerinin kendi dersinden aldıkları o döneme ait tüm notları
görüntüleyebilmektedir.
Şekil 2.51. Toplu Sınıf Not Listesi- Dönem Seçimi
1.Dönem linki ile öğrencilerin öğretmenin kendisinden aldıkları birinci Dönem
notları görüntülenir. 2. Dönem linki ile öğrencilerin öğretmenin kendisinden aldıkları
ikinci Dönem notları görüntülenir.
Şekil 2.52. Toplu Sınıf Not Listesi
68