İlginizi Çekebilir
  1. Ana Sayfa
  2. Yazılım
  3. Bir Yazılım Projesine Başlamak- Tavsiyeler #5

Bir Yazılım Projesine Başlamak- Tavsiyeler #5

Bu yazının sohbet konusu ise Projelerde Yetkilendirme Yöntemleri üzerine olacak. Bu yazım önceki yazılarım ile bağlantılı olacak ve onlardan bir çok referans içerecek. 

bir yazılım projesine başlamak Projelerde Yetkilendirme Yöntemleri kapak

Bu yazı serisi işin bir alaylısı olarak, tecrübelerimden derlediğim bir yazılım projesine başlamak – dikkat edilmesi gerekenler  konusunun 5. yazısıdır.  Bu yazıda göreceğiniz şeylerin her hangi birini bir yerde bulmanızın imkansız olduğu düşünüyorum. Sayısız araştırmalar yaparak ve sayısız proje geliştirerek geçirdiğim, 5 yıldan fazla sürede elde ettiğim tüm püf noktaları paylaşıyor olacağım.

Önceki yazımda Bir Yazılım Projesine Başlamak– Tavsiyeler #4, hızlı kod yazmak hakkında da konuşmuştuk. Bu yazının sohbet konusu ise Projelerde Yetkilendirme Yöntemleri üzerine olacak. Bu yazım önceki yazılarım ile bağlantılı olacak ve onlardan bir çok referans içerecek.

 

Bir Yazılım Projesine Başlamak- Tavsiyeler #5

Yetkilendirme konusu her zaman sıkıntılı bir süreç olmuştur benim için. Projeye uygun bir yetkilendirme yöntemi tasarlamak gerçekten zor oluyor. Ya tek bir yetkilendirme yöntemi geliştirip üretilen her projede kullanacağız ya da projeye özel yöntemle geliştireceğiz. Ancak küçük projelere aşırı detaycı yetkilendirme yöntemi geliştirmek mantıksız oluyor ve gereksiz iş yükü getiriyor. O halde bu yetkilendirme işlemlerini nasıl belirlemeliyiz?

Bu yazımın konusu da tam olarak bu soruya cevap vermeye odaklıdır. Aşağıda, her türlü projeniz için kullanabileceğiniz, esnek ve geliştirilebilir bir yöntem yer almaktadır.

Yetki Parametreleri yöntemini kullanmak için bir dosya (xml olabilir) yada veri tabanımızda bir tablo açmamız gereklidir. Bu tablo üzerinden kullanıcı bazlı yetkilendirmeler yapılabilir. Bu yöntemi sağlıklı bir şekilde kullanabilmek ve geliştirebilmek adına etraflıca düşünülmesi gerekmektedir.

Yöntemin Kodlanması

Bu bağlamda, Bu yazı serisinin birinci yazısı olan Kodlama Mantığı ve ikinci yazısı olan Basit Düşünmek ve Proje Geliştirmede Çevresel Etkenler yazılarındaki konulara dikkat edilmesi gerekiyor.

Kodlama mantığı altında ilk olarak Proje Geliştirmede Çevresel Etkenler yer alıyor. Yani iş verenin ve kullanacıların neleri yapabilip neleri yapamaması gerektiğini belirlemeliyiz. Örneğin Satın Alma Departmanında çalışan bir kişi, stok tanımlarını, eldeki stokları ve maliyet ve satış fiyatlarını görebilir ama yeni stok tanımı yapamaz. Görebileceği stoklar sınırlıdır ve sadece MAMÜL olarak satılabilen stokları görebilir.

İPUCU: Fark ettiniz değil mi? Eğer bu noktada stokların kodlamasına bu bilgiyi eklersek sorgulamalar ne kadar kolaylaşacak. Stok kodlarında, hammadde, yedek parça, yarı mamül, mamül gibi ana grupların kodlarını verirsek satış departmanının, hangi stokları görmesi isteniyorsa stokların ilgili kodları üzerinden kolaylıkla yetkilendirme yapabiliriz.

Düşünüldüğünde satış departmanının yedek parça stokları ile hiçbir alakası yok. O zaman neden kendisi ile alakası olmayan stokları da görmek istesin ki? Hem sadece kendisini ilgilendiren stokları görebilmesi hemde bu stoklardan ellerinde kaçar tane olduklarını görmesi gerekir.

Maliyet ve satış fiyatı konusunda ise satış departmanında çalışan her personelin maliyetleri bilmesini istemeyebiliriz. Sadece satış fiyatlarını görsün ve müşterisine o fiyatları söylesin. Müşteri eğer iskonto isterse amirine yönlendirsin. Stokların maliyetlerini de görebilen amir ise hem müşteriyi memnun edecek hemde şirketin zarar etmemesini sağlayacak kadar iskonto uygulayabilir.

Buraya kadar bahsettiğimiz senaryo üzerinden ilerleyelim.

 

Nasıl bir yetki parametresi üretebiliriz?

Diyelim ki, yetkilendirme parametrelerinde, satış departmanı ana yetki grubu  10 olsun. 10 ile başlayan her yetki parametresi satış departmanı ile ilgili olacak. Şimdi kodlamamıza başlayabiliriz. Ben excel üzerinde örnek bir kodlama yaptım. Aşağıda görebilirsiniz.

Bir Yazılım Projesine Başlamak- Projelerde Yetkilendirme Yöntemler 1i

Burada bir kodlama mantığı kullanarak yetkilendirme yöntemi oluşturdum. Bu yöntem yukarıda gördüğünüz gibi çok detaylı bir yetkilendirme yöntemi gerektiren projeler için kullanılması mantıklı olabilir. Eğer projemiz çok küçük ve detaylı yetkilendirme yöntemi gerekmiyor ise basitçe Yetki kodları 1’den başlayarak artan sayılar olabilir. 

Yukarıdaki görseli incelediğimizde sırası ile tüm satış departmanı kullanıcılarına tek tek hangi tür stokları görebileceğini belirledik.  Sonrasında kayıt edilen siparişler üzerinde yapılabilecek işlemler hakkında yetkilendirme yaptık. Görselde görünen detaylar daha da detaylandırılabilir. Aşağıdaki görselde olduğu gibi….

NOT: Burada sadece stoklar üzerinden örnek verdim ama bu mantık Cariler de geçerli. Biliyorsunuz cariler 120 ve 320 olarak ayrılırlar. Başlıca bu carilerden hangi grubu görebileceğini yetkilendirebiliriz.

Kullanıcıya sadece kendi kayıtları ya da diğer kullanıcıların açtığı kayıtlar üzerinde de yetki verebiliriz.

NOT: Bu detaylar ne kadar çok artar ise o kadar dikkatli olmaz gerekir. En ufak bir çakışma felakete yol açabilir. 🙂

 

Yöntemin Programlanması

Veri tabanımızda açtığımız Parametreler tablosunda bu kayıtları tutarak, kullanıcı formları gezerken ilgili parametreleri veri tabanından okuyarak yetkilendirmeleri yapmış oluruz. Örneğin kullanıcı Siparişler Listesi formunda geldiğinde kullanıcının yetkilerine göre formda kullandığınız butonları ve menüleri gizle/göster ya da aktif/pasif yaparak, kullanıcıyı yetkileri dahilinde yönlendirebilirsiniz.

Bu mantığı oturttuktan sonra yapılan ilk iş bir yetkilendirme formu olmalıdır. Yeni yetki ana ve alt grupları oluşturabilecek ve oturttuğunuz mantığa uygun olarak bir kaydetme, güncelleme ve silme yapabileceğiniz bir form. Bunu yaptıktan sonra da kullanıcının yetkilerini veritabanından okuyup formdaki ilgili işlemleri açıp kapatabilecek bir class oluşturmalısınız.

Son söylediklerim için ise bir yazılım projesine başlamak yazı serimin üçüncü yazısı olan Kod Yazım Şekli ve Az Koda Çok İş Yaptırmak ile dördündü yazısı olan Hızlı Kod Yazmak yazılarındaki konulara dikkat edilmesi gerekiyor.

 


Evet arkadaşlar Bir Yazılım Projesine Başlamak – Tavsiyeler #5  yazımda bu kadar olsun. Projelerde Yetkilendirme Yöntemleri hakkında konuştuk. Aslında birden fazla yöntemden bahsedecektim ama aklımdaki diğer yöntemler teoriden ibaretti. Bu sebeple onları yazmaktan vazgeçtim. Yukarıda verdiğim mantık her proje türü için kullanılabilir.

Eğer ilginizi çekebildiysem o zaman takipte kalın. Yeni bir yazının ne zaman geleceği belli değil.

Yazılım konusunda daha fazla içerik için tıklayabilirsiniz.

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır. Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap