Yazılım Kalite Ölçümü Üzerine…


Yazılım geliştirme birçok kişiyi ilgilendiren geniş bir alan olup her bireyin yazılımdan beklentisi farklıdır. Yazılım dünyasındaki temel problem bu beklentileri nasıl tanımlayacağımız ve ölçeceğimizdir.

yaz_olcme

Read more of this post

Advertisements

Yazılım Kalite Süreci (Giriş, Bakış Açısı)


Kalite Nedir?

Kalite kavramı günümüze gelene kadar tanım değişiklikleri ile birlikte çeşitli evrimler geçirmiştir. Ayrıca bakış açısına göre dequality farklılık göstermektedir. Örneğin bireysel ve kurumsal bakış açıları aynı olmayabilir ve farklı cevaplar üretilebilir. Aşağıda çeşitli kalite tanımları bulunmaktadır;

  • Kalite, ihtiyaçları karşılama yeteneğidir (Deming, 1968).
  • Kalite, şartlara uygunluktur (Crosby, 1979).
  • İlk seferde doğrusunu yapmaktır (Price, 1975).
  • Kalite, bir ürün ya da hizmetin önceden belirlenen ya da sonradan ortaya çıkabilecek gereksinimleri karşılama yeteneğine dayanan özelliklerin toplamıdır (ISO–8402).
  • Kalite, ürün ya da hizmeti en az maliyetle üreten ve tüketici isteklerine cevap veren bir üretim sistemidir (JIS – Japon Standartlar Enstitüsü).
  • Kalite, mükemmeli arayışın sistematik bir yaklaşımıdır (ASQC – Amerikan Topluluğu Kalite Kontrol).
  • Kalite, kullanıma uygunluktur (Dr. Joseph M. Juran).

Read more of this post

Yazılım Yaşam Döngüsü Temel Aşamaları (Software Development Life Cycle Core Processes)


Yazılımın ürününün hem üretim hem de müşterideki kullanım süreci boyunca geçirdiği tüm aşamalar yazılım geliştirme yaşam döngüsü (“software development life cycle”, “SDLC”) olarak adlandırılır. Yazılım geliştirme süreci, zamanlamaya dayalı ve içerik olarak bölünmüş aşamalardan oluşmaktadır. Bu sayede yazılım planlı bir şekilde geliştirilmektedir. Yazılım işlevleri ile ilgili gereksinimler sürekli olarak değiştiği ve genişlediği için, söz konusu aşamalar sürekli bir döngü biçiminde ele alınır. Döngü içerisinde her hangi bir aşamada geriye dönmek ve tekrar ilerlemek söz konusudur. Temel yazılım geliştirme aşamaları aşağıdaki gibidir: Read more of this post

Android Emülatörü ve Sanal Cihazı (AVD)


Bu yazıyı okumadan önce Android işletim sistemini, ADT kurulum detaylarını anlatan Android Nedir? yazımı okumanızı tavsiye ederim. Android işletim sistemi mimari altyapısının detaylarına da buradan ulaşabilirsiniz.

Android Emülatörü

Piyasada çok farklı marka ve modelde cihaz Android işletim sistemi ile piyasaya sürülmektedir. Bu cihazlar;

  • Farklı Android işletim sistemlerini destekleyip,different_size
    • 2.1, 2.2, 3.0, 3.1, 3.2, 4.0, 4.1.2, 4.2.2 vb.
  • Farklı işlemci ve bellek özelliklerine sahip olup,
  • Farklı boyutlarda ve çözünürlükte
    • 3.2″, 3.3″, 3.4″, 4.0″, 4.7″, 5.1″, 7.0″, 10.1″

karşımıza çıkmaktadırlar. Piyasaya sunmak istediğimiz bir uygulamayı test etmek için bu kadar farklı özelliklerde cihazı edinmemiz mümkün değildir. Tam da bu noktada Android Emülatörü ve Sanal Cihaz Yöneticisi imdadımıza yetişir. Android Emülatörü geliştirdiğimiz Android uygulamalarımızı debug ve test etmemizi sağlayan bir araçtır. Emülatör yazdığınız Android uygulamasını Dalvik sanal makinesi üzerinde gerçek bir Android cihaza yakın şekilde (genelde) çalıştırabilir. ADT eklentisi sayesinde Eclipse içerisinde kurulu olarak gelir. Emülatörü kendi konsolu üzerinden kontrol etmek de mümkündür. Emülatörü çalıştırmak için öncelikle Android Sanal Cihaz Yöneticisi ile yeni bir Sanal Cihaz yaratmanız gerekmektedir. Read more of this post

Yazılım Mühendisliği (Software Engineering) Nedir?


Yazılım Mühendisliğine Genel Bakış ve Tanımlar

Yazılım mühendisliği; yazılım mühendislerinden oluşan bir veya birden çok takımın karmaşık yazılım sistemlerini üretmek amacıyla bir araya geldiği Bilgisayar Bilimleri alanıdır. Genelde üretilen yazılım sistemlerinin yeni versiyonları oluşturularak yıllarca kullanılırlar. Yeni versiyonların oluşturulma nedenleri aşağıdaki gibidir;

  • Mevcut özelliklere eklentiler yapılması
  • Müşteriler tarafından talep edilen yeni özelliklerin eklenmesi
  • Eski özelliklerin ve taleplerin sistemde desteklenmemesi
  • Yazılım sisteminin yeni teknolojilere ve altyapılara uyum sağlama zorunluluğu
  • Yasal zorunluluklar ve mevzuatlarda olan değişiklikler
  • Vb.

sengParnas [1] yazılım mühendisliğini; bir yazılımın birden çok versiyonu üzerinde birden çok kişinin aynı anda çalışması olarak tanımlamaktadır. Aslında bu basit tanım bile yazılım mühendisliği ve programlamanın birbirinden ne denli ayrıldığını gösteriyor. Bir programcı tek başına tüm programı yazar, tek tabanca çalışır. Yazılım mühendisi ise bir yazılım bileşeni yazar ve o bileşen diğer yazılım mühendisleri tarafından yazılmış diğer bileşenler ile entegre çalışır. İlerleyen zamanlarda bu bileşenler farklı yazılım mühendisleri tarafından farklı versiyonlarda değiştirilebilirler. Programlama kişisel bir aktivite iken yazılım mühendisliği tam bir takım çalışması gerektirir.

Yazılım mühendisliği; sistemli, düzenli, ölçülebilir bir yaklaşımın yazılım geliştirmede, yazılımın işletilmesinde ve bakımında uygulanmasıdır. Yazılım mühendisliğinin hedefi; yazılım üretimindeki karmaşıklıkları gidererek, üretimin en az maliyet ve en yüksek nitelikte yapılmasını sağlamaktır. Programcı değildir. Ancak programcının tüm yeteneklerine sahiptir. Yazılımın daha çok mantıksal boyutuyla ilgilenir ve işi insanlarla ilişkiyi gerektirir. Read more of this post

Android İşletim Sistemi Mimarisi (Kernel, Libraries, Runtime, Framework, DVM)


Önceki yazımızda Android’in, Linux tabanlı ve açık kaynak kodlu bir işletim sistemi olduğundan bahsetmiştik. Şimdi de detaylı olarak Android işletim sistemi mimarisini inceleyelim. Android işletim sistemi 4 ana katmandan oluşur:

  • Linux Çekirdek (Linux Kernel)
  • Kütüphaneler (Libraries)  ve Android Çalışma Zamanı (Android Runtime)
  • Uygulama Çatısı (Application Framework)
  • Uygulamalar (Applications)

android
Read more of this post

Android Nedir?


Android İşletim Sistemi Hakkında

android-logo-white1

Android, Linux tabanlı ve açık kaynak kodlu bir işletim sistemidir. Mobil cihazlar (Akıllı telefon, tablet, PDA vb.) üzerinde koşması amacıyla Google ve Open Handset Alliance işbirliğiyle geliştirilmiştir. Şu anda ise esas olarak Google tarafından geliştirilmeye devam edilmektedir. Android Uygulamaları, Android Market‘i (Google Play) kullanarak indirilebilir. Andorid Market online bir Android uygulama mağazasıdır. Bu hizmetten faydalanabilmek için Android Market‘e üye olmak gerekir. Üyelik ücretsizdir. Android işletim sistemi ilk olarak 5 Kasım 2007′de duyurulmuş ve 2008 yılında piyasaya sürülmüştür. Google Android’i daha önce satın almış olmasına rağmen, Android işletim sistemi piyasaya sürüldükten sonra, resmen aldığını duyurmuştur.

Android işletim sistemi mobil cihazlar için geliştirilmiş olsa da farklı tür donanımlarda koşması için çalışmalar yapan firmalar mevcuttur. Google’ın Android geliştiricileri için hazırladığı dokümanlara, Android’in kaynak kodlarına ve farklı tür donanımlara nasıl uyarlanacağı ile ilgili bilgilere www.android.com adresinden ulaşılabilir.

Read more of this post