Sıra | DOSYA ADI | Format | Bağlantı |
---|---|---|---|
01. | Yazılım Mühendisliği’nde Ibm Rational | ppt | Sunumu İndir |
Transkript
IBM Software Group ® Yazılım Mühendisliği’nde IBM Rational Pınar Uğurlu Bilgi Teknolojileri Uzmanı / Rational pinaru@tr.ibm.com
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 projelerinin %66’si başarısızlıkla sonuçlanıyor yada çok zor tamamlanıyor! 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) Standish Group, CHAOS Report, 2003
IBM Software Group | Rational software 54% gerekli fonksiyonların son ürüne yansımaması 82% öngörülen zamanın aşılması, 51% öngörülen bütçenin aşılması 57% gereksinimlerin zayıf belirlenmesi, veya yönetilememesi Niçin projeler başarısız oluyor? 25% yetersiz araç kullanımı veya gerekli eğitimin alınmaması
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 * Gartner, April 2003, Embedded Software Development and Management - Automotive Industry Source: Mercedes
IBM Software Group | Rational software Maliyetler Çoklu teknolojiler ve ortamlar Dağıtık geliştirme ve yerleştirim Yazılım modernizasyonu Kurumsal Karmaşıklık Koordinasyon ve iletişim Takım yetenek kümesiSınırlı kaynaklar Proje Teknoloji yükü Sabit Kayıp ve bozucular Öğrenme eğrisiÇok iş, az zaman Uygulayıcı Yazılım Mühendisliği’nde Bugün
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 Kullanıma göre kurgulanmış, “use-case driven” Yinelenen Artırımlı, “iterative incremental” Mimari Odaklı, “architecture centric” Artırım Gereksinimler AnalizGerçekleştirim Tasarım Test İş ihtiyaçları değişiklikler Sistem
IBM Software Group | Rational software
IBM Software Group | Rational software Model Tabanlı İş Entegrasyonu ile geliştirme ve iş ekiplerinin biraraya getirilmesi Model paradigmaları sayesinde üretkenliği arttırma Tekrar kullanılabilir kodlar geliştirmeyi benimseterek süreci hızlandırma ve ucuzlatma Yazılım Üretimi Modelleme Yönetim Devreye Alma İş Süreçleri 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 Gereksinimler
IBM Software Group | Rational software “UML’ce konuşalım” M Sadece model “Model ? O da ne ?” C Sadece program kodu “Kod, modeli oluşturur” M C Kod sihirbazı görselleştir “Kodu ve modeli yönet” M C senkronize et “Model kodun kendisidir” M C Model merkezli üret 20001995 2005 Model Yönelimli Geliştirme
IBM Software Group | Rational software Takım Halinde Geliştirmeyi Kolaylaştırır Ortak bir dil kullanımı Ortak dil – Tek Araç – Tek takım Veri Modelleme Web Modelleme Uygulama Modelleme İş Modelleme Gereksinim Modelleme Note: Also Free-form Modeling
IBM Software Group | Rational software BT Operasyon Yöneticisi Uygulama Destek İş Yöneticisi Analist Mimar Proje Yöneticisi İşin Modellenmesi Gereksinimlerin Tanımlanması Analiz & Tasarım Gerçekleştirim Test Yerleştirim Yönetim Koruma TestYerleştirme Yöneticisi Geliştirici İş GeliştirmeOperasyon İş-odaklı yazılım geliştirme yaşam döngüsü Önceliklendir Planla Yönet Ölçümle Son Kullanıcı İyileştir Yinele
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 Uyarlanabilir Süreçler Gereksinim ve Analiz Görsel Modelleme ve Geliştirme Test Proje Yönetimi Konfigürasyon Yönetimi Sistem Yönetimi Veri Yönetimi İşletim Yönetimi Yazılım Geliştirme İşlet Yönet Altyapı ve Araçlar Portallar İş ve Süreç Entegrasyonu Birlikte Çalışma ve Bilgi Yönetimi
IBM Software Group | Rational software Analiz Mimar Geliştirici Test Uzmanı Hızlı oluştur, dönüştür, entegre et ve kod üret Test tasarla, yarat, ve çalıştır Modelle, simüle et, birleştir, ve süreci monitör et Görsel modelle (veri ve uygulama) Sunu konfigüre et, ayarlama yap ve sorun gider Süreç takibi Proje / portfolyo yönetimi ve ölçümlenmesi Gereksinim yönetimi Kaynak ve değişiklik yönetimi Kaliteyi yönetimiProje Yöneticisi Yönetici İş önceliklerine göre yatırımların yönetilmesi Proje portfolyolarının analiz, takip,ölçüm ve değerlendirilmesi Yerleştirim Yöneticisi IBM Yazılım Geliştirme Ortamı Bütünleşik, Açık, Modüler, ve Kanıtlanmış Çözüm
IBM Software Group | Rational software Customer Extensions 3rd Party ISV Tools Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Tivoli Configuration Manager WebSphere Business Integration Modeler & Monitor Tivoli Monitoring Rational Web Developer Analist Mimar Geliştirici Test Uzmanı Yerleştirme Yöneticisi Proje Yöneticisi Yönetici Rational Software Modeler IBM Yazılım Geliştirme Ortamı Rational Requisite Pro ti l i i Rational ClearCase i l l Rational ClearQuest ti l l Rational Project Console i l j t l Rational Test Manager i l Rational Unified Processti l ifi
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 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 Ne yapılacak? Anahtar Araçlar İş Analisti Sistem Analist DBA / Veri Analisti IBM Rational RequisitePro IBM Rational Rose Data Modeler IBM Rational Software Modeler IBM WebSphere Business Integration Modeler & Monitor
IBM Software Group | Rational software IBM Rational RequisitePro: Gereksinim Yönetimi
IBM Software Group | Rational software 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? 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 Nasıl Yapılacak ? Anahtar Araçlar Mimar Geliştirici DBA IBM Rational Software Architect IBM Rational Rose Data Modeler Any of the Developer Role Products
IBM Software Group | Rational software IBM Rational Software Architect ClearCase LT RUP Configuration for SW Architects IBM Rational Software Architect v6.0 Rational Application Developer for WebSphere Software C/C++ Development Tools Software Modeler UML Language Transforms Java Structural Analysis “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 “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 • Sample UML-to-code transforms for EJB, Java, and C++ • Selective language to UML harvesting “Application Analyzer” • Automatic anti-pattern and pattern detection • Architectural discovery, analysis, metrics, and stability reporting • Implementation level architectural rules
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 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 Sadece Yap! Anahtar Araçlar 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 Design Editor Palette Page Data Property Editor Data Objects
IBM Software Group | Rational software
IBM Software Group | Rational software 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 Anahtar Araçlar Test Uzmanı Geliştirici İş Analisti IBM Rational Manual Tester IBM Rational Functional Tester IBM Rational Performance Tester IBM Rational Robot IBM Rational PurifyPlus IBM Rational Test RealTime Doğru yaptılar mı?
IBM Software Group | Rational software 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 ! Test uzmanları gereksinimlerin hepsini test 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 Zaman ve bütçe içinde yapın ! Anahtar Araçlar ProjeYöneticisi Analist Mimar Geliştirici Test Uzmanı IBM Rational Unified Process IBM Rational SUMMIT Ascendant IBM Rational Team Unifying Platform IBM Rational Suite
IBM Software Group | Rational software IT Yönetim Project Portfolio Management Önceliklendir, Planla, Yönet, Ölç Uygulama Döngüsü Yönetimi Startejilerle aynı hizada ol, Yatırım Kararlarını Ver Yazılımları Oluştur, İşlet ve Yönet
IBM Software Group | Rational software Takım – Zorluk Noktaları İşAkışı Sürecin neresindeyiz? Öncelikli olanları biliyormuyuz? Gereksinimlerin tamamını gerçekleştirdik mi? Hatalar ve eksikleri biliyor muyuz? Değişiklik Yönetimi 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? 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? Anahtar Ürünler 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
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 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. Süreç İyileştirme Olgunlaşma Etmenleri
IBM Software Group | Rational software 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. İnsan Süreç Teknoloji Olgunlaşma, Ürün/Hizmet Kalite Süreç ve İnsanlar etkililiği(effective) artırırken Teknoloji de etkinliği(efficient) arttırır.
IBM Software Group | Rational software 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 Süreç İyileştirme Döngüsü
IBM Software Group | Rational software 5 İyileşen 4 Niceliksel Yönetilen 3 Tanımlı 2 Yönetilen 1 Yerine Getirilen 0 Eksik Capability Maturity Model Integration (CMMI) CMMI’ın Genel Yapısı/Olgunlaşma Seviyeleri 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 Pınar Uğurlu pinaru@tr.ibm.com Teşekkürler
IBM Software Group | Rational software Sorular?