Nesne Tabanlı Yazılım Geliştirme Bora Güngören Portakal Teknoloji EMO Ankara Şubesi 10.02.2007.

Slides:



Advertisements
Benzer bir sunumlar
Yazılım Geliştirme Süreci
Advertisements

ETG Danışmanlık Yardım Masası
YAZILIM GELİŞTİRME SÜRECİ
Sistem Analizi ve Planlama
Eğitsel Yazılımların Değerlendirilmesi
MODÜL 4 Organizasyon.
İSİM UZAYLARI.
PROGRAMLAMA.  Hepimiz çok işi biliyoruz ki, bilgisayarlar günümüzde yaşamımızın kaçınılmaz birer parçası haline gelmiştir. Akıllı cep telefonlarımızdan,
INTERNET TABANLI HASTA KAYDI PAYLAŞIMI VE TELEKONSÜLTASYON PLATFORMU
NESNEYE YÖNELİK PROGRAMLAMA
Bilgi Teknolojisinin Temel Kavramları
PROJE YÖNETİMİ VE RİSK ANALİZİ
6. Kaynak Yönetimi 1-İnsan kaynakları (görevlendirme, yeterlilik, eğitim) 2-Enformasyon 3-Alt yapı (işyeri, ekipman, devamlılık, destek hizmetler) 4-Çalışma.
Yazılım Mühendisliği Bölüm - 7 Yazılım Doğrulama ve Geçerleme
BELGELEME Ian Sommerville, “Software Documentation”,
BENZETİM Prof.Dr.Berna Dengiz 4. Ders Modelleme yaklaşımları
BBY Bilgi Teknolojisi ve Yönetimi
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
NESNEYE YÖNELİK PROGRAMLAMANIN TEMEL İLKELERİ GENEL BİR BAKIŞ
Yazılım Proje Yönetimi
TÜBİTAK SOBAG Proje Örnekleri Proje Örneği 1 Projenin temel araştırma konusu STK’ların vatandaşlık eğitimi için nasıl.
Eğitimde Bilgisayar Uygulamaları
Chapter 1: Giriş.
NESNEYE-YÖNELİK PROGRAMLAMA
Kurumsal İçerik Yönetimi Kapsamında Bilgi Güvenliği
NESNE TABANLI PROGRAMLAMA VISUAL BASİC 6.0. NESNELERİN TASARIMI Uygulama Tasarım Alanı Proje Gezgini Nesne Özellikleri Araç Kutusu Forumun Ekrandaki Konumu.
, Denizli Akademik Bilişim 2006 YAZILIM GELİŞTİRME SÜRECİNDE OTOMATİK KOD ÜRETİCİLER Çağdaş Can BİRANT Kökten Ulaş BİRANT Prof. Dr. Alp KUT.
BTÖ302 - İNTERNET ORTAMINDA YAZARLIK DİLLERİ UYGULAMALARI
LABORATUVAR VERİLERİNDE STANDARDİZASYON: LOINC
Buse Ustaoğlu Ahmet Çağrı Bağbaba İnan Erdem Berna Örs Yalçın
Süreç Yönetimi.
Kritik Finansal Sistemlerde Yazılım Değişiklik ve Takip Yönetim Sistemi Mehmet Vacit BAYDARMAN BİLGİ TEKNOLOJİLERİ.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Temel Kavramlar Mehmet Barış HORZUM.
EĞİTİM TEKNOLOJİLERİ VE ÖĞRETİM TASARIMI
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
SUNUM İÇERİĞİ Şubenin Görevleri Mevzuat Çalışmaları Projeler.
YAPIM KUŞAĞI ÜRETİYORUM.
Sistem Yaklaşımı.
BİLİŞİM TEKNOLOJİLERİ DERS KİTAPLARI
YENİ TÜRK TİCARET KANUNU SÜRECİNDE YOL HARİTASI Hazırlayan: Recep Aşır Temmuz 2012.
Psikolojik Danışman: Hasan KARAKIŞ.  Bilgisayar kullanımı yirminci yüzyılın özellikle son on yılında büyük bir hızla artmıştır. Bu artış, hem tüm dünyaya.
DENEYSEL YAKLAŞIM (Kullanıcı Testleri)
KAMU YÖNETİMİNDE İÇ KONTROL SİSTEMİ ve İÇ KONTROL EYLEM PLANININ UYGULANMASI KAMU YÖNETİMİNDE İÇ KONTROL SİSTEMİ ve İÇ KONTROL EYLEM PLANININ UYGULANMASI.
SAHA GÜVENLİK BELGELENDİRMESİ Dr. Gökhan ŞENGÜL.
NOT: Bu slayt üzerindeki resmi değiştirmek için resmi seçin ve silin. Ardından, kendi resminizi eklemek için yer tutucudaki Resimler simgesini tıklatın.
CRM İÇIN STRATEJIK BIR YAKLAŞıM Hafta 5 – Adrian Payne Chapter 1 Prof. Dr. Remzi ALTUNIŞIK.
Bilgisayar Mühendisliğindeki Yeri
Yazılım Mühendisliği YYurtaY. Ekip çalışması
Kurumsal Java Nedir? Bora Güngören Portakal Teknoloji Yeditepe Üniversitesi
Java ve Linux Bora Güngören Portakal Teknoloji Akademik Bilişim
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
Yazılım Mühendisliği Standartları
TKY UYGULAMASI.
Sizce Teknoloji Nedir?.
Bilimsel Araştırma Yöntemleri ve İstatistik
Yazılım Geliştirme Yaşam Döngüsü
Problem Çözme Yaklaşımları
DENETİM YAKLAŞIMININ BELİRLENMESİ
MBLOCK ile Arduino ve Robotik Kodlama
Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Müh.
Prof. Dr. Ali Yazıcı TOBB Ekonomi ve Teknoloji Üniversitesi
AVRUPA BİRLİĞİ ÇERÇEVE PROGRAMLARI
TEKNOLOJİ VE TASARIMIN TEMELLERİ
Yazılım Geliştirme Yaşam Döngüsü
Eğitsel Yazılımların Değerlendirilmesi
BİLGİSAYAR PROGRAMLAMA ÖĞRETİMİNDE YENİ BİR YAKLAŞIM
Sınav Türleri: Uzun Yanıtlı ve Kısa Yanıtlı
KODLAMA ve BECERİLER Dr. Osman EROL.
Sunum transkripti:

Nesne Tabanlı Yazılım Geliştirme Bora Güngören Portakal Teknoloji EMO Ankara Şubesi

2 Kural Motorları Tasarı m Sınama Yazılım Gerçek leme Çözüm leme Ürün ve Bakım Süreci Geleneksel (doğrusal) yazılım geliştirme süreci varsayımı:

3 Nesne Tabanlı Yazılım Geliştirme Nesne tabanlı yazılım geliştirme sadece programlama etkinliğinin nesne tabanlı biçimde gerçeklenmesi değildir. –Sadece C++, Java, C# gibi bir dilin kullanılması projeyi veya üretilen yazılımı nesne tabanlı yapmaz. –Geleneksel süreç tanımındaki her bir ana etkinliğin kendi içinde nesne tabanlı yaklaşımla sürdürülmesi gereklidir. –Bunun dışında her bir ana etkinliğin aralarındaki ilişkilerin de nesne tabanlı biçimde iletişim kurmasını bekleriz. Bunun sağlanması kendiliğinden olmaz. O zaman asgari beklenti olarak bu dört etkinliğin nasıl nesne tabanlı olacağını görmek gerekli.

4 Nesne Tabanlı Yazılım Geliştirme Nesne Tabanlı Çözümleme Nesne Tabanlı Tasarım Nesne Tabanlı Yazılım Gerçekleme (Programlama?) Nesne Tabanlı Sınama (Test)

5 Nesne Tabanlı Çözümleme Çözümleme bir uygulamanın kullanılacağı iş alanı (business domain) içinde yaratacağı faydadan başlayarak, bazı soruları yanıtlama işidir. –Kim –Ne(yi) –Nerede –Ne zaman –Neden –Nasıl –(Yaptı?) Çözümlemenin nesne tabanlı yapılması bu soruların nesneler üzerinden yanıtlanması işidir.

6 Nesne Tabanlı Çözümleme Bu durumda –Kim sorusunun yanıtı olan kullanıcılar, onların görevleri ve yetkileri (rolleri?) birer nesne olarak modellenmelidir. –Ne sorusunun yanıtı olan işler, sıklıkla bir diğer nesnenin işleteceği bileşenler (olaylar, görevler, vs) olarak modellenmelidir. –Nerede sorusunun yanıtı olan iş kapsamları nesnelerin tanımlı durumlarına katkıda bulunacaktır.

7 Nesne Tabanlı Çözümleme Bu durumda –Ne zaman sorusunun yanıtı olan zaman bilgilerini nesne tabanlı modellemek oldukça zor bir iştir. –Neden sorusunun yanıtı olan amaçlar, iş süreçlerinin ayrılmasında (kulvarların oluşturulması) kullanılır. –Nasıl sorusunun yanıtı olan iş detayları kullanım durumu (use case) belgeleri ve ayrıca yasal dokümanlar, tüzükler gibi yardımcı belgelere dağıtılıp doğrulanmalıdır.

8 Nesne Tabanlı Tasarım Yazılımın mimari tasarımı problemi kendi başına büyük bir problemdir. Burada detay tasarımı tartışacağız. Nesne tabanlı (detay) tasarım asıl olarak çözümleme sırasında elde edilen iş modelini (business model) temel alır.

9 Nesne Tabanlı Tasarım Bu modelin gerçeklenmesi için eldeki kuramsal model ile uygulamada kullanılacak olan model arasında bir geçiş yaşanır. –Bazı iş modelleri birebir aktarılamaz. –Kullanılacak teknolojiler seçilmiş olabilir. Bu teknolojilerin kullanımı için modelde değişiklikler olabilir. –Performans, güvenlik gibi ek kriterler devreye girer. Bu da iş modelinin aktarımına etki eder. Nihayetinde programı yazacak olan kişilerin anlayacağı bir tasarım oluşur.

10 Nesne Tabanlı Yazılım Gerçekleme (Programlama?) Nesne tabanlı yazılım gerçekleme sadece programlama etkinliğinden ibaret değildir. –Yazılımın detay tasarımına sadık kalınarak kodların yazılması işi aslında belli ara birimlerin uygulanması ve her bir uygulamada belirlenmiş iş kurallarına dair algoritmaların gerçeklenmesidir. –Ancak bu sırada bu tasarımın ve iş kurallarının sabit kalacağını varsayamayız. –Bu durumda sürümleme, bütünleştirme ve bunun sürekli hale getirilmesi işi önem kazanır. Yapılandırmanın yönetimi bazı projelerde program yazmadan daha çok zaman alır.

11 Nesne Tabanlı Yazılım Gerçekleme (Programlama?) Bu noktada kodların ve değişikliklerin çok dikkatli biçimde belgelenmesi gerekir. –Bir değişiklikle ilgili belgeye kolayca erişilebilmesi için belgelerin de paralel bir yapıda yönetilmesi zorunludur. Belge yönetimini yazılım gerçekleme ana etkinliğinden soyutlamak kolayca yapılabilecek bir hatadır. –Bu hata yapılırsa belgeler ve projedeki kodlar arasındaki ilişki kopar. –Bu durumda projenin süreç içindeki yazılım bakımı zorlaşır. Teslimat sonrası bakım için ise belgeleme sıklıkla yetersiz kalır. Nesne tabanlı yaklaşım bakım problemini de ele alır. –Hatta bazen en öne alır.

12 Nesne Tabanlı Sınama (Test) Sınama (test) etkinliğinin nesne tabanlı gerçekleştirilmesi, kod seviyesindeki hataların saptanması için zorunludur. –Nesne testi, ara birim test, paket testi gibi kavramların katı biçimde uygulanması gerekir. Bununla birlikte, daha büyük ölçekli veya dışsal gözüken testlerin de, nesne tabanlı yapıdan yararlanacak biçimde kurgulanması mümkündür. –Testler sırasında elde edilen hataların ilgili nesnelere kadar götürülebilmesi için gerekli yaklaşımlar hem testlerde hem de test edilen kodlarda kullanılmalıdır. –Testlerin çoğunun da yine nesne tabanlı olarak tasarlanması ve yazılması önemli faydalar sağlayacaktır. s

13 Sorular?