Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Yazılım Mühendisliği’nde IBM Rational Pınar Uğurlu Bilgi Teknolojileri Uzmanı / Rational pinaru@tr.ibm.com.

Benzer bir sunumlar


... konulu sunumlar: "Yazılım Mühendisliği’nde IBM Rational Pınar Uğurlu Bilgi Teknolojileri Uzmanı / Rational pinaru@tr.ibm.com."— Sunum transkripti:

1 Yazılım Mühendisliği’nde IBM Rational Pınar Uğurlu Bilgi Teknolojileri Uzmanı / Rational

2 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 Yazılım proje sürecini bir bütün olarak gören Rational, hataya yer bakmayan bir yazılım mühendisliği disiplinini ve ilgili süreçleri temsil eder. Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) software development, the applied side of software engineering.

3 Yazılım Mühendisliği’ne Bakış Yazılım Geliştirmek zor bir süreçtir
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! Developing software was never easy but you would think that with all the advances e.g. faster machines, more experience, OO, etc., it would be easier now. In fact, judging by the failure rate of software projects, it is easy to argue that software development is STILL hard! We fail 66% of the time. The scary thing is that this report is not from the 1980s… its from less than 3 years ago. And, these numbers have not gotten better since then. Standish Group, CHAOS Report, 2003

4 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ı İleriki slide’larda Yazılım Geliştirmenin Zorlukları’ndan ve Rational çözümlerinde de bahsedeceğiz. 82% öngörülen zamanın aşılması, 51% öngörülen bütçenin aşılması

5

6 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 Yazılım proje sürecini bir bütün olarak gören Rational, hataya yer bakmayan bir yazılım mühendisliği disiplinini ve ilgili süreçleri temsil eder. Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) software development, the applied side of software engineering.

7 Yazılım Mühendisliği’nde Bugün
Let’s look at an example of how Software Development Drives Innovation Manufacturers need to introduce new products and contents on a very fast schedule and position them for global markets employing global supply networks. Consequently, the processes found in product development and supply chain management are fraught with complexity. The proliferation of new product content and segmented global competition requires the handling of a vast number of product configurations in a simultaneous and concurrent process of design, engineering, and introduction to manufacturing. Risk increases where existing hierarchical/periodically coupled processes are not responsive enough to address constantly shifting requirements and customer preferences, new intellectual property, and changes in product content. Product innovation increasingly coming from software Especially true in Automotive, Electronics, Aerospace & Defense Experts say that 90% of innovation in cars is now based or dependent on electronics, which mainly means software. Four out of five automobile innovations are based on electronic systems and reliable software is needed to ensure that these systems operate properly.* Cell phone connected with GPS systems in the next BMW release Park by Phone parking meters in Edinburgh, Scotland However, the inability of product organizations to effectively manage the development of that software is a huge problem Traditional approaches can not solve modern problems Optimized for mechanical and electrical disciplines Rooted in manufacturing paradigm Ignores software’s pervasiveness BMW 7 recall due to software problems SAAB 9 3 recall due to software problems Source: Mercedes * Gartner, April 2003, Embedded Software Development and Management - Automotive Industry

8 Yazılım Mühendisliği’nde Bugün
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ümesi Sınırlı kaynaklar Proje Teknoloji yükü Sabit Kayıp ve bozucular Öğrenme eğrisi Çok iş, az zaman Uygulayıcı Karmaşıklık Çok sayıda “değişen parça” Gerçekleme ve yaşatma için önemli bir çaba gerek Belirli bir durum için en iyi çözüm yaklaşımı ne olmalı? Esneklik ihtiyacı Koordinasyon ve iletişim Tüm geliştirme activiteleri boyunca etkileşimin doğru yönde olması Darboğazların en aza indirgenmesi için gerekli yazılım ürünlerinin koordinasyon Üçüncü partilerle zamanında iletişim “Geliştiricilerimiz Chicago’da , biz testi gece Bangalore ‘da yapıyoruz” Takım yetenek kümesi Takım kurmak, proje için gerekli ve eksik bilgi/yeti kazandırılması Ör: COBOL geliştiricilerin ilk web tabanlı projesi Sınırlı kaynaklar Projenin zamanında bitmesi için gerekli insan sayısının yetersizliği Hata payının olmaması veya öngörülmeyen sonuçlar Teknoloji yükü Java, COBOL, J2EE, CICS, web services, XML, .NET, Struts, Portlets, WSDL, Patterns, … Sabit kayıp ve bozucular Eksik veya yeni gereksinimler, eksik veya yeni bağımlılıklar, gecikmeler or güvenilir olmayan 3. parti elemanlar, bozuk paketlemeler, haftalık bazda önceliklendirme,… Çok iş, az zaman İşimi nasıl daha etkin yapabilirim? Hayal kırıklığı Öğrenme eğrisi İşin yapılabilmesi için gerekli bilgi Gelecek için kariyer düşünceleri

9 Yazılım Mühendisliği’nde Bugün Geleneksel Yaklaşım
Gereksinimler Analiz Tasarım Gerçekleştirim Yükleme ve Bakım Geleneksel yaklaşımda herhangi bir hata durmunu belirlemek ex: 8 ay sürebilir. Su-düşüşü (Waterfall)

10 Yazılım Mühendisliği’nde Bugün Nesne Yönelimli Metodoloji
Sistem Artırım Kullanıma göre kurgulanmış, “use-case driven” Yinelenen Artırımlı, “iterative incremental” Mimari Odaklı, “architecture centric” Test Tasarım Gerçekleştirim Analiz değişiklikler Gereksinimler İş ihtiyaçları

11 In general, RUP is risk driven, a use-case based, architecture-centric, iterative software development process platform for creating and maintaining component-based solutions based on Object Oriented techniques and the Unified Modeling Language (UML), but with the flexibility to incorporate needed customer practices. The products of the lifecycle are generated in, with, and automated by a suite of tools for a completely integrated software lifecycle. The “hump chart” has become a familiar icon that signifies the dynamic nature of RUP, developing software in an iterative, incremental manner, and the static structure of the process framework described through a set of disciplines that define Roles, Artifacts, and Activities that may apply to specific project types (You can spend a lot of time on this slide, depending upon your audience. There is a lot of collateral in the form of demo scripts, webinars, white papers, and other material that will help you determine what you might want to say here.)

12 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 Modelleme Gereksinimler 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 İş Süreçleri Yazılım Üretimi One of the key initiatives that will play a key role in addressing this software development challenge that we discussed earlier is the Model Driven Development initiative. The model-driven development (MDD) initiative has three objectives: Unify business and software teams with model-driven business integration -Bridge the gap between business experts and software development professionals by providing a standard notation language (UML) and common modeling infrastructure across domains. This should enable organizations to help drive business expertise throughout the software development organization, while empowering each team member with the business or technology view most appropriate to the task at hand. Improve productivity by providing a choice of modeling paradigms –Offer a spectrum of choices for individuals and teams adopting model-driven development approaches. Support a range of solutions that integrate models into the development process, from simple code visualization and model-code synchronization techniques to multi-model transformations and fully executable models. Make reuse practical with asset-based development – Continue to automate the collection, classification and application of software assets, making it easier for organizations to leverage expertise in the form of software patterns, templates, components, and Web services. Yönetim Devreye Alma

13 Model Yönelimli Geliştirme
O da ne ?” C Sadece program kodu “Kod, modeli oluşturur” M C Kod sihirbazı görselleştir “Model kodun kendisidir” M C Model merkezli üret “UML’ce konuşalım” M Sadece model “Kodu ve modeli yönet” M C senkronize et 1995 2000 2005

14 Takım Halinde Geliştirmeyi Kolaylaştırır Ortak bir dil kullanımı
Uygulama Modelleme Gereksinim Modelleme Web Modelleme Veri Modelleme İş Modelleme Team communication and raising abstraction our some of the core key benefits to the UML. Rose XDE has superior support for all kinds of modeling. Depending on your needs you use Rose XDE for: Business, Requirements, Application, Web, Data..and have your teams fundamentally use the same notation for different types of code or target technologies. This makes team communication easier! The multi-model capabilities in Rational XDE allow you to work on multiple levels of abstraction. This is especially powerful if you need to capture user requirements and communicate them in easy-to-understand ways . Also, allows you to structure and organize your large projects in a manageable fashion. Also Rational XDE has semantically rich, freeform models Rational XDE unites the strength of a semantically rich UML tool with the freedom and flexibility of customized diagramming. Freeform designs within your model enable you to communicate comments, diagrams covering non-traditional UML items, or annotations clarifying your designs – all without constraints or restrictions. Express yourself and your work like never before while keeping your entire team on the same page, literally. Design what you want Free form modeling for customized, domain specific shapes Organize your project the way you need Multi-model support so models can be structured and scaled to fit any work group or project Ortak dil – Tek Araç – Tek takım Note: Also Free-form Modeling

15 İş-odaklı yazılım geliştirme yaşam döngüsü
Önceliklendir Planla Yönet Ölçümle İş İş Yöneticisi Son Kullanıcı İşin Modellenmesi Gereksinimlerin Tanımlanması Koruma Analiz & Tasarım BT Operasyon Yöneticisi Analist Proje Yöneticisi Yönetim Gerçekleştirim Mimar Yerleştirim Uygulama Destek Test Geliştirici Operasyon Yerleştirme Yöneticisi Geliştirme Test İyileştir Yinele

16 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 Yazılım proje sürecini bir bütün olarak gören Rational, hataya yer bakmayan bir yazılım mühendisliği disiplinini ve ilgili süreçleri temsil eder. Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) software development, the applied side of software engineering.

17 IBM Ürün Ailesinde Rational’ın Yeri
Oluştur İşlet Yönet Yazılım Geliştirme Uyarlanabilir Süreçler Gereksinim ve Analiz Görsel Modelleme ve Geliştirme Test Proje Yönetimi Konfigürasyon Yönetimi Last updated: 5/12/03 The Rational platform is part of a complete solution from IBM for helping customers build, run, and manage their software assets -- an environment that is rapidly evolving to become more open, integrated, and responsive to customer needs. This combined solution provides customers with the vision and infrastructure required to thrive in the on demand era. İşletim Yönetimi Altyapı ve Araçlar Portallar İş ve Süreç Entegrasyonu Veri Yönetimi Sistem Yönetimi Birlikte Çalışma ve Bilgi Yönetimi

18 IBM Yazılım Geliştirme Ortamı Bütünleşik, Açık, Modüler, ve Kanıtlanmış Çözüm
Analiz Mimar Geliştirici Test Uzmanı Yerleştirim Yöneticisi Modelle, simüle et, birleştir, ve süreci monitör et Hızlı oluştur, dönüştür, entegre et ve kod üret Sunu konfigüre et, ayarlama yap ve sorun gider Test tasarla, yarat, ve çalıştır Görsel modelle (veri ve uygulama) Süreç takibi Proje / portfolyo yönetimi ve ölçümlenmesi Gereksinim yönetimi Kaynak ve değişiklik yönetimi Kaliteyi yönetimi Last updated: 10/12/04 Let’s see how the IBM SDP supports all the roles of the typical development team.... The IBM Software Development Platform is not a single product, but an integrated set of products that lets you choose what's right for your team and technology environment. It provides capabilities that are optimized for each role on the development team: business analysts, developers, testers, and so on. At the same time, the IBM Software Development Platform enables high degree of team cohesion through shared access to common requirements, test results, software assets, and workflow and process guidance. Combined, these capabilities improve both individual and team productivity. Proje Yöneticisi İş önceliklerine göre yatırımların yönetilmesi Proje portfolyolarının analiz, takip,ölçüm ve değerlendirilmesi Sadece IBM Yönetici

19 IBM Yazılım Geliştirme Ortamı
Sadece IBM IBM Yazılım Geliştirme Ortamı Analist Mimar Geliştirici Test Uzmanı Yerleştirme Yöneticisi WebSphere Business Integration Modeler & Monitor Rational Functional & Manual Tester Rational Application Developer Tivoli Configuration Manager Rational Software Architect Rational Web Developer Rational Performance Tester Rational Software Modeler Tivoli Monitoring Customer Extensions 3rd Party ISV Tools ECLIPSE Rational Project Console Rational Requisite Pro Rational ClearCase Rational ClearQuest Rational Test Manager Proje Yöneticisi Rational Unified Process TEAM UNIFYING PLATFORM Rational Portfolio Manager Yönetici

20 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 Yazılım proje sürecini bir bütün olarak gören Rational, hataya yer bakmayan bir yazılım mühendisliği disiplinini ve ilgili süreçleri temsil eder. Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) software development, the applied side of software engineering.

21 Yazılım Geliştirme Zorluklar Çözüm
Yazılım geliştirme, karmaşık, zaman alıcı ve hataya açık bir süreç Oldukça bilgili ve yetkin geliştiricilere gereksinim duyuyor ve kaynaklar kısıtlı Öğrenme eğrisi uzun 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 Geleneksel yazılım geliştirme ortamları yetersiz Takım çalışmasına uygun değil Mimari ve tasarımın yeterince önemsenmemesi Kolaylaştırıcı araçların yetersizliği Entegrasyon araçların yetersizliği Doğrudan kod geliştirmek zor J2EE mimarisi ve çatısı (framework) karmaşık Varolan altyapıyla entegrasyon ve yeniden kullanılabilirlik zor Hata ayıklama çoğu zaman ilkel ve zaman alıcı Yazılımlar Gittikçe Karmaşıklaşıyor Binlerce, hatta milyonlarca satır kod Karmaşık sistem içi ve sistemler arası etkileşim Bütünleşik işlemler, “persistence”, güvenlik... Sonuçlar: Gereksinim ve zaman planına uymayan başarısız projeler Başarısızlıklar doğrudan veya dolaylı olarak projeyi ve şirketin başarısını etkiler Endüstri Standartları ile Modelleme Uygulamaların tasarımında endüstri standardı modelleme dili kullanılması (UML) Soyutlama düzeyinin yükseltilmesi “Reverse Engineering” ile yazılımın görselleştirilmesi Kod değişim etkilerinin görselleştirilmesi Geliştirme ortamından daha çok faydalanmak Rational Rose XDE geliştirme ortamınız ile entegre çalışır Otomatik kod üretimi Tasarım ve kod senkronizasyonu Hızlı ama sağlam kod geliştirme Örüntüler kullanarak geliştirme sürecini basitleştirmek Çalışan uygulamanın görselleştirlmesi Takım halinde geliştirmeyi sağlar Ortak dil kullanımıyla (UML) takım iletişimi sağlar Yeniden kullanımı arttırır Rational Rose XDE yaşam döngüsü araçlarıyla entegredir Model-yönelimli yaklaşım yazılım geliştirme sürecini basitleştirir

22 Yazılım Analisti – Zorluk Noktaları
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 İş Analisti Sistem Analist DBA / Veri IBM Rational RequisitePro IBM Rational Rose Data Modeler IBM Rational Software Modeler IBM WebSphere Business Integration Modeler & Monitor NEW!

23 IBM Rational RequisitePro: Gereksinim Yönetimi
Define Business Goals Define what needs to be achieved in order for the organization to reach the desired competitive position identified in the previous step. Describe Measures Define how the business goal will be measured. quantitative measure, quantify and record the expected outcome, timeframe, date and record this attributes of the business goal. qualitative or subjective, the business goal may need to be translated to more measurable, lower-level goals. Structure Business Goals Identify the relationships between higher level and lower level goals. Produce a hierarchy of traced business goals. Some business goals are not concrete and measurable enough to find supporting business use cases. These are typically strategic goals that need to be defined at more concrete levels. business-goal hierarchy ensures that the right tradeoffs are made between short-term financial goals and less immediate, yet more important, strategic goals. Evaluate Your Results Verify with Management and stakeholders that the business strategy has been successfully translated into a set of management objectives for the organization. Make sure that the business goals have been translated to the business use cases so that the activities of the business are aligned with the desired competitive position of the organization.

24 Yazılım Mimarı – Zorluk Noktaları
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? 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 Anahtar Araçlar Mimar Geliştirici DBA IBM Rational Software Architect IBM Rational Rose Data Modeler Any of the Developer Role Products NEW!

25 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 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 Software Modeler C/C++ editors and build management Compiler and debugger integration UML code editors 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

26 Yazılım Geliştirici – Zorluk Noktaları
Sadece Yap! 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 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 NEW!

27 Palette Design Editor Page Data Data Objects Property Editor
The JavaServer Faces support in Rational Developer products has made some changes in the look and feel of the Web Perspective, where page authors spend a considerable amount of time. This screen shot shows: A Page Data area where page authors can add data objects for use on their Web page A Palette area where page authors can drag various page components, including Data Objects, HTML, JSP and JSF components and Crystal Reports Components (RAD only) A Design Editor area where page authors can drop various page components from the palette and where they can visual construct their Web pages An expanded (over previous versions) Property Editor Page Data Data Objects Property Editor

28 The JavaServer Faces support in Rational Developer products has made some changes in the look and feel of the Web Perspective, where page authors spend a considerable amount of time. This screen shot shows: A Page Data area where page authors can add data objects for use on their Web page A Palette area where page authors can drag various page components, including Data Objects, HTML, JSP and JSF components and Crystal Reports Components (RAD only) A Design Editor area where page authors can drop various page components from the palette and where they can visual construct their Web pages An expanded (over previous versions) Property Editor

29 Yazılım Test Uzmanı – Zorluk Noktaları
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 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 NEW!

30 Proje Yöneticisi – Zorluk Noktaları
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 ! 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 Anahtar Araçlar 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

31 Yönetim Startejilerle aynı hizada ol, Yatırım Kararlarını Ver Project Portfolio Management Önceliklendir, Planla, Yönet, Ölç Only IBM! Uygulama Döngüsü Yönetimi We showed this slide earlier to offer perspective on the placement of project portfolio management in an organization. We can also consider how Rational Portfolio Manager is positioned to serve as the central dashboard for all the metadata within your IT organization by having all the software systems roll appropriate metrics and information into RPM’s reports. IBM Software has the broadest collection of middleware in the industry and is well positioned to help capture all aspects of your IT operations from business process fulfillment to server up-time to security breaches and so forth. IBM Rational tools will also provide much richer detail for your project reports for life cycle management examination. Yazılımları Oluştur, İşlet ve Yönet IT

32 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

33 IBM Rational ClearCase : Değişiklik / Versiyon Yönetimi
This slide and the next are just screenshots of the more popular IDE’s. All show the most instinctive of SCM activities: Checking out a file. Make the point here that developers can work pretty much in whatever environment they are comfortable. No need to learn a new environment, but at the same time ClearCase takes care of all of the adminstrative details, freeing the developer to think about code instead.

34 IBM Rational ClearQuest: Hata Yönetimi

35 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 Yazılım proje sürecini bir bütün olarak gören Rational, hataya yer bakmayan bir yazılım mühendisliği disiplinini ve ilgili süreçleri temsil eder. Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) software development, the applied side of software engineering.

36 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.

37 Süreç İyileştirme Kalite Ürün/Hizmet Olgunlaşma, İnsan Süreç Teknoloji
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

38 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 Yarış tipini belirlersiniz Yarış yapmaya karar verdiniz... (go chart, Formula 1..) Yarışmak için yeterli olmalısınız. Sonuçta ne elde etmek istediğinizi bilirsiniz. Başarıya ulaşmak için deneyimlerden ve rakipleri izlemekten dolayı belirlediğiniz anahtar parametreleri belirler ve izlersiniz. Yarış güzergahı Hız Fren mesafesi Gün ışığının miktarı Yağmur yağış hızı En iyilerden biri olmak ve sürdürmek için aşağıdakileri yaparak çalışmaları sürdürmek gerekir. Daha az hata yapmak Süreci iyileştirmek veya değiştirmek (pitstops) Teknolojiyi iyileştirmek veya değiştirmek (Araba) Diğer sürücüleri, sizden daha tecrübeli olanları izleyerek, öğrenerek daha hızlı olmak için iyileşebilirsiniz. Fakat yine de benzer adımları yaşamanız gerekir. F1 yarışlarını seyrederek ne kadar F1 pilotu olabilirsiniz? 5. Seviyede olabilmek için 4 anahtar elemana ihtiyaç duyarsınız. Sponsor (Para, Taahhüt ve Amaç) Sürücü (Beceri) Takım (Süreç) Araba (Araç) Herhangi biri diğer üçü olmadan yeterli değildir. Fakat unutmayın 1. Sınıf olmak mükemmellik değildir. Sürücüler hala hata yapabilir (Beceri) Pit-crew pratikleri hala hatalı olabilir (Süreç) Arabalar hala bozulabilir (Araçlar) Takım faydaları görmüş ancak iyileştirmeyi sürdürüyor.

39 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

40 Teşekkürler Pınar Uğurlu

41 Sorular?


"Yazılım Mühendisliği’nde IBM Rational Pınar Uğurlu Bilgi Teknolojileri Uzmanı / Rational pinaru@tr.ibm.com." indir ppt

Benzer bir sunumlar


Google Reklamları