• Sepet

Ürün Detayları

Pratik Agile

Ücretsiz!

Yazar: Özcan Acar
Nisan 2014 | 597 sayfa

Aşağıda yer alan linke tıklayarak bu e-kitabı ücretsiz edinebilirsiniz.



Kategori: . Etiket: , .

Profesyonel yazılımcıların nasıl uygulama geliştirdiklerini öğrenmek ister misiniz? Onlar test güdümlü yazılım yaparlar, eşli program yazarlar, kodlarını sürekli entegre ederler, sadece müşteri isteklerini koda dökerler, oluşturdukları birim, entegrasyon ve onay/kabul testleri sayesinde kodu cesurca yeniden yapılandırabilirler.

Bu kitap profesyonel bir yazılımcı olmak için sahip olmanız gereken yetenekleri bir çevik süreç olan Extreme Programming örneğinde göstermektedir. Profesyonel programacıların nasıl çalıştıklarını görerek ve öğrenerek bir fark yaratabilirsiniz. Artık Test Driven Development, Continuous Integration, Pair Programming, Integration Testing, Blackbox Testing her zaman duyup, tanımadığınız terimler olmaktan çıkacak. Bu yazılım metotlarının nasıl uygulandığını Pratik Agile kitabında örnekler üzerinde görecek ve uygulayacak seviyeye geleceksiniz.

Aşağıda yer alan linke tıklayarak bu e-kitabı ücretsiz edinebilirsiniz.


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ümden oluşmaktadır. Bu bölümlerin içerikleri özetle şöyledir:

Bölüm 1

Birinci bölümde şelale 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 implemente edilecek ö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 tematize edilmektedir.

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 toplantılar düzenlenir. Bunun yanı sıra belirli aralıklarla retrospective (geriye bakış) toplantılarında projeye geri bakış sağlanarak, oluşan hatalar üzerinde tartışılır ve çözümler aranır.

XP projelerinde programcılar pair programming (eşli programlama) 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şim aspekti 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 edilmektedir. Ayrıca 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ığı konusu 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

Birim (unit) testleri oluşturularak sistem komponentleri yazılım esnasında test edilir. Onay/kabul (acceptance) testleri, entegrasyon testleri, regresyon testleri, performans testleri gibi değişik türde testler oluşturmak mümkündür.

Java projelerinde JUnit test çatısı kullanılarak testler oluşturulur. Sekizinci bölümde JUnit kullanılarak birim testlerinin 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. Dokuzuncu 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 onay/kabul testlerinden yola çıkılarak, veri tabanı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 komponentlerinin simülasyonu 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 onay/kabul 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ümde onay/kabul 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 çatısı 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 altyapı hizmetleriyle programcıların hayatını kolaylaştırır ve programın test edilebilirliğini yükseltir.

Bölüm 13

Web uygulamalarının geliştirilmesi için Spring MVC çatısı kullanılabilir. Bu bölümde Spring MVC nin nasıl kullanıldığı 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ıldığı anda 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 e-posta 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ümde 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ısların projenin gidişatı hakkında bilgi sahibi olması sağlanır. On yedinci bölümde sürüm ve iterasyon takibi konuları incelenmektedir.

Bölüm 18

Son bölümde XP hakkında soru ve cevapları yer almaktadır.

Kitap 18 bölümden oluşmaktadır. Ana bölüm başlıkları şunlardır:

  • 1.Bölüm – Çevik Süreç XP (Agile Process XP)
  • 2.Bölüm – Proje Planlama
  • 3.Bölüm – İletişim
  • 4.Bölüm – XP Çalışma Ortamı
  • 5.Bölüm – XP Projesi
  • 6.Bölüm – Çalışma Ortamı Kurulumu
  • 7.Bölüm – Çevik Tasarım
  • 8.Bölüm – Birim Testleri
  • 9.Bölüm – Test Güdümlü Yazılım
  • 10.Bölüm – XP ile Shop Sistemi İmplementasyonu
  • 11.Bölüm – Onay/Kabul Testleri
  • 12.Bölüm – Spring Çatısı
  • 13.Bölüm – Spring MVC
  • 14.Bölüm – Sürekli Entegrasyon
  • 15.Bölüm – Yazılım Metrikleri
  • 16.Bölüm – Subversion ile Versiyon Kontrolü
  • 17.Bölüm – Proje Takibi
  • 18.Bölüm – XP Hakkında Sorular ve Cevapları

Tüm içerik başlıklarını görmek için aşağıda yer alan linke tıklayınız.

Pratik Agile Kapak2069 downloads

Özcan Acar 1974 İzmir doğumludur. İlk ve orta öğrenimini İzmir’de tamamladıktan sonra Almanya’da bulunan ailesinin yanına gitti. Doksanlı yılların sonunda Almanya’nın Darmstadt şehrinde bulunan FH Darmstadt üniversiteden bilgisayar mühendisi olarak mezun oldu. Freelance programcı, danışman ve koç olarak çalışmaktadır. Pratik Programcı Yayınları bünyesinde Pratik Spring isminde bir kitabı ve Profesyonel Java isminde görsel bir eğitim seti bulunmaktadır.

KurumsalJava.com ve Mikrodevre.com adresleri altında blog yazıyor. Kurduğu BTSoru.com‘da ona yazılımla ve kitapları ile ilgili sorularınızı yöneltebilirsiniz.

Twitter hesabından kendisini takip edebilirsiniz.

Pratik Agile bir e-kitap olup, PDF formatında satışa sunulmaktadır. Sipariş öncesinde bir PDF okuyucunuzun (reader) olduğunu kontrol ediniz.