Yazılım Üretimi için Özgür Araçlar Kurs
Eğitmen: Hakan Uygun, hakan.uygun@ozguryazilim.com.tr
Aamaç:
"Yazılım üretimi ve proje yönetimi sürecinde yaşanılan zorluklar,
bunları aşmak için geliştirilen yöntem ve araçların işleneceği bu
eğitimde, farklı programlama dil ve teknolojilerinde ne tür özgür
yazılım araçları ile bu işlerin yapılabileceği anlatılacaktır. Genel
olarak dil ve teknolojiden bağımsız olarak işlenecek olmasına rağmen
örneklerde java teknolojileri kullanılacaktır."
Gereklilik:
- Katılımcıların yazılım dilleriden birini, tercihan Java, bilmesi
- Kendi Bilgisayarını getirmesi
- Linuxa aşina olması ve makinasında linux kuurlu olması
Kursun İçerik ve Planı:
1. Gün
Giriş
Yazılım proje yönetiminde amaçlar
Yazılım geliştirme metodolojileri
Doğru teknoloji seçimi
Araç seçimi
Teknoloji bağımlığı
IDE mi UDE mi?
Ekip içi eğitim
Açık Standartlar
Belgeleme
Belgeleme neden önemli?
Belgeleme yöntemleri
Araçlar
Wiki
Blog
DITA / DocBook / Latex v.b.
JavaDoc / PyDoc / Doxygen v.b.
İş / Hata takip Sistemleri
İş takibi nedir?
Hata takibi nedir?
Araçlar : Bugzilla, RedMine ...
RedMine
2. Gün
Sürüm Takip Sistemleri
Sürüm takibi nedir?
Ekip içi kullanım
Araçlar : cvs, svn, git, hg ...
Subversion
Genel kullanım kuralları
En iyi kullanım biçimleri
Yanlış kullanım biçimleri
Git
Genel kullanım kuralları
En iyi kullanım biçimleri
Yanlış kullanım biçimleri
3. Gün
Derleme Sistemleri
Derleme sistemi nedir?
Araçlar : Make, AutoTools, CMake, SCons, Ant, Maven, Gradle, Rake
Derleme Yük dağıtıcıları : distcc, icecream
Ant
Maven
Rake
Düzenli Derleme Sistemleri
Düzenli derleme nedir?
Araçlar : CruiseControl, Hudson, Jenkins ...
Jenkins
Kod Kalite Ölçüm Sistemleri
Kod kalite ölçümü nedir?
Kalite metrikleri nelerdir?
Araçlar : Sonar, ...
Sonar
4. Gün
Test Sistemleri
Test nedir?
Test çeşitleri ( Birim Test, Fonksiyonel Test, Yük Testi, Kullanıcı
Kabul Testi )
Test Araçları : JUnit, DbUnit, JSFUnit, Cucumber, Arquillian,
JMeter, Selenium, rSpec
Sürüm Çıkarma Döngüsü
Sürüm çıkarma genel geçer kuralları
Sürüm numaralandırma
Günlük, Haftalık derlemeler
Paket sistemleri
Paket sistemi nedir?
Paket deposu nedir?
Araçlar : RPM, DEB, Maven(jar), Gem, Egg, Pear ...