Sistem Kullanılabilirlik Ölçeği (System Usability Scale)

Bir sistemin kullanılabilirliği ISO 9241’in 11. bölümünde belirtildiği gibi; sistemi kimin, ne için ve hangi ortamda kullandığı gibi şartlar ve çevresel koşullar dikkate alınarak ölçülebilir.

Kullanılabilirlik üç başlıkta incelenir:

  • Etkililik : Kullanıcılar hedeflerine başarıyla ulaşabiliyorlar mı? 
  • Etkinlik : Hedeflere ulaşabilmek için ne kadar kaynak ve emek harcanıyor? 
  • Tatmin : Kullanıcı bu deneyimden tatminkar mı?


SUS, 10 soru ve bunlara verilecek 5 yanıt seçeneği ile gerçekleştirilir.

  • Bu sistemi sıklıkla kullanacağımı düşünüyorum. 
  • Sistemi gereksiz derecede karmaşık buluyorum. 
  • Sistemin kullanımının kolay olduğunu düşünüyorum. 
  • Sistemi kullanabilmem için teknik birinin desteğine ihtiyaç duyacağımı düşünüyorum. 
  • Sistemin gereksinimlerin birçoğunu çok iyi gerçekleştirdiğini düşünüyorum. 
  • Çok fazla tutarsızlık olduğunu düşünüyorum. 
  • Birçok kişinin bu sistemi kullanmayı kolayca öğreneceğini düşünüyorum. 
  • Sistemi çok hantal, ağır buldum. 
  • Sistemi kullanırken çok güvende hissettim. 
  • Bu sistemi kullanmaya başlamadan önce öğrenmem gereken çok şey var.

Yazılım Geliştirme Anahtar Performans Göstergeleri (KPIs)


Yazılım geliştirmede anahtar performans göstergeleri (KPIs - Key Performance Indicators)
1. Halstead Karmaşıklık ölçümleri ile kaynak kodun karmaşıklığının belirlenmesi.
2. Cyclomatic yazılım kodu karmaşıklığı.
3. Sistem Kullanılabilirlik Ölçeği (System Usability Scale).
4. Yazılım geliştirme kalitesi(Quality Assurance)
5. Gerçek ortam yazılım hata sayısı.
6. Kaynak kodun kaybolması (okunamama, karmaşıklaşma) sonucu uygulamayı yeniden tasarlama ve yazma zamanı yüzdesi (%).
7. Hata sayısının toplam kod satırı sayısına oranı.
8. Yazılım gereksinimlerinin yüzde (%) olarak gecikme oranı, zamanında belirlenememe.
9. Dış kaynak yazılım geliştirme yüzdesi (%).
10. Kritik hatanın toplam hataya oranı(%).
11. Sürüm için planlanan özellik sayısına karşın gerçekleşen özellik sayısı.
12. Yorumsuz checkin sayısı yüzdesi (%).
13. Hata düzeltme için harcanan zaman yüzdesi (%).
14. Testlerde bulunan hata sayısı.
15. Tekrar ortaya çıkan hata sayısı oranı (%)
16. Bir günde yazılan kod satır sayısı.
17. Tasarım süresinin geliştirme süresine oranı.
18. Yeni özellik eklenme oranı
19. En çok katkıda bulunan, en aktif takım üyesi

Yazılımda Kalite Güvencesi (Quality Assurance)


Fonksiyonel olmayan gereksinimler genellikle bir sistemin kalitesi olarak adlandırılır ve ikiye ayrılır:
  • Güvenlik ve kullanılabilirlik gibi çalışma zamanı göstergeleri.
  • Test edilebilirlik, bakım kolaylığı, genişleyebilirlik ve ölçeklenebilirlik gibi yapısal göstergeler. 
Fonksiyonel olmayan gereksinimlere örnekler:
  • Performans
  • Yanıt süresi
  • Kesintisiz çalışma 
  • Geri alınabilme
  • Güvenlik
  • Güvenilirlik
  • Yönetilebilirlik
  • Kullanılabilirlik
  • Birlikte çalışılabilirlik
Fonksiyonel Olmayan Gereksinim Testleri
  • Performans testi
  • Yanıt süresi testi
  • Kesintisiz çalışma testi
  • Geri alınabilme testi
  • Güvenlik testi
  • Kullanılabilirlik testi

Kurumsal Mimari

Günümüzde bilişim teknolojisi, firmaların verimliliği ve karlılığını doğrudan etkileyen, hedeflerine ulaşmasında kritik bir rol oynamaktadır. Firmaların bölümleri arasında uyum, ortak bir hedef ve haberdar olmayı başarabilmesi için kurumsal bir bilgi teknolojileri mimarisine sahip olmaları gerekir.
Kurumsal mimari bir kurumun stratejileri, süreçleri, bilgi ve veri gereksinmeleri, bilişim sistemleri ve teknoloji altyapısını belirli bir çerçeve içerisinde betimleyen, kapsamlı bir belgedir. Kurumsal mimari için en yaygın biçimde kullanılan başlıca dört çerçeve bulunmaktadır:[1]
· Zachman Çerçevesi (the Zachman Framework).
· Açık Grup Mimari Çerçevesi (TOGAF: The Open Group Architectural Framework).
· Federal Kurumsal Mimari (the Federal Enterprise Architecture).
· Gartner Kurumsal Mimarisi (the Gartner Enterprise Architecture).
The Open Group, 90'lı yılların ortalarından beri aralarında IBM, NEC, HP, SAP gibi teknoloji ve üretim lideri firmaların ortak bir çatı altında tecrübelerini paylaştıkları bir konsorsiyumdur. Bu birikimlerin oluşturduğu bilgiler ışığında kurumsal mimari tabanın gelişmesi ve uluslararası standartların oluşması için bir Framework Mimarisi geliştirilmiştir ve halen 150'ye yakın firmanın katkılarıyla gelişmeye devam etmektedir.
The Open Group Architecture Framework (TOGAF) olarak adlandırılan ve yukarıdaki vazgeçilmez ihtiyaçlara çözüm üretmek ve uluslararası standardizasyonla kurumsal mimari yapılarının analizlerinin oluşturulmasında, metodolojiler oluşturarak, çözüm stratejileri geliştirmede işletmelere yardımcı olur. Kurumsal Mimarlar, yöneticiler ve iş geliştirime sorumluları kendilerini sektörlerinde bugünün ve yarının iş ortamında daha yararlı ve verimli hale TOGAF’ın gücüyle getirebilirler.
Zachman modeli 1987 yılında John Zachman tarafından hazırlanmış olup, klasik mimari (inşaat mimarisi) kavramlarının tüm kompleks yapılara uyarlanabileceği ilkesinden yola çıkarak tanımlanmıştır. 1996 yılında ABD kongresi tarafından kabul edilen Clinger-Cohen yasası (Bilgi Teknolojileri Yönetim Reform Yasası) ile ABD kamu kurumlarının bilgi teknolojileri yöneticileri, kurumlarının bilgi teknolojileri mimarisini ortaya koymakla yükümlü kılınmıştır. Bu yükümlülüğün yerine getirilmesinde kurumların ölçek ekonomisinden faydalanabilmesi için, kamu kurumları bilgi teknolojileri konseyi FEAF'ı (Federal Bilgi Teknolojilileri Mimari Metodolojisi) geliştirmiştir. Bu metodolojinin hitap ettiği kesimin genişliğinden dolayı, belli mimari planları konusunda zorunluluklar getirilmemiş ve tanımları yapılmamıştır. Ancak TEAF (Hazine Bilgi Teknolojilileri Mimari Metodolojisi) ve DoDAF (Savunma Bakanlığı Bilgi Teknolojileri Mimarisi) hitap ettikleri kurumların kapsamının daha dar ve bu kurumların ihtiyaçlarının belirli olması nedeni ile belli mimari planların tanımını yapmakta, zorunlu ve isteğe bağlı planlar belirtilmektedir. [2]
İyi bir bilgi teknolojileri mimarisi sağladığı teknik faydaların yanı sıra aşağıdaki gözle görülür verimlilik artılarını doğuracaktır[2]:
  • Daha etkin bilgi teknolojileri operasyonu
  • Geliştirme, destek ve bakım maliyetlerinin düşürülmesi
  • Uygulamaların taşınabilir olması
  • Uygulama ve diğer bilgi teknolojileri araçlarının entegrasyon düzeyinin artması, sistem ve bilgi ağı yönetiminin kolaylaştırılması
  • Güvenlik gibi kurumun tamamını etkileyen kritik bilgi teknolojileri sorunlarını çözme kabiliyetinin artması
  • Sistem parçalarının daha kolay güncellenmesi ve değiştirilmesi
  • Varolan yatırımdan alınan verimin artırılması, gelecekteki yatırımların risk faktörünün düşürülmesi
  • Bilgi teknolojileri alt yapısındaki karmaşıklığın azaltılması
  • Var olan kaynaklardan maksimum verimin sağlanması
  • Çözümlerin içeride geliştirilme, satın alma veya dış kaynak kullanımı ile temin edilmesi kararlarının daha etkili ve kolay alınması
  • Yeni yatırımların maliyet ve riskinin düşürülmesi
  • Daha hızlı, daha kolay ve daha ucuz satın alma
  • Bilgi teknolojileri ürün ve hizmetleri ile ilgili kurumsal alt yapının kapsamlı bir planı mevcut olduğundan mevcut alt yapıya uyumlu olarak alınacak ürün ve hizmetin niteliklerinin daha kolay belirlenebilmesi
  • Satın alma kararlarının hızla alınabilmesinden dolayı satın alma ve uygulama hızının artması


· 
Kaynaklar:
[2] Bilgi teknolojileri mimarisi Fatih Emiral, Kurumsal Risk Hizmetleri, Deloitte

Etkili sunum hazırlama

Sunum hazırlama amaçlarını şu üç başlıkta inceleyebiliriz:
• Açıklamak için
• Ikna etmek için
• Önermek için

Bu amaçlar doğrultusunda aşağıdaki maddelerden gerekli olanları kullanarak etkili bir sunum hazırlayabiliriz.

Genel bir sunum akışı
• Genel işleyiş
• Amacımız – Neden
• Kullanılan teknoloji/kaynak – Nasıl
• Nasıl çalıştık – Nasıl
• Ürünün tanıtımı – Ne
• Etkileşimler - Ne
• Hedef Kitle – Kim
• Gerçekleşme - Ne zaman
• Beklenen getiri/fayda

Rastgele Sorgu Üreteci

SQL sunucularını sınamak için geliştirilmiş bir yazılım var: Random Query Generator

Nedense fikir hoşuma gitti. Özellikle işlev testi, stres testi gibi amaçlar için geliştirilmiş bu yazılım. İlgilisine duyurulur.

Richard Stallman

Sesli sedalı geldi geçti Türkiye'den. Yüzyüze görüşme, tanışma, konuşma fırsatını kaçırdım, darısı sonraki gelişine diyorum artık. Çok düşünmemiştim gelmeden önce, ama şimdi içimi bir hüzün kapladı, ne yalan söyleyeyim :)

http://www.emo.org.tr/genel/bizden_detay.php?kod=82322&tipi=2&sube=14
http://birben.wordpress.com/2011/02/24/richard-stallman-gunlugu-1/
http://birben.wordpress.com/2011/02/28/richard-stallman-gunlugu-2/

Web üzerinde C#, PHP, Javascript geliştirme ve derleme

Web tarayıcısı üzerinde çalışabilen bir yazılım geliştirme ortamına ihtiyacınız olursa CodeRun 'ı kullanabilirsiniz. C#, JavaScript ve PHP desteği veriyor.

Veri Dönüşümü ve Proje Geçişinden Yazılım İçin Notlar

Yoğun bir çalışma dönemi geçirdik. Yaptığımız çalışmanın en önemli adımlarından biri eski veri yapısının yeni kurduğumuz altyapıya dönüşümüydü. Oracle da bulunan 200 milyon kadar kaydı (yaklaşık 4 gb veri), birkaç katına çıkaracak bir başka yapıya döünüştürme, yeni tablolara değıtma işini 3 saatten az bir sürede yaptık, sonuçta 30 gb yeni veri ortaya çıktı. Bu çalışmadan alınabilecek dersleri paylaşmaya aşağıda paylaşmaya çalıştım. En önemli sorun performans idi, yüksek hız için baz önemli noktaları aşağıda bulacaksınız..

Veri Dönüşümü ve Proje Geçişinden

Yazilim Için Notlar

/*Veri aktarımı taşımaları için*/

--SP listesi ve içeriğini almak için

select

dbms_metadata.get_ddl('PROCEDURE', 'KRD_INS_BELGE_SP') || '/'||

dbms_metadata.get_ddl('PROCEDURE', 'KRD_INS_ADRES_SP') || '/'||

dbms_metadata.get_ddl('PROCEDURE', 'KRD_INS_AKIM_SP') || '/'

from dual;

--FN listesi ve içeriğini almak için

select

dbms_metadata.get_ddl('FUNCTION', 'KRD_AKTIFNO_UDF') || '/'||

dbms_metadata.get_ddl('FUNCTION', 'KRD_KODBUL_UDF') || '/'||

dbms_metadata.get_ddl('FUNCTION', 'KRD_DOVIZ_UDF') || '/'||

dbms_metadata.get_ddl('FUNCTION', 'KRD_ONAYCIBUL_UDF') || '/'

from dual;

/*Hızlı veri aktarımı için*/

--1. adım : Select yapılan tablolara indexleri oluştur

--2. adım : Select yapılmayan tablolardan indexleri ve constraintleri kaldır

--3. Adım : Aktarım yapılacak boş tabloların tablo istatistiklerini tahmini kayıt sayısına göre oluştur

--3. Adım : Tablolara INITRANS parametrelerini arttırarak eşzamalı oluşan insert,update ve delete sorgularının seri çalışmak üzere sıralanıp gecikmesini engelle.

/*Veri aktarımı sonrası*/

--1. adım : Select yapılmayan tablolardan kaldırılan indexleri ve constraintleri yeniden tanımla

--1. adım : Tablo istatistiklerinin oracle tarafından oluşturulmasını sağla

Ek Notlar:

1. Unique auto increment id kullanılan tablolarda, Sequence’e tanımlanan “cache size” büyük olursa insert performansı artar, ancak üretilen id’nin artan sıralı olması gerekiyorsa bu durum kayıtların yanlış sırada oluşmasına neden olabilir.

2. Indexleri oluşturma zamanını “parallel” parametresi ile azaltabiliriz: create unique index KRD_LIMIT_IDX01 on KRD_LIMIT (ID) parallel 20;

Özgür Yazılım, Özgür Toplum (2. baskı)

Zamanında Türkçe'ye çevrilmesi için yardımcı olduğum kitabın İngilizce aslının ikinci baskısı çıkmış: Free Software, Free Society

Ayrıca Free as in Freedom kitabının da ikinci sürümü (2.0) çıkmış.

Bunları indirip okumak lazım fırsat bulunca.