Ana içeriğe atla

Kayıtlar

Eylül, 2009 tarihine ait yayınlar gösteriliyor

Web Uygulamaları İçin Kullanılabilirlik Standartları

Kullanılabilirlik, kısa bir tanımla, kullanıcıların etkileşim içinde olduğu sistem arayüzlerinin "öğrenilebilir", "etkin", "hatırlanabilir", "az sayıda hatadan oluşan" ve "beğeni hissi veren" özelliklerde olmasını kapsar. Web sitelerinin bu kriterlere uygunluğunu değerlendirmek için farklı değerlendirme yöntemleri ve kriterleri geliştirilmiştir. Her yöntemin farklı üstünlükleri, zayıflıkları, uygulama zamanları ve kullanım durumları vardır. Web uygulamaları için daha sık kullanılan, kullanılabilirlik standartları aşağıdaki gibidir;

ASP.NET Session Timeout Bilgilendirme/Tidy Logout

Web projeleri içerisinde Web.Config dosyasında timeout süresi belirleyerek kullanıcının belirli bir süre işlem yapmaması sonucunda onun otomatik olarak log out olmasını sağlarız: <sessionStatemode="InProc"cookieless="false"timeout="1"/> timeout özelliği session ile ilgili özelliklerin belirlendiği sessionState tag’i içerisinde belirlenir. Timeout zamanını sessionState içerisinde timeout elementine dakika olarak yazıp belirleyebiliriz.  Bu değer 525,601 (bir yıl)’ den büyük olamaz ve açılan yeni projelerde default 20 dakika olarak gelir. Kullanıcının timeout’a düşeceği zamanı belirlemek isteyebileceğimiz gibi timeout olmadan önce kullanıcının uyarılması ya da bazı işlemlerin (ekrandaki bilgileri kaytdetme, log tutma gibi) yapılmasını da isteyebiliriz. Bunun için timeout süresi dolmadan belirlenen kadar süre önce bir fonksiyonun çalışması ya da bir exception oluşması gereklidir. Javascript fonksiyonları olan “setTimeout” ve “setInterval” timeout süresi do…

Team Foundation Server – Genel Bakış

Team Fondation Server (TFS); farklı disiplinler gerektiren Yazılım, Test, Destek, Proje Yönetimi gibi tüm yazılım süreçlerinde kullanılmak üzere tasarlanmış, Microsoft’un geliştirmiş olduğu yazılım süreç yönetimi uygulamasıdır. Team Foundation’ın ilk amacı, takım içerisindeki işbirliğini arttırarak ürün gelişimini kolaylaştırmak ve verimlilik sağlamaktır. Genel olarak TFS, kurumsal projeler için tasarlanmıştır. Takım içerisindeki iletişimi ve buna bağlı olarak verimi arttırmayı hedeflemiştir. İş durumunu izleme, takım rollerini yönetme, iş süreçlerini çıkartma ve sundugu bir çok araçla proje yönetimini kolaylaştırmada etkin rol oynar TFS’in Mimari Yapısı
Uygulama Katmanı
TFS; Service oriented bir mimariye sahiptir. Temel uygulamalar için oldukça geniş bir service seti sunmaktadır. Build, Services, VersionControl, Warehouse, WorkItemTracking gibi bir çok web service kütüphanesini barındırmaktadır. Ayrıca SharePoint alt yapısı üzerine inşa edildiğinden bir çok web ve Windows service leri u…

SQL Server 2008 Yenilikler – Bölüm 3 (Loglama/CDC)

Bir önceki yazımızda, SQL Server 2008 ile gelen Auditing ile loglama mantığını anlatmıştık. Bu yazımızda, diğer bir loglama özelliği olan CDC (Change Data Capture)’den bahsedeceğiz. CDC özelliği ile row bazında yapılan tüm işlemler tarihsel bilgilerle saklanabilmektedir. Yani hangi kayıtlar üzerinde hangi tarihler arasında ne gibi işlemler yapıldığı raporlanabilir. Tüm CDC işlemleri T-SQL komutları ile yapılır. Şekil 1. CDC akışı 1.Database seviyesinde CDC nin açılması
Execsys.sp_cdc_enable_db
2.İstenilen tablo için CDC nin aktif hale getirilmesi
EXECsp_cdc_enable_table'dbo','TBLILCE', @role_name =NULL, @supports_net_changes =1
Tablo için CDC aktif hale getirilince, tablo yapısıyla aynı olan ve ilave olarak 5 tane sahanın eklendiği yeni bir tablo yaratılır. Tüm DML işlemlerinde (Insert, update, delete) buraya yeni bir kayıt atılır. Yeni açılan tablonun isimlendirmesi şu şekildedir. cdc.dbo_<TABLOADI>_CT
Örnek: TBLILCE tablosu için cdc.dbo_TBLILCE_CT

ASP.NET Sayfa Yaşam Döngüsü (Page Life Cycle)

Asp.NET’in sayfa yaşam döngüsünde istemcinin yaptığı her istekte page nesnesi ve içindeki kontroller yeniden oluşturulur. Bu da sayfanın ve kontrollerinin yaşam döngüsü aşamalarını ntekrarlaması anlamına gelir. HTPP runtime’ın ProcessRequest metodun çağırmasıyla sayfa ve kontrollerin yaşam döngüsü tetiklenir. Yaşam döngüsü bazıları geliştirici tarafından kontrol edilebilecek bazıları da geliştiricinin müdahale edemeyeceği public olmayan aşamalardan oluşur. Kısaca yaşam döngüsü üç ana aşamadan ve bunların alt aşamalarından oluşur. Bu aşamalar; setup postback finalization 1. Setup
Aspx sayfasının kaynağındaki sınıfa bakılarak page nesnesi yaratılır. Kontrol ağacı yaratılarak sayfaya bağlanır. Sayfa üzerindeki kontroller, http context, request ve response nesneleri set edilir. Sayfanın neden işletildiği belirlenir (yeni bir istek, postback sonucu oluşan bir istek..). Ve Page nesnesi buna göre kendi içsel durumunu düzenler. Preinit Event
IsPostBack, IsCallBack, IsCrossPagePostback

SQL Server 2008 Yenilikler - Bölüm 2 (Loglama / Auditing)

Daha önceki yazılarımızda, SQL Server 2008 özellikleri ile ilgili özet bilgiler vermiştik (SQL Server 2008'e Geçmek için 10 Neden, SQL SERVER 2008 YENİLİKLER – Bölüm 1). SQL Server 2008 ile gelen güçlü özelliklerinden birisi de loglama altyapısıdır. SQL Server 2008’de temel 3 tane loglama özelliği bulunmaktadır; Auditing Change Data Capture (CDC) Data Tracking (DT) Not: Bu alternatiflerden  DT tabloda versiyon bazında yapılan değişiklikleri tutma, online/offline uygulamalarda değişen kayıtları senkronize etme amacıyla kullanılmaktadır. Bu yazımızda, Auditing özelliğine değineceğiz. SQL Server 2008 ile gelen Auditing altyapısı sayesinde, sunucu ve veritabanı seviyesinde yapılan her türlü işlemin logunun tutulup raporlanabilmesi sağlanmıştır. Sadece kayıt seviyesinde değil metadata seviyesinde yapılan işlemler de loglanabilir. SQL Server 2008’de audit oluşturma adımlarının genel şeması aşağıdaki gibidir; Şekil 1. SQL Server 2008 Auditing

SQL Server 2008’e Geçmek için 10 Neden

10. SSSM için Plug-In Model: SSMS-2005 te de plug-in modul vardı ancak yayımlanmadı. 2008 için, plug-in yayımlanacak ve binlerce ek-modül geliştirilecek. 9. Inline variable assignment:
DECLARE @myVar int
SET @myVar = 5
yerine
DECLARE @myVar int = 5
8. C like math syntax:
SET @i += 5
7. Auditing: SQL server Instance veya bir SQL veritabanı defterleri kontrol etme, sistemde meydana gelen olayları izleme ve günlüğe kaydetme işlemlerini kapsamlı ve basitleştirilmiş olarak sağlar. SQL server Audit server ve database üzerinde audit yaratma, saklama ve görüntüleme işlemleri araçlar sağlar. Bu işlemler DDL komutları veya SSMS araçları ile yapılabilir. 6. Compression: Bu özellik, çoğu zaman bir artı olarak düşünülse de aslında göründüğü gibi değildir. Yeni versiyon, bize row-compression ve page-compression özelliklerini sunar. Sıkıştırma çoğunlukla, metadatada yer alır. Değişken uzunluk alanların metadata bilgisi bitlerin içine depolanır(Byte yerine). Verilen bilgiler boşluk tasarrufundan ço…

Active Reports 6 Versiyonu ile Gelen Yenilikler

Active Reports 6 ile gelen yenilikleri şu şekilde sıralayabiliriz;
64-Bit desteği Flash Report Viewer for ASP.NET PDF Digital Signatures RSS Bar Codes External stylesheets desteği 1. 64 bit desteği
ActiveReports 6 versiyonu ile yazılmış uygulamalar, 64-bit işletim sistemine sahip makinalarda tüm fonksiyonlarıyla çalışmaktadırlar.
2. Flash Report Viewer for ASP.NET
Viewer’a yeni bir tip olarak “Flash Viewer” eklenmiştir. Bu tiple birlikte rapor çıktılarını flash tabanlı olarak almamız sağlanmıştır. “Flash Viewer” özelliğini kullanabilmek için bir kaç ayar yapmak gerekmektedir; C:\Program Files\GrapeCity\ActiveReports 6\DeploymentklasöründekiActiveReports.FlashViewer.swfveThemesdosyalarını kopyalayıp proje klasörüne yapıştırıyoruz. Solution Explorer da refresh butanuna tıklatıp ActiveReports.FlashViewer.swfveThemesdosyalarını projede görüyoruz. Bir sonraki adımda WebViewer’ın özelliklerinden FlashViewerOptions\ThemeUrl open dialogu açıp ActiveReports.FlashViewer.swfseçip OK tuşuna basımız.

Yazılım Hataları – Bölüm 3

Daha önceki makalelerde hata tanımı ve hata yönetimi incelenmişti. Bu makalede, hata tiplerini ve derecelerini incelemeye çalışacağız. Hatalar, tanım ve içerik olarak belirli sınıflara veya derecelere ayrılırlar. Hatarın katogorize edilip, derecelendirilmesi, yazılım geliştirme sürecinin planlanmasında önemli rol oynamaktadır. Edindiğimiz tecrübelere göre, tüm hatalara aynı bakış açısıyla yaklaşmak, karşılaşma yüzdelerini görmezden gelmek projenin bitimine negatif yönde etkilemektedir. Yapılan sınıflandırma ve derecelendirme; aynı zamanda ilgili problemlerin çözümünde kullanılacak test tekniklerinin belirlenmesine de katkıda bulunacaktır. Kategorizasyon ve derecelendirme çalışmalarında FMEA (Failure Mode and Effect Analysis) tekniği kullanmaktayız. Bu teknik asıl olarak Risk Analizlerinde kullanılsa da, Univera olarak bizler FMEA’ yı test süreçlerimizde hata katogerizasyonu işlemlerine de dahil ettik. Kısaca FMEA tanımı yapacak olursak; F-> Failure (Hata)
M -> Mode and (Türü ve )
E

SQL SERVER 2008 YENİLİKLER – Bölüm 1

Bu makalemizde SQL Server 2008 ile gelen bazı yenilikleri aşağıdaki başlıklarda inceleyeceğiz ve kısa bilgiler vereceğiz, detaylarına önümüzdeki makalelerde devam edeceğiz;
Yeni Data TipleriDatabase Encryption ModeliCompression ModeliBackup Compression
1. Yeni Data Tipleri
- FILESTREAM
Yapısal olmayan büyük nesneleri(BLOB – Binary Large Objects) depolama problemlerini çözmek için geliştirilmiş bir data tipidir. Veriler NTFS dosya sistemi ile depolanır.
- DATE and TIME
DATE tipi gün ay yıl bilgisi tutarak sadece tarih bilgisi barındırır. YYYY-MM-DD formatında saklar ve 0001-01-01 ile 9999-12-31 arasındaki değerleri alabilir. TIME tipi SQL Server 2008 Saliseyi 7 digitlik hassasiyette tutuyor. SQL Server 2005 te DATETIME ile bunu 3 digit olarak alırdık. Alabileceği değerler 00:00:00.0000000 ile 23:59:59.9999999 arasındadır. - DATETIME2 and DATETIMEOFFSET
DATETIME2 tipinin SQL Server 2005 te kullandığımız DATETIME dan iki farkı var. Bunlar salise hanesinin 7 digit hassasiyetinde tutulması ve t…

Javascript Ortamında LINQ Kullanımı

LINQ üzerine yazdığımız giriş yazısında belirttiğimiz gibi linq kullanarak, koleksiyonlar veya diziler üzerinde sql benzeri ifadelerle sorgular yazabilmekteyiz. Dizayn modülünü yazarken, “acaba javascript tarafında da linq kullanabilir miyiz?” sorusu aklımıza geldi. Yaptığımız ARGE çalışmaları sonunda, javascript için yazılan bir linq kütüphanesini kullanmaya karar verdik. Bu kütüphane yardımıyla ile C#’daki linq sözdizimine benzer sorgular yazarak, diziler ve bellekteki nesneler üzerinde rahatlıkla işlem yapabilmekteyiz. Öncelikle basit bir örnek üzerinde kullanımını görelim: Range fonksiyonu verilen başlangıç ve bitiş indexleri arasında integer dizi oluşturur, bu diziden çift sayı olanları aşağıdaki gibi where koşulu ile seçebiliriz.

//E--> Linq.Enumerable'ın sembolüdür
E.Range(0,10).Where("d=>d%2==0").Select("c=>c")Tablo1. Basit bir linq javascript kullanımı

“Not enough server storage is available to process this command.” Hatası ve Çözümü

Başka bir bilgisayarda paylaşıma açılmış bir klasöre bağlanırken eğer “Not enough server storage is available to process this command.” şeklinde hata alıyorsanız ve paylaşıma erişemiyorsanız, muhtemelen bağlandığınız makinada IRPStackSize hatası var demektir. Bunu kontrol etmek için bağlandığınız (paylaşım verilmiş) makinada Olay Görüntüleyici’yi açın ve 2011 hatası alınıp alınmadığını kontrol edin. Eğer varsa büyük ihtimalle sorunun kaynağını buldunuz demektir. Çözüm: Registry’i düzenleyip IRPStackSize değerini arttıracağız. Komut satırından regedit yazarak kayıt düzenleyiciyi çalıştırın ve HKLM \ System \ CurrentControlSet \ Services \ LanmanServer \ Parameters içinde IRPStackSize değeri olup olmadığını kontrol edin. Eğer yoksa DWORD tipinde IRPStackSize adında bir anahtar değeri yaratıp 16 ile 25 arası bir değer verin. Bu anahtarın öngörülen değeri 15’tir. Ancak kurulan bazı programlar bu değeri değiştirebilmekte. Onun için bunun üzerinde değerlerle deneme yapacağız. Genellikle 16-1…

Web Ortamında Yazılım Geliştirme

Öncelikle bizi web ortamında program geliştirme ayrımına getiren nicel birikimler nelerdir onları netleştirmek için günümüze kadar olan programlama alışkanlıklarına kısaca bakmak gerekir. 90’lı yılların başında, programlar local networklerde güçlü bir ana makinaya(sunucu) kurulur, dummy terminaller ile kullanılırdı. Daha sonraki süreçte (90 ların 2. Yarısından sonra); teknolojinin yayılımı ile network teknolojileri arasındaki gelişim aynı paralellikte olmayınca, herkesin elinde güçlü bir makina(lar) oldu ama daha zayıf bir network olduğundan her makinaya kurulabilen ve bağımsız çalışabilen programlar bu dönemde yaygın kullanıldı. Günümüzde; network teknolojilerindeki gelişim ve yayılım ile ilgili gelinen noktada (ADSL,3G... vb) bilgisayar kullanıcıları hemen hemen her noktadan ortak bir network’e dahil olabiliyor. Varolan bu durum; bilginin daha hızlı, kolay paylaşılması ve sistemin daha kolay yönetilebilmesi için program geliştirmede bizi tekrar değişime zorluyor. Web ortmında progra…

Yazılım Hataları – Bölüm 2

Hata Yönetimi Yazılım hatalarının ne olduğuna ve kaynaklarına ait yorumlarımızı Bölüm1’deki yazımızda paylaşmıştık. Hatalara ait iki tür yaklaşım vardır; “Hatalar yazılım geliştirme sürecinin doğal bir parçasıdır” (insan faktörü bu süreçte olduğu sürece) Buna aksi bir düşünce olarak, NATO, “Hatalar bir sistemin zayıflığıdır” Hangi yaklaşıma sahip olunursa olunsun, sonuç olarak, hatalar hayatımızda vardır ve var olacaktır. Önemli olan, bu hataların geliştirilen yazılım üzerinde ne kadar üst seviye bir tehdit oluşturacağıdır. Bu nedenle, hataların tespit edilmesi, sınıflandırılması, düzeltilme sürecinin planlanması, izlenmesi, analiz edilmesi, çözüme kavuşturulması gibi “hata yönetimine” ilişkin konulara dikkat edilmelidir. Hata Yönetiminin Amacı Nedir?
Hata yönetiminin asıl amacı hataların ortaya çıkmasını önlemektir ancak bunu başarabilmek her zaman mümkün değildir. Hata oluşmasının önlenemediği durumlarda ise hatayı en hızlı şekilde tespit etmek, çözüme kavuşturmak veya hatadan kaynakl…

Yazılım Hataları – Bölüm I

Hata nedir, genel bakış?
Yazılım firmaları tarafından birçok farklı sektörde faaliyet gösterebilecek ürünler geliştiriliyor. Tüm bu ürünlerin ortak amacı kaliteyi arttırmak ve maliyetleri düşürmek. Her yazılım, kendi sektöründe başarılı olabilir, ancak sürecin karmaşıklığı vb. faktörler nedeniyle, tamamen hatasız bir yazılım geliştirmek neredeyse imkansızdır. Buna bağlı olarak, yazılımda tespit edilen hata sayısı, yazılımın kalitesi hakkında fikir üretmeye yardımcı olur. Hatalar, yazılımın kalitesine etki ettiğine göre, yazılım geliştirme süresince iyi takip edilmeli ve yönetilmelidir. Bu sayede geliştirilen yazılımda hata oluşmasına neden olan gerçek sebepler bulunabilir ve bu hataların oluşmasını engelleyecek sistemler üzerinde çalışma yapılabilir. “Hata nedir?” sorusuna cevap verecek olursak; “yazılımda olması gerekenlerin dışındaki her türlü yanlış durum ve değerler”, hata olarak nitelendirilebilir. Bunlar her türlü yazım ve noktalama hataları olabileceği gibi yanlış sonuç üreten işl…

Scripting Desteği ile Uyarlanabilir Yazılımlar

Bir yazılım firmasının müşterileri için yapabileceği en kayda değer işlerden bir tanesi uygulamalarına scripting desteği eklemesi ve onlara sabit bir uygulamadan öte, uyarlanabilir bir altyapı sunmasıdır. Scripting desteği, müşterinin uygulamanın sınırlarını zorlamasını ve uygulamaya değer katmasını sağlar. Hatta yazılımsal buglarda ufak script kodları tampon görevi görür. Gerçek çözüm ve bu çözümle derlenen yeni versiyon çıkıncaya kadar müşterinin hayatına devam etmesini sağlar. .NET uygulamalarında scripting desteği sağlayabilmek amacıyla çeşitli yöntemlere başvurmak mümkündür. Kullanılabilecek bu yöntemler aşağıdaki gibidir;
“On the fly code compilation” yöntemi(Reflection.Emit); CodeCompiler kullanılarak çalışma-zamanında .NET kodu yaratılır, derlenir ve çalıştırılır. En yaygın yöntem olarak gösterilse de kullanımı, değiştirilmesi ve debug edilmesi en zor olan yöntemdir. “Micsosoft.VisualBasic.Vsa” ad alanı içerisindeki sınıfların ve kütüphanelerin kullanılması; Kolaylığı itibari i…

LINQ'ya Genel Bakış – Language INtegrated Query ( Dil İle Bütünleştirilmiş Sorgu ) – Bölüm I

Bu makalemizde; LINQ nedir, nerelerde kullanılır ve çeşitleri hakkında genel bilgiler verilmek amaçlanmıştır.

Kod adı LINQ olan bu proje adı ‘Language Integrated Query’ yani ‘Dil ile bütünleştirilmiş sorgu’ kelimelerinin kısaltılmasıyla oluşturulmuştur. Veri ile çalışırken işimizi kolaylaştıran şeylerden biriside verileri sorgulayabilmemizdir. Bunun içinde select, where gibi sorgu ifadeleri kullanırız. Kod yazarken geliştirdiğimiz proje içindeki değerleri değişkenlerde saklarız. Değişkenlerde tutulan bu verilerin uzun bir süre saklanması gerektiğinde dosya sistemini veya veri tabanı sistemlerini kullanırız. İşte, bellekte tutulan bu verileri (in memory objects ve generic collections) de artık veri tabanı sistemlerinde olduğu gibi basit sorgu ifadeleri ile sorgulayabiliyoruz (Oley) .

LINQ bellekteki veriler dışında hem XML (XLINQ) ile hemde SQL Server (DLINQ) ile çalışmamızı sağlıyor. XLINQ, XML verileri ile çalışırken bu verileri hızlı ve kolay sorgulama yeteneği kazandırıyor…

eXtreme Programming – XP

Giriş ve Tarihçe

Genelde uç programlama olarak türkçeye çevrilen extreme programming “Değişimlerin Maliyetini Düşürmek” amacıyla geliştirilmiş çevik yazılım süreçlerindendir. Günümüzde özellikle satış odaklı yazılım firmalarında aşağıdaki gibi bir çok sıkıntı yaşanılabilmektedir.
Müşteri memnuniyetsizliği Yetişmeyen projeler Haftada 70 saata kadar çalışan yazılımcılar Müşteri isteklerinin ve dolayısıyla Tasarımın sürekli değişmesi Sürekli araya giren işler Planların tutmaması Nihayet %50 oranında başarısız projeler 1996 yılında General Motors şirketininde Smalltalk ile C2 isminde Bordro uygulaması geliştirmekte olan Kent Beck, Ward Cunningham, Ron Jeffries yazılım liderleri yaşadıkları benzer sıkıntılar nedeni ile bu yöntemi geliştirmişler ve 1999 yılında yayınlamışlardır.

SSH, SFTP, SCP Nedir? (VB.NET ile Örnekler)

SSH Nedir ? SSH(Secure Shell/Güvenli Kabuk) ağ üzerinden başka bilgisayarlara erişim sağlamak, uzak bir bilgisayarda komutlar çalıştırmak ve bir bilgisayardan diğerine dosya transferi amaçlı geliştirilmiş bir protokoldür. Güvensiz kanallar(internet vs) üzerinden güvenli haberleşme olanağı sağlar. Bir iletişimde SSH aşağıda belirtilen temel unsurları sağlar;
• authentication /Kimlik denetimi
• encryption /Şifreleme
• Integrity /Bütünlük.

SSH ile Dosya Transferi Günümüzde kullanılan en popüler dosya transfer aracı FTP’dir. SSH kullanarak hem ftp kolaylığında dosya transferi yapılabilir; hem de transfer edilen dosya şifrelenerek meraklı gözlerden korunmuş olur. SSH ile dosya transferinde temel iki seçenek var; biri SCP(secure Copy) diğeri de Sftp(Secure FTP). Temel bazı farklılıklar dışında her iki yöntem ile yapılabilecekler aynıdır. SSH ve türevlerinin, SCP ve SFTP'nin anlamı uzak sistem erişimidir. SSH, RSH'nin güvenli sürümü, SCP ve SFTP de sırasıyla RCP ve …

Web Uygulamaları Performans Değerlendirmede Kullanılan Metrikler

Bir test oturumunda, web uygulaması üzerinde daha önceden belirlenmiş bir senaryoyu işleten sanal kullanıcılar, bazı sonuç datalar (metrikler) üretirler. Bu metrikler bize uygulamanın performansı, bazı sistem hataları veya fonksiyonlar ile ilgili spesifik bilgileri gösterirler. Bu farklı metrikleri yorumlayarak, uygulama fonksiyonları ile eşleştirip, karşılaştırma yapabilir ve daha elverişli bir test planı yaratabiliriz. Gerçek hayatta, bu metriklerden en çok kullanılanlar ve açıklamaları aşağıdaki gibidir;

Yazılım Test Prensipleri

Yazılım firmanızda bir test departmanınız varsa, kendisine ait "test prensipleri" olması önemlidir. Biz de ISTQB test mühendisliği eğitimleri sırasında aldığımız bilgiler doğrulturusundaki presipleri benimsiyoruz. Bu 7 prensibi aşağıdaki gibi sıralayabiliriz;
Prensip 1: Testler hataların varlığını gösterir.
Yazılım testleri hataların var olduğunu gösterir fakat hiç bir hata kalmayacağını garanti etmez. Test yapılması, yazılımda gizli kalmış hataların bulunma riskini azaltır fakat %100 bir doğruya bizi ulaştırmaz.

Prensip 2: Yazılım ürünün komple test edilmesi mümkün değildir.
Hangi test tekniği kullanılırsa kullanılsın yazılımdaki tüm detayları test etmek mümkün değildir. Bu tarz test yerine, risk analizleri ve öncelikler verilerek, test aktivitesi gerçekleştirilmelidir.

Prensip 3: Erken test (Early testing).
Yazılım geliştirme süreci ne olursa olsun, test aktivitesine mümkün olan en erken zamanda başlanmalıdır.

Prensip 4: Hataların kümelenmesi (Defect clustering).
Hatalar, yazılı…

Yazılım Maliyet Tahmineleme Tecrübeleri

Yazılım mühendisliğinde maliyet hesabı her zaman problem olmuştur. "Bu iş kaç Adam/Gün tutar?" sorusuyla sıkça karşılaşıyoruz. Adam/gün veya Adam/ay ölçütleri bir kaynağın/kişinin belirtilen zaman dilimindeki iş gücü anlamına gelir. Tabi bu noktada yine kafa karışıklıkları başlar. 6 A/G'lik bir işi hızlandıralım diye 2 kişi ile yapmaya çalışsak ve kaynak/kod, modül, altyapı, insan vb. her bir şeyi bir kenara bıraksak, matematiksel basit formülle 6/2=3 A/G'de biter? Gerçek hayat böyle değil, öncelikle bunu anlamamız lazım. Hep şu örnek verilir; "Aynı bebeği 2 kadın birlikte daha kısa sürede doğurur mu?" Eğer bunun cevabı "Evet" ise (veya bir gün böyle bir durum ortaya çıkarsa), yazımı değiştirmem gerekecek:)
Mevzu gerçekten derin...Maliyet hesabı; bulunduğunuz firmanın yazılım süreçlerini hangi methodlarla uyguladığına, ilgili işin o dönemdeki aciliyetine, (şirket yönetiminin baskısına:)) vb. bir çok duruma bağlı olabilir.
Örneğin; bizim firmada eğe…

Routerlı Modem + VPN üzerinden TFS Kullanımı

Geçenlerde yaşadığım bir problemi ve çözümünü yazmak istedim. Evimden ofis ağına bağlanmak için yaratmış olduğum VPN bağlantısı üzerinden, yavaş da olsa bütün sunuculara problemsiz erişebildiğim halde, source control için kullandığımız MS Team Foundation Sunucusuna, Visual Studio içerisinden bağlanamıyordum. Bağlanmış gibi gözüksem bile kısa bir süre sonra Visual Studio bağlantının koptuğunu söylüyordu. Shell window dan sunuculara ping attığımda, ilk ping sonucunda “destination unreachable” hatası aldığımı, sonraki ping lerin ise adrese ulaştığını, işin ilginç yanı ise, ilk ping atılan adresin local makinam olduğunu fark ettim.

Bandwidth Kullanımı ve Örnek Senaryo

Bandwidth Nedir?
Bandwidth belirli bir zaman diliminde taşınan bilgi miktarını ifade eder. Günümüzde, dijital sistemlerde genellikle “Mbit per second” yani saniyede aktarılan Megabit (Mbps) olarak ifade edilir.

Bandwidth Bottleneck
Bazen verinin kaynak ve hedef noktaları arasında veri akış hızını azaltacak etkenler (darboğazlar) olabilir. Bottleneck nedenleri şunlar olabilir; Donanımsal nedenler
o Kaliteli bir switch yerine hub kullanılması
o Kablolama problemleri
o Vb. Proxy server Cache mekanizmaları Firewall Content Management Antivirüs programları Internet service provider ın verdiği hizmet kalitesi

SQL 2005'den 2000'e dönüş

SQL 2000 kurulu bir bilgisayara SQL 2005 kurulumu yapılır ve sonra kaldırılırsa, Enterprise Manager SQLMMC hatası vererek durur. Bunun sebebi SQL 2005 Backwards Compatibility Components’ın da kaldırılmış olmasıdır.

Düzeltmenin 2 yolu vardır: SQL Server 2005 Backward Compatibility Components’ı yeniden kurmak.http://www.microsoft.com/downloads/details.aspx?familyid=d09c1d60-a13c-4479-9b91-9e8b9d835cdc&displaylang=en

Twitter nedir?

Sosyal ağ platformu veya servisi olarak adlandırabileceğimiz twitter'ın ömrü aslında çok kısa. 2006-2007 yılında resmi bir şirket olarak San Fransisco'da kurulan twitter, şu anda ABD'de oldukça yaygın ve peynir ekmek gibi kullanılıyor, istatistiklere göre son bir yılda yüzde 1000 büyümüş durumda. En temel amacı şu anda ne yaptığınızı 140 karakter sınırı ile tüm dünyaya anlık olarak duyurabilmek, herkezin sizi veya sizin bu ağdaki herhangi birisini anlık olarak takip edebilmesini sağlayabilmek. İlk duyduğumda ben de "banane, milleti niye takip edeyim" demiştim. Ancak kullandıkça zevk almaya başlıyorsunuz, arkadaşlarınız veya ünlü kişilerin o anda ne yaptıklarını, ne düşündüklerini, hayata nasıl baktıklarını, sisyasi düşüncelerini, iç dünyalarını:), aklınıza gelebilecek her türlü detayı öğreniyorsunuz (Turkcell'in 3G reklamı aklıma geldi, "Merak ne güzel şey güzel şey merak" sloganına felsefi olarak uygun bir platform). Takip ettikleriniz ve takipçile…

Projelere Karşı Yapayalnız (Bir test departmanın isyanı)

Tarih: 25 Haziran 2008. Yazılım ve test olarak yine zor bir virajdayız. Yeni bilgi/hazırlama işleme yapısını kodladık ve test etmeye çalışıyoruz:) Ürünün stabilliği ve test ekibinin sanatçı ruhu ile ortaya çıkan şiir;

Projelere Karşı Yapayalnız

Test edip yazmasam da unuttum seni sanma
Panorama bir yanaaa Central bir yana
Hasta ettin beni kendine sonra da update ettin gizlice
Aradım seni db’de hiç kimselere soramadım

Bekledim dön diye kilitledin bile bile
Bile bile foreign key’i korkundan silemedin.
Test edip bulamasamda unuttum seni sanma sakın
İşleme bi yana hazırlama bir yana

Univera Yazılım Departmanı 2009 Son Durum

Bir yazılım firmasında "olması gerekenler" ve "olsa iyi olur" diyebileceğimiz özellikleri sıralarsak Univera Yazılım olarak aşağıdaki durumda olduğumuzu söyleyebiliriz.


Deniz KILINÇ

Univera blog sitemizi açtık

Univera olarak sürekli gelişim gösteriyoruz, gelişim için çaba sarf ediyoruz. Gelişmek, ilerlemek, zorlamak bizim içimizde var. Bugünden itibaren her türlü deneyimimizi elimizden geldiği kadar yazılarımızla aktarmaya çalışacağız. Yazar sayımızın çok olacağını tahmin ediyorum, bu konuda ekibime ve çalışma arkadaşlarıma güveniyorum. Bazı dönemler zorlansak da, önemli kilometre taşlarını tek tek aşıp, uluslararası bir teknoloji firması olma yolunda emin adımlarla ilerliyoruz. Hedeflerimiz büyük, ekibimiz kaliteli, her bir çalışanımız çok değerli...
Hayırlısı olsun:)

Deniz KILINÇ