19 Ocak 2017 Perşembe

Web Sitesi Analiz Araçları

Web sitelerinin farklı yönlerden analizi için geliştirilmiş web tabanlı araçlar bulunmaktadır. Bu araçlara baktığımızda SEO analizi (Search Engine Optimization yani Arama Motoru Optimizasyonu), web sitesi sıra bulucu, web sitesi açılış hızı analizcisi gibi araçlar olduğu görülmektedir. Bu sitelerden bazılarının bilgileri aşağıda listelenmiştir.

Türkçeleştirilmiş bir arayüze sahip olan site hız testti sahip olduğunuz sitenin açılışını nasıl daha hızlı yapabileceğinize dair öneriler sunan bir web sitesi. Bu öneriler için web sitesinin adını yazıp Analiz et demeniz yererli. Yapılan analiz sonuçunda size çözüm önerileri sunmasıda sitenin güzel yönlerinden biri.


WM aracı her hangi bir web sitesi ile ilgili  SEO analizi yapabilmekte. Bu analiz sonucunda web sitesinin eksikliklerini listeleyerek çözüm önerileri sunmakta. Site ile ilgili bir SEO puanıda veren WM aracı sitedeki eksiklikleri ve noksanlıkları listelemekte. SEO analizi yapıldıktan sonra WM aracı sistesinde yeralan ve kelime bazlı çalışan web sitesi sıra bulucu kısmını kullanmanızı önermeden geçmeyelim. https://wmaraci.com/sira-bulucu



Dünya'nın en eski web sitelerinden biri olan ve Amazon tarafından oluşturulan Alexa sitesi; her hangi bir web sitesinin Dünya'nın veri trafiği bakımından kaçıncı sırada olduğunu göstermekte. Sitede ülke bazlı olarak veri trafiğini göstermesi haricinde. Kelime ve kategori olarakta web sitesini sınıflandırmakta.




Google Tarından geliştirilen ve "sitehıztestti" isimli sitenin yaptığı işi gerçekleştiren başka bir web sitesi. Google demişken web sitesi analizi için https://analytics.google.com/ sitesinide söylemeden geçmeyelim.



Oldukça detaylı bir arayüze sahip olan GT Metrix, web sitesi ile ilgili detaylı bir analiz gerçekleştirmekte. Web sitesi açılırken ne kadar vakit ne için geçti sorusunun cevabınıda Waterfall kısmında veren bu site, web adminleri tarafından tercih edilen bir başka web uygulaması.



Pingdom; her hangi bir web sitesinin açılış hızını öğrenmek için geliştirilmiş bir web uygulama. Sahip olduğum bir siteyi Dünya'nın farklı yerlerinde açsam o siteyi açmak için ne kadar  vakit gerekir sorusunun cevabını barındıran bir web sitesi.

 

Who.is
http://whois.domaintools.com/
Bir web sitesinin kimin olduğu hakkında detaylı bilgiler veren bir web uygulamasıdır.  IP yada Dns isim çözümlemesi ile çalışmaktadır. Ayrıca web uygulaması sitelerin detaylı DNS taramasıda yapmaktadır. Bunun için yanda bulunan link kullanılabilir. https://www.who.is/




Web Arcihve
https://archive.org/web/
Herhangi bir web sitesinin yıllar önceki halini görebileceğiniz güzel bir web sayfası 289 Milyar web sayfası barındıran web sitesinde tek yapmanız gereken web sitesinin adını yazmanız ve sitenin daha önceden aldığı web içeriklerine tıklananız (takvimde görülen mavi noktalar) yeterli.


WebSite informer
http://website.informer.com/
Aradığınız kelime ile ilgili web sitesi bulmasının yanı sıra istediğiniz web sitesi ile ilgili detaylı bir analiz yapan bir web uygulamasıdır. Örnek olarak bir web sitesine günlük kaç ziyaretci geliyor kaç kere sayfa açılmış gibi sorularıda yanıtlamaya çalışan bir web sayfası.




EasyCounter
http://review.easycounter.com/
Bir web sitesi hakkında görüş bildiren, basit ve eylenceli bir araç. Web sitesi hakkındaki bilgileri derleyip siteye giren kişiye bir paragraf halinde veren basit bir web uygulaması.


18 Ocak 2017 Çarşamba

SPICE (ISO 15504)

Software Process Improvement and Capability dEtermination
ISO/IEC JTC1/SC7 WG10 tarafından 1991’de çerçeve üst model oluşturma kararı alındı. Çalışmalar 1993’te başladı. İlk versiyon Haziran 1995’te, ikinci versiyon 1996 Kasımda yayınlandı.
Üçüncü versiyon Ocak 1998’de çıktı.
İki boyutlu bir modeldir. Birinci boyutta
    süreçler ikinci boyutta
    yetenek düzeyleri vardır.

SPICE Kapsamı : Yazılım satın alma, tedarik, geliştirme, işletim, bakım ve destek için:
    planlama, yönetim, icra, denetim ve iyileşme aracı.

Spice İlkeleri

 Ortak, modellerüstü, uluslararası kapsamlı çerçeve
- Diğer modelleri destekleyen, uyum sağlayabilen
- Her organizasyona, endüstriye, duruma uyabilen
- Büyük küçük projelere, gruplara, firmalara uygun
- İyileşmeyi, gelişmeyi ölçebilen
- Nesnel, tutarlı ve tekrarlanabilir
- Sertifikasyon amacı taşımayan
- Bir süreç standardı, ürün standardı değil. 

Spice Temel Model






SÜREÇ GRUPLARI

Müşteri-satıcı (customer-supplier) süreçleri
Mühendislik (engineering) süreçleri
Yönetim (management) süreçleri
Destek (support) süreçleri
Örgüt (organisation) süreçleri

YETENEK DÜZEYLERİ

0. Eksik (incomplete) düzey
1. Varolan (performed) düzey
2. Yönetilen (managed) düzey
3. Yerleşmiş (established) düzey
4. Kestirilebilir (predictable) düzey
5. Eniyileşen (optimizing) düzey

SPICE Belgeleri


Part 1 : Kavramlar ve Giriş
Part 2 : Referans Modeli (zorunlu model)
Part 3 : Değerlendirme İsterleri
Part 4 : Değerlendirme Rehberi
Part 5 : Uyumlu Model
Part 6 : Değerlendiricilerin Nitelikleri Rehberi
Part 7 : Süreç İyileştirme Rehberi
Part 8 : Yetenek Belirleme Rehberi
Part 9 : Sözlük

SPICE değerlendirmesi referans modeline göre değil, uyumlu bir modele göre yapılır. SPICE belgeleri kendi içinde uyumlu bir model vermiştir. Başka uyumlu modeller de vardır, veya olabilir. (uyumlu Bootstrap vb.)
Bir süreç değerlendirme modelinin uyumlu olabilmesi için :
- en az bir süreci kapsaması,
- en az iki yetenek düzeyini, 0’dan başlayarak ve kesintisiz,       kapsaması.
- referans modeline bire bir izdüşüm (mapping) bulunması,
- modelle referans modeli arasında not dönüştürme mekanizması olması.

Süreç Boyutu

Değerlendirme modelinde her sürecin eksiksiz tanımı şu bilgileri içerir:
sürecin amacının tanımı  (Referans Model ile aynı)
amacın tanımını güçlendirici açıklayıcı notlar
sürecin temel pratikler (base practices); sürecin amacına ulaşması için gerekli aktiviteler ve görevler
her süreç ile ilgili girdi/çıktı iş ürünleri (work products)
her iş ürününün karakteristikleri 

Süreç kategorileri ve süreçler


Müşteri-satıcı süreç kategorisi   
CUS.1    Yazılım edin    (acquire software)
CUS.2    Müşteri ihtiyaçlarını yönet
CUS.3    Yazılım sağla    (supply software)
CUS.4    Yazılımı işlet    (operate software)   
CUS.5    Müşteri hizmeti sağla


Süreç kategorileri ve süreçler

 Destek süreç kategorisi 
SUP.1    Dokümantasyon geliştir
SUP.2    Konfigürasyon yönetimi yap
SUP.3    Kalite güvencesi sağla
SUP.4    İş ürünlerini doğrula    (verify)   
SUP.5    iş ürünlerini sağla    (validate)
SUP.6    Ortak gözden geçirmeler yap
SUP.7    Denetimler yap
SUP.8    Problemleri çözümle   

Süreç kategorileri ve süreçler


 Mühendislik süreç kategorisi 
ENG.1    Sistem isterlerini ve tasarımını geliştir
ENG.2    Yazılım isterlerini geliştir
ENG.3    Yazılım tasarımını geliştir
ENG.4    Yazılım tasarımını uygula   
ENG.5    Yazılımın entegrasyonu ve testini yap
ENG.6    Sistem entegrasyonu ve testini yap
ENG.7    Sistemin ve yazılımın bakımını yap


Süreç kategorileri ve süreçler

Yönetim süreç kategorisi
Man.1    Projeyi yönet
Man.2    Kaliteyi yönet
Man.3    Risk yönetimi yap
Man.4    Taşaronları yönet

Süreç kategorileri ve süreçler

Organizasyon süreç kategorisi
ORG.1    İşin mühendisliğini yap    (engineer the business)
ORG.2    Süreci tanımla
ORG.3    Süreci iyileştir
ORG.4    Kaliteli iş gücü temin et
ORG.5    Yazılım mühendisliği altyapısı sağla   

Süreç Tanımları ve Temel Pratikler

ENG.2    Yazılım isterlerini geliştir
Sürecin amacı, sistemin yazılım bileşeni için isterlerin saptanmasıdır. Sürecin başarıyla uygulanması sonucu olarak:
Sistemin yazılım bileşenlerine ve arabirimlerine ayrılan (allocated) isterleri, müşterinin yazılı veya ima edilen ihtiyaçlarına uygun olarak, tanımlanacak
Analizi yapılmış, doğru ve test edilebilir yazılım isterleri geliştirilecek

Temel Pratikler ENG.2

ENG.2.1    Yazılım isterlerinin belirtimini yap
ENG.2.2    İşletim çevresinin etkilerini belirle
ENG.2.3    İsterleri müşteri ile değerlendir
ENG.2.4    Sürüm stratejisi belirle
ENG.2.5    Bir sonraki iterasyon için isterleri güncel yap
ENG.2.6    Yazılım isterlerini ilet   

Süreçler ve ilgili iş ürünleri

ENG.2  Yazılım isterlerini geliştir
Girdi ve Çıktılar
Müşteri İsterleri    Yazılım isterleri
Bakım isterleri        Analiz sonuçları
Müşteri isteği
Değişiklik isteği
Sistem tasarımı/yapısı
Problem raporları   
İletişim mekanizması

Yetenek Düzeyleri (YD)

    YD 0 : Eksik (incomplete)
    YD 1 : Varolan (performed)
    YD 2 : Yönetilen (managed)
    YD 3 : Yerleşmiş (established)
    YD 4 : Kestirilebilir (predictable)
    YD 5 : Eniyileşen (optimizing)

Yetenek Düzeyleri (YD)

- SPICE, yetenek düzeyini daha ayrıntılı, tekrarlanabilir ve nesnel notlama amacıyla, alt düzeyde, süreç nitelikleri (process attributes) tanımlamıştır.
- Yetenek Düzeyi boyutunda temel pratikler ve dokuz süreç niteliği vardır.
- Her yeni nitelik yükselen yetenek düzeyini gösterir.
- Süreç Yeteneği Düzeyi başarılan niteliklerle belirlenir.

 Süreç nitelikleri

Süreç nitelikleri, süreç yeteneğinin ölçümünü veren, ve bir başarı skalasında değerlendirilebilen, özelliklerdir.
Her süreç niteliği, sürecin amacına ulaşması için, o sürecin etkinliğini iyileştirme ve yönetme yeteneğinin bir yönünü tanımlar.
Bir yetenek seviyesi, bir süreci yerine getirme yeteneğinde önemli artış sağlayan, nitelikler kümesidir.

YD 1 : 1.1 Süreci Yerine Getirme (process performance)  niteliği
YD 2 : 2.1 Başarım Yönetim (performance management) niteliği
           2.2 İş ürünü Yönetim (work product management) niteliği
YD 3 : 3.1 Süreç Tanım (process definition) niteliği
           3.2 Süreç Kaynak (process resource) niteliği
YD 4 : 4.1 Süreç Ölçüm (process measurement) niteliği
            4.2 Süreç Denetim (process control) niteliği
YD 5 : 5.1 Süreç Değişim (process change) niteliği
            5.2 Sürekli İyileşme (continuous improvement) niteliği


Süreç nitelikleri Örnek- 2. seviyenin süreç niteliklerini

PA 2.1: Performans yönetimi niteliği
    Kendisinden beklenen ürünleri belirtilen zaman ve kaynak gereksinimleri dahilinde verebilmesi için sürecin, ne ölçüde iyi yönetildiği
PA 2.2: İş ürünü yönetimi niteliği
    Ortaya çıkardığı iş ürünlerinin dokümante edilmiş, kontrol altında, işlevsel isterlerini karşılayan, istenen kalitede olması için, süreç ne ölçüde iyi yönetildiği   

Yönetim pratikleri

Her süreç niteliği için, yeterli düzeyde yerine getirildikleri zaman, o niteliğin karakteristiklerini başaran, bir dizi yönetim pratikleri tanımlanmıştır.
Yönetim pratikleri genel amaçlı yönetim aktivitleridir ve tüm süreçlere uygulanabilir olmaları amaçlanmıştır.
Yönetim pratikleri, planlama, örgütleme, kaynak sağlama ve kontrol etme gibi temel yönetim işlevlerinin başarılması etrafında tasarlanmışlardır.
Her süreç niteliği için genel olarak dört yönetim pratiği vardır.

2. seviyenin yönetim pratikleri 

performans yönetimi       
2.1.1    süreci planlamak ve izlemek için kaynak gereksinimlerini belirle
2.1.2    süreç aktivitelerini belirleyerek, ayrılan kaynaklarla sürecin icrasını planla
2.1.3    sürecin amacına ulaşması için, tanımlanan aktiviteleri     uygula
2.1.4    belirtilen zaman ve kaynak gereksinimleri içinde iş ürünlerini çıkarmak için, aktivitelerin icrasını yönet
    
2. seviyenin yönetim pratikleri

iş ürünü yönetimi       
2.2.1    iş ürünlerinin kalitesi ve bütünlüğü için isterleri belirle
2.2.2    iş ürünlerinin kalite ve bütünlük isterlerini başarmak için gerekli aktiviteleri belirle
2.2.3    bütünlüklerini güvenceye almak için iş ürünlerin konfigürasyonunu yönet
2.2.4    İşlevsel ve diğer isterleri karşıladıklarını güvenceye almak için ürünlerin kalitesini yönet    

Spice Notlama dört not üstünden yapılır

    N : (not achieved)        yapılmıyor.
    P : (partly achieved)   kısmen yapılıyor.
    L : (largely achieved) büyük oranda yapılıyor.
    F : (fully achieved)        tam yapılıyor.

Değerlendirme sonucu bir profildir. Tek bir not değildir.
Profilin yatay ekseni değerlendirilen süreçleri, dikey ekseni de değerlendirme sonucunu, verilen notları, gösterir.

TickIT Scheme Kalite Sistemi Standartları





TickIT içinde kullanılan anahtar dokümanlar:
ISO 9001:1994, Kalite Sistemi Standardı, tasarım, geliştirme, kurma (installation) ve servis için bir model tanımlar.
ISO 9002:1994, Kalite Sistemi Standardı ikinci bölümüdür. ISO 9001’den farkı tasarım aktivitelerini içermez.
ISO 9000-3:1991, yazılım için kalite sistemlerinin uygulayıcıları ve denetimcileri için özel rehberlik bilgileri verir.   


TickIT Scheme Sertifikasyon Süreci

 Değerlendirme en az iki aşamalı bir süreçtir:
Organizasyonun kalite sistemi, standarda (TickIT için: ISO 9001) göre muhakeme edilir.
Organizasyon, pratikte gerçekten kendi kalite sistemine ve standarda uyumlu çalışıp çalışmadığı denetlenir, ve kalite sisteminin etkinlik derecesine bakılır.   

Yazılım Standartları

CMMI Genel bakış

CMMI etkin bir yazılım sürecinin anahtar elemanlarını tanımlayan bir çerçeve modeldir; olgun olmayan bir süreçten olgun ve disiplinli bir sürece giden evrimsel bir yol çizer.
CMMI yazılım sürecinin olgunluğu üzerine hüküm vermek ve endüstrideki pratiklerle karşılaştırmak için bir ölçüm aracıdır.

CMMI  Süreç Olgunluk Çerçevesi











Süreç Gelişimi

Analysis & Design

Süreçler Nasıl olacak
Veri Girişi: İsterler Dokümanı
Çıktılar:
Functional Tanımlar
Detaylı Dizany Dökümanı
Kullanıcı Arayüz isterleri
Veri Modeli
Prototip
Güncellenmiş plan(gelişmiş tahmin)
Top-level design & detailed design   
Critical Design Review (CDR)
Uygun Olmayan İsterler (Teknik Karmaşıklık)
Kaynak Tahsisi


Kodlama
Coding & Unit testing
Gerekli yerlerde tekrardan Dizayn & Oluşturma safhalarına geri dön
Diğer Kritik İşler
Design tamamla
Oluşuma başlatım
Unit testleri oluştur.
Proje planını güncelle
Risk yönetimini oluştur.

Geliştirim

Karakteristiğini belirle (Çalışma durumu,Top yada Down seviyelerini kullan)
Issues
Son Dakika Değişiklikleri
Takım koordinasyonu (Özellikle büyük projelerde zordur)
İletişim
Geliştirme Yönetimi

Oluşturma Testti

İki süreci eş güdümlü götürmek önemli (Test&Oluşturma)
Testler Birinci Öncellikte QA  ekibinin işidir.
Oluşturma
Top-down
Bottom up
Genellikle (top-down)

Test Çeşitleri

Tests
Integration testing
Black & White-box testing
Load & Stress testing (Datatesting)
Alpha & Beta testing
Acceptance testing
AI testing

Diğer Aktiviteler
Bütçe ve Risk yönetimi

Erken Safha Toplantıları Nedir?


Proje Durum Toplantıları (Ne Durumdayız? )
Proje Beyin Fırtınası Toplantıları( Amaçları Tanımla, Bakış açısı geliştir, varsayımlar ve yöntemleri belirle, tahminleri oluştur)

İsterlerin Çeşitleri

Functional
Features and capabilities
Non-functional
Usability (Human factors, help, documentation)
Reliability (Failure rates, recoverability, availability)
Performance (Response times, resource usage)
Supportability (Maintainability, internationalization)
Operations:(systems management, installation)
Interface (integration with other systems)
Other (legal, packaging, hardware)

Toplam Emeğin Aktivitelere Oranı


 Süreç Uzmanı (Yazılım Yöneticisi) İşleri

 Toplam emeğin aktivitelerle olan ilişkisi


Niye projeler outsorce edilir?

  • Sabit ve tekrarlayan maliyetleri azaltmak için(Ekip,vb)
  • Müşteri kuruluşun kendi çekirdek işlerine odaklanmaksı için(Benimişim belli yazılım yazmak benim işim değil)
  • Beceri ve teknolojilerine erişim için(Bu işi bilenlerden yardım alalım)
  • Esneklik sağlamak için
  • Hesap verilebilirliği artırmak amacıyla