Yazılım Kalite Ölçümü

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Yazılım ölçümü yapılmadan, yazılımın kontrolü nasıl olur?

Yazılım üretimi ölçülemez ise kontrol edilemez.

Yöneticiler, yazılımın ölçülmesini neden önemli bulurlar?

  • Projeler için ölçülebilir hedefler belirlemek için. Örneğin, yazılım sisteminin ne kadar güvenilir olması gerektiği. (correct)
  • Şirkette kullanılmaya başlanan yöntem veya yazılım geliştirme araçlarının etkinliğini ölçmek için. (correct)
  • Tüm seçenekler doğru. (correct)
  • Farklı bölüm çalışanlarının ücretlerini belirlemek için. (correct)
  • Yazılım üretimi için maliyeti tahmin etmek için. (correct)
  • Farklı projelerde geliştirilen yazılım ürünlerini karşılaştırmak için. (correct)

Yazılım mühendisleri, yazılımları neden ölçer?

Yazılım mühendisleri, süreç ölçümleri ile sistemin kalitesini izlemeye, kesin ölçülebilir terimlerle kalite ve performans gereksinimlerini belirlemeye, sertifika için ürün ve süreç özelliklerini ölçmeye ve var olan ürünler ile uygulanan süreçlerden faydalanarak gelecekteki ürün geliştirmeler için tahmin yapabilmeye ihtiyaç duyarlar.

Halstead'ın kaynak programın kalite güvencesini kestirmek için kullandığı ölçütler nelerdir?

<ul> <li>Programda bulunan farklı işleç (operatör) sayısı</li> <li>Programda bulunan farklı işlenen (operand) sayısı</li> <li>İşleç yinelenmelerinin toplamı</li> <li>İşlenen yinelenmelerinin toplamı</li> </ul> Signup and view all the answers

Halstead tarafından geliştirilen yazılım ölçümünde, hangi ölçütlerin kullanılmasını önermektedir?

<p>Program uzunluğu, program hacmi ve program gücü ölçütleri.</p> Signup and view all the answers

MCCABE, programın kontrol akışı biçiminde gösterimine dayalı olarak neyi belirlemektedir?

<p>MCCABE, programın karmaşıklık derecesini belirlemektedir.</p> Signup and view all the answers

Program grafı veya akış grafı neyi göstermektedir?

<p>Program grafı veya akış grafı, programın kontrol akışını göstermektedir.</p> Signup and view all the answers

MCCABE, yazılım karmaşıklığını ölçerken neyi esas almaktadır?

<p>MCCABE, program grafındaki döngü karmaşıklığını esas almaktadır.</p> Signup and view all the answers

Program grafındaki kapalı bölgeler sayısının, modülün karmaşıklığını vermekle hiçbir ilgisi yoktur.

<p>False (B)</p> Signup and view all the answers

MCCABE ölçüsü neyi saptamada da kullanılabilir?

<p>MCCABE ölçüsü, en yüksek modül büyüklüğünü saptamada da kullanılabilir.</p> Signup and view all the answers

Çok sayıda programlama projesi üzerinden derlenen bilgilere göre, model büyüklüğünün hangi değerde olması gerektiği belirlenmiştir?

<p>Çok sayıda programlama projesi üzerinden derlenen bilgilere göre, model büyüklüğünün en çok V(G) = 10 olması gerektiği belirlenmiştir.</p> Signup and view all the answers

Döngü karmaşıklığının bu sayıyı aşması halinde ne olur?

<p>Döngü karmaşıklığının bu sayıyı aşması halinde, modülün sınanması işlemi büyük ölçüde zorlaşmaktadır.</p> Signup and view all the answers

Tüm yazılımların aynı kalitede ve aynı bileşenlerle aynı sonucu vermesi beklenir.

<p>False (B)</p> Signup and view all the answers

Yazılımları tümüyle test etmek mümkündür.

<p>False (B)</p> Signup and view all the answers

Kalite güvenirliği neye dayanmaktadır?

<p>Kalite güvenirliği geçmiş bilgilere ve sınamaya dayanmaktadır.</p> Signup and view all the answers

Başarı oranı nasıl hesaplanır?

<p>Başarı oranı = Başarılı süre / Toplam işletim süresi formülü ile hesaplanır.</p> Signup and view all the answers

Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için kaç tane model geliştirilmiştir?

<p>Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için 1980'lerde 100'e yakın model geliştirilmiştir.</p> Signup and view all the answers

Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için en yaygın olan dört model hangileridir?

<p>Schneidewind Model (A), Jelinski/Moranda Model (B), Musa Basic - Musa/Okumoto Log. Poison Execution-time Model (C), Tüm seçenekler doğru. (D), Littlewood-Verrall Model (E)</p> Signup and view all the answers

Güvenirlik modelleri, istatistiki verilere dayanarak neyi saptamaktadır?

<p>Güvenirlik modelleri, istatistiki verilere dayanarak yazılımın güvenirliliğini saptamaktadır.</p> Signup and view all the answers

Güvenirlik modellerinin çalıştırılması sonucunda hangi değerler elde edilir?

<p>Güvenirlik modellerinin çalıştırılması sonucunda, toplam hata sayısı, güvenirlilik düzeyi, sistemde yapılan revizyon sonucunda kalan hata sayısı gibi değerler elde edilir.</p> Signup and view all the answers

Bir yazılımın güvenirlik modeli değerlendirilirken hangi sorulara cevap aranmalıdır?

<p>Modele göre yazılım ne kadar geçerlidir, modeli kullanarak yazılımın güvenirliliğinin ölçümü ne kadar kolaydır, modeli kullanmak için yazılımın ne kadarına ihtiyaç vardır, modeli yazılım ölçümünde kullanmak kolay ve anlaşılır mı ve model dış etkenlerden etkileniyor mu gibi sorular.</p> Signup and view all the answers

Bell laboratuarlarında yapılan çalışma ile yazılımın güvenirliğini sağlamak için en iyi yöntemlere odaklanılmış ve yazılımın gelişiminden müşteriye teslimine kadar kaç tane aktivite belirtilmiştir?

<p>Bell laboratuarlarında yapılan bir çalışma ile yazılım güvenirliğini sağlamak için en iyi yöntemlere odaklanılmış ve yazılımın gelişiminden müşteriye teslimine kadar 25 aktivite belirtilmiştir.</p> Signup and view all the answers

Yazılım güvenirliliğini sağlamak için belirtilen 25 aktivite hangi kategoriler altında toplanabilir?

<p>Yazılım güvenirliliğini sağlamak için belirtilen 25 aktivite, Olabilirlilik&amp;Gereksinimler, Tanımlamak&amp;Uygulamak, Sistem Testi, Teslim&amp;Bakım kategorileri altında toplanabilir.</p> Signup and view all the answers

Nesneye yönelik yazılımlarda test stratejileri ve test teknikleri, diğer yazılımlardan neden farklıdır?

<p>Nesneye yönelik yazılımlarda test stratejileri ve test teknikleri diğer yazılımlardan farklıdır çünkü sistem gereksinim tanımları, sınıf modelleri, sistem tasarımı ve nesne tasarımındaki hataların, kodlama sürecinden önce test edilerek belirlenmesi gerekir.</p> Signup and view all the answers

Nesneye yönelik analiz ve tasarım modellerinin test edilmesi için neden klasik yöntemler yerine formal teknik gözden geçirmeler kullanılır?

<p>Nesneye yönelik analiz ve tasarım modellerinin test edilmesi için klasik yöntemler yerine formal teknik gözden geçirmeler kullanılır çünkü bu modeller çalıştırılabilir olmayabilir.</p> Signup and view all the answers

Nesneye yönelik analiz ve tasarım modellerinin test edilmesi sırasında hangi kontroller yapılır?

<p>Nesneye yönelik analiz ve tasarım modellerinin test edilmesi sırasında doğruluk ve tutarlılık kontrolü yapılır.</p> Signup and view all the answers

Doğruluk kontrolü hangi kontrolleri içerir?

<p>Modellerin mantıksal doğruluk düzeyi incelemesi. (A), Gerçek dünyaya uyumluluk kontrolü. (B), Tüm seçenekler doğru. (C), Sözdizimsel doğruluk kontrolü. (D)</p> Signup and view all the answers

Tutarlılık, hangi yöntemler ile kontrol edilebilir?

<p>Tutarlılık ise, Sınıf-Sorumluluk-İşbirliği (CRC) ve nesne ilişki modeli ile her sınıfın diğer sınıflarla ilişkilerinin test edilmesi ile kontrol edilebilir.</p> Signup and view all the answers

Nesneye yönelik yazılımlarda, birim kavramı ne olarak değişmektedir?

<p>Nesneye yönelik yazılımlarda, birim kavramı sınıf veya nesne olarak değişmektedir.</p> Signup and view all the answers

Nesneye yönelik yazılımlarda, birim test nasıl tanımlanmaktadır?

<p>Nesneye yönelik yazılımlarda, birim test sınıf testi olarak tanımlanmaktadır.</p> Signup and view all the answers

Sınıf testi, birim testinden nasıl farklıdır?

<p>Birim Testi algoritma ayrıntılarına ve veri akışına odaklanırken, Sınıf Testi paketlenmiş işlemler ve durum değişimlerine odaklanır.</p> Signup and view all the answers

OO yazılımları, hiyerarşik kontrol yapılarına sahip olduğu için, bütünlük testinde yukarıdan aşağıya veya aşağıdan yukarıya test stratejileri uygulanabilir.

<p>False (B)</p> Signup and view all the answers

OO yazılımlarda hangi bütünlük testleri kullanılmaktadır?

<p>OO yazılımlarda, Kullanım Temelli veya Thread-Temelli bütünlük Testleri kullanılmaktadır.</p> Signup and view all the answers

Kabul veya sistem test aşamasında, hangi ayrıntılar önemli değildir?

<p>Kabul veya Sistem testi aşamasında, sınıf ilişkilerindeki ayrıntılar önemli değildir.</p> Signup and view all the answers

Kabul veya sistem testi aşamasında, diğer yazılımlar gibi ne sağlanmalıdır?

<p>Kabul veya Sistem testi aşamasında, diğer yazılımlar gibi kullanıcı bakış açısıyla gereksinimlerin karşılanmasına sağlanmalıdır.</p> Signup and view all the answers

Kabul veya sistem testi aşamasında, hangi test kullanılmaktadır?

<p>Kabul veya Sistem testi aşamasında, kara kutu testi kullanılmaktadır.</p> Signup and view all the answers

Test-case'ler, OO Analiz aşamasında oluşturulan hangi diyagramlardan faydalanılarak hazırlanabilir?

<p>Test-case'ler, OO Analiz aşamasında oluşturulan “Nesne-Davranış” ve “Olay-Akış” diyagramlarından faydalanılarak hazırlanabilir.</p> Signup and view all the answers

Bölümlemeli Sınıf Testi, test case sayısını artırarak yapılabilir.

<p>False (B)</p> Signup and view all the answers

Bölümlemeli Sınıf Testinin amacı nedir?

<p>Bölümlemeli Sınıf Testinin amacı, test case sayısını azaltarak sınıfların test edilmesidir.</p> Signup and view all the answers

Girdi ve çıktılar nasıl kategorize edilir?

<p>Girdi ve çıktılar kategorize edilerek her kategori için test-case oluşturulur.</p> Signup and view all the answers

Miras alınan metodlar, asla yeniden test edilmemelidir.

<p>False (B)</p> Signup and view all the answers

Çok biçimlilik (Polymorphism) Özelliğinin test üzerine etkisi nedir?

<p>Çok biçimlilik (Polymorphism) Özelliğinin test üzerine etkisi, çok biçimli bileşenlerin olası tüm bağlanma (binding) durumları için ayrı bir test yapılması gerektiğidir.</p> Signup and view all the answers

Flashcards

Yazılım ölçümünün önemi

Yazılım üretimi ölçülemez ise kontrol edilemez. Bu ifade yazılım geliştirmede ölçümün önemini vurgular.

Yazılım ölçümü nedir?

Yazılımın boyutunu, karmaşıklığını ve performansını ölçerek yazılım kalitesi hakkında bilgi sağlar.

Yöneticilerin yazılım ölçümüne bakışı

Yöneticiler için maliyet tahmini, personel üretkenliği ve yazılım kalitesini ölçmek için önemlidir.

Yazılım mühendislerinin yazılım ölçümüne bakışı

Yazılım mühendisleri yazılım kalitesini takip etmek, gereksinimleri belirlemek ve gelecek tahminleri için ölçümü kullanırlar.

Signup and view all the flashcards

m (Halstead Ölçümü)

Programda kullanılan farklı işleç (operatör) sayısı.

Signup and view all the flashcards

k (Halstead Ölçümü)

Programda kullanılan farklı işlenen (operand) sayısı.

Signup and view all the flashcards

M (Halstead Ölçümü)

İşleçlerin yinelenmelerinin toplamı.

Signup and view all the flashcards

K (Halstead Ölçümü)

İşlenenlerin yinelenmelerinin toplamı.

Signup and view all the flashcards

Program uzunluğu (U)

Programın uzunluğunu hesaplamak için kullanılan bir Halstead ölçüsü.

Signup and view all the flashcards

Program hacmi (H)

Programın hacmini hesaplamak için kullanılan bir Halstead ölçüsü.

Signup and view all the flashcards

Program gücü (G)

Programın geliştirilmesi için gereken çabayı hesaplamak için kullanılan bir Halstead ölçüsü.

Signup and view all the flashcards

Akış Grafı (Program Grafı)

Programın kontrol akışını görselleştiren bir diyagram.

Signup and view all the flashcards

McCABE Ölçüsü

Yazılım karmaşıklığını ölçmek için kullanılan bir yöntem.

Signup and view all the flashcards

Döngü karmaşıklığı

Kapalıbölgelerin sayısı, modülün karmaşıklık derecesini temsil eder.

Signup and view all the flashcards

Yazılım Güvenirliği

Yazılımın kusursuz olarak çalışması, güvenilir olması ve beklendiği gibi performans göstermesi için kullanılan bir kavram.

Signup and view all the flashcards

Başarı oranı formülü

Geçmiş verilere ve testlere dayalı olarak yazılım güvenilirliğini tahmin etmek için kullanılan bir formül.

Signup and view all the flashcards

Yazılım Güvenilirlik Modelleri

Yazılım güvenilirliğini tahmin etmek için kullanılan istatistiki modeller.

Signup and view all the flashcards

Yazılım Güvenilirlik Modeli Değerlendirme

Yazılım güvenilirlik modellerinin doğruluğunu, kolaylığını ve kullanılabilirliğini değerlendirmek için sorular.

Signup and view all the flashcards

Yazılım Güvenirliğini Sağlama Adımları

Bell laboratuarlarında yapılan bir çalışma sonucunda belirlenen yazılım güvenilirliğini sağlamak için 25 aktivite.

Signup and view all the flashcards

Olabilirlilik & Gereksinimler

Yazılım güvenilirliğini sağlama adımlarından biri olup, yazılımın işlevsel profilini belirlemek ve müşteri beklentilerini tanımlamak.

Signup and view all the flashcards

Tanımlamak & Uygulamak

Yazılımın güvenirlik özelliklerini belirlemek ve hataları önlemek için bileşenler arası analiz yapmak.

Signup and view all the flashcards

Sistem Testi

Yazılım güvenilirliğini sağlama adımlarından biri olup, testleri yönetmek ve gözlemlemek.

Signup and view all the flashcards

Teslim & Bakım

Yazılımın kullanıma sunulması, güvenilirliğinin izlenmesi ve müşteri memnuniyetini takip etmek.

Signup and view all the flashcards

Nesneye Yönelik Test

Nesneye yönelik yazılımların test edilmesinde kullanılan özel stratejiler ve teknikler.

Signup and view all the flashcards

Nesneye Yönelik Analiz ve Tasarım Modellerinin Test Edilmesi

Nesneye yönelik yazılımlarda, analiz ve tasarım modelinin doğruluğunu ve tutarlılığını incelemek.

Signup and view all the flashcards

Nesneye Yönelik Yazılım Testi

Nesneye yönelik yazılımlarda, sınıfların işlevselliğini ve davranışını test etmek.

Signup and view all the flashcards

Nesneye Yönelik Yazılım Kabul Testi

Nesneye yönelik yazılımlarda, sistemin kullanıcı gereksinimlerini karşılayıp karşılamadığını test etmek.

Signup and view all the flashcards

Bölümlemeli Sınıf Testi

Sınıfların test edilmesinde, test case sayısını azaltmak için girdi ve çıktıları kategorize etmek.

Signup and view all the flashcards

Miras (Inheritance) Özelliğinin Test Üzerine Etkisi

Miras özelliğinin yazılım testine etkisi.

Signup and view all the flashcards

Çok Biçimlilik (Polymorphism) Özelliğinin Test Üzerine Etkisi

Çok biçimlilik özelliğinin yazılım testine etkisi.

Signup and view all the flashcards

Study Notes

Kalite Ölçümü ve Değerlendirmeleri

  • Yazılım incelemesi
  • Yazılım ölçütlerinin test adımlarında kullanımı
  • Kalite Güvenirliğinin kestirimi ve modelleri

Yazılım Ölçümü

  • Yazılım üretimi ölçülemezse kontrol edilemez (Tom De Marco)
  • Yöneticiler ve yazılım mühendisleri için farklı ölçme gereksinimleri vardır
  • Yöneticiler:
    • Yazılım üretiminin maliyetini belirlemek
    • Farklı departman çalışanlarının verimliliğini ölçmek
    • Farklı projelerdeki yazılım ürünlerini kıyaslamak
    • Projeler için ölçülebilir hedefler belirlemek (örneğin yazılımın güvenilirliği)
    • Yazılım geliştirme yöntemlerinin ve araçlarının etkinliğini ölçmek

Yazılım Mühendislerinin Ölçüm Gereksinimleri

  • Süreç ölçümleriyle sistemin kalitesini izlemek (örneğin tasarım değişiklikleri, kod hataları)
  • Kesin ölçülebilir terimlerle kalite ve performans gereksinimlerini belirlemek
  • Sertifika için ürün ve süreç özelliklerini ölçmek (örneğin modüllerin 100 satırdan fazla olmaması)
  • Var olan ürün ve süreçlerden faydalanarak gelecekteki ürün geliştirmeler için tahmin yapmak

Yazılım Ölçümü (Halstead)

  • Kaynak programın kalite güvenilirliğini kestirmek üzere kullanılır
  • m: Programdaki farklı işlem sayısı
  • k: Programdaki farklı işlenen sayısı
  • M: İşleç yinelenmelerinin toplamı
  • K: İşlenen yinelenmelerinin toplamı
  • Program uzunluğu (U): m log₂m + k log₂k
  • Program Hacmi (H): (M + K) log₂(m + k)
  • Program gücü (G): H / O

Yazılım Karmaşıklığı Ölçümü (McCabe)

  • Kontrol akışına dayalı olarak programın karmaşıklığını belirlemek
  • Program grafiğini (flow graph) kullanarak karmaşıklığı ölçmek
  • Graf içerisindeki kapalı bölgeler ve dışarıda kalan bölgelerin sayısı ile modülün karmaşıklığını belirlemek (örneğin Şekil-3.1'deki V(G) = 5)
  • McCabe ölçüsü, yüksek modül büyüklüğünü saptamada kullanılabilir, V(G) = 10 olması gerektiği belirlenmiştir.
  • Döngü karmaşıklığının bu sayıyı aşması, modülün testini zorlaştırır.

Yazılım Güvenirliği

  • Tüm yazılımların aynı kalitede, bileşenlerde ve sonuçlarda olması beklenmez
  • Bir yazılımın tüm test edilmesi mümkün değildir
  • 1000 satırlık bir ticari yazılımda en az 1 kod hatası bulunur
  • Kalite güvenirliği; geçmiş bilgilere ve sınamaya dayanarak tahmin edilir
  • Başarı oranı = Başarılı süre / Toplam işletim süresi formülü ile kestirilir

Yazılım Güvenirliği Modelleri

  • 1980'lerde 100'e yakın model geliştirilmiştir
  • Schneidewind, Jelinski/Moranda, Musa Basic (Musa/Okumoto Log. Poison Execution-time), Littlewood-Verrall en yaygın olanlardır
  • Modeller, istatistiki verilere dayanarak yazılımın güvenirliğini ölçer
  • Çalıştırılma sonuçları; toplam hata sayısı, güvenirlilik düzeyi, sistemdeki kalan hata sayısı gibi bilgiler elde edilir

Yazılım Güvenirlik Modeli Değerlendirme

  • Bir yazılım birden fazla modele göre test edilmeli ve sonuçlar karşılaştırılmalıdır
  • Modelin geçerliliği, kullanılabilirliği, ihtiyaca uygunluğu, anlaşılırlığı ve dış etkenlerden etkilenme durumu incelenmelidir

Yazılım Güvenirliği Sağlama Adımları

  • Bell laboratuarlarında yapılan çalışma, yazılımın gelişiminden teslim sürecine kadar 25 farklı aktivite tanımlamıştır
    • Olabilirlilik ve Gereksinimler: İşlevsel profilleri belirleme, hataları tanımlama, müşteri ihtiyaçlarını tanımlama, organizasyon yönetimi, bileşenler arası güvenilirliği tanımlama, işlevsel kaynaklara odaklanma, hatalı kodlamaları bulma, yazılım güvenilirliğini ölçme
    • Sistem Testi: Testleri yönetme, gözlemleme, gerekli ek testleri belirleme, test edilen objelerin güvenilirliğini ölçme, yazılımı kullanıma sunma, yazılımın güvenirliğini kontrol etme, müşteri memnuniyetini izleme, ürüne rehberlik ve ilerleme kaydetme

Nesneye Yönelik Test

  • Nesneye yönelik yazılımlarda test stratejileri ve teknikleri farklıdır
  • Sistem gereksinimleri, sınıf modelleri, sistem tasarımı ve nesne tasarımındaki hatalar test edilmelidir
  • Formal teknik incelemeler kullanılır
  • Analiz ve tasarım modelleri, çalıştırılabilir olmasa da, test edilebilir

Nesneye Yönelik Analiz ve Tasarım Modelleri Testi

  • Doğruluk ve tutarlılık için gözden geçirme yapılır
  • Modellerin mantıksal, sözdizimsel ve gerçek dünyaya uyumluluk kontrolu yapılır
  • Sınıf-Sorumluluk-İşbirliği (CRC) ve nesne ilişkisi modelleri kullanılarak test edilir

Nesneye Yönelik Yazılım Testi

  • Birim kavramı sınıf veya nesne olarak değişmektedir
  • Sınıflar, test-case tasarımları için uygun birimdir
  • Birim ve sınıf testleri, algoritma ayrıntıları, veri akışı ve paketlenmiş işlemler (OO yazılımlar hiyerarşik kontrolden yoksundur) incelenir

Nesneye Yönelik Yazılım Kabul Testi

  • Sınıf ilişkileri, diğer yazılımlar gibi önemli değildir
  • Gereksinimlerin karşılanması, testler için kara kutu testleriyle ve kullanım senaryolarıyla doğrulanır
  • Test-case ler, OO Analiz aşamasındaki "Nesne-Davranış" ve "Olay-Akış" diyagramları kullanılarak oluşturulur

Bölümlemeli Sınıf Testi

  • Test case sayısını azaltmak için sınıflar kategorize edilir
  • Miras alınan metodlar yeniden test edilmelidir
  • Çok biçimlilik (polymorphism) durumları için ayrı bir test yapılmalıdır

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Software Quality Measurement Quiz
5 questions

Software Quality Measurement Quiz

EffectualWatermelonTourmaline avatar
EffectualWatermelonTourmaline
Use Quizgecko on...
Browser
Browser