1 / 23

Yazılım Sistemleri

Yazılım Sistemleri. Yazılıma genel bakış Yazılım , yazılım mühendisi tarafından tasarlanır ve geli ş tirilir ; Yazılım toplumdaki hemen-hemen  her kişi tarafından kullanılmaktadır ; Yazılım geliştiriciler diğer insanlara zarar vermeyecek güvenilirli yazılım

palma
Download Presentation

Yazılım Sistemleri

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Yazılım Sistemleri

  2. Yazılıma genel bakış • Yazılım, yazılım mühendisi tarafından tasarlanır ve geliştirilir; • Yazılım toplumdaki hemen-hemen  her kişi tarafından kullanılmaktadır; • Yazılım geliştiriciler diğer insanlara zarar vermeyecek güvenilirli yazılım • geliştirmek için ahlaki yükümlülük taşımaktadırlar; • Yazılım kullanıcılarını,  yalnız yazılım ürünlerinin beklentileri hangi seviyede karşıladıkları değil, aynı zamanda onların çalışmalarını ne kadar kolaylaştıracağı da düşündürmektedir.

  3. YASAD (Türkiye Yazılım Sanayicileri Derneği) raporu verileri (2006) Dünya bilişim sektörü 2.3 trilyon Euro hacme sahip, yazılım sektörü ise bunun yaklaşık yüzde 25’ini oluşturuyor “2015'te en az 2 milyar dolarlık yazılım ihracatının gerçekleştirilmesi, yerli yazılım şirketlerinin küresel markalar olmaları, 2023'te ise Türkiye'nin ihracatçı güçleri arasında ilk 5'e girmesi amaçlanıyor İGEME (ihracatı geliştirme ve etüt Merkezi) “yazılım sektörü” raporuna göre: 2006 yılında Türk yazılım sektörünün ihracatı yüzde 20 oranında artarak 650 milyon dolara çıkacak.

  4. YASAD (Türkiye Yazılım Sanayicileri Derneği) raporu verileri (2006) Dünyadaki yazılım harcaması 2007 yılında 740 milyar doları aşacak. Dünyada yazılım sektörünün önde gelen ülkeleri : ABD, Almanya, İngiltere, Hindistan, İsrail, İrlanda ve İsveç. Türkiye, henüz bu ülkelerle yarışabilecek kapasitede değil, ancak hızla yükselen ve gelişen bir sektöre sahip. Türkiye’de yazılım sektörünün hacmi 2005 yılında 540 milyon dolara ulaştı. Yazılım ihracatı yapılan ülkeler: ABD 2.2 milyon dolar, Almanya 2 milyon dolar. Yazılım ithalatına bakıldığında, ithalatta ABD ve AB ülkeleri başı çekiyor. Türkiye, 2005 yılında İngiltere’den 14.5 milyon dolar, Almanya’dan 13 milyon dolar ve ABD’den 11.8 milyon dolarlık ithalat yaptı.

  5. Yazılım projeleri ile bağlı diğer istatistikler Kullanıcıların fikirlerini değiştirmesi nedeniyle tamamlanamayan yazılım projeleri tüm yazılım projelerinin yarısını oluşturuyor; Yazılım projelerinin neredeyse ¼’i gereksinimlerin değişmesi, zaman ve kaynak yetersizliği veya başka nedenlerle teslim edilemiyor Yazılım projelerinin yaklaşık 1/4 ‘i başarıyla teslim ediliyor; Bakım: Sistemin yaşam devri süresince Yazılım projesine harcanan çabanın % 70 ve daha fazlası yazılımın bakımına ve iyileştirilmesine ayrılıyor Teslim: Büyük yazılım projesinin kavramsal tasarımdan son kullanıcıya teslimine dek (veya gerçek kullanıma dek) geliştirilme maliyeti toplam maliyetin % 20-30’u arasındadır.Diğer faaliyetler (belgeleme, eğitim, destek, ağ tasarımı ve s) %70-%80 civarındadır. Ticari yazılım geliştiriciler, yılda 12.000 kod satırı yazıyorlar (kaynak: Wikipedia)

  6. Yazılımın nitelikleri Yazılım geliştirilir veya tasarlanır; ama klasik anlamda imal edilemez Yazılım aşınmaz Pek çok yazılım özel oluşturulur; genelde varolan bileşenlerden yığılamaz

  7. Donanımın Yetersizlik Eğrisi eskime Çocuk ölümü YETERSİZLİK SEVİYESİ zaman

  8. Yazılımın ideal “yetersizlik eğrisi” YETERSİZLİK SEVİYESİ Eskiyene dek devam ediyor zaman

  9. Yazılımın gerçek “yetersizlik eğrisi” YETERSİZLİK SEVİYESİ Gerçek eğri değişme İdeal eğri zaman

  10. Yazılım Türleri Sistem Yazılımları Gerçek zaman Yazılımları İş Yazılımları Mühendislik ve Bilimsel Yazılımlar Gömülmüş Yazılımlar Kişisel Bilgisayarların Yazılımları Ağ yazılımları Yapay Zeka Yazılımları

  11. YAZILIM SÜRECİ VE SÜREÇ MODELLERİ

  12. Yazılım süreci Yazılım Sistemlerinin belirtilmesi, tasarlanması, çalıştırılması ve denetimi için gereken faaliyetlerin uyumlu kümesi Faaliyetler: - Yazılım sisteminin tanımlanması ve çözümleme -yazılımın işlevselliği ve işlemlere koyulmuş sınırlamalar tanımlanmalıdır Tasarım (Geliştirme) –gereksinimleri sağlayan yazılım üretilmelidir Deneme –müşteri isteklerinin karşılandığına emin olmak için yazılım doğrulanmalıdır Çalıştırma ve bakım Yazılımın evrimi –müşterinin değişen isteklerinin sağlana bilmesi için yazılım gelişe bilmelidir

  13. Yazılım süreci modeli sürecin basitleştirilmiş soyut tasviridir.O, her hangi özgü açıdan süreci ifade eder. Yazılımın geliştirilmesi için kullanılan genel modeller: Şelale modeli Faaliyetlere bağımsız süreçler gibi bakılıyor Evrimsel geliştirme Kullanıcı ve sistem gereksinimleri evrimsel olarak karşılanmaktadır Yazılım Geliştirme Modelleri

  14. Şelale Modeli

  15. Şelale Modelinin safhaları Gereksinimlerin çözümlenmesi ve tanımlanması Sistem ve yazılım tasarımı Birim ve bütünleşme denemesi Sistem ve teslimat denemesi Çalıştırma ve bakım Şelale modelinin yetersiz yönü, süreç tamamlandıktan sonra değişikliklerin yapılmasının zorluğudur

  16. Şelale Modelinin sorunları Projenin farklı aşamalara esnek biçimde bölünmemesi; Bu, değişen müşteri gereksinimlerini yerine getirmekte zorluklar yaratır Bu nedenle, şelale modeli, gereksinimlerin yalnız çok iyi tanımlandığı takdirde uygun modeldir

  17. Yazılım geliştirmenin gerçek süreci Yazılım geliştirme süreci safhaları

  18. Evrimsel Geliştirme Temel düşünce: ilkin bir çalışma yapmak,bunu müşteri görüşüne sunmak, bu görüşleri de dikkate alarak sistemin son gereken halini alana dek sürümlerini geliştirmek Açınsama (Exploratory)Geliştirmesi Müşteri ile birlikte çalışarak gereksinimlerin açınsaması; başlangıç ana hatlarıyla verilmiş belirteçten son sisteme doğru evrimsel geliştirme yapılması. Sistemin anlaşıla bilir kısmı ile başlanılmalıdır. Müşterinin önerdiği yeni özellikleri ilave etmekle evrimleşmelidir. Prototip geliştirme Hedef- müşteri gereksinimlerinin anlaşılması; sistem için en iyi gereksinim tanımlanmasının geliştirilmesi; müşteri gereksinimlerinin zayıf anlaşılır kısımları üzeride denemelere odaklanıyor.

  19. Evrimsel geliştirme yaklaşımları arasındaki farklar • Açınsama yaklaşımında hedef çalışır sistemi son kullanıcıya teslim etmektir. Daha iyi anlaşılır ve yüksek öncelikli gereksinimlerle başlanılır. Zayıf öncelikli ve kesin anlaşılmayan kısımlar yalnız kullanıcı isteği ile çalıştırılır. • Prototip yaklaşımında ise hedef sistem gereksinimlerinin geçerliliğini yoklamaktır. Zayıf anlaşılabilir gereksinimlerle başlamanın nedeni onları daha iyi anlamaktır. Çok iyi anlaşılan gereksinimler için prototipe gerek yoktur

  20. Evrimsel geliştirme yaklaşımları arasındaki farklar • Açınsama yaklaşımında hedef çalışır sistemi son kullanıcıya teslim etmektir. Daha iyi anlaşılır ve yüksek öncelikli gereksinimlerle başlanılır. Zayıf öncelikli ve kesin anlaşılmayan kısımlar yalnız kullanıcı isteği ile çalıştırılır. • Prototip yaklaşımında ise hedef sistem gereksinimlerinin geçerliliğini yoklamaktır. Zayıf anlaşılabilir gereksinimlerle başlamanın nedeni onları daha iyi anlamaktır. Çok iyi anlaşılan gereksinimler için prototipe gerek yoktur

  21. Evrimsel Geliştirme Paralel işlemler İlk sürüm çözümleme Sistemin ana hatlarının tanımlanması Aralık sürümler tasarım Nihai sürüm deneme

  22. Evrimsel geliştirme-Prototip Geliştirme başlama bitiş Gereksinimlerin edinmesi ve arındırma hızlı tasarım Mühendis ürünü Prototip oluşturma Yeni prototipin tanımlanması Son kullanıcı değerlendirmesi

  23. Sorunlar Geliştirme sürecini bütünlükle görmek mümkün olmaya bilir Sistemler çoğu zaman zayıf yapılanmış oluyorlar Özel marifetler (örneğin, hızlı prototipler oluştura bilen diller)gereke bilir Uygulana bilirlik Küçük ve orta boyutlu etkileşimli sistemler için Büyük sistemlerin kısımları için (örneğin, kullanıcı arayüzü) Kısa yaşam devirli sistemler için daha uygundur EvrimselGeliştirme (devamı)

More Related