Ders 14 / 15
Yasal Çerçeve ve Etik
Yetkilendirme, kapsam ve sorumluluğun sayılabilir kalem olarak kurulması: 18 varlıklı envanterde dört kapsam yazımının 8, 13, 17 ve 15 varlık kapsaması, tartışmaya açık kalemin 0, 6, 9 ve 0 olması, ad listesiyle yazılan kapsamda 9 komşu varlığın aynı bölütte durması, iki varlığın ayrı yazılı izin istemesi ve tartışmasız sınanabilen yolun 8, 5, 8 ve 22 olması.
İçindekiler
Önceki ders sorumluluğu 27 hücrelik bir matriste ölçtü ve iki hücreyi kurum içinde sahipsiz bıraktı: üçüncü taraf maddesinin kapatma ve sürdürme hücreleri. O iki hücrenin nedeni teknik değildir. Bir adımı kesmek, bir yolu sınamak ya da bir varlığı listeye almak, birinin o sistem üzerinde işlem yapma yetkisine bağlıdır ve o yetki bir tabloyla değil yazıyla verilir.
Yazılı yetki ve tanımlı kapsam olmadan bir sistem üzerinde sınama yapmak hem yasadışıdır hem meslek dışıdır; bir yolun teknik olarak yürünebilir olması onu yürünmesi meşru bir yol yapmaz. Bu ders, o yazının kendisini ölçülebilir bir nesne olarak ele alır. Katılım kuralları bir sınamanın neyi, ne zaman ve hangi sınıra kadar kapsadığını yazan metindir; kapsam o metnin varlık kümesidir. Sorulan şey metnin tonu değil, kaç kalemi tek anlamla belirlediğidir.
Kapsamı Kalem Olarak Yazmak
- AR17. Envanter 18 varlıktır: yol kümesinin 12 düğümü ve aynı ağ bölütlerinde duran 6 komşu varlık. Her varlığın sahibi (kurum, ortak, tedarikçi) ve ağ bölütü yazılıdır. Envanter de ağ da kurgudur.
- AR18. Kapsam dört biçimde yazılır: ad listesi (her varlık adıyla), bölüt aralığı (yazılı bölütlerdeki her varlık), dışlama (belirli bir bölüt hariç her şey), düzeltilmiş yazım.
- AR19. Bir varlık tartışmasız kapsamdadır ancak metin onu hem biçimiyle kapsıyor hem de adıyla yazıyorsa. Yalnız biçimin kapsadığı varlık tartışmalıdır: metnin dar okuması onu dışarıda, geniş okuması içeride bırakır.
- AR20. Bir yol tartışmasız sınanabilir ancak bütün düğümleri tartışmasız kapsamdaysa.
- AR21. Sahibi kurum olmayan varlık, kapsam metnine girse de ayrı yazılı izin ister; kurumun kendi yazdığı metin başka bir kurumun varlığı üzerinde yetki üretmez.
- AR22. Ad listesiyle yazılan kapsamda bölüt düzeyinde tek bir işlem kapsam dışı komşuya değeceği için her varlık ayrı pencerede sınanır; aralıkla yazılan kapsamda bölüt başına tek pencere yeter.
- AR23. Sınama penceresinde, sınanan varlıkların taşıdığı meşru istek durur.
- AR24. Düzeltilmiş yazım kapsadığı her varlığı adıyla yazar ve kurum dışı sahipli varlıkları açıkça dışlar.
// kapsam/yetki.mjs — yazili kapsamin dort bicimi ve varlik envanteri (MODEL). // Gercek bir kurum, gercek bir sozlesme ya da gercek bir varlik yoktur; sayilar kurgudur. export const VARLIK = ` saha-terminali kurum saha evet abone-portali kurum abone evet toplayici kurum cekirdek evet dogrulayici kurum cekirdek evet is-emri kurum cekirdek evet okuma-deposu kurum cekirdek evet faturalama kurum cekirdek evet kimlik-dizini kurum yonetim evet sube-anahtari kurum saha hayir saha-ekip-tableti kurum saha hayir sube-yazici kurum saha hayir abone-kayit-kopyasi kurum abone hayir ortak-analiz-ucu ortak cekirdek hayir tedarikci-portali tedarikci abone hayir yonetim-agi kurum yonetim hayir yedek-ucu kurum yonetim hayir test-kopyasi kurum yonetim hayir tedarikci-ucu tedarikci dis hayir` .trim().split("\n").map((r) => { const [ad, sahip, bolut, liste] = r.trim().split(/\s+/); return { ad, sahip, bolut, adli: liste === "evet" }; }); export const KENAR = ` saha-terminali toplayici 420 saha-terminali sube-anahtari 35 abone-portali dogrulayici 900 abone-portali kimlik-dizini 760 tedarikci-ucu yonetim-agi 18 tedarikci-ucu yedek-ucu 6 sube-anahtari yonetim-agi 24 sube-anahtari toplayici 110 toplayici dogrulayici 380 toplayici okuma-deposu 540 dogrulayici okuma-deposu 610 dogrulayici faturalama 290 kimlik-dizini yonetim-agi 44 kimlik-dizini is-emri 150 yonetim-agi toplayici 60 yonetim-agi yedek-ucu 12 yonetim-agi kimlik-dizini 38 yedek-ucu okuma-deposu 9 is-emri dogrulayici 130 is-emri faturalama 95` .trim().split("\n").map((r) => { const [a, b, m] = r.trim().split(/\s+/); return { a, b, mesru: Number(m) }; }); export const GIRIS = ["saha-terminali", "abone-portali", "tedarikci-ucu"]; export const HEDEF = ["okuma-deposu", "faturalama"]; export const BICIM = { "ad-listesi": (v) => v.adli, "bolut": (v) => ["saha", "abone", "cekirdek"].includes(v.bolut), "dislama": (v) => v.bolut !== "dis", "duzeltilmis": (v) => v.sahip === "kurum" && v.bolut !== "dis", }; // Aralikla yazilan bicimlerde bolut basina tek sinama penceresi yeter. export const ARALIK = ["bolut", "dislama", "duzeltilmis"]; // Bu iki bicim kapsadigi her varligi ADIYLA da yazar; oteki ikisi eski ad listesine dayanir. export const ADLANDIRAN = ["ad-listesi", "duzeltilmis"]; export function yollar() { const cikis = {}; for (const k of KENAR) (cikis[k.a] ??= []).push(k.b); const hepsi = []; const yuru = (d, iz) => { if (HEDEF.includes(d)) { hepsi.push([...iz]); return; } for (const s of cikis[d] ?? []) if (!iz.includes(s)) yuru(s, [...iz, s]); }; for (const g of GIRIS) yuru(g, [g]); return hepsi.map((iz) => ({ iz })); }
Dört Yazım, Aynı Envanter
// kapsam/olc.mjs — dort kapsam yazimi ayni envanter ve ayni yol kumesi uzerinde. import { VARLIK, KENAR, BICIM, ARALIK, ADLANDIRAN, yollar } from "./yetki.mjs"; const Y = yollar(), AD = Object.keys(BICIM); const yaz = (g, ...s) => console.log(s.map((v, i) => (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join("")); function olc(b) { const genis = VARLIK.filter(BICIM[b]); const adli = (v) => v.adli || ADLANDIRAN.includes(b); // metin varligi adiyla yaziyor mu const tartismasiz = genis.filter(adli); // hem adiyla yazili hem bicim icinde const tartismali = genis.filter((v) => !adli(v)); // yalniz genis okumada iceride const celisen = VARLIK.filter((v) => v.adli && !BICIM[b](v)); const izin = genis.filter((v) => v.sahip !== "kurum"); // ayri yazili izin ister const bolut = new Set(genis.map((v) => v.bolut)); const komsu = VARLIK.filter((v) => !BICIM[b](v) && bolut.has(v.bolut)); const d = new Set(tartismasiz.map((v) => v.ad)), g = new Set(genis.map((v) => v.ad)); return { genis: genis.length, tartismasiz: tartismasiz.length, tartismali: tartismali.length, celisen: celisen.length, izin: izin.length, komsu: komsu.length, pencere: ARALIK.includes(b) ? bolut.size : genis.length, sinanabilir: Y.filter((y) => y.iz.every((x) => d.has(x))).length, tartisilan: Y.filter((y) => y.iz.every((x) => g.has(x)) && !y.iz.every((x) => d.has(x))).length, disarida: Y.filter((y) => !y.iz.every((x) => g.has(x))).length, mesru: KENAR.filter((k) => d.has(k.a)).reduce((a, k) => a + k.mesru, 0) }; } const R = Object.fromEntries(AD.map((b) => [b, olc(b)])); console.log(`envanter MODELI: ${VARLIK.length} varlik, ${KENAR.length} adim, ${Y.length} yol; ` + `dort kapsam yazimi ayni kume uzerinde okunuyor.`); const T = [-32, 13, 9, 10, 14]; console.log("\n1. yazili kapsam kac kalemi kapsiyor, kaci tartismaya acik"); yaz(T, "olcu", ...AD); for (const [ad, f] of [["kapsamda sayilan varlik", (r) => r.genis], [" iki okumada da iceride", (r) => r.tartismasiz], [" yalniz genis okumada iceride", (r) => r.tartismali], ["ad listesiyle celisen varlik", (r) => r.celisen], ["ayri yazili izin isteyen varlik", (r) => r.izin], ["kapsam disi, ayni bolutte", (r) => r.komsu]]) yaz(T, ad, ...AD.map((b) => f(R[b]))); console.log("\n2. yol kumesinde karsiligi ve mesru ise bedel"); yaz(T, "olcu", ...AD); for (const [ad, f] of [["tartismasiz sinanabilen yol", (r) => r.sinanabilir], ["tartismali yol", (r) => r.tartisilan], ["kapsam disi kalan yol", (r) => r.disarida], ["ayri sinama penceresi", (r) => r.pencere], ["duran mesru istek (gun)", (r) => r.mesru]]) yaz(T, ad, ...AD.map((b) => f(R[b]))); const t = R["bolut"], s = R["duzeltilmis"]; console.log(`\nbolut yaziminda ${t.tartismali} varlik ve ${t.tartisilan} yol tartismaya acik; ` + `ayrica ${t.celisen} varlik ad listesinde olup aralik disinda kaliyor.`); console.log(`duzeltilmis yazim ${s.tartismali} tartismali kalem birakiyor ve ${s.sinanabilir} ` + `yolu sinanabilir yapiyor; kalan ${s.disarida} yol kurum disi sahipli bir varliktan geciyor.`);
envanter MODELI: 18 varlik, 20 adim, 30 yol; dort kapsam yazimi ayni kume uzerinde okunuyor. 1. yazili kapsam kac kalemi kapsiyor, kaci tartismaya acik olcu ad-listesi bolut dislama duzeltilmis kapsamda sayilan varlik 8 13 17 15 iki okumada da iceride 8 7 8 15 yalniz genis okumada iceride 0 6 9 0 ad listesiyle celisen varlik 0 1 0 0 ayri yazili izin isteyen varlik 0 2 2 0 kapsam disi, ayni bolutte 9 0 0 2 2. yol kumesinde karsiligi ve mesru ise bedel olcu ad-listesi bolut dislama duzeltilmis tartismasiz sinanabilen yol 8 5 8 22 tartismali yol 0 3 14 0 kapsam disi kalan yol 22 22 8 8 ayri sinama penceresi 8 3 4 4 duran mesru istek (gun) 4354 4160 4354 4607 bolut yaziminda 6 varlik ve 3 yol tartismaya acik; ayrica 1 varlik ad listesinde olup aralik disinda kaliyor. duzeltilmis yazim 0 tartismali kalem birakiyor ve 22 yolu sinanabilir yapiyor; kalan 8 yol kurum disi sahipli bir varliktan geciyor.
Birinci tablo dört metni aynı 18 varlıklı envanterin üstünde okur. Kapsanan varlık sayısı 8, 13, 17 ve 15’tir. Bu satır tek başına okunduğunda dışlama yazımı en geniş, ad listesi en dar görünür ve kapsam metninin gücü bu ilk satırla ölçülüyormuş gibi durur.
İkinci satır bu izlenimi bozar. Tartışmasız kapsamda olan varlık 8, 7, 8 ve 15’tir. Dışlama yazımı ad listesinden dokuz varlık fazla kapsar, ama o dokuz varlığın hiçbiri iki okumada da içeride değildir; metni dar okuyan biri onları dışarıda sayar. Kapsamı genişleten cümle, tartışmasız kalemi bir tane bile artırmamıştır.
Bölüt yazımı daha keskin bir sonuç verir. Kapsanan varlık 8’den 13’e çıkar, ama tartışmasız kalem 8’den 7’ye iner. Nedeni dördüncü satırdadır: bir varlık ad listesinde yazılıdır ama yazılı bölüt aralığının dışında kalır. İki cümle aynı metinde birbirini keser ve o varlığın kapsamda olup olmadığı metinden çıkmaz. Kapsamı genişletmek için yazılan bir aralık, tartışmasız kalemi azaltmıştır.
Yetkinin Kapsamla Aynı Şey Olmadığı Yer
Beşinci satır ayrı bir sınır çizer: bölüt ve dışlama yazımlarında kapsanan varlıkların ikisi kurum dışı sahiplidir — biri ortak kurumun analiz ucu, biri tedarikçi portalıdır. Kurumun kendi yazdığı bir metin bu iki varlığı kapsam içinde sayabilir; o metin başka bir kurumun varlığı üzerinde yetki üretmez. İkisi için de ayrı bir yazılı izin gerekir ve o izin gelene kadar bu kalemler kapsamda değil, tartışmadadır.
Altıncı satır ters yöndeki sınırı verir. Ad listesiyle yazılan kapsamda 9 varlık kapsam dışındadır ama kapsamdaki varlıklarla aynı ağ bölütünde durur. Bir bölüt düzeyinde yürütülen tek bir işlem bu dokuzuna da değer; kapsam dışı bir varlığa değmek yazılı yetkinin dışına çıkmak demektir. Ad listesi belirsizliği sıfırlar ama bu kesinliğin bedeli koordinasyondur: sınama tek pencerede değil, varlık başına ayrı pencerede yürütülür.
Bu iki satır aynı metnin üç ayrı soruya yanıt verdiğini gösterir. Kapsam hangi varlığın sınanacağını yazar; yetki o sınamayı kimin imzasıyla verildiğini yazar; sorumluluk bir zarar doğduğunda kimin yanıt vereceğini yazar. Üçü ayrı kalemlerdir ve bir metinde biri yazılıp öteki ikisi atlanabilir. Kurum dışı sahipli iki varlıkta kapsam yazılıdır, yetki eksiktir. Ad listesindeki dokuz komşuda kapsam açıktır — dışarıdadırlar — ama bir bölüt işlemi onlara değdiğinde sorumluluğun kimde olduğu yazılı değildir. Bir metnin ölçüsü kaç varlığı saydığı değil, her varlık için bu üç sorunun üçüne de yanıt verip vermediğidir.
Etik yükümlülük bu üç kalemin dışında ve onlardan geniştir. Kapsam dışı bir yol sınama sırasında kendini gösterebilir; onu sınamamak yasal bir zorunluluk, bildirmek meslek gereğidir. Aynı biçimde pencerenin dışına taşmamak, kapsam metninin izin verdiğinden fazlasını denememek ve bulunanı yalnız imza sahibine iletmek yazılı metinde geçmese de sınamayı yürüten tarafın yükümlülüğüdür. Yazılı yetki bir tavan çizer; meslek ölçüsü o tavanın altında kalmayı da kapsar.
Kapsamın Yol Kümesindeki Karşılığı
İkinci tablo aynı dört metni yol kümesine indirir ve kapsamın asıl ölçüsünü verir.
Tartışmasız sınanabilen yol 8, 5, 8 ve 22’dir. Ad listesi ile dışlama yazımı aynı sayıyı verir: dışlamanın kapsadığı dokuz fazla varlık, tartışmalı oldukları için hiçbir yolu tartışmasız hâle getirmez. Bölüt yazımı 5’e düşer — çelişen tek varlık, üzerinden geçen üç yolu tartışmalı kılmıştır.
Tartışmalı yol satırı 0, 3, 14 ve 0’dır. Dışlama yazımında otuz yolun neredeyse yarısı için sınamanın meşru olup olmadığı metinden çıkmaz. Bu on dört yolun her biri bir sorumluluk sorusudur: sınanır ve bir kesinti doğarsa yazılı metin kimi işaret eder. Sorunun yanıtsız kalması, hem sınamayı yürüten tarafı hem sınamayı isteyen tarafı savunmasız bırakır. Tartışmaya açık kalem, sınanmazsa ölçülmemiş bir yol, sınanırsa yazısız bir işlemdir.
Kapsam dışı kalan yol 22, 22, 8 ve 8’dir. Düzeltilmiş yazımda kalan sekiz yolun tamamı kurum dışı sahipli bir varlıktan geçer. Bu sekiz yol, birinci derste mor çalışmadan sonra geriye kalan sekiz yolun aynısıdır: orada yetkilendirmenin sınırı yüzünden görülmemişlerdi, burada aynı sınır yüzünden sınanamıyorlar. Bir kurumun kendi ağında ölçemeyeceği yol kümesinin boyu, kendi metniyle değil başka bir kurumun imzasıyla belirlenir.
Doğru Yazımın Bedeli
Düzeltilmiş yazım her kalemi adıyla yazar ve kurum dışı sahipli varlıkları açıkça dışlar: 15 varlık, 0 tartışmalı kalem, 0 ayrı izin, 22 sınanabilir yol. Son iki satır bu sonucun bedelini verir. Sınama 4 ayrı pencerede yürütülür ve pencerelerde duran meşru istek günde 4.607’dir — dört yazımın en yükseği.
Bu ters yön kasıtlıdır. Ad listesi 4.354, bölüt yazımı 4.160 meşru istek durdurur; ikisi de daha az varlığı tartışmasız kapsadığı için daha az işi durdurur. Kapsamı doğru yazmak sınamayı ucuzlatmaz; pahalılaştırır. Karşılığında alınan şey sınanan yol sayısının 8’den 22’ye çıkması ve tartışmaya açık kalemin sıfırlanmasıdır. Sınamanın hiç durdurmadığı bir iş varsa, muhtemelen sınamanın hiç dokunmadığı bir varlık da vardır.
Özet
- 18 varlıklı envanterde dört kapsam yazımı 8, 13, 17 ve 15 varlık kapsar; tartışmasız kapsamda olan varlık 8, 7, 8 ve 15’tir. Kapsamı genişleten cümle tartışmasız kalemi artırmaz.
- Bölüt yazımında bir varlık ad listesinde yazılı olduğu hâlde aralığın dışında kalır; bu tek çelişki tartışmasız sınanabilen yolu 8’den 5’e indirir.
- Kurum dışı sahipli iki varlık kapsam metnine girer ama metin onlar üzerinde yetki üretmez; her biri ayrı yazılı izin ister. Ad listesiyle yazılan kapsamda ise 9 kapsam dışı varlık kapsamdaki varlıklarla aynı bölütte durur ve sınama 8 ayrı pencereye bölünür.
- Tartışmalı yol sayısı 0, 3, 14 ve 0’dır. Tartışmaya açık bir kalem sınanmazsa ölçülmemiş bir yol, sınanırsa yazısız bir işlemdir.
- Düzeltilmiş yazım 22 yolu sınanabilir yapar ve tartışmalı kalemi sıfırlar; kalan 8 yol kurum dışı sahipli bir varlıktan geçer ve ancak başka bir kurumun yazılı izniyle ölçülebilir.
- Doğru yazımın bedeli en yüksektir: günde 4.607 meşru istek durur, 4.160 ve 4.354 yerine. Hiçbir meşru işi durdurmayan sınama, dokunmadığı varlıkları da ölçmemiştir.
Sonraki Adım
Yetki bir metindir ve o metin ölçüldü: kaç kalemi tek anlamla belirlediği, kaç kalemi tartışmaya açtığı, kaç yolu sınanabilir yaptığı ve karşılığında kaç meşru işi durdurduğu sayıldı. Metin yazıldığında sınama yürütülebilir hâle gelir.
Geriye tek bir soru kalır: metnin yetkilendirdiği işi yapabilen kişi nasıl ayırt edilir. Bir kurum bir yolu sınatmak istediğinde karşısına iki ayrı ölçüm çıkar — bir sınav salonunda ölçülen bilgi ile bir laboratuvarda ölçülen beceri. Son ders bu ikisinin ölçtüğü yetenek kümesini aynı kalem listesi üzerinde karşılaştırır: kaç kalemde kesişiyorlar, kaçında ayrışıyorlar ve hangi kalem ikisinde de ölçülmüyor.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.