Title: Yazilim M
1Yazilim Mühendisliginde IBM RationalPinar
UgurluBilgi Teknolojileri Uzmani / Rational
pinaru_at_tr.ibm.com
2Gündem
- Yazilim Mühendisligine Bakis
- Yazilim Mühendisliginde Bugün
- IBM Yazilim Gelistirme Platformu
- IBM Yazilim Gelistirme Araçlari
- Rational
- Süreç Iyilestirme
3Yazilim Mühendisligine Bakis Yazilim
Gelistirmek zor bir süreçtir! (ve her zaman
yüksek maliyetli olarak öngörülür)
Yazilim projelerinin 66si basarisizlikla
sonuçlaniyor yada çok zor tamamlaniyor!
Standish Group, CHAOS Report, 2003
4Niçin projelerbasarisiz oluyor?
57 gereksinimlerin zayif belirlenmesi, veya
yönetilememesi
54 gerekli fonksiyonlarin son ürüne yansimamasi
25 yetersiz araç kullanimi veya gerekli egitimin
alinmamasi
82 öngörülen zamanin asilmasi, 51 öngörülen
bütçenin asilmasi
5(No Transcript)
6Gündem
- Yazilim Mühendisligine Bakis
- Yazilim Mühendisliginde Bugün
- IBM Yazilim Gelistirme Platformu
- IBM Yazilim Gelistirme Araçlari
- Rational
- Süreç Iyilestirme
7Yazilim Mühendisliginde Bugün
Source Mercedes
Gartner, April 2003, Embedded Software
Development and Management - Automotive Industry
8Yazilim Mühendisliginde Bugün
9Yazilim Mühendisliginde Bugün Geleneksel
Yaklasim
- Gereksinimler
- Analiz
- Tasarim
- Gerçeklestirim
- Yükleme ve Bakim
Su-düsüsü (Waterfall)
10Yazilim Mühendisliginde Bugün Nesne Yönelimli
Metodoloji
Sistem
- Kullanima göre kurgulanmis, use-case driven
- Yinelenen Artirimli, iterative incremental
- Mimari Odakli, architecture centric
Artirim
Test
Tasarim
Analiz
Gerçeklestirim
degisiklikler
Gereksinimler
Is ihtiyaçlari
11(No Transcript)
12Model Yönelimli Gelistirme Yazilim üretiminin
modernize edilmesi, görsellestirilmesi,
otomatiklestirilmesi, yeniden kullanimini
saglayan stratejik bir yönelim
Gereksinimler
Modelleme
- Model Tabanli Is Entegrasyonu ile gelistirme ve
is ekiplerinin biraraya getirilmesi - Model paradigmalari sayesinde üretkenligi
arttirma - Tekrar kullanilabilir kodlar gelistirmeyi
benimseterek süreci hizlandirma ve ucuzlatma
Yazilim Üretimi
Is Süreçleri
Yönetim
Devreye Alma
13Model Yönelimli Gelistirme
2000
1995
2005
14Takim Halinde Gelistirmeyi KolaylastirirOrtak
bir dil kullanimi
Uygulama Modelleme
Web Modelleme
Gereksinim Modelleme
Veri Modelleme
Is Modelleme
Ortak dil Tek Araç Tek takim
Note Also Free-form Modeling
15Is-odakli yazilim gelistirme yasam döngüsü
Önceliklendir Planla
Yönet
Ölçümle
Is
Is Yöneticisi
Son Kullanici
Isin Modellenmesi
Gereksinimlerin Tanimlanmasi
Koruma
Analiz Tasarim
Analist
BT Operasyon Yöneticisi
Proje Yöneticisi
Yönetim
Gerçeklestirim
Mimar
Yerlestirim
Uygulama Destek
Test
Gelistirici
Gelistirme
Operasyon
Yerlestirme Yöneticisi
Test
Iyilestir Yinele
16Gündem
- Yazilim Mühendisligine Bakis
- Yazilim Mühendisliginde Bugün
- IBM Yazilim Gelistirme Platformu
- IBM Yazilim Gelistirme Araçlari
- Rational
- Süreç Iyilestirme
17IBM Ürün Ailesinde Rationalin Yeri
Olustur
Islet
Yönet
Yazilim Gelistirme
- Uyarlanabilir Süreçler
- Gereksinim ve Analiz
- Görsel Modelleme ve Gelistirme
- Test
- Proje Yönetimi
- Konfigürasyon Yönetimi
Isletim Yönetimi
Veri Yönetimi
- Altyapi ve Araçlar
- Portallar
- Is ve Süreç Entegrasyonu
Sistem Yönetimi
Birlikte Çalisma ve Bilgi Yönetimi
18IBM Yazilim Gelistirme OrtamiBütünlesik, Açik,
Modüler, ve Kanitlanmis Çözüm
Analiz
Mimar
Gelistirici
Test Uzmani
Yerlestirim Yöneticisi
Modelle, simüle et, birlestir,ve süreci monitör
et
Hizli olustur, dönüstür, entegre etve kod üret
Sunu konfigüre et, ayarlama yap ve sorun gider
Test tasarla, yarat, ve çalistir
Görsel modelle (veri ve uygulama)
- Süreç takibi
- Proje / portfolyo yönetimi ve ölçümlenmesi
- Gereksinim yönetimi
- Kaynak ve degisiklik yönetimi
- Kaliteyi yönetimi
Proje Yöneticisi
- Is önceliklerine göre yatirimlarin yönetilmesi
- Proje portfolyolarinin analiz, takip,ölçüm ve
degerlendirilmesi
Yönetici
19IBM Yazilim Gelistirme Ortami
Analist
Mimar
Gelistirici
Test Uzmani
Yerlestirme Yöneticisi
WebSphere Business Integration Modeler Monitor
Rational Functional ManualTester
Rational Application Developer
Tivoli Configuration Manager
Rational Software Architect
Rational Performance Tester
Rational Web Developer
TivoliMonitoring
Rational Software Modeler
CustomerExtensions
3rd PartyISV Tools
ECLIPSE
Rational Requisite Pro
Rational ClearCase
Rational ClearQuest
Rational Project Console
Rational Test Manager
Proje Yöneticisi
Rational Unified Process
TEAM UNIFYING PLATFORM
Rational Portfolio Manager
Yönetici
20Gündem
- Yazilim Mühendisligine Bakis
- Yazilim Mühendisliginde Bugün
- IBM Yazilim Gelistirme Platformu
- IBM Yazilim Gelistirme Araçlari
- Rational
- Süreç Iyilestirme
21Yazilim Gelistirme
- Zorluklar
- Yazilim gelistirme, karmasik, zaman alici ve
hataya açik bir süreç - Oldukça bilgili ve yetkin gelistiricilere
gereksinim duyuyor ve kaynaklar kisitli - Ögrenme egrisi uzun
- Geleneksel yazilim gelistirme ortamlari yetersiz
- Çözüm
- Endüstri Standartlari ile Modelleme
- Gelistirme ortamindan daha çok faydalanmak
- Hizli ama saglam kod gelistirme
- Ögrenme egrisini kisaltan veya ortadan kaldiran
Model-yönelimli yaklasim yazilim gelistirme
sürecini basitlestirir
22Yazilim Analisti Zorluk Noktalari
Ne yapilacak?
- Gelistiriciler müsteri isteklerini
karsilayamiyorlar kendi düsündüklerini
yapiyorlar - Gereksinimler içinde kayboldum isterdimki daha
mantiksal bir düzeyden bakabileyim ve
gereksinimleri yönetebileyim
- Tüm düzenleyici kisitlari anlamak ve uymak
zorundayiz - Heryerden degisiklik istekleri yagiyor nasil
önceliklendirecegim
Anahtar Araçlar Is Analisti Sistem Analist DBA / Veri Analisti
IBM Rational RequisitePro ? ?
IBM Rational Rose Data Modeler ? ?
IBM Rational Software Modeler ?
IBM WebSphere Business Integration Modeler Monitor ?
23IBM Rational RequisitePro Gereksinim Yönetimi
24Yazilim Mimari Zorluk Noktalari
Nasil Yapilacak?
- Mimariyi tüm katilimcilara anlatabilmem lazim,
bunu nasil yapabilirim? - Her gelistirici kendi sitilini yaratiyor,
kodlamada ortak bir still, pattern nasil takip
edebiliriz? Bunu nasil kontrol edebiliriz?
- Gelistiriciler deneyimli,fakat ayni hatalari
tekrar tekrar yapiyorlar - Her gelistirici kendi yazdigi parçanin
çalistigini söylüyor, fakat biraraya getirip
çalistirdigimizda çalismiyor
Anahtar Araçlar Mimar Gelistirici DBA
IBM Rational Software Architect ? ?
IBM Rational Rose Data Modeler ? ? ?
Any of the Developer Role Products ? ?
25IBM Rational Software Architect v6.0
- Application Analyzer
- Automatic anti-pattern and pattern detection
- Architectural discovery, analysis, metrics, and
stability reporting - Implementation level architectural rules
IBM Rational Software Architect
Java Structural Analysis
- Sample UML-to-code transforms for EJB, Java, and
C - Selective language to UML harvesting
UML Language Transforms
- Modeler
- UML 2.0 Diagrams for Class, Communication,
Component, Composite Structure, Deployment,
Activity, Sequence, State, and Use Case - OCL Support
- Automatic diagram generation
- Pattern content
- Pattern/Transform authoring framework and
services - Extensive open API
- Java-based scripting for extensibility
- HTML and XML based data extraction and reporting
- Extensive printing
- RAS tools
- C/C editors and build management
- Compiler and debugger integration
- UML code editors
Software Modeler
C/C Development Tools
- WSAD v6
- JSF, SDO, Struts
- Java GUI editor
- Web diagram editor
- Site designer
- Web Services development tools
- Database editing tools
- EGL
- EJB development tools
- UML code editors for EJB, Java, and Data
- Static Analysis
- Runtime Analysis
- Component test automation
- Portal/Portlet development tools
Rational Application Developer for WebSphere
Software
RUP Configuration for SW Architects
ClearCase LT
26Yazilim Gelistirici Zorluk Noktalari
Sadece Yap!
- Kodlamak istiyorum ama onlar dökümantasyon da
hazirlatiyorlar - Kodlamak istiyorum bana yazdigim kodlar için
test yarattiriyorlar
- Kodlamak istiyorum Onlar benden daha az
yaraticilik daha çok çalisan kod istiyorlar - Kodlamak istiyorum onlar kodlarimin çalisip
çalismadigindan emin olmak istiyorlar
Anahtar Araçlar Java/J2 Gelistirici Microsoft Gelistirici Web Gelistirici Teknik Gelistirici
IBM Rational Web Developerfor WebSphere Software ?
IBM Rational Application Developerfor WebSphere Software ? ? ?
IBM Rational Software Architect ? ? ? ?
IBM WebSphere Studio Enterprise Developer ?
IBM WebSphere Studio Asset Analyzer ?
Rational Rose XDE Developer Family ? ? ? ?
27Palette
Design Editor
Page Data
Data Objects
Property Editor
28(No Transcript)
29Yazilim Test Uzmani Zorluk Noktalari
Dogru yaptilar mi?
- Ayni tuslara tekrar tekrar basmamamin bir yolu
olmali - Teslerimizi otomatize ettik, fakat log lardan
raporlarimiza cut/paste etmek zorunda kaliyoruz
- Java için ayri Microsoft GUI için ayri terminal
tabanli uygulamalar için ayri test araci ögrenmek
ve kullanmak çok büyük zaman kaybi - Testlerimizin kodlarin ne kadarini test ettigini
/ kapsadigini bilemiyoruz
Anahtar Araçlar Test Uzmani Gelistirici Is Analisti
IBM Rational Manual Tester ? ? ?
IBM Rational Functional Tester ? ?
IBM Rational Performance Tester ? ?
IBM Rational Robot ?
IBM Rational PurifyPlus ? ?
IBM Rational Test RealTime ?
30Proje Yöneticisi Zorluk Noktalari
Zaman ve bütçe içinde yapin !
- Iletisimi ve is dagilimini yönetmek çok zor
- Bukadar görünmeyen is varken zaman ve bütçe
kisitlari içinde kalmakta zorlaniyorum
- Analistler çok soru soruyor !
- Mimar gerekenden daha zarif ve karmasik yapilar
kuruyor! - Gelistiriciler kurallari / stili takip etmiyorlar
! - Test uzmanlari gereksinimlerin hepsini test
etmiyorlar !
Anahtar Araçlar Proje Yöneticisi Analist Mimar Gelistirici Test Uzmani
IBM Rational Unified Process ? ? ? ? ?
IBM Rational SUMMIT Ascendant ? ? ?
IBM Rational Team Unifying Platform ? ? ? ? ?
IBM Rational Suite ? ? ? ? ?
31Yönetim
Startejilerle ayni hizada ol, Yatirim Kararlarini
Ver
Project Portfolio ManagementÖnceliklendir,
Planla, Yönet, Ölç
Only IBM!
Uygulama Döngüsü Yönetimi
Yazilimlari Olustur, Islet ve Yönet
IT
32Takim Zorluk Noktalari
- Degisiklik Yönetimi
- Eger A üzerinde degisiklik yaparsam ne gibi
potansiyel etkileri olusur, A ile B arasindaki
bagimlilik nasil? - Sürüm 1.5 ve sürüm 2 arasinda ne farklar var?
- Sürüm 2 de çalismaya basladik, simdi sürüm 1,2 ye
nasil dönebilirim?
- IsAkisi
- Sürecin neresindeyiz?
- Öncelikli olanlari biliyormuyuz?
- Gereksinimlerin tamamini gerçeklestirdik mi?
- Hatalar ve eksikleri biliyor muyuz?
Anahtar Ürünler Proje Yöneticisi Analist Mimar Gelistirici Test Uzmani
IBM Rational Unified Process ? ? ? ? ?
IBM Rational RequisitePro ? ? ? ? ?
IBM Rational ClearCase ? ? ? ? ?
IBM Rational ClearQuest ? ? ? ? ?
IBM Rational SoDA/Project Console ? ? ? ? ?
33IBM Rational ClearCase Degisiklik / Versiyon
Yönetimi
34IBM Rational ClearQuest Hata Yönetimi
35Gündem
- Yazilim Mühendisligine Bakis
- Yazilim Mühendisliginde Bugün
- IBM Yazilim Gelistirme Platformu
- IBM Yazilim Gelistirme Araçlari
- Rational
- Süreç Iyilestirme
36Süreç Iyilestirme Olgunlasma Etmenleri
- Olgunlasmada Neden Sürece Odaklanilir?
- Süreç daha yararli ve sonuç almada daha güçlü bir
odaklanma saglar. - Insana odaklanmaya karsi
- Is gücünüzün deneyimi ve egitimi her zaman
yeterli olmaz. - Çok fazla çalisma her zaman dogru cevap
olmayabilir. - Daha iyi tanimli süreçler daha cazip çalismayi
saglayabilirler. - Teknolojiye odaklanmaya karsi
- Teknoloji kendi kendine etkili bir sekilde
çogunlukla kullanilamaz. - Teknoloji uygun süreç haritasi kavramini
içerdiginde maksimum faydayi saglar.
37Süreç Iyilestirme
Süreç ve Insanlar etkililigi(effective)
artirirken Teknoloji de etkinligi(efficient)
arttirir.
- Bir yazilim firmasinin hedeflerine ulasmasinda
temel olan kavram yazilim mühendisligi
kültürüdür. - Kültürün olgunlasmasinda en önemli faktörler
iseInsan, Süreç ve Teknolojidir - Organizasyonun kültürü süreç iyilestirmeyi
destekledigi zaman, çalisanlar faydali
degisiklige (süreç iyilestirmeye) karsi direnç
göstermezler. - Süreç iyilestirme sonucunda iyilestirilmis
teknikleri, pratikleri kullanarak daha iyi
yazilim ürünleri gelistirilmesi esastir.
Kalite
Ürün/Hizmet
Olgunlasma,
Insan
Süreç
Teknoloji
38Süreç Iyilestirme Döngüsü
- Organizasyonun ihtiyaçlarini incele
- Performansi ölç, veri topla
- Öncelikleri ve kapsami belirle
- Süreç iyilestirmeyi baslat
- Süreç degerlendirmesi yap
- Sonuçlara göre eylem plani hazirla
- Eylem planini uygula
- Iyilestirmeyi dogrula
- Iyilestirmeyi kurumsallastir
39Capability Maturity Model Integration (CMMI)
CMMIin Genel Yapisi/Olgunlasma Seviyeleri
5 Iyilesen 4 Niceliksel Yönetilen 3
Tanimli 2 Yönetilen 1 Yerine Getirilen 0
Eksik
RUP, Rational ürünleri ile dogrudan CMMI Level
2ye erismeyi saglayan ve üst seviyelere geçis
için önemli bir basamak olan entegre yazilim
gelistirme süreci olarak tanimlaniyor
40Tesekkürler
Pinar Ugurlu pinaru_at_tr.ibm.com
41Sorular?