Yazilim gel t rme s rec
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

YAZILIM GELİŞTİRME SÜRECİ PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on
  • Presentation posted in: General

YAZILIM GELİŞTİRME SÜRECİ. Yazılımlar birbirini tutarlı biçimde tamamlayan aşamalar sonucunda elde edilir Yazılımlar sıfırdan başlanarak ya da büyük ölçüde hazır olan bileşenlere dayanılarak oluşturulabilir. İzlenen yol ne olursa olsun yazılım geliştirme süreci çok karmaşıktır

Download Presentation

YAZILIM GELİŞTİRME SÜRECİ

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Yazilim gel t rme s rec

YAZILIM GELİŞTİRME SÜRECİ

Yazılımlar

birbirini tutarlı biçimde tamamlayan aşamalar

sonucunda elde edilir

Yazılımlar

sıfırdan başlanarak

ya da

büyük ölçüde hazır olan bileşenlere dayanılarak oluşturulabilir

SGvM / ET


Yazilim gel t rme s rec

İzlenen yol ne olursa olsun

  • yazılım geliştirme süreci çok karmaşıktır

  • entellektüel düzeyi çok yüksek bir mühendislik işidir

  • geliştiricilerine son derece bağımlıdır

    Her aşamasında ve her adımında, genelde ya da ayrıntıda sık sık sürekli olarak yapılanların gözden geçirilmesi ve değerlendirmesi gerekir

    Yapılan değerlendirmeler daha önce alınmış bir kararın değiştirilmesini gerektirebilir ya da yapılması gerekenlerin yeniden planlanmasına yol açabilir

    Yazılım geliştirme bir reçeteye uyularak yapılabilecek bir iş değildir

SGvM / ET


Yazilim gel t rme s rec

İzlenen süreç modeli,

kullanılan teknikler, yöntemler ve araçlar

çok farklılık gösterir

çok farklı biçimlerde destek ve yarar sağlar

BDYM (Bilgisayar Destekli Yazılım Mühendisliği) (CASE – Computer Aided Software Engineering) araçları, yazılım geliştirme süreci içinde belli aşamaların, belli adımlarında yapılan işleri kolaylaştırıcı ve destekleyici olabilir, ancak asıl belirleyici olan işi yapanın / uzmanın alacağı kararlar ve buna dayanarak yaptığı tanımlardır

Önemli olan her an asıl kararları verecek olan

Yazılım Geliştiriciler(/Yazılım Mühendisleri)dir

SGvM / ET


Yazilim gel t rme s rec

Yazılım geliştirme süreci içinde yer alan aşamalarda yerine getirilecek işler ve sonunda yapılacak tanımlar çok çeşitlilik gösterir

Bu yüzden uygulamada kullanılmak üzere tanımı yapılmış birçok yöntem söz konusudur

Uygulayacağınız birçok yöntemi yazılım geliştirme anlayışınız ve geliştirme sürecinize uygun olarak seçebilirsiniz

Aynı işi yapan yöntemlerden hangisinin en iyisi ya da en ideali olduğu kolayca söylenemez!

SGvM / ET


Yazilim gel t rme s rec

İzlenecek süreci, kullanılacak yöntemleri büyük ölçüde

  • geliştirilecek yazılımın türü

  • geliştirme ortamının özellikleri

  • geliştirme takımının taşıdığı özellikler

    belirler

    Aynı yazılım evi içinde bile yazılım geliştirmek için farklı yaklaşımlar / yöntemler söz konusu olabilir

    Yazılım geliştirme sırasında izlenen süreç modelleri çeşitlilik göstermekle birlikte aynı temel etkinlikleri içerir

SGvM / ET


Yazilim gel t rme s rec

Yaklaşım ne olursa olsun her aşamada çok çeşitli ve kapsamlı işlerin yapılması gerekir

Süreç modellerinin daha iyi uygulanmasını sağlayacak olan birçok ayrıntı bu kapsam içinde gizlidir

Kullanılan yazılım geliştirme süreci, belli bir aşamanın belli bir adımında standart bir tekniğin izlenmesini zorlayayıcı olabilir

SGvM / ET


Yazilim gel t rme s rec

Yazılım Geliştirme Süreçleri İçinde Bir Biçimde Yer Alması Gereken Aşamalar:

Yazılım Çözümleme (Software Analysis)

Yazılım Belirtimleri(Software Specification)

Yazılım Tasarımı(Software Design)

Yazılım Gerçekleştirme(Software Implementation)

Yazılım Sınama(Software Testing)

Yazılım Geçerleme(Software Validation)

Müşterinin istediği yazılım mı geliştiriliyor / geliştirildi?

Doğru olan yazılım mı geliştiriliyor / geliştirildi?

Yazılım Doğrulama(Software Verification)

Yazılım doğru çalışıyor mu?

Yazılım Bakımı(Software Maintenance)

Yazılımı Evrimleştirme (Software Evolution)

SGvM / ET


Yazilim gel t rme s rec

Kabaca konuşulduğunda

Yazılım Mühendisliğinde Öngörülen

Yazılım Geliştirme Aşamaları:

Planlama

Çözümleme

Tasarım

Gerçekleştirim

Sınama

Bakım

SGvM / ET


Yazilim gel t rme s rec

Çözümleme ve Gereksinimlerin Tanımlanması

(Analysis & Requirements Specification)

  • Yazılım hangi işlevleri görecektir? Yazılımdan hangi hizmetler beklenmektedir?

  • Göz önüne alınması gereken kısıtlamalar nelerdir? Nasıl bir çalışma ortamında işlerliği olacaktır?

    Bu aşamada yapılan tanımların doğru olması çok önemli, çünkü sonraki aşamalarda

    yanlış yapılmasına yol açılabilir!

SGvM / ET


Yazilim gel t rme s rec

Olurluk

Çalışması

Çözümleme ve

Gereksinimleri

Belirleme

Gereksinimleri

Tanımlama

Gereksinimlerin

Geçerlik

Denetimi

Ön Olurluk

(feasibility)

Raporu

Yazılımın

Kavramsal

Modeli

Kullanıcı ve

Yazılım

Gereksinim

Tanımları

Gereksinim

Belgesi

Sistem Çözümleme(System Analysis)

SGvM / ET


Yazilim gel t rme s rec

Olurluk çalışmasında kestirimde bulunulur:

  • Teknolojinin mevcut olanakları ile kullanıcı gereksinimleri nasıl karşılanabilir? (yazılım ve donanım olarak)

  • Maliyeti ne olabilir? Yeterli bütçe büyüklüğü nedir? Maliyetine değer mi?

    Olurluk çalışması hızlı ve ucuza yapılabilmeli,

    sonraki aşamalarda yapılacak işlerin nasıl bir yol izlenerek yerine getirilebileceğini göstermelidir

SGvM / ET


Yazilim gel t rme s rec

Çözümlemede genelde

  • Mevcut sistem gözlemlenir, incelenir

  • İş süreçleri gözden geçirilir ve irdelenir kullanıcı gereksinimlerinin belirlenebilmesi için

    birden çok prototip kurulabilir

    Gereksinimlerin karşılanmasını sağlayacak birden çok kavramsal model oluşturulabilir

    Daha sonra gereksinimler sınıflandırılır ve tanımlanır

  • Kullanıcının öncelikle işlevsel gereksinimleri tanımlanır

  • Gereksinimleri sağlayacak sistemin özellikleri, hızı ve verimliliğinin ne olması gerektiği açıklanır

    Çözümleme sonunda geçerlilik, tutarlık ve bütünlük açısından gereksinimler gözden geçirilir

SGvM / ET


Yazilim gel t rme s rec

Yazılım Tasarımı(Software Design)

Gereksinim

Belgesi

Mimari

Tasarım

Bileşen

Arayüz

Tasarımı

Bileşen

(/Modül)

Tasarımı

Veri Tabanı

Tasarımı

Kullanıcı

Arayüz

Tasarımı

Veri Yapısı

ve Algoritma

Tasarımı

Yazılımın

Mimari

Yapısı

Bileşen

Arayüz

Tanımları

Bileşen

(/Modül)

Tanımları

Veri Tabanı

Tanımları

Kullanıcı

Arayüz

Tanımları

Algoritma

Tanımları

Genel Tasarım

Ayrıntılı Tasarım

SGvM / ET


Yazilim gel t rme s rec

Tasarım etkinlikleri sıralı değil genelde iç içe geçmiş etkinliklerdir

Bütün tasarım etkinlikleri birkaç kere gözden geçirilebilir

Her adımda tasarım ayrıntıları artar ve yapılan tanımlar giderek gerçekleştirim aşamasına geçilebilecek olgunluğa ulaşır

Tasarım, farklı düzeylerde (genel ya da ayrıntılı) yazılım modelini oluşturma işidir

Genel tasarımdan ayrıntılı tasarıma kadar inilir

Tasarım, yazılımın nasıl gerçekleştirileceğine ilişkin genelden ayrıntıya inen tanımların yapılmasıdır

Yazılım hangi alt sistemlerden oluşacak? Alt sistemler arasındaki ara yüzler (bilgi alışverişi ve işlevlerin kullanımı) nasıl olacak?

SGvM / ET


Yazilim gel t rme s rec

Tasarım

önce

Yapısal Tasarım Yöntemlerine doğru gelişmiş

günümüzde

Nesneye Yönelik Tasarım Yöntemlerine ulaşılmıştır

Yazılım sürecini desteklemek üzere genelde

BDYM (CASE) araçları kullanılır

BDYM aracı

  • Tanımların yapılışında yol gösterici bir süreç modelini, başka bir deyişle nasıl bir yol izleneceğini gösterir

  • Tanım yapmakta kullanılan biçimsel gösterim dillerini içerir

  • Raporlama / belgeleme biçimlerini kendiliğinden sağlar

  • Uyulması gereken kuralları / ilkeleri içerir

SGvM / ET


Yazilim gel t rme s rec

Yapısal Tasarım Yöntemlerine dayanan BDYM araçları aşağıdaki türden biçimsel gösterimleri kullanır:

  • Veri akış çizgeleri (iş süreçlerini tanımlamada kullanılır)

  • Varlık-ilişki çizgeleri (veritabanı tanımlamada kullanılır)

  • Yapısal çizgeler (yazılım bileşenlerini ve etkileşimlerini göstermede yararlanılır)

  • Veri deposu (repository) (geliştirilen yazılımın kendisine ilişkin veri tabanı)

SGvM / ET


Yazilim gel t rme s rec

Gerçekleştirim: Programlama ve Yanlış Ayıklama(Debugging)

Algoritma kurulduktan sonra yapılan işe programlama ya da kodlama denir

Yanlış ayıklamanın programlamanın doğal uzantısı olduğunu ve aşağıdaki adımları kapsadığını bilmek gerekir:

  • yanlışın belirlenmesi

  • yanlışın nasıl düzeltileceğine karar verilmesi

  • yanlışın düzeltilmesi

  • yeniden sınama

    Bazı BDYM araçları program iskeletinin kurulmasında yardımcı olabilir

SGvM / ET


Yazilim gel t rme s rec

Yazılım Sınama(Software Validation)

Birim

Sınama

Modül

Sınama

Alt Sistem

Sınama

Sistem

Sınama

Teslim Alma

Sınaması

Kabul

Testi

Bileşen

Sınama

Bütünleştirme

Sınaması

SGvM / ET


Yazilim gel t rme s rec

SGvM / ET


Uygulama y azilimi ed nmede ge len a amalar

UYGULAMA YAZILIMI EDİNMEDE GEÇİLEN AŞAMALAR

SGvM / ET


Yazilim gel t rme s rec

SGvM / ET


Yazilim gel t rme s rec

SGvM / ET


Yazilim gel t rme s rec

Yazılım Geliştirmede Temel Aşamaların Ana İşlevleriÇözümleme Tasarım + Gerçekleştirim İşletim + Bakım Ne yapılacak? Nasıl yapılacak? Yapılanı kullanma

Gereksinimler neler? Yazılım Mimarisi

Hangi veriler işlenecek? Veri Tabanı

Hangi işlemler yapılacak? Ara yüz Tanımları

İşlemlerin performansı ne olmalı? Kullanılacak programlama yaklaşımı/dili

Kullanıcı ara yüzlerinde neler olmalı? Ayrıntılı Tasarım

Tasarımı bağlayıcı kısıtlar neler?Modül ve program tanımları

Başarım ölçütleri neler? Veri Yapıları

Yazılımın kavramsal modeliProgram Algoritmaları

SGvM / ET


P lot uygulama yapma gere neden duyulur

PİLOT UYGULAMA YAPMA GEREĞİNEDEN DUYULUR?

1. Hiç denenmemiş değişik bir yaklaşım uygulanacak ise geçerliliğini anlamak için

2. Bir işletmenin yabancısı olduğu bir uygulamaya geçilirken çalışanlarını alıştırmak ve olumsuz tepkilerini en aza indirgemek için

3. Kabul öncesi sistemi denemek için

SGvM / ET


  • Login