IBM Rationa XDE Developer v2003

Download Report

Transcript IBM Rationa XDE Developer v2003

®
IBM Software Group
Yazılım Mühendisliği’nde IBM Rational
Pınar Uğurlu
Bilgi Teknolojileri Uzmanı / Rational
[email protected]
IBM Software Group | Rational software
Gündem
 Yazılım Mühendisliği’ne Bakış
 Yazılım Mühendisliği’nde Bugün
 IBM Yazılım Geliştirme Platformu
 IBM Yazılım Geliştirme Araçları
Rational
 Süreç İyileştirme
IBM Software Group | Rational software
Yazılım Mühendisliği’ne Bakış
Yazılım Geliştirmek zor bir süreçtir!
(ve her zaman yüksek maliyetli olarak öngörülür)
Yazılım projelerinin %66’si başarısızlıkla
sonuçlanıyor yada çok zor tamamlanıyor!
Standish Group,
CHAOS Report, 2003
IBM Software Group | Rational software
Niçin projeler
başarısız oluyor?
57% gereksinimlerin
zayıf belirlenmesi, veya
yönetilememesi
54% gerekli
fonksiyonların son ürüne
yansımaması
25% yetersiz araç
kullanımı veya gerekli
eğitimin alınmaması
82% öngörülen
zamanın aşılması, 51%
öngörülen bütçenin
aşılması
IBM Software Group | Rational software
IBM Software Group | Rational software
Gündem
 Yazılım Mühendisliği’ne Bakış
 Yazılım Mühendisliği’nde Bugün
 IBM Yazılım Geliştirme Platformu
 IBM Yazılım Geliştirme Araçları
Rational
 Süreç İyileştirme
IBM Software Group | Rational software
Yazılım Mühendisliği’nde Bugün
Source: Mercedes
* Gartner, April 2003, Embedded Software Development and Management - Automotive Industry
IBM Software Group | Rational software
Yazılım Mühendisliği’nde Bugün
Çoklu teknolojiler
ve
ortamlar
Kurumsal
Proje
Karmaşıklık
Teknoloji
yükü
Dağıtık
geliştirme
Koordinasyon ve yerleştirim
ve iletişim
Sabit
Kayıp ve bozucular
Uygulayıcı
Çok iş,
az zaman
Sınırlı kaynaklar
Maliyetler
Öğrenme eğrisi
Takım yetenek kümesi
Yazılım
modernizasyonu
IBM Software Group | Rational software
Yazılım Mühendisliği’nde Bugün
Geleneksel Yaklaşım
Gereksinimler
Analiz
Tasarım
Gerçekleştirim
Yükleme ve Bakım
Su-düşüşü (Waterfall)
IBM Software Group | Rational software
Yazılım Mühendisliği’nde Bugün
Nesne Yönelimli Metodoloji
Sistem
 Kullanıma göre kurgulanmış, “use-case driven”
Artırım
 Yinelenen Artırımlı, “iterative incremental”
 Mimari Odaklı, “architecture centric”
Test
Tasarım
Analiz
değişiklikler
Gereksinimler
İş ihtiyaçları
Gerçekleştirim
IBM Software Group | Rational software
IBM Software Group | Rational software
Model Yönelimli Geliştirme
Yazılım üretiminin modernize edilmesi, görselleştirilmesi, otomatikleştirilmesi,
yeniden kullanımını sağlayan stratejik bir yönelim
 Model Tabanlı İş
Entegrasyonu ile
geliştirme ve iş
ekiplerinin biraraya
getirilmesi
Modelleme
Gereksinimler
Yazılım
Üretimi
İş
Süreçleri
 Model paradigmaları
sayesinde
üretkenliği arttırma
 Tekrar kullanılabilir
kodlar geliştirmeyi
benimseterek süreci
hızlandırma ve
ucuzlatma
Yönetim
Devreye Alma
IBM Software Group | Rational software
Model Yönelimli Geliştirme
Sadece
program kodu
C
“Model ?
O da ne ?”
Kod
sihirbazı
Model
merkezli
Sadece
model
M
M
M
M
görselleştir
senkronize et
üret
C
C
C
“Kod, modeli
oluşturur”
1995
“Kodu ve
modeli
yönet”
2000
“Model kodun
kendisidir”
2005
“UML’ce
konuşalım”
IBM Software Group | Rational software
Takım Halinde Geliştirmeyi Kolaylaştırır
Ortak bir dil kullanımı
Gereksinim
Modelleme
İş Modelleme
Uygulama
Modelleme
Web
Modelleme
Veri
Modelleme
Ortak dil – Tek Araç – Tek takım
Note: Also Free-form Modeling
IBM Software Group | Rational software
İş-odaklı yazılım geliştirme yaşam döngüsü
Önceliklendir
Planla
Yönet
Ölçümle
İş
Son Kullanıcı
İşin
Modellenmesi
İş Yöneticisi
Gereksinimlerin
Tanımlanması
Koruma
Analiz
& Tasarım
BT Operasyon
Yöneticisi
Yönetim
Analist
Proje Yöneticisi
Gerçekleştirim
Mimar
Yerleştirim
Uygulama
Destek
Test
Geliştirici
Operasyon
Yerleştirme Yöneticisi
İyileştir
Test
Yinele
Geliştirme
IBM Software Group | Rational software
Gündem
 Yazılım Mühendisliği’ne Bakış
 Yazılım Mühendisliği’nde Bugün
 IBM Yazılım Geliştirme Platformu
 IBM Yazılım Geliştirme Araçları
Rational
 Süreç İyileştirme
IBM Software Group | Rational software
IBM Ürün Ailesinde Rational’ın Yeri
Oluştur
İşlet
Yönet
Yazılım Geliştirme
İşletim Yönetimi
 Uyarlanabilir Süreçler
 Gereksinim ve Analiz
Veri
 Görsel Modelleme ve  Altyapı ve Araçlar
Yönetimi
Geliştirme
 Portallar
 Test
 İş ve Süreç Entegrasyonu
 Proje Yönetimi
 Konfigürasyon
Yönetimi
Sistem
Yönetimi
Birlikte Çalışma ve
Bilgi Yönetimi
IBM Software Group | Rational software
IBM Yazılım Geliştirme Ortamı
Bütünleşik, Açık, Modüler, ve Kanıtlanmış Çözüm
Analiz
Modelle,
simüle et,
birleştir,
ve süreci
monitör et
Mimar
Görsel
modelle
(veri ve
uygulama)
Geliştirici
Hızlı
oluştur,
dönüştür,
entegre et
ve kod üret
Test
Uzmanı
Yerleştirim
Yöneticisi
Test
tasarla,
yarat,
ve çalıştır
Sunu
konfigüre et,
ayarlama yap
ve sorun
gider
Proje
Yöneticisi
 Süreç takibi
 Proje / portfolyo yönetimi
ve ölçümlenmesi
 Gereksinim yönetimi
Yönetici
 İş önceliklerine göre yatırımların yönetilmesi
 Proje portfolyolarının analiz, takip,ölçüm ve
değerlendirilmesi
 Kaynak ve değişiklik
yönetimi
 Kaliteyi yönetimi
IBM Software Group | Rational software
IBM Yazılım Geliştirme Ortamı
Analist
WebSphere
Business
Integration
Modeler
& Monitor
Rational
Software
Modeler
Mimar
Rational
Software
Architect
Geliştirici
Test Uzmanı
Yerleştirme
Yöneticisi
Rational
Application
Developer
Rational
Functional
& Manual
Tester
Tivoli
Configuration
Manager
Rational
Web
Developer
Rational
Performance
Tester
Tivoli
Monitoring
Customer
Extensions
3rd Party
ISV Tools
Rational
Project
Console
Proje
Yöneticisi
Yönetici
Rational
Requisite Pro
Rational
ClearCase
Rational Unified Process
Rational
ClearQuest
Rational Test
Manager
IBM Software Group | Rational software
Gündem
 Yazılım Mühendisliği’ne Bakış
 Yazılım Mühendisliği’nde Bugün
 IBM Yazılım Geliştirme Platformu
 IBM Yazılım Geliştirme Araçları
Rational
 Süreç İyileştirme
IBM Software Group | Rational software
Yazılım Geliştirme
Zorluklar
1.
Yazılım geliştirme, karmaşık, zaman alıcı ve
hataya açık bir süreç
2.
Oldukça bilgili ve yetkin geliştiricilere
gereksinim duyuyor ve kaynaklar kısıtlı
3.
Öğrenme eğrisi uzun
4.
Geleneksel yazılım geliştirme ortamları yetersiz
Çözüm




Endüstri Standartları ile Modelleme
Geliştirme ortamından daha çok faydalanmak
Hızlı ama sağlam kod geliştirme
Öğrenme eğrisini kısaltan veya ortadan kaldıran
Model-yönelimli yaklaşım yazılım geliştirme sürecini basitleştirir
IBM Software Group | Rational software
Ne
yapılacak?
Yazılım Analisti – Zorluk Noktaları
 Geliştiriciler müşteri isteklerini
karşılayamıyorlar – kendi
düşündüklerini yapıyorlar
 Gereksinimler içinde kayboldum –
isterdimki daha mantıksal bir
düzeyden bakabileyim ve
gereksinimleri yönetebileyim
 Tüm düzenleyici kısıtları anlamak ve
uymak zorundayız
 Heryerden değişiklik istekleri
yağıyor nasıl önceliklendireceğim
Anahtar Araçlar
IBM Rational RequisitePro
IBM Rational Rose Data Modeler
IBM Rational Software Modeler
IBM WebSphere Business Integration Modeler
& Monitor
İş
Analisti
Sistem
Analist





DBA / Veri
Analisti

IBM Software Group | Rational software
IBM Rational RequisitePro: Gereksinim Yönetimi
IBM Software Group | Rational software
Nasıl
Yapılacak?
Yazılım Mimarı – Zorluk Noktaları
 Mimariyi tüm katılımcılara
anlatabilmem lazım, bunu nasıl
yapabilirim?
 Her geliştirici kendi sitilini yaratıyor,
kodlamada ortak bir still, pattern
nasıl takip edebiliriz? Bunu nasıl
kontrol edebiliriz?
Anahtar Araçlar
IBM Rational Software Architect
IBM Rational Rose Data Modeler
Any of the Developer Role Products
 Geliştiriciler deneyimli,fakat aynı
hataları tekrar tekrar yapıyorlar
 Her geliştirici kendi yazdığı parçanın
çalıştığını söylüyor, fakat biraraya
getirip çalıştırdığımızda çalışmıyor
Mimar
Geliştirici






DBA

IBM Software Group | Rational software
IBM 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
“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
UML Language Transforms
Software Modeler
• C/C++ editors and build management
• Compiler and debugger integration
• UML code editors
“WSAD v6”
C/C++ Development Tools
Rational Application Developer
for WebSphere Software
RUP Configuration for SW Architects
ClearCase LT
•
•
•
•
•
•
•
•
•
•
•
•
•
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
IBM Software Group | Rational software
Yazılım Geliştirici – Zorluk Noktaları
 Kodlamak istiyorum; ama onlar
dökümantasyon da hazırlatıyorlar
 Kodlamak istiyorum; bana yazdığım
kodlar için test yarattırıyorlar
Anahtar Araçlar
Sadece
Yap!
 Kodlamak istiyorum; Onlar benden
daha az yaratıcılık daha çok çalışan
kod istiyorlar
 Kodlamak istiyorum; onlar
kodlarımın çalışıp çalışmadığından
emin olmak istiyorlar
Java/J2
Geliştirici
Microsoft
Geliştirici
Web
Geliştirici
Teknik
Geliştirici

IBM Rational Web Developer
for WebSphere Software
IBM Rational Application Developer
for WebSphere Software

IBM Rational Software Architect

IBM WebSphere Studio Enterprise Developer

IBM WebSphere Studio Asset Analyzer

Rational Rose XDE Developer Family









IBM Software Group | Rational software
Palette
Design Editor
Data
Objects
Page Data
Property Editor
IBM Software Group | Rational software
IBM Software Group | Rational software
Doğru
yaptılar
mı?
Yazılım Test Uzmanı – Zorluk Noktaları
 Aynı tuşlara tekrar tekrar
basmamamın bir yolu olmalı
 Teslerimizi otomatize ettik, fakat log
‘lardan raporlarımıza cut/paste
etmek zorunda kalıyoruz
 Java için ayrı Microsoft GUI için ayrı
terminal tabanlı uygulamalar için
ayrı test aracı öğrenmek ve
kullanmak çok büyük zaman kaybı
 Testlerimizin kodların ne kadarını
test ettiğini / kapsadığını bilemiyoruz
Test
Uzmanı
Geliştirici
İş
Analisti
IBM Rational Manual Tester



IBM Rational Functional Tester


IBM Rational Performance Tester


Anahtar Araçlar
IBM Rational Robot

IBM Rational PurifyPlus

IBM Rational Test RealTime


IBM Software Group | Rational software
Zaman ve
bütçe
içinde
yapın !
Proje Yöneticisi – Zorluk Noktaları
 Analistler çok soru soruyor !
 Mimar gerekenden daha “zarif” ve karmaşık
yapılar kuruyor!
 Geliştiriciler kuralları / stili takip etmiyorlar !
 İletişimi ve iş dağılımını yönetmek
çok zor
 Bukadar görünmeyen iş varken
zaman ve bütçe kısıtları içinde
kalmakta zorlanıyorum
 Test uzmanları gereksinimlerin hepsini test
etmiyorlar !
Proje
Yöneticisi
Analist
Mimar
Geliştirici
Test
Uzmanı
IBM Rational Unified Process





IBM Rational SUMMIT Ascendant



IBM Rational Team Unifying Platform





IBM Rational Suite





Anahtar Araçlar
IBM Software Group | Rational software
Yönetim
Startejilerle aynı hizada ol, Yatırım Kararlarını Ver
Project Portfolio Management
Önceliklendir, Planla, Yönet, Ölç
Uygulama Döngüsü Yönetimi
Yazılımları Oluştur, İşlet ve Yönet
IT
IBM Software Group | Rational software
Takım – Zorluk Noktaları
İşAkışı
Değişiklik Yönetimi
 Sürecin neresindeyiz?
 Eğer A üzerinde değişiklik yaparsam ne gibi
potansiyel etkileri oluşur, A ile B arasındaki
bağımlılık nasıl?
 Öncelikli olanları biliyormuyuz?
 Gereksinimlerin tamamını gerçekleştirdik
mi?
 Hatalar ve eksikleri biliyor muyuz?
 Sürüm 1.5 ve sürüm 2 arasında ne farklar
var?
 Sürüm 2 de çalışmaya başladık, şimdi sürüm
1,2 ye nasıl dönebilirim?
Proje
Yöneticisi
Analist
Mimar
Geliştirici
Test
Uzmanı
IBM Rational Unified Process





IBM Rational RequisitePro





IBM Rational ClearCase





IBM Rational ClearQuest





IBM Rational SoDA/Project Console





Anahtar Ürünler
IBM Software Group | Rational software
IBM Rational ClearCase : Değişiklik / Versiyon Yönetimi
IBM Software Group | Rational software
IBM Rational ClearQuest: Hata Yönetimi
IBM Software Group | Rational software
Gündem
 Yazılım Mühendisliği’ne Bakış
 Yazılım Mühendisliği’nde Bugün
 IBM Yazılım Geliştirme Platformu
 IBM Yazılım Geliştirme Araçları
Rational
 Süreç İyileştirme
IBM Software Group | Rational software
Süreç İyileştirme
Olgunlaşma Etmenleri
Olgunlaşmada Neden Sürece Odaklanılır?

Süreç daha yararlı ve sonuç almada daha güçlü bir odaklanma sağlar.
 İnsana odaklanmaya karşı
•
•
•
İş gücünüzün deneyimi ve eğitimi her zaman yeterli olmaz.
Çok fazla çalışma her zaman doğru cevap olmayabilir.
Daha iyi tanımlı süreçler daha cazip çalışmayı sağlayabilirler.
 Teknolojiye odaklanmaya karşı
•
•
Teknoloji kendi kendine etkili bir şekilde çoğunlukla kullanılamaz.
Teknoloji uygun süreç haritası kavramını içerdiğinde maksimum faydayı
sağlar.
IBM Software Group | Rational software
Süreç ve İnsanlar
etkililiği(effective)
artırırken
Teknoloji de
etkinliği(efficient)
arttırır.
Süreç İyileştirme

Bir yazılım firmasının hedeflerine
ulaşmasında temel olan kavram yazılım
mühendisliği kültürüdür.

Kültürün olgunlaşmasında en önemli
faktörler ise;İnsan, Süreç ve Teknolojidir

Organizasyonun kültürü süreç
iyileştirmeyi desteklediği zaman,
çalışanlar faydalı değişikliğe (süreç
iyileştirmeye) karşı direnç göstermezler.

Süreç iyileştirme sonucunda iyileştirilmiş
teknikleri, pratikleri kullanarak daha iyi
yazılım ürünleri geliştirilmesi esastır.
Kalite
Ürün/Hizmet
Olgunlaşma,
İnsan
Süreç
Teknoloji
IBM Software Group | Rational software
Süreç İyileştirme Döngüsü
 Organizasyonun ihtiyaçlarını incele
 Performansı ölç, veri topla
 Öncelikleri ve kapsamı belirle
 Süreç iyileştirmeyi başlat
 Süreç değerlendirmesi yap
 Sonuçlara göre eylem planı hazırla
 Eylem planını uygula
 İyileştirmeyi doğrula
 İyileştirmeyi kurumsallaştır
IBM Software Group | Rational software
Capability Maturity Model Integration (CMMI)
CMMI’ın Genel Yapısı/Olgunlaşma Seviyeleri
5 İyileşen
4 Niceliksel Yönetilen
3 Tanımlı
2 Yönetilen
1 Yerine Getirilen
0 Eksik
RUP, Rational ürünleri
ile doğrudan CMMI
Level 2’ye erişmeyi
sağlayan ve üst
seviyelere geçiş için
önemli bir basamak
olan entegre yazılım
geliştirme süreci olarak
tanımlanıyor
IBM Software Group | Rational software
Teşekkürler
Pınar Uğurlu
[email protected]
IBM Software Group | Rational software
Sorular?