PISI
(Packages Installed Successfully as Intended)
Barış Metin
(Alpha)
2.2 Kullanıcı Gereksinimleri
Kullanıcı gereksinimleri, bilişim okuryazarı olarak daha önce tanımladığımız
1 kullanıcı profiline bağlı kalınarak çıkarılmıştır.
-
Bilişim okuryazarının temel isteği, sisteme istediği uygulamaları
kolayca kurabilmekten ibarettir.
-
Kur emri, komut satırından, grafik arayüzlerden, ya da sistemin otomatik
olarak bir pakete ihtiyaç olduğunu saptamasıyla kolayca verilebilmeli,
bu görev mümkün olduğunca soru sorulmadan ve kullanıcıyı rahatsız
etmeden yerine getirilmelidir.
- Kullanıcı, paketin sistemde doğru şekilde çalışabilmesi için gerekli
olan yapılandırma gereksinimlerinin karşılanmasından mümkün olduğunca
yalıtılmalıdır. Yapılandırma ile ilgili görevler paket yöneticisi
dışındaki bir araçla otomatik sağlanmalı, ya da kullanıcının verdiği
emirlerle sonradan yapılabilmelidir.
- Kurulum mümkün olduğunca hızlı olmalıdır.
- Kurulu programların yeni sürümleri çıktıkça, veya üzerinde düzeltmeler
ve güvenlik onarımları yapılmış yeni paket sürümleri yayımlandıkça,
kullanıcı elindeki uygulamaları güncellemek isteyecektir.
-
Kullanıcı vakti yada ağ bağlantı hızı yetersiz olduğunda acil önem
taşıyan ve yapılması gerekli güncellemeleri, diğerlerinden kolayca
ayırabilmelidir; bunun yapılabilmesi için paketin her sürümündeki
güncellemelerin önem derecesi (yeni özellikler, hata düzeltmeleri,
güvenlik açığı düzeltmesi) paketleme esnasında belirtilebilmelidir.
- Bir paketin eski veya deneysel sürümlerini kurmak bilişim okuryazarının
bir ihtiyacı değildir. Dolayısıyla eski sürümler ve geliştirme sürümleri
alternatifleri ile kullanıcının kafasının karıştırılmaması için; kullanıcı
paketler deposunda her eriştiğinde en son düzeltmeleri içeren son
ve tek bir sürüme ulaşabilmelidir. Bu hem basitlik sağlar, hem de
kullanıcının istemeyerek yanlış bir paket kurmasının önüne geçer.
- Paket güncelleme ile ilgili paket bazında ayrı ayrı politikalar belirlenmesi
yukarda bahsedilen kullanıcı profilinden bakıldığında gereksiz ve
kafa karıştırıcıdır.
- Nerdeyse her uygulama kendi sürüm numarası verme politikasına sahip
olduğundan, paketin asıl sürüm numarası yanında, düzenli olarak artacak
bir numara daha vererek, kullanıcının kolayca hangi sürümlerin yeni
olduğunu ayırt edebilmesi sağlanabilmelidir (aynı uygulama sürümünün
çeşitli hata düzeltmeleri içeren farklı paket sürümleri olabileceği
de düşünülürse bunun önemi daha net bir şekilde ortaya çıkmaktadır).
- Kullanıcı, artık ihtiyaç duymadığı bir uygulamayı, yer ve takip tasarrufu
amacıyla kaldırmak isteyebilir. Kullanıcının bu seçimi kolayca yapabilmesi
için, hiç bir paket tarafından ihtiyaç duyulmayan paketler, kurulu
paketlerin kapladığı alan gibi bilgiler paket yöneticisinden kolayca
alınabilmelidir.
- Kullanıcı sistemde nelerin kurulu olduğunu, hangi paketleri kurabileceğini,
kurulu paketlere ait bilgileri, sistemdeki bir bileşen veya dosyanın
hangi uygulamaya ait olduğunu ve benzeri paket yöneticisinden kolayca
alabilmelidir.
- Paketler farklı hedeflere kurulabilecek biçimde ``relocatable''
özellik taşımalıdır (bu, farklı hedeflere kurulum, ya da başkasına
ait sistemde ev dizinine kurulum gibi yeteneklerin sağlanması için
gereklidir).
- Paket bileşenlerinin değişip değişmediği kontrol toplamları, özet
fonksiyonları yardımıyla tespit edilebilmelidir. Paket yöneticisinin
böyle bir durumu kontrol edebilmesi, ve örneğin bir kullanıcı hatası
sonucu silinen/değişen dosyaları tekrar temin edip düzeltebilmesi
kullanıcıya kolaylık sağlar.
- Uygulamayı kod olarak çekip, sisteme özel değişik ayarlar ile derleyebilecek
Gentoo benzeri bir özellik gereklerimiz arasında değildir. Bu tür
bir özellik aynı kodun farklı makinalarda farklı ikili paketler oluşturmasına
ve teknik destek sağlamanın zorlaşmasına yol açacaktır.