yazilim gel t rme s rec
Download
Skip this Video
Download Presentation
YAZILIM GELİŞTİRME SÜRECİ

Loading in 2 Seconds...

play fullscreen
1 / 24

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


  • 208 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' YAZILIM GELİŞTİRME SÜRECİ' - chana


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

slide2

İ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

slide3

İ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

slide4

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

slide5

İ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

slide6

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

slide7

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

slide8

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

slide9

Çö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

slide10

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

slide11

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

slide12

Çö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

slide13

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

slide14

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

slide15

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

slide16

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

slide17

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

slide18

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

slide23

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 modeli Program 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

ad