Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

YAZILIM GELİŞTİRME SÜRECİ

Benzer bir sunumlar


... konulu sunumlar: "YAZILIM GELİŞTİRME SÜRECİ"— Sunum transkripti:

1 YAZILIM GELİŞTİRME SÜRECİ
Yazılımlar birbirini tutarlı biçimde tamamlayan aşamalar sonucunda elde edilir sıfırdan başlanarak ya da büyük ölçüde hazır olan bileşenlere dayanılarak oluşturulabilir SGvM / ET

2 İ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

3 İ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

4 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

5 İ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

6 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

7 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

8 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

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

10 Sistem Çözümleme (System Analysis)
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

11 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

12 Mevcut sistem gözlemlenir, incelenir
Çö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

13 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

14 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

15 Yapısal Tasarım Yöntemlerine doğru gelişmiş günümüzde
ö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

16 Veri akış çizgeleri (iş süreçlerini tanımlamada kullanılır)
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

17 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

18 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

19 SGvM / ET

20 UYGULAMA YAZILIMI EDİNMEDE GEÇİLEN AŞAMALAR
SGvM / ET

21 SGvM / ET

22 SGvM / ET

23 Yazılım Geliştirmede Temel Aşamaların Ana İşlevleri. Çözümleme
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

24 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


"YAZILIM GELİŞTİRME SÜRECİ" indir ppt

Benzer bir sunumlar


Google Reklamları