Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bora GÜRSEL CBÜ BAUM Proje Yöneticisi

Benzer bir sunumlar


... konulu sunumlar: "Bora GÜRSEL CBÜ BAUM Proje Yöneticisi"— Sunum transkripti:

1 Çevik bir Hikâye: Celal Bayar Üniversitesi Öğrenci Kayıtlanma Modülü Bu Dönem Neden Çökmedi?
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi Son yıllarda yazılım teknolojileri hızlı bir gelişim sürecine girmiştir. Teknoloji bu hızla ilerlerken üniversitelerde kullanılan yazılım otomasyon sistemlerinin buna ne kadar ayak uydurabildiği önemli bir tartışma konusudur. Bir de üniversitelerin Bilgisayar Bilimleri, Bilgisayar Mühendisliği, Yazılım Mühendisliği ve Bilgisayar Programcılığı gibi bölümleriyle bu sektör için uzman personel yetiştirdiğini düşünürsek, olay farklı bir boyut almakta ve maalesef “Terzi kendi söküğünü dikemiyor” sonucu ortaya çıkmakta. Bir üniversite yazılım otomasyon sistemi temelde 3 kullanıcı grubuna hizmet vermektedir: (1) Öğrenciler, (2) Akademik Personel, (3) İdari Personel. Bu kullanıcı grupları farklı alt kullanıcı gruplarına ayırılabilmektedir. Bir üniversitenin yazılım otomasyon sistemi aslında kurumsal bir yazılım ürününden farksız olup, değişik derinlikte alt yazılım ürünlerini ve modüllerini içerebilmektedir. Örneğin: Öğrenci Otomasyonu, Personel Otomasyonu, Elektronik Belge Yönetim Sistemi, Akademik Performans Yönetimi bu alt ürünlerden bazılarıdır. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

2 Celal Bayar Üniversitesi
SUNUM AJANDASI Giriş BAUM Ekibi, Yazılım Geliştirme ve Test Süreci Öğrenci Kayıtlanma Modülü Yeniden Yazılma Süreci Sonuçlar Tarışma ve Öneriler Türkiye’deki üniversitelerde kullanılan yazılım otomasyonlarında herhangi bir standart bulunmamaktadır ve bu durumu normal karşılamak gerekir. Çünkü üniversiteler Yök’e bağlı olsalar da kendi içlerinde özerk birer kurumdurlar. Her üniversitenin, kendi süreçlerini tanımladığı çeşitli yönetmelikleri bulunmaktadır. Bu yönetmelikler de bir yazılım ürününün veya modülünün işleyişini ve fonksiyonlarını oluşturmakta. Üniversite yazılım otomasyonlarında standartlaşması en zor olan ürünlerden birisi de Öğrenci Otomasyonudur. Yüksek seviyede dikey derinliğe sahip olan bu otomasyonun, üniversiteden üniversiteye değişen onlarca farklı süreci ve uygulaması bulunmaktadır. Öğrenci otomasyonlarındaki Kayıtlanma Modülü de tüm üniversite yazılım otomasyonundaki en zor modüllerden birisidir. Özellikle kökleşmiş, lisans ve lisansüstü bölümlere sahip ve ’lerce öğrencisi olan üniversitelerde 100’lerce farklı öğrenci kayıtlanma senaryosu üretilebiliyor. Kayıtlanma modülündeki diğer zorluk da öğrencilerin istediği dersi, dersin kontenjanı dolmadan seçmek istemesidir. Öğrencileri bu noktada başlangıç çizgisinde bekleyen koşuculara benzetebiliriz. Yarışmanın başlatılması yani kayıtlanma sistemin açılması ile birlikte öğrencilerin tek hedefleri “bir an önce istedikleri dersi seçmek ve kayıtlanmayı tamamlamaktır”. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

3 Celal Bayar Üniversitesi
Giriş Yazılım teknolojilerinin hızla ilerlediği bu dönemde üniversitelerde kullanılan yazılım otomasyon sistemlerinin geride kalması önemli bir problemdir. Üniversitelerin ilgili bölümleriyle sektör için uzman personel yetiştirmesi gerçeği… Hayata geçirilen bu modül, kullanıcının üzerinde yoğun bir kullanıma rağmen, yüksek sistem performansı ve sıfır hata sayısı ile ciddi bir başarı elde etmiştir. Tam da bu noktada üniversite kayıtlanma modülü yoğun bir stres testinden geçmektedir. Binlerce öğrenci interaktif bir web uygulamasından sisteme girmekte ve kayıt olmaya çalışmaktadır. Böyle bir sistemin çalışması için çeşitli yazılım kalite metriklerinden söz edilebilir ancak buradaki en önemli konu sistemin performansını bütünüyle ele almaktır: (a)Yazılım mimarisi, (b) Sunucu konfigürasyonu ve mimarisi, (c) Ağ mimarisi, modülün genel kalitesinde eşit ağırlıktadır. Eğer yazılım sistem performansı bütünüyle ele alınmaz ve sistem bu kullanıcı sayısını kaldıramazsa, o an interaktif olan binlerce öğrenci sistemle ilgili olumsuz düşünceye kapılmakta ve bunu çevreleri ile paylaşmaktadır. Celal Bayar Üniversitesi Bahar kayıtlanma döneminde, kayıtlanma sisteminin öğrencilere açıldığı ilk 30 dakika sonrasında servis veremez hale geldi ve bu kötü tecrübe sonrasında BAUM ekibi Kayıtlanma Sistemini yeniden yazma kararı aldı. Çevik yazılım geliştirme yöntemi olan Scrum kullanılarak 4 kişiden oluşan bir Kayıtlanma Ekibi oluşturulmuş ve sistem en baştan analiz edilerek yeniden geliştirilmiştir. Bu 4 kişi yazılım Mimarı, Görsel Arayüz Uzmanı, Veritabanı Uzmanı ve Test Uzmanı oluşan bir ekipti. 14-15 Güz kayıtlanma döneminde yeni sistemi hayata geçirdik ve kullanıcının üzerinde yoğun bir kullanıma rağmen, yüksek sistem performansı ile ciddi bir başarı elde ettik. Hem yazılım performans metrikleri hem de öğrencilerden gelen olumlu geri dönüşler dikkate alındığında üniversitelerin ’lerce kullanıcıyı kaldırabilecek kaliteli yazılım ürünü geliştirmelerinin hayal olmadığı net bir başarı hikayesi ile ortaya konulmuştur. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

4 Celal Bayar Üniversitesi
BAUM Ekibi CBÜ BAUM ekibi, üniversite yazılım otomasyonlarının yönetilmesi, geliştirilmesi ve test edilmesi amacıyla 2014 yılında yeniden yapılandırılmıştır. Toplam 11 personel ve 1 müdürden oluşan ekibin tek odağı yazılım ve testtir. Çevik yazılım geliştirme yöntemlerinden olan SCRUM pratikleri BAUM’un yazılım geliştirme süreç temelini oluşturmaktadır. BAUM ekibi, üniversite yazılım otomasyonlarının yönetilmesi, geliştirilmesi ve test edilmesi amacıyla bu yılın ocak ayında yeniden yapılandırılmıştır. Toplam 11 personel ve 1 müdürden oluşan ekibin tek odağı yazılım ve testtir. Çevik yazılım geliştirme yöntemlerinden olan SCRUM yöntemi BAUM’un yazılım geliştirme süreçlerinin temelini oluşturmaktadır. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

5 Celal Bayar Üniversitesi
BAUM Ekibi Ekibin benimsediği prensipler; Bireyler ve arasındaki etkileşimler > Süreç ve araçlardan Çalışır durumdaki yazılım > Gereksiz dokümantasyondan Müşteri ile işbirliği > Sözleşme maddelerine bağlı kalmaktan Değişime adaptasyon > Mevcut plana bağlı kalmaktan 2013 yılında Agile Türkiye tarafından gerçekleştirilen Yazılım Üretkenlik Raporu sonuçlarına göre de Türkiye’deki projelerin % 64’ünde çevik yöntemler uygulanmaktadır. SCRUM gibi çevik yöntemlerin, üretkenliği, yazılım kalitesini ve ekip üyeleri arasındaki iletişimi arttırdığı bilinmektedir. SCRUM temelde, yinelemeli bir yaşam döngüsü tanımlamakta ve büyük iş kalemlerinin, küçük ve yönetilebilir işlere bölünmesi ve önceliklendirilmesi ile ilgili yöntemleri içermektedir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

6 Celal Bayar Üniversitesi
Yazılım Geliştirme Çevik bir yazılım geliştirme yöntemi olan Scrum kullanılmıştır. BAUM’da genelde 2-3 haftalık sprintler oluşturulur. Arka planda sürekli güncel tutulan bir backlog bulunmaktadır. Çoğunlukla birimlerden gelen veya yazılım ekibi tarafından öngörülen sistem iyileştirmeleri bu backloga girilir. Her sprinti tek sprint takımı gerçekleştirir. Sprint planlama aşaması genelde 1-2 gün sürer. Yazılım kaynak kod kontrol yönetim aracı ve SCRUM sürecindeki planların yönetimi için Microsoft TFS (Team Foundation Server) ürünü kullanıyoruz. Yazılım ve test aşamalarında çalışan tüm BAUM personelinin TFS sisteminde bir kullanıcı grubu ve hesabı bulunmakta. SCRUM Backlog, TFS sistemi üzerinde tutulur ve tüm sprint planları yine TFS sistemi üzerinde gerçekleştirilir. Plandaki her iş maddesi için bir kullanıcı hikayesi oluşturulur ve daha sonra her hikaye alt görevler ile detaylandırılır. Yazılım uzmanlarına bu görevler delege edilir. Yazılım uzmanları geliştirdikleri bir isteğin veya çözdükleri bir hatanın ilk testlerini yaptıktan sonra işi bütünüyle test etmesi ve kapatması için TFS üzerinden ilgili test uzmanına delege ederler. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

7 Celal Bayar Üniversitesi
Yazılım Geliştirme Sprint Backlog Süreçleri. Sprint tahtası kullanılan araçlardan bir tanesidir. Bu tahta TFS’te otomatik çizildiği gibi bazı ofislerde fiziksel olarak ta takip edilmektedir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

8 Celal Bayar Üniversitesi
Yazılım Geliştirme Burndown Chart Burndown chart sıklıkla kullandığımız raporlardan biridir. Sprintin ideal çizgisini ve takımın bu çizgiye uyumu ölçülür. İdeal çizgiye yakınlık kullanıcı hikayelerinin sürelerinin doğru tespit edildiğini bize gösterir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

9 Celal Bayar Üniversitesi
Yazılım Geliştirme Scrum takımı Sprint planında hangi iş maddelerinin olacağına ürün yöneticisi ve müşteri temsilcisi karar verir. Müşteri temsilcisi genelde üniversite idare biriminde çalışan bir personel, Öğrenci İşleri, Personel Şube müdürleri veya Rektör Danışmanı olabilir. BAUM’da Scrum Master rolünü Yazılım Mimarı gerçekleştirir. Scrum Master, ekibin lideridir ve sprintin başarılı bir şekilde tamamlanması için elinden geleni yapar. Ekibin dış etkenlerden en az şekilde etkileneceği bir çalışma ortamı sağlar. Günlük sprint toplantılarını yönetir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

10 Celal Bayar Üniversitesi
Test Süreci BAUM yazılım geliştirme sürecinde 3 farklı dağıtım ve uygulama ortam bulunmaktadır: Yazılım Ortamı: Sadece yazılım geliştirmenin yapıldığı ve yazılım uzmanlarının kendi temel testlerini yaptıkları ortamdır. Test Ortamı: Yapılan sprint geliştirmeleri test uzmanları tarafından ilk olarak test ortamında test edilir. Ürün Ortamı: Üniversite yazılım otomasyonunun çalıştığı canlı ortamdır. BAUM yazılım geliştirme sürecinde 3 farklı dağıtım ve uygulama ortam bulunmaktadır: Dev Ortamı: Sadece yazılım geliştirmenin yapıldığı ve yazılım uzmanlarının kendi temel testlerini yaptıkları ortamdır. Test Ortamı: Yapılan sprint geliştirmeleri test uzmanları tarafından ilk olarak test ortamında test edilir. Test ortamının gerçek ortama çok yakın olması gerektiği için test veritabanı ve sistemi düzenli olarak canlı ortamdan kopyalanır. Prod Ortamı: Üniversite yazılım otomasyonunun çalıştığı canlı ortamdır. Sprintlerdeki işler tamamlandıkça, sprint sonlarında bu ortam güncellenir. Acil hata çözümlerinde sprintin sonu beklenmeden, güncelleme önce test ortamında yapılır, testler sonucunda hatanın çözüldüğü gözlemlenirse, canlı ortam güncellenir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

11 Celal Bayar Üniversitesi
Test Süreci BAUM test uzmanı kendisine delege edilen bir istekle ilgili temelde 4 test yapar: Duman Testi Fonksiyon Testi Ekran Standartları Testi Kullanılabilirlik Testi BAUM test uzmanı kendisine delege edilen bir istekle ilgili temelde 4 test yapar: 1. Duman Testi: Genel anlamda ürünün ilk çalıştırılmasında duman çıkıp çıkmama testi olarak görülür. Bir bileşenin veya sistemin ana görevinin en can alıcı veya kritik fonksiyonlarının çalıştığını görmek için detaydan uzak planlanmış\tanımlanmış tüm test koşullarının kapsandığı test biçimidir. 2. Fonksiyon Testi: Kodların minimum veri ile beklenen fonksiyonları ve işlevi yerine getirdiğinden emin olunması için yapılan test biçimidir. Genelde Kullanıcı Hikayeleri ve Test Senaryoları baz alınarak yapılırlar. 3. Ekran Standartları Testi: Yazılım ürünün belirlenen ekran standartlarına uyup uymadığının kontrol edildiği test biçimidir. 4. Kullanılabilirlik Testi: Gerçek hayat kullanım koşulları altında bir yazılımın kolay anlatılabilir, öğrenilebilir, kolay kullanılabilir ve kullanıcıya cazip gelme standartlarını içeren test türüdür. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

12 Öğrenci Kayıtlanma Modülü Yeniden Yazılma Süreci
Öğrenci Kayıtlanma Modülünün yazılım geliştirme ve test süreci 3'er haftalık toplam 4 sprintte tamamlanmıştır. Nesneye dayalı modelleme yaklaşımı ile Öğrenci Kayıtlanma Süreci yeniden modellenmiştir. Modelleme sürecinde UML durum senaryoları ve sınıf diyagramları oluşturulmuştur. Öğrenci Kayıtlanma Modülünün yazılım geliştirme ve test süreci 3'er haftalık toplam 4 sprintte tamamlanmıştır. Nesneye dayalı modelleme yaklaşımı ile Öğrenci Kayıtlanma Süreci yeniden modellenmiştir. Modelleme sürecinde UML durum senaryoları ve sınıf diyagramları oluşturulmuştur. Özellikle doğrulama (validation) ve kayıtlanma kuralları için esnek bir katman tasarlanmıştır. Bunun sebebi CBÜ Kayıtlanma Yönetmeliğinde ileride olabilecek değişikliklerin yazılım bakım maliyetinin minimum düzeyde tutulmak istenmesidir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

13 Öğrenci Kayıtlanma Modülü Yeniden Yazılma Süreci
Toplam 210 tane kullanım senaryosu (use-case) çıkartılmıştır. Her senaryo üzerinden Scrum ekibi ve öğrenci işleri ekibi birlikte geçmiş ve senaryolar doğrulanmıştır. Bu kullanım senaryoları, daha sonra test senaryolarına dönüştürülmüştür. Toplam 210 tane kullanım senaryosu çıkartılmıştır. Her senaryo üzerinden Scrum ekibi ve öğrenci işleri ekibi birlikte geçmiş ve senaryolar doğrulanmıştır. Bu kullanım senaryoları, daha sonra test senaryolarına dönüştürülmüştür. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

14 Öğrenci Kayıtlanma Modülü Yeniden Yazılma Süreci
Öğrenci kayıtlanma ekranları kullanıcı deneyim kriterleri göz önünde bulundurularak yeniden tasarlanmıştır. Ekranların tasarımında basitliğe ve kullanım kolaylığına dikkat edilmiştir. Ekranlarda etkin görselliği yakalamak için ağırlıklı olarak CSS3 teknolojisi kullanılmıştır. Öğrenci kayıtlanma ekranları kullanıcı deneyim kriterleri göz önünde bulundurularak yeniden tasarlanmıştır. Ekranların tasarımında basitliğe ve kullanım kolaylığına dikkat edilmiştir. Ekranlarda etkin görselliği yakalamak için ağırlıklı olarak CSS3 teknolojisi kullanılmıştır. Üniversite sistemindeki kullanıcı sayısı (Öğrenciler, Akademisyenler, Öğrenci İşleri İdari Personel) ’in üzerinde olduğu ve kayıtlanma modülü, ekranlar dahil baştan geliştirildiği için kayıtlanma modülü eğitim videoları BAUM test departmanı tarafından oluşturulmuş ve ilgili web ekranlarına kısa yolları yerleştirilmiştir. Eğitim videolarının toplam izleyici sayısı yaklaşık ’dir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

15 Öğrenci Kayıtlanma Modülü Yeniden Yazılma Süreci
Yazılım geliştirme sürecinde sürekli dikkat edilen bazı önemli noktalar ve yapılan genel performans iyileştirmeleri aşağıdaki gibi özetlenebilir: Web sayfalarının ebatları minimum seviyede tutulmuştur. Sunuculara giden toplam istek (request) sayısı olabildiğince azaltılmıştır. Yük optimizasyonu için harici CDN'ler kullanılmıştır. Java script dosyaları küçültülmüştür (minify) edilmiştir. Java script dosyaları, CSS dosyaları, resim dosyaları gibi statik içeriğe sahip dosyalar önbelleğe (cache) alınmıştır. Yazılım geliştirme sürecinde sürekli dikkat edilen bazı önemli noktalar ve yapılan genel performans iyileştirmeleri aşağıdaki gibi özetlenebilir: Web sayfalarının ebatları minimum seviyede tutulmuştur. Sunuculara giden toplam istek (request) sayısı olabildiğince azaltılmıştır. Yük optimizasyonu için harici CDN'ler kullanılmıştır. Java script dosyaları minify edilmiştir. Java script dosyaları, CSS dosyaları, resim dosyaları gibi statik içeriğe sahip dosyalar cachlenmiştir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

16 Celal Bayar Üniversitesi
Deneysel Sonuçlar Kayıtlanma modülü 15 Eylül 2014 saat 10:00’da devreye alındıktan sonra; İlk 30 dakikada öğrenci ders seçmiştir. Kayıtlanmanın ilk günü öğrenci ders seçmiştir. Toplamda öğrenci sisteme girmiş, toplam ders seçilmiştir. Kayıtlanma modülü 15 Eylül 2014 saat 10:00’da devreye alındıktan sonra ilk 30 dakikada gözlemlenen metrikler aşağıdaki gibidir: Toplam öğrenci sisteme girmiştir. Toplam ders seçilmiştir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

17 Celal Bayar Üniversitesi
Deneysel Sonuçlar Ortalama sistem cevap verme süresi (Average Response Time) 0,8 sndir. Ortalama web sunucu yoğunluğu (CPU) %10 dur. Ortalama servis sunucu yoğunluğu (CPU) %12 dir. Ortalama veritabanı sunucu yoğunluğu (CPU) %8 dir. Sistem devreye alınmadan önce modülün kodlama ve test sürecinde yaklaşık 40 hata tespit edilmiş ve çözülmüştür. Sistem devreye alındıktan sonraki 2 hafta kullanım sürecinde yazılım modülü ile ilgili hiç hata çıkmamış olup sadece 1 tane geliştirme yapılmıştır. Ortalama sistem cevap verme süresi 0,8 sndir. Ortalama web sunucu yoğunluğu (CPU) %10 dur. Ortalama servis sunucu yoğunluğu (CPU) %12 dir. Ortalama veritabanı sunucu yoğunluğu (CPU) %8 dir. Celal Bayar Üniversitesi Celal Bayar Üniversitesi

18 Celal Bayar Üniversitesi
TEŞEKKÜRLER… Celal Bayar Üniversitesi


"Bora GÜRSEL CBÜ BAUM Proje Yöneticisi" indir ppt

Benzer bir sunumlar


Google Reklamları