Yazılım Mühendisliği

Yazılım Mühendisliği Yöntembilimi, Standartları ve Belgeleriyle

M. Erhan SARIDOĞAN (Ph. D)

 

 

 

Yok yok yok... bir eşi yok...


 

ISBN: 978-975-6797-57-0

3. basım, Ocak 2017

568 sayfa, (16,5x24 cm2), 80 gr 1. hamur kağıt.                   

Eşi olmayan bir eser; bu kitabımız 47 üniversitede ders kitabı olarak kullanılmaktadır...


Yazılım Mühendisliği PDF İçindekiler İndir                     şimdi satın al


 

Bu kitap "Yazılım Mühendisliği" üzerine ciddi bir referans kaynaktır. Hem profesyonel yazılım tasarımcılar için önemli bir kaynak, hem de üniversitelerde verilen "Yazılım Mühendisliği", “Yazılım Geliştirme”, “Yazılım Mimarileri” gibi derslerde yardımcı kaynak olma özelliğindedir. Kitapta, bilgisayar tabanlı sistemlerin yapıları, mimarileri ve bilgi işleme teknikleri hakkında bilgi vermekte, bilgisayar sistem mühendisliği kapsamında yazılım geliştirme süreçleri ele alınmıştır. Her türlü yazılımı bir sistem şeklinde ele alarak tasarım, bakım ve çalıştığı sürece yapılan işlemler, uygulanabilecek yöntemler, belgelendirme olası riskler açıklanmaktadır. Ayrıca kitap sonuna eklenen "yazılım tasarım belgeleri", "iş kırınım raporları" ve birleşik modelleme dili "UML" ile de konu desteklenmiştir.

Kitap hem temel yazılım mühendisliği yöntembilimini açıklamakta hem de yazılım mühendisliği standartları hakkında bilgiler içermektedir; uygulamaya yönelik çözümler üzerinde de durulmaktadır. Geliştirme sürecinde kullanılmak üzere standartlardan türetilmiş bir belge kümesinin şablonları da verilmektedir.

Böylesi "Yazılım Mühendisliği" adlı eserimizi tüm profesyonel yazılım tasarımcılarına, akademisyenlere ve konuyla ilgili "Bilgisayar Mühendisliği" ve "Yazılım Mühendisliği" öğrencilerine şiddetle önerisiz; çünkü bir eşi yoktur...



 

İÇİNDEKİLER

 

Önsöz

 

BÖLÜM  1. Giriş

1.1.     Bu Kitap Hakkında

1.2.     Bu Kitabı Kimler Okumalı?

1.3.     Kitapta Bulunan Konular

 

BÖLÜM  2.  Bilgisayar Sistemleri

2.1.  Sistem Çeşitleri

2.2.  Bilgi Sistemleri

2.2.1. Çevrimiçi Sistemler

2.2.2. Gerçek Zamanlı Sistemler

2.2.3. Karar Destek Sistemleri

2.2.4. Bilgi Tabanlı Sistemler

2.2.5. Veri Tabanı Yönetim Sistemleri

2.2.6. Kişisel Bilgisayarlar

2.2.7. Ofis Otomasyonu

2.2.8. Atölye Otomasyonu

2.2.9. İletişim Sistemleri

2.2.10. Endüstriyel Sistemler

2.2.11. Kontrol Sistemleri

2.2.11.1. Askeri Sistemler

2.2.11.2. Trafik Kontrol Sistemleri

2.2.11.3. Robotik

2.2.11.4. Gömülü Sistemler

2.3.  Sistem Yapıları

2.3.1. Ana Sistem

2.3.2. Hedef Sistem

2.3.3. Test Sistemi

2.3.4. Geliştirme Sistemi Örneği

2.4.   Sistem Bileşenleri

2.4.1. Donanım

2.4.2. Altyapı Yazılımı

2.4.2.1. İşletim Sistemi

2.4.2.2. Ara Katman Yazılımı

2.4.2.3. Yardımcı Yazılımlar

2.4.3. Uygulama Yazılımları

2.4.3.1. Özel Sistem Yazılımları

2.4.3.2. Kişisel Bilgisayar Yazılımları

2.4.3.3. İş Dünyası Yazılımları

2.4.3.4. Mühendislik Yazılımları

2.4.3.5. Bilimsel Yazılımlar

2.4.3.6. Yapay Zeka Yazılımları

2.4.3.7. Veri Tabanı Yönetim Sistemi Yazılımları

2.4.3.8. İnternet Yazılımları

2.4.3.9. AR-GE Yazılımları

2.5.  Bilgi İşlemenin Temelleri

2.5.1. Bilgi İşleme Mantığı

2.5.1.1. Merkezi Bilgi İşleme

2.5.1.2. Dağıtık Bilgi İşleme

2.5.2. Paralel Bilgi İşleme Özellikleri

2.5.2.1. Süreç Yönetimi

2.5.2.2. Koşutzamanlılık

2.5.2.3. İş Sıralama

2.5.2.4. İletişim

2.6.   Yazılım Mimarileri

2.6.1. Genel Yazılım Mimarisi

2.6.2. Kullanıcı-Sunucu Mimarileri

2.6.2.1. Kullanıcı

2.6.2.2. Sunucu

2.6.2.3. İşlem Yönetimi

2.6.3. İki Katmanlı Mimari

2.6.4. Üç Katmanlı Mimari

2.6.5. Dağıtık Mimariler

2.6.6. Yazılım Birimi Türleri

2.7.  Özet

2.8.  Sorular

 

BÖLÜM  3. Bilgisayar Sistemi Mühendisliği

3.1.   Proje Yaşam Çevrimi

3.2.   Sistem Maliyet Çözümlemesi

3.2.1. Maliyet Unsurları

3.2.2. Edinme Maliyeti

3.2.2.1. Ortak Maliyetler

3.2.2.2. Hazır Sistem Maliyeti

3.2.2.3. Özel Geliştirilen Sistem Maliyeti

3.2.2.4. Sürekli Harcamalar

3.2.3. Geliştirme Maliyetleri

3.3.   Sistem Geliştirme Süreci

3.4.   Proje Yönetimi

3.4.1. Yönetsel Planlar

3.4.2. Teknik Planlar

3.5.   Sistem Mühendisliği

3.5.1. ISO/IEC 15288

3.5.2. Mühendislik Etkinlikleri

3.5.3. Donanım ve Donanım Mühendisliği

3.5.4. Yazılım ve Yazılım Mühendisliği

3.5.5. İnsan Mühendisliği

3.6.   Sistem Çözümlemesi

3.6.1. Yapılabilirlik Araştırması

3.6.2. Kavramsal Tanımlama

3.6.3. Sistem İsterleri

3.6.3.1. Sistem Modelleme

3.6.3.2. Benzetim

3.6.3.3. İster Belirleme

3.6.3.4. İsterler Belirtimi

3.6.3.5. Test

3.6.4. Belgelendirme

3.7.   Sistem Tasarımı

3.7.1. Tasarım Etmenleri

3.7.2. Tümleştirme Mimarileri

3.7.2.1. Merkezi Tümleştirme Mimarisi

3.7.2.2. Dağıtık Tümleştirme Mimarisi

3.7.3. Altsistem Arayüzü

3.7.3.1. Arayüz Donanımı

3.7.3.2. Arayüz Yazılımı

3.7.4. Sistem Bileşenleri

3.7.5. Sistem Mimari Tasarımı

3.7.6. Belgelendirme

3.8.   Sistem Gerçekleştirimi

3.8.1. Donanım Geliştirme

3.8.2. Yazılım Geliştirme

3.8.2.1. Tanımlama

3.8.2.2. Geliştirme

3.8.2.3. Bakım

3.8.3. Sistem Tümleştirme

3.8.4. Elle Denetim Yordamları

3.8.5. Belgelendirme

3.9.   Sistem Kurulumu

3.9.1. Donanım Kurulumu

3.9.2. Yazılım Kurulumu

3.9.3. Kurulum Testleri

3.10.  Sistem Testi

3.11.  Sistem Teslimi

3.11.1. Eğitim

3.11.2. Destek

3.11.3. Garanti

3.12.  Sistem Bakımı

3.12.1. Donanım Bakımı

3.12.1.1. Planlı Bakım

3.12.1.2. Onarım

3.12.1.3. İyileştirici Bakım

3.12.2. Yazılım Bakımı

3.13.  Belgelendirme

3.14.  Özet

3.15.  Sorular

 

BÖLÜM  4.  Yazılım Mühendisliği

4.1.   Yazılım

4.1.1. Tarihçe

4.1.2. Yazılım Karmaşıklığı

4.1.3. Yazılımın Algılanması

4.1.3.1. Yönetim

4.1.3.2. Müşteri

4.1.3.3. Uygulayıcı

4.2.   Yazılım Özellikleri 

4.2.1. Yazılım Sınıfları

4.2.2. Maliyet

4.2.3. Niteliksel Özellikler

4.2.4. Etkinlik

4.3.   Yazılım Mühendisliğine Genel Bakış

4.3.1. Yazılım Mühendisi

4.3.2. Yazılım Geliştirme

4.3.2.1. Tanımlama

4.3.2.2. Geliştirme

4.3.2.3. Bakım

4.3.3. Yaşam Çevrimi Verileri

4.4.   Yazılım Mühendisliği Yöntembilimleri

4.4.1. Klasik Çevrim

4.4.2. “V” Modeli

4.4.3. Prototipleme

4.4.4. Spiral Model

4.4.4.1. Evrimsel Geliştirme

4.4.4.2. Evrimsel Prototipleme

4.4.4.3. Artımlı Geliştirme

4.4.4.4. Araştırmaya Dayalı Geliştirme

4.4.5. Gelişigüzel Geliştirme

4.4.6. Yeni Teknikler

4.4.6.1. Özneye Yönelik Geliştirme

4.4.6.2. Bileşen Tabanlı Geliştirme

4.4.6.3. Özelliğe Yönelik Programlama

4.4.6.4. Uç Programlama

4.4.7. Tekniklerin Birleştirilmesi

4.5.   Yazılım Mühendisliği Araçları

4.5.1. Yönetsel Araçlar

4.5.2. Çözümleme ve Tasarım Araçları

4.5.3. Gerçekleştirim Araçları

4.5.4. Bakım Araçları

4.5.5. Destekleyici Araçlar

4.5.6. Araç Seçimi

4.6.   Özet

4.7.   Sorular

 

BÖLÜM  5. Yazılım İsterleri Çözümlemesi

5.1.   İsterler Çözümlemesi Aşaması

5.1.1. Çözümleme Çalışmaları

5.1.2. İsterlerin Değişmesi

5.2.   İsterlerin Belirlenmesi

5.2.1. İsterlerin Düzeyleri

5.2.2. İster Belirleme Yöntemleri

5.2.3. İsterlerin Tanımlanması

5.2.4. İsterlerin Sınıflandırılması

5.3.   Çözümleme Yöntemleri

5.4.   Yapısal Çözümleme

5.4.1. Veri Akış Diyagramı

5.4.2. Davranış Modellemesi

5.4.2.1. Süreç Etkinleştirme Tablosu

5.4.2.2. Durum Geçiş Diyagramı

5.4.2.3. Süreç Belirtimi

5.4.2.4. Karar Tabloları

5.4.2.5. Varlık İlişki Diyagramı

5.4.3. Veri Sözlüğü

5.5.   Nesneye Yönelik Çözümleme

5.5.1. Nesne

5.5.1.1. Nesne Tanımlama

5.5.1.2. Nesne Sınıflandırma

5.5.1.3. Nesne Yapıları

5.5.2. Modelleme

5.5.3. Prototipleme

5.5.4. Tasarım

5.6.   Veri Yapılarına Yönelik Çözümleme

5.7.   Prototipleme

5.8.   Belgelendirme

5.8.1. Belge İçeriği

5.8.2. Belge Hazırlama Önerileri

5.9.   Riskler

5.10.  Özet

5.11.  Sorular

 

BÖLÜM  6. Yazılım Tasarımı

6.1.   Tasarım Aşaması...

6.2.   Yazılım Tasarım Süreci

6.2.1. Veri Tasarımı

6.2.2. Mimari Tasarımı

6.2.3. Yordamsal Tasarım

6.2.3.1. Yapısal Programlama Gösterimi

6.2.3.2. Grafiksel Gösterim

6.2.4. Arayüz Tasarımı

6.2.4.1. Bileşen Arayüz Tasarımı

6.2.4.2. Kullanıcı Arayüz Yazılımı Tasarımı

6.2.4.3. Sistem-Altsistem Arayüz Yazılımı Tasarımı

6.3.     Tasarım Yöntemleri

6.4.     Veri Akışına Yönelik Tasarım 

6.4.1. Akış Türleri

6.4.2. Tasarım Aşamaları

6.4.2.1. Dönüşüm Çözümlemesi

6.4.2.2. Ara İşlem Çözümlemesi

6.4.2.3. Modüler Tasarım

6.4.2.4. Tasarım Anlatımı

6.5.  Nesneye Yönelik Tasarım

6.5.1. Temel Özellikler

6.5.2. Tipler ve Sınıflar

6.5.3. Nesne ve Sınıf İlişkisi

6.5.4. Nesneye Yönelik Tasarım Aşamaları

6.5.4.1. Nesneye Yönelik Olmayan Diller İçin Tasarım

6.5.4.2. Nesneye Yönelik Diller İçin Tasarım

6.5.5. Nesneye Yönelimde Nitelik Ölçütleri

6.5.6. Nesneye Yönelik Tasarım İlkeleri

6.6.   Veriye Yönelik Tasarım

6.7.   Tasarım Kalıpları    

6.7.1. Kalıp Tanımı ve Özellikleri

6.7.2. Karşı Kalıplar

6.7.3. Kalıp Örnekleri

6.8.    Kullanıcı Arayüzü Tasarımı 

6.8.1. İnsan-Bilgisayar Etkileşimi

6.8.2. İnsan-Bilgisayar Arayüz Tasarımı

6.8.3. Arayüz Yazılım Mimarisi

6.8.4. Arayüz Yazılım Birimleri

6.8.5. Arayüz Tasarım İlkeleri

6.8.5.1. Yüksek Nitelik

6.8.5.2. Kullanıcı Dostluğu

6.8.5.3. Güvenilirlik

6.8.5.4. Yardımlar

6.8.5.5. Hatalar ve Uyarılar

6.8.5.6. Yapısal Özellikler

6.8.6. Kullanıcı Arayüz Geliştirme Süreci

6.8.6.1. Çözümleme

6.8.6.2. Tasarım

6.8.6.3. Gerçekleştirim

6.8.6.4. Test

6.9.   Gerçek Zamanlı Sistem Tasarımı

6.9.1. Yapısal Özellikler

6.9.1.1. Mimari

6.9.1.2. Özkaynak Gereksinimleri

6.9.1.3. Gerçekleştirim Teknikleri

6.9.2. Dinamik Özellikler

6.9.2.1. Süreç Yönetimi

6.9.2.2. Zamansallık

6.9.2.3. Aykırı Durum Denetimi

6.9.3. Niteliksel Özellikler

6.10.  Veri Tabanı Uygulamaları Tasarımı

6.10.1. Mimari

6.10.2. Sınıflandırma

6.10.3. Sistem Yaşam Süreci

6.10.4. Tasarım

6.11.   İnternet Uygulamaları Tasarımı

6.11.1. Amaç

6.11.2. Arayüz

6.11.3. Güvenlik

6.11.4. Tasarım Önerileri

6.12.   Tasarımda Genel Kurallar

6.12.1. Modüler Tasarım

6.12.1.1. Modüler Tasarım Ölçütleri

6.12.1.2. Modül Türleri

6.12.1.3. İşlevsel Bağımsızlık

6.12.1.4. Modüler Tasarım İlkeleri

6.12.2. Tekrar Kullanım

6.12.3. Denetim ve İşlevin Ayrılması

6.12.4. Genel Kurallar

6.13.  Belgelendirme

6.14.  Riskler

6.15.  Özet

6.16.  Sorular

 

BÖLÜM  7. Yazılım Gerçekleştirimi

7.1.   Programlama Dilleri

7.1.1. Dillerin Tarihçesi

7.1.2. Dillerin Gelişimi

7.1.2.1. Birinci Nesil Diller

7.1.2.2. İkinci Nesil Diller

7.1.2.3. Üçüncü Nesil Diller

7.1.2.4. Dördüncü Nesil Diller

7.1.2.5. Beşinci Nesil Diller

7.1.3. Dillerin Özellikleri

7.1.3.1. Genel Özellikler

7.1.3.2. Nesneye Yönelik Dillerin Özellikleri

7.1.3.3. Gerçek Zamanlı Dillerin Özellikleri

7.1.4. Dil Seçimi

7.1.5. Dillerin Uygulama Alanları

7.1.6. Yeni Diller

7.2.   Kod Çevrim İşlemi

7.2.1. Derleyiciler

7.2.2. Yorumlayıcılar

7.2.3. Geliştirme Ortamı

7.2.4. Yürütme Ortamı

7.2.4.1. CORBA

7.2.4.2. HLA

7.2.4.3. Ticari Ara Katmanlar

7.3.  Kodlama Biçimleri

7.3.1. Kodlama Dili

7.3.2. Kod Belgelemesi

7.3.2.1. İsimlendirme

7.3.2.2. Açıklamalar

7.3.2.3. Hata Ayıklama

7.3.3. Veri Bildirimi

7.3.4. Deyim Yapıları

7.4.   Etkinlik 

7.4.1. Kod Etkinliği

7.4.2. Bellek Etkinliği

7.4.3. Giriş/Çıkış Etkinliği

7.4.4. Atık Toplama

7.4.5. Aykırı Durumların Kotarılması

7.5.   Temel İlkeler

7.5.1. Kodlamada Niteliksel Özellikler

7.5.2. Modül Oluşturma

7.5.3. Kod Yazımı

7.6.    Belgelendirme

7.7.   Riskler

7.8.   Özet

7.9.   Sorular

 

BÖLÜM  8.  Yazılım Testi

8.1.   Yazılım Testinin Temelleri

8.1.1. Testin Amaçları

8.1.1.1. Deneme Testleri

8.1.1.2. Kabul Testleri

8.1.2. Testin Yapılışı

8.1.3. Test Yöntemleri

8.1.3.1. Saydam Kutu Testi

8.1.3.2. Kara Kutu Testi

8.1.4. Özel Sistemlerin Testleri

8.1.5. Otomatik Test Araçları

8.2.   Test Stratejileri

8.2.1. Birim Testi

8.2.1.1. Birim Gerçekleştiriminde Hatalar

8.2.1.2. Birim Testi Yöntemleri

8.2.1.3. Birim Testinin Yapılışı

8.2.2. Tümleştirme Testi

8.2.2.1. Yukarıdan Aşağı Tümleştirme

8.2.2.2. Aşağıdan Yukarıya Tümleştirme

8.2.3. Yeterlilik Testleri

8.2.3.1. Doğrulama

8.2.3.2. Geçerleme

8.2.3.3. Rasgele Testler

8.2.4. Sistem Testi

8.2.4.1. Yükleme Testi

8.2.4.2. Germe Testi

8.2.4.3. Geri Kazanma Testi

8.2.4.4. Emniyet Testi

8.2.4.5. Güvenlik Testi

8.2.4.6. Başarım Testi

8.2.5. Kabul Testleri

8.2.5.1. Üretim Hattı Testleri

8.2.5.2. Kullanım Hattı Testleri

8.2.5.3. Deneme Testleri

8.2.5.4. Alfa ve Beta Testleri

8.2.5.5. Kabul Kıstasları

8.3.   Test Yönetimi  

8.4.   Hata Ayıklama 

8.4.1. Hata Ayıklama Süreci

8.4.2. Yaygın Hataların Özellikleri

8.4.3. Hata Ayıklama Yöntemleri

8.5.  Belgelendirme

8.6.   Riskler

8.7.   Özet

8.8.   Sorular

 

BÖLÜM  9. Yazılım Bakımı

9.1.  Yazılım Bakımının Temelleri

9.1.1. Bakım Türleri

9.1.1.1. Düzeltici Bakım

9.1.1.2. Uyarlayıcı Bakım

9.1.1.3. İyileştirici Bakım

9.1.1.4. Önleyici Bakım

9.1.2. Örgütlenme

9.1.3. Bakım Aşamaları

9.1.4. Raporlama

9.2.   Bakım Kolaylığı

9.2.1. Denetim Etmenleri

9.2.2. Bakımın Niteliği

9.2.3. Niceliksel Ölçümler

9.2.4. Bakım Sorunları

9.2.5. Geliştirici İçin Kurallar

9.3.  Bakımın Yan Etkileri

9.3.1. Kodlamanın Etkilenmesi

9.3.2. Verilerin Etkilenmesi

9.3.3. Belgelendirmenin Etkilenmesi

9.3.4. Başarımın Etkilenmesi

9.4.   Belgelendirilmemiş Yazılımların Bakımı

9.4.1. Aynı Kod Üzerinde Bakım

9.4.2. Kod Taşıma

9.4.3. Tersine Mühendislik

9.4.4. Yeniden Yapılanma

9.5.   Riskler

9.6.   Özet

9.7.   Sorular

 

BÖLÜM  10. Yazılım Nitelik Güvencesi

10.1.  Yazılım Niteliği

10.1.1. Nitelik Etmenleri

10.1.1.1. Kullanıma Yönelik Özellikler

10.1.1.2. Taşınmaya Yönelik Özellikler

10.1.1.3. Yenileştirmeye Yönelik Özellikler

10.1.2. Nitelik Metrikleri

10.1.3. Nitelik Güvence Gereksinimi

10.1.4. Nitelik Güvence Etkinlikleri

10.1.5. Nitelik Güvence Yönetimi

10.1.6. Toplam Nitelik Yönetimi

10.1.7. Örgütlenme ve Nitelik

10.2.  Süreç Modelleri

10.3.  Nitelik Sistem Standartları

10.3.1. CMM

10.3.2. CMMI

10.3.3. Trillium

10.3.4. TickIT

10.3.5. SPICE

10.3.6. ISO 9000

10.3.7. AQAP-150 / 160

10.3.8. Karşılaştırma ve Öneriler

10.4.    Gözden Geçirmeler

10.4.1. Eşdüzey Gözden Geçirme

10.4.2. Resmi Teknik Gözden Geçirmeler

10.4.3. Birleşik Gözden Geçirme

10.4.4. İnceleme Kuralları

10.4.5. Yazılım Ürün Değerlendirmesi

10.4.6. İnceleme Kontrol Listeleri

10.4.6.1. Sistem Mühendisliği

10.4.6.2. Yazılım Proje Planlaması

10.4.6.3. Yazılım İsterleri Çözümlemesi

10.4.6.4. Yazılım Tasarımı

10.4.6.5. Kodlama

10.4.6.6. Yazılım Tümleştirme ve Test

10.4.6.7. Yazılım Bakımı

10.5.  Resmi Nitelik Güvence Yöntemleri

10.5.1. Doğruluğun Kanıtlanması

10.5.2. İstatistiksel Yaklaşım

10.5.3. Temiz Oda Süreci

10.5.4. Yardımcı Araç Desteği

10.6.  Yazılım Güvenilirliği..

10.6.1. Güvenilirlik ve Yararlanılabilirlik Ölçümleri

10.6.2. Yazılım Emniyeti

10.7.  Sistem Aktarımı

10.7.1. Donanım Aktarımı

10.7.2. Yazılım Aktarımı

10.7.2.1. Yazılım Sözleşme Türleri

10.7.2.2. Lisanslar

10.7.2.3. Aktarılacak Öğeler

10.7.3. Belgelendirme Aktarımı

10.7.4. Bütünleştirici Süreçler

10.7.5. Garanti Koşulları

10.7.6. Eğitim

10.8.  Yazılım Niteliği Ölçüm Unsurları

10.8.1. Yazılım Ürün Metrikleri

10.8.2. Metrik Türleri

10.8.3. Metrik Tanımları

10.8.3.1. Süreç Metrikleri

10.8.3.2. Boyut Metrikleri

10.8.3.3. Zamanlama Metrikleri

10.8.3.4. Maliyet ve Kaynak Metrikleri

10.8.3.5. Ürün Nitelik Metrikleri

10.8.3.6. Bakım ve Okunabilirlik Metrikleri

10.8.3.7. Üretkenlik Metrikleri

10.8.4. Yazılım Ölçme Zorlukları

10.8.5. Doğrulama ve Değerlendirme

10.8.6. Başarım ve Etkinlik

10.9.  Özet

10.10. Sorular

 

BÖLÜM  11. Düzenleşim Yönetimi

11.1.  Sistem Düzenleşim Yönetimi

11.2.  Yazılım Düzenleşim Yönetimi

11.2.1. Düzenleşim Yönetim Planı

11.2.2. Düzenleşim Yönetim Sistemi

11.3.  Düzenleşim Yönetimi Süreci

11.3.1. Tanımlama

11.3.2. Sürüm Denetimi

11.3.3. Düzenleşim Denetimi

11.3.4. Değişiklik Denetimi

11.3.4.1. Değişiklik Denetimi Düzeyleri

11.3.4.2. Değişiklik Denetim Yetkilisi

11.3.4.3. Değişiklik Denetim Süreci

11.3.5. Denetim

11.3.6. Durum Değerlendirmesi ve Raporlama

11.4.  Düzenleşim Denetimi İle Geliştirme

11.4.1. Sabitleme

11.4.2. Sabitleme İle Geliştirme

11.4.3. Günlük Birleştirme

11.5.  Ürün Çoğaltma

11.5.1. Çoğaltma Türleri

11.5.2. Kurulum Dosyaları

11.5.3. Belgelendirme

11.5.4. Ürün Teslimi

11.6.  Özet

11.7.  Sorular

 

BÖLÜM  12. Yazılım Geliştirme Yöntembilimleri

12.1.  Yazılım Geliştirme Standartlarının Geçmişi

12.1.1. Askeri Sistemlerin Öncülüğü

12.1.2. Tarihçe

12.1.3. Belgelendirme

12.2.    IEEE/EIA 12207  

12.2.1. Standardın Kullanımı

12.2.2. Süreçler

12.2.2.1. Temel Süreçler

12.2.2.2. Destekleyici Süreçler

12.2.2.3. Örgütsel Süreçler

12.2.3. Uyarlama

12.2.4. Kılavuzluk

12.2.5. Destekleyici Standartlar

12.2.6. Belgeler

12.2.7. Karşılaştırma

12.3.  Yazılım Geliştirme Süreci

12.3.1. Yazılım Proje Planlaması

12.3.1.1. Planlar

12.3.1.2. Personel

12.3.1.3. Uygulama

12.3.2. Yazılım Geliştirme Ortamının Kurulması

12.3.2.1. Yazılım Geliştirme Ortamı

12.3.2.2. Yazılım Test Ortamı

12.3.2.3. Kullanım Ortamı

12.3.3. Yazılım İsterleri Çözümlemesi

12.3.3.1. Sistem Yazılım İsterleri Çözümlemesi

12.3.3.2. Yazılım Öğe Çözümlemesi

12.3.3.3. Test Hazırlığı

12.3.4. Yazılım Tasarımı

12.3.4.1. Sistem Yazılım Tasarımı

12.3.4.2. Öğe Tasarımı

12.3.4.3. Ayrıntılı Tasarım

12.3.4.4. İzlenebilirlik

12.3.5. Yazılım Gerçekleştirimi ve Birim Testi

12.3.5.1. Yazılım Gerçekleştirimi

12.3.5.2. Birim Testi

12.3.6. Yazılım Tümleştirme ve Test

12.3.7. Yeterlilik Testi

12.3.8. Sistem Tümleştirme ve Test

12.3.9. Sistem Yeterlilik Testi

12.3.10. Yazılımı Kullanıma Hazırlama

12.3.10.1. Yürütülebilir Yazılım

12.3.10.2. Yazılım Kullanıcı Kılavuzları

12.3.11. Yazılımı Aktarmaya Hazırlama

12.3.12. Yazılım Bakımı

12.3.13. Genel Belge Listesi

12.4.  Özet 

12.5.  Sorular

 

BÖLÜM  13. Proje Yönetimi

13.1.  Proje ve Program

13.1.1. Proje Başlatılması

13.1.2. Proje Yönetimi

13.1.3. Proje Hedefleri

13.1.4. Proje Yönetim Süreçleri

13.2.  Proje Tümleştirme Yönetimi

13.2.1. Proje Planı

13.2.2. İş Dağılım Ağacı

13.2.3. Değişiklik Denetimi

13.3.  Proje Kapsam Yönetimi

13.4.  Proje Zaman Yönetimi

13.4.1. Ağ Diyagramı

13.4.2. Öncül Çizelgeleme

13.4.3. PERT

13.4.4. Zaman Planlaması

13.4.4.1. İnsan Etmeni

13.4.4.2. Proje Takibi ve Denetimi

13.4.4.3. Kişisel Zaman Yönetimi

13.5.  Proje Maliyet Yönetimi

13.5.1. Kaynak Planlaması

13.5.1.1. Donanım Kaynakları

13.5.1.2. Yazılım Kaynakları

13.5.1.3. İnsan Kaynakları

13.5.1.4. Planlama

13.5.2. Maliyet Kestirimi

13.5.3. Maliyet Kalemleri

13.5.4. Maliyet Bütçelemesi ve Denetimi

13.6.  Proje Nitelik Yönetimi

13.6.1. Nitelik Planlama

13.6.2. Nitelik Güvence ve Denetim

13.7.  Proje İnsan Kaynakları Yönetimi

13.7.1. Örgütsel Planlama

13.7.2. Ekip Oluşturma

13.8.  Proje İletişim Yönetimi

13.8.1. Bilgi Dağıtımı

13.8.2. Kapanış

13.9.  Proje Risk Yönetimi

13.9.1. Yönetim Planlaması

13.9.2. Risk Yönetimi Etkinlikleri

13.9.2.1. Risklerin Tanımlanması

13.9.2.2. Risklerin Çözümlenmesi

13.9.2.3. Risklerin Planlanması

13.9.2.4. Risklerin İzlenmesi

13.9.3. Risk Yönetiminin Uygulanması

13.9.4. Yazılım Risk Yönetimi

13.10.    Proje Edinme Yönetimi

13.10.1. Planlama

13.10.2. İhale ve Sözleşme

13.10.3. Yazılım Edinme Seçenekleri

13.11.    Proje Örgütlenmesi

13.11.1. Yazılım Geliştirme Proje Yönetimi

13.11.1.1. Gerçekleştirme Yöntemi

13.11.1.2. Kestirim

13.11.2. Örgütsel Planlama

13.11.2.1. Yazılım Geliştirme Yöneticisi

13.11.2.2. Yazılım Düzenleşim Yönetimi

13.11.2.3. Yazılım Nitelik Güvence Yönetimi

13.11.2.4. Yazılım Test ve Tümleştirme Yönetimi

13.11.2.5. Yazılım Geliştirme Grupları

13.11.2.6. Yazılım Geliştirme Ekipleri

13.11.3. Yazılım Geliştirme Planı

13.12.    Özet

13.13.    Sorular

 

BÖLÜM  14.  Yazılım Geliştirme İçin Pratik Öneriler

14.1.  Yönetsel Öneriler

14.1.1. Proje Yönetimi

14.1.2. İnsan Kaynakları Planlaması

14.1.3. Maliyet Kestirimi ve Planlama

14.1.4. Metrik Kullanımı

14.1.5. Kazanılmış Değerlerin İzlenmesi

14.1.6. Nitelik Hedeflerinin İzlenmesi

14.1.7. Disiplinin Sağlanması

14.2.  Süreçlere Yönelik Öneriler

14.2.1. İsterlerin Yönetimi ve İzlenmesi

14.2.2. Sistem Tabanlı Yazılım Tasarımı

14.2.3. Beraber Çalışabilirlik

14.2.4. Arayüzlerin Tanımlanması ve Denetimi

14.2.5. Yaşam Çevrimi Düzenleşim Yönetimi

14.3.  Geliştirmeye Yönelik Öneriler    

14.3.1. Tasarım

14.3.2. Tekrar Kullanım

14.3.3. İsterlerin ve Tasarımın Denetlenmesi

14.3.4. Gerçekleştirim

14.3.5. Sürekli Test

14.3.6. Sık Derleme ve Test

14.3.7. Hata Ayıklama

14.3.8. Ölçme Süreci Uygulaması

14.4.  Niteliği Artırmak İçin Pratik Öneriler

14.4.1. İşlevsel Nitelik

14.4.2. Güvenilirlik

14.4.3. Bakım Kolaylığı

14.4.4. Kullanışlı Sistem Geliştirme

14.5.  Toplantı Kuralları

14.5.1. Toplantı Verimi

14.5.2. Toplantı Belgeleri

14.6.  Özet

 

Ek A. Yazılım Mühendisliği Belgeleri

A.1.  Standart Yapı

A.2.  Proje Öneri Belgesi

A.3.  Proje Tanımlama Belgesi 

A.4.  Proje Yönetim Planı 

A.5.  İşletim Kavramı Tanımlaması 

A.6.  Yapılabilirlik Raporu 

A.7.  Sistem Mühendisliği Yönetim Planı

A.8.  Sistem Altsistem Belirtimi 

A.9.  Sistem Altsistem Tasarım Tanımlaması

A.10.  Sistem Tümleştirme Planı

A.11.  Sistem Test Planı 

A.12.  Sistem Aktarım Planı 

A.13.  Yazılım Kurulum Planı 

A.14.  Teknik Anlaşma

A.15.  Yazılım Geliştirme Planı 

A.16.  Yazılım İsterleri Belirtimi 

A.17.  Yazılım Tasarım Tanımlaması 

A.18.  Arayüz İsterleri Belirtimi 

A.19.  Arayüz Tasarım Tanımlaması 

A.20.  Veri Tabanı Tasarım Tanımlaması  

A.21.  Yazılım Test Planı

A.22.  Yazılım Test Tanımlaması

A.23.  Yazılım Test Raporu

A.24.  Yazılım Nitelik Güvence Planı

A.25.  Yazılım Düzenleşim Yönetim Planı

 

Ek B. İş Kırınım Yapısı

 

Ek C. Birleşik Modellere Dili UML

C.1.  UML Diyagramları

C.2.  Kullanım Senaryoları

C.3.  UML İle Tasarım

C.4.  Gerçekleştirim

C.5.  Belgelendirme

 

Ek D. Yazılım Mühendisliği Tanımları

 

Kaynakça

 

Dizin

 

Yazılım Mühendisliği PDF İçindekiler İndir                     şimdi satın al

http://www.tdk.com.tr/images_buyuk/f67/Algoritma-Gelistirme-ve-Veri-Yap_5767_1.jpg


Papatya Bilim Yayınevi Akademik Bilimsel ve Üniversite Ders Kitaplar