Türkiye’nin İlk Extreme Programming Konulu Kitabı
Şub 8th, 2009 | Yazar: Özcan Acar | Kategori: Extreme Programming, Haberler, Kaynak KitaplarExtreme Programming ismini taşıyan yeni kitabım önümüzdeki haftadan itibaren satışa sunulacak.
Kitabın ana konusu çevik süreç olan Extreme Programming’in uygulanış tarzını tanıtmaktır. Kitabın ilk bölümlerinde Extreme Programming hakkında teorik bilgiler yer almaktadır. Extreme Programming yöntemlerini uygulayabilmek için bu temel teorik bilgilerin alınmasında fayda vardır. Kitap 18 bölüm ve 504 sayfadan oluşmaktadır. Bu bölümlerin içerikleri özetle şöyledir:
Bölüm 1:
Birinci bölümde şelale (waterfall) tarzı yazılım yöntemleri ve projelerde oluşan sorunlar yer almaktadır. Bu sorunları gidermek için çevik süreçlerin kullanımı tavsiye edilmektedir. Extreme Programming (XP) bir çevik süreç olarak projelerde oluşan sorunlara cevap verebilecek yazılım metotlarına sahiptir. Bu bölümde Extreme Programming’in sahip olduğu değerler, prensipler ve teknikler tanıtılmaktadır.
Bölüm 2:
XP projelerinde sürüm ve iterasyon planları oluşturularak, projenin gidişatı belirlenir. Planlama oyunu olarak isimlendirilen süreçte müşteri tarafından, programcıların implemente (yazılım) edeceği özellikler seçilir. Programcılar gerekli tahminleri yaparak, müşterinin implementasyon için gerekli süre hakkında fikir sahibi olmasını sağlarlar. Bu bölümde sürüm ve iterasyon planlarının nasıl oluşturulduğu incelenmektedir.
Bölüm 3:
XP iletişime dayalı bir süreçtir. Ekip çalışanları arasında iletişimi güçlendirmek için günlük Stand-up (ayakta) toplantılar düzenlenir. Bunun yanısıra belirli aralıklarla retrospective (geriye bakış) toplantılarda projeye geri bakış sağlanarak, oluşan hatalar üzerinde tartışılır ve çözüm aranır.
XP projelerinde programcılar pair programming metoduyla eşli çalışırlar. Bu programcıların kısa sürede teknik alanda aynı seviyeye gelmelerini kolaylaştırır. XP projelerinde çalışma ortamının iletişimin önemi göz önünde bulundurularak oluşturulması gerekmektedir. Üçüncü bölümde Stand-up ve retrospective toplantılar yanı sıra, pair programming ve çalışma ortamının oluşturulması konuları tematize edilir. Bunun yanı sıra proje hakkında bilgilerin paylaşıldığı Wiki sistemleri hakkında bilgi verilir. Trac ve Bugzilla gibi araçlar kullanılarak bilgi ve hata yönetimi sağlanır.
Bölüm 4:
Bu bölümde XP projelerinde çalışma ortamlarının nasıl yapılandırıldığı ve ne tür araçlardan faydalanıldığı incelenmektedir.
Bölüm 5:
Teorik bilgilerin ardından, XP’nin nasıl uygulandığını göstermek amacıyla beşinci bölümde örnek bir XP projesi yer almaktadır. Bu bölümde müşteri gereksinimlerinin nasıl tespit edildiği ve sürüm ve iterasyon planlarının nasıl oluşturulduğu bir örnek üzerinde gösterilmektedir.
Bölüm 6:
Proje öncesinde sıfırıncı iterasyonda programcılar ihtiyaç duydukları teknik ortamı oluşturmaya başlarlar. Altıncı bölümde Eclipse, Ant, Tomcat, Subclipse, JUnit, HSQL, DBUnit gibi araçların kullanımı ve kurulumu incelenmektedir.
Bölüm 7:
Yazılım sürecinde uygulanması gereken tasarım prensipleri bu bölümün ana konusudur. Esnek bağ, açık kapalı prensibi, tek sorumluluk prensibi, Liskov yerine geçme prensibi, bağımlılıkların tersine çevrilmesi prensibi, arayüz ayırma prensibi ve paket tasarım prensipleri detaylı ve örnekli olarak bu bölümde incelenmektedir.
Bölüm 8:
Unit testleri oluşturularak sistem komponentleri yazılım esnasında test edilir. Akseptans testleri, entegrasyon testleri, regresyon testleri, performans testleri gibi değişik türde testler oluşturmak mümkündür.
Java projelerinde JUnit test frameworkü kullanılarak testler oluşturulur. Sekizinci bölümde JUnit kullanılarak unit testlerin nasıl oluşturulduğu uygulamalı olarak gösterilmektedir.
Bölüm 9:
XP projelerinde yazılım test güdümlü (Test Driven Development – TDD) yapılır. Dokuzucu bölümde TDD sürecinin nasıl çalıştığı ve programcıların TDD yöntemleriyle implementasyonu nasıl ilerlettikleri yer almaktadır.
Bölüm 10:
Onuncu bölümde pratik uygulamalı olarak shop sisteminin login modülü implemente edilmektedir. İmplementasyon için akseptans testlerinden yola çıkılarak, bilgibankasına kadar uzanan yapının adım adım TDD kullanılarak nasıl implemente edildiği gösterilmektedir. Bu bölümde sistem komponentlerini simule etmek için mock sınıfların kullanımı yer almaktadır.
Bölüm 11:
İmplementasyonun çalışır durumda olduğunu kanıtlamak için akseptans testleri oluşturulur. Bu testler kullanıcı hikayeleri gibi müşteri tarafından tanımlanır ve programcılar tarafından implemente edilir. On birinci bölümüde akseptans testlerinin hangi teknik ve araçlar kullanılarak implemente edildiği konusu incelenmektedir.
Bölüm 12:
On ikinci bölümün konusu Spring’dir. Spring frameworkü ile tasarımı ve teknik altyapısı güçlü, bakımı kolay ve kolay genişletilebilir programlar oluşturmak mümkündür. Spring sunduğu alt yapı hizmetleriyle programcıların hayatını kolaylaştırır ve programın test edilebilirligini yükseltir.
Bölüm 13:
Web aplikasyonlarının implementasyonu için Spring MVC frameworkü kullanılabilir. Bu bölümde Spring MVC’nin nasıl konfigüre edildiği incelenmektedir.
Bölüm 14:
Sürekli entegrasyon (continous integration) XP projelerinde uygulanan bir tekniktir. Programcılar tarafından kod üzerinde değişiklik yapılmasıyla beraber, mevcut kod derlenerek, sistem testleri çalıştırılır. Bu işlem sonunda kod üzerinde kırılmalar oluşmuşsa, programcıların konu hakkında email aracılığıyla dikkati çekilir ve hatanın bir an önce giderilmesi talep edilir. Sürekli entegrasyon ile her zaman çalışır bir sistemin olması sağlanır. On dürdüncü bölümde sürekli entegrasyon konusu incelenmektedir.
Bölüm 15:
İmplemenatasyonun hangi yöne gittiğini tespit edebilmek için yazılım metrikleri kullanılır. Bunlar sistemin belirli özelliklerinin ölçülmesi sonucu ortaya çıkan değerlerdir. On beşinci bölümüde sistem metriklerinin nasıl ve hangi araçlar kullanılarak ölçüldüğü gösterilmektedir.
Bölüm 16:
Kod paylaşımını kolaylaştırmak için versiyon kontrol sistemleri kullanılır. On altıncı bölümde açık kaynaklı olan Subversion versiyon kontrol sisteminin kullanımı açıklanmaktadır.
Bölüm 17:
Projenin gidişatını kontrol edebilmek için proje takip planları oluşturulur. Bu planlarda Burndown grafikleri kullanılarak görsellik sağlanır. Enformasyon radyatörü olarak tanımlanan metot ve yöntemler kullanılarak proje ekibinin ve diğer şahışların projenin gidişatı hakkında bilgi sahibi olması sağlanır. On yedinci bölümde sürüm ve iterasyon takibi konuları tematize edilmektedir.
Bölüm 18:
Son bölümde XP hakkında soru ve cevapları yer almaktadır.
Yazar: Özcan Acar
Yayınevi: Pusula
Sayfa adedi: 504.
Online satış: http://www.Kitapyum.com
Extreme Programming kategorisinden son 5 yazı
- Test Güdümlü Yazılımın Tasarım Üzerindeki Etkileri - November 17th, 2009
- Subversion İle Versiyon Kontrolü - April 7th, 2009
- Extreme Programming Hakkında Bazı Soru ve Cevapları - March 3rd, 2009
- Neden sürekli entegre edilmeli? - March 3rd, 2009
- Çevik Sürece Geciş Nasıl Olmalı? - February 13th, 2009
yazdır
|


kitapla ilgili bir gelişme oldu mu? Satışa hala sunulmadı sanırım.
Baskida gecikme olmus, önümüzdeki hafta satisa sunulacak sanirim.
Kitabınızı haLa buLamadım. Acaba satışa çıkmadı mı??
Ne yazik ki baski sorunlarindan dolayi 16.2.2009 dan itibaren satisa sunulacakmis.
http://www.kitapyum.com/ adresinden takip edebilirsiniz.
Hocam Kitabınız çıktıysa bana postalama imkanınız var mı bir örneğini. İnceLemek maksadıyLa. Ayrıca 28 Şubattaki Java Seminerini de kendi web sayfamdan da duyurusunu yaptım. Bu arada bir kurumda yazılım uzmanlığı yapıyorum. MIS programımız Java iLe inşaa ediLdi.
Seminer de görüşmek üzere SaygıLarımı sunarım.
Bende de bir tane var
Tebrik ederim. Güzel bir çalışmaya benziyor. Çok kişiye faydası olacağından şüphemiz yok.
Merhaba Ozcan Bey,
Kitabinizi Ankara CEPA alışveriş merkezi D&R’dan aldim. Oncelikle tebrik ederim.
Kitabi ilgiyle okurken birden kitabin 22.sayfadan 471. sayfaya atladigini, buradan Son Söz’ün bulundugu 485. sayfaya kadar gittigini, daha sonra 39. sayfa ve kitabin sonuna kadar normal gittigini ve kitabin sonunda 471-485 arasinin tekrarladigina sahit oldum. Kitapta 22. sayfa ile 39. sayfa arasinin eksik oldugunu farkettim. Umarim tüm baskılarda bu boyle değildir.
Kolay gelsin,
Bilginize.
Benim elime henüz kitabin bir kopyesi gecmedi. Sizin yazdiklariniz gercekten cok ilginc. Büyük bir ihtimalle baski hatasi oldu galiba. Cok titizlikle 3-4 kere tük kitabi ben ve editör arkadaslar gözden gecirdik. Umarim sadece sizin elinizdeki örnekte yanlis baski olmustur. Ben bu cumartesi kitabi inceleyecegim. Bu konuda size bilgi veririm.
özcan bey merhaba.
benim sizden bir ricam olacak.
yazılım geliştirme metodolojileri ile yeni ilgilenmeye başlayan biri olarak kavramları zihnimde net olarak bi yere oturtmak istiyorum.
kavram lar; şelale yöntemi, çevik (agile) süreçler, extreme programming (xp), scrum, test driven development, future driven development, … vs vs.
acaba bir sonraki kurumsaljava.com yazınızda bununla ilgili bir şema sunabilirmisiniz bize.
şu ana kadar benim kafam da şöyle bi yapı oluştu
1) klasik yöntemler
1.a) şelale yöntemi
1.b) …
2 çevik yöntemler
2.a) extreme programming
2.b) …
3 …
bu şekilde grafiksel bir yapı içeren bir yazı yazarsanız, bu işe yeni başlayanlar için süper olur.
bir de yazılım testleri ile alakalı şu kavramları açıklayan ayrı bir yazı yazarsanız o da süper olur.
1) unit test
2) acceptance test
3) iteration test
4) …
şimdiden çok çok teşekkürler.
bir de böyle bir kitabı türk yazılım camiasına kazandırdığınız için çok teşekkürler.
insan ın kendi ana dilinden bir şeyi öğrenmesi kadar güzel bi şey yok
saygılar.
Degisik test türleri hakkindaki yaziyi
http://www.kurumsaljava.com/2009/03/03/yazilimda-degisik-test-turleri/
adresinde okuyabilirsin.
Selala yöntemi hakkinda yazi:
http://www.kurumsaljava.com/2009/02/26/yazilimda-selale-waterfall-yontemi/
Extreme Programming hakkinda yazi: http://www.kurumsaljava.com/2008/11/21/extreme-programming-nedir/
Umarim yeterli olurlar.
merhaba özcan bey.
ceturk ün “çevik süreç ve tdd günü” haberini bende yayınlamıştım sitemde.
belki bana da kitap çıkar diye son ana kadar almadım kitabı, ama çıkmayınca hemen gittim idefix ten sipariş i verdim.
saygılar.
bu arada kitabı antalya migros avm d&r da inceledim ben, o 22-39 sayfalar arasındaki baskı hatası yoktu incelediğim kitapta
ben Ankara CEPA D&R magazasina degistirmeye gittigimde, ellerindeki diger kitabin da ayni oldugunu gorduler. İade edip baska bir magazadan problemsiz bir tane aldim.
İlk olarak Mehmet Aca’dan hediye olarak almayı planlayıp sonra alamayıp, gidip kitapcıdan para vererek alıp, okuduktan sonrada kendi kendime “ulan iyikide para verip almışım, son kuruşuna kadar hakediyor” dediğim güzel kitap =)
MVP’yim diye geçinen, blog sayfalarına boy boy Microsoft image’ leri yerleştiren, yurdumun güzide MVP’lerine de örnek olması gereken bir kitap bence =)
Ilginiz icin tesekkür ederim Mehmet bey. Kitabin isinize yaramasi beni sevindirir.
iyi calismalar
Oncelikle Ozcan Bey’e , ‘JAVA’ dunyasinda ve ozellikle ‘YAZILIM MUHENDISLIGI’ alaninda kazandigi tecrubelerini ve bilgilerini bizlerle paylastigi icin tesekkur ediyorum. Kisisel olarak, java dunyasi ile profosyonel anlamda ilgilenmesem de, ara sira takip etmekten de zevk almiyor degilim. Ozellikle cevik surecler, proje yonetim surecleri ve test gudumlu yazilim gelistirme yaklasimlarini iceren kitabinin turk yazilim gelistiricilere ufuklar acacagi inancindayim. Bu alanda turkiye de, turkce kaleme alinmis sanirim ilk kitap. ne yazikki, kitabinizi okumak istesemde; yurt disinda bulundugum icin henuz okuyamadim. ama Turkiye’ye gittigimde alacagim nadir kitaplar arasinda bulunacaktir. bu arada Proje yonetim sureclerini ele alirken, SCRUM yaklasimini XP ile birlikte uyguluyormusunuz ? sizin de iyi bildigi gibi SCRUM yaklasimini ozellikle proje yonetimi icin cok gerekli bir yontem olarak son yillarda onumuzde duruyor. Bu alandada calismalariniz varmi ?
Dr. Dipl.-Ing. Ugur Genc
mils electronic gesmbh & cokg
A-6068 mils • österriech
Merhaba Ugur bey,
ilginiz icin cok tesekkür ederim.
>SCRUM yaklasimini XP ile birlikte uyguluyormusunuz
XP, proje yönetim metotlarini Scrum dan almistir. Bu baglamda bakildiginda XP projelerinde Scrum da dolayli olarak uygulanmaktadir. Biz kendi uyguladigimiz projelerde XP ve dolayli olarak proje yönetimi icin Scrum kullaniyoruz.
Özcan Acar