Bu seferki yazımda IBM Yazılım Akademisi 2010 yarışmasında yaptıklarımız hakkında bilgiler vermeye çalışacağım. IBM bu yıl Akıllı Dünya için Akıllı Çözümler adında başlığı altında 10 tane proje belirledi. Biz bu projelerden Akıllı Seçimler projesini seçmeyi uygun bulduk.
Neden dersek
- Sosyal bir proje olması
- Sanırım biraz da delilik diyebiliriz.
Bunun bence iki sebebi var:
- Güvenliğin sağlamasının çok zor olması
- Etik bir oylama sisteminin geliştirilip geliştirilmediği.
İkinci husus etik... Etik bir vatandaşımızın oy kullanma işleminden sonra kullandığı oyun kim yada hangi partiye bilgiye gittiği bilgisinin sistemde bir yerlerde tutulup tutulmadığı.Bunu garanti etmenin yolu sanırım kaynak kodu açmak ama ondan da mantıklı bir iş olarak bahsetmek olanaksız.(Biz sistemi etik olarak tasarladık :) )
Bu işe ACE ekibi adıyla katıldık.Diğer ekip üyesi arkadaşlarım Osman Canbaz ve Zeynep Erdal.Sunumlara girmeden önceki son kontrollerimizden önce ufak bi kare
Bu işe başlarken öncelikle analiz aşaması çok önemli çünkü bu aşamaya geri dönmek çok zor. Yapılacak değişikler sistemi büyük derecede etkileyebiliyor.
Bunun için öncelikle
- analiz aşamasını,sistem gereksinimlerini belirleyin.Bu işi yaparken ekip ile birlikte iyi bir araştırma yapmak çok önemlidir.
- Yazılım mühendisliği kavramlarını çok iyi kavrayın ve sisteminizi ona göre düşünmeyi ihmal etmeyin.
- Aktörlere hangi görevlere vereceğinizi tespit edin ve bir usecase diagram çıkarın
- Önemli görevleriniz için sequence diagram çıkarın.
- Analiz aşamasından sonra elde ettiğiniz gereksinimlere göre veritabanınızı tasarlayın ve bunu ER şemasıyla ilişkilendirin.
- Yapılacak işler için hangi teknolojileri kullanıcağınızı belirleyin.Örneğin sistemin bir bölümü için web servis kullanımı güvenliğin önemli olduğu bir yerde servlet kullanımı ya da ORM araçlarından JPA kullanımı gibi.
- Bunları belirledikten sonra öncelikle teknolojiler ve IBM ürünlerini kullanmayı örenme süreci başlıyor.Bunu da ekipte iş bölümü yaparak hızlı bir şekilde gerçekleştirmeye çalışın.Örneğin biri JPA üzerinde araştırma yaparken diğer bir ekip üyesi JSF framework'ü üzerinde araştırma ya da DB2 ile vakit geçirebilir.
- Sistem için kullanıcı arabirimini esnek ve görsel bir şekilde gerçekleştirmeye çalışın.
- Bu işlemlerden sonra iş bölümünü yapın ve eğer kullanma şansınız varsa SVN kullanın.( Yapılacak işler için ayırdığınız günü aşmamaya çalışınız.)
- Belirli aralıklarla ekiple birlikte proje hakkında konuşun ve yaptığınız işleri eleştirin.
- Uygulamanızda web servis kullanmaya özen gösteriniz.AJAX teknolojisinden mümkün oldukça yararlanın.JPA ,EJB gibi teknolojileri de kullanmaya özen gösteriniz.
- Sistem tamamen bittikten sonra sistem için gerekli testleri yazın.
- Sizden istenen belgelendirmeleri sisteminizle uyumlu olup olmadığından emin olunuz.
- İlk 10 için düşünceniz varsa belgelendirmenin iyi olmasına dikkat edin.Çünkü puanlamada ciddi ve çok büyük etkisi var. ( Sanırım bizim kaybettiğimiz nokta burası)
- Eğer ilk 10a girmiş ve sunumlar için İstanbul'a çağrılmışsanız etkili bir sunum hazırlamaya çalışın ve sorulara hazırlıklı olun(ciddi sorular geldiğini belirtmek isterim)
Ve size projeden örnek bir ekran çıktısı koymak istiyorum.

Projenize erken karar verir iyi bir ekip oluşturun ve düzenli çalışın.