İçeriğe geç
academia.sh

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.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat