---
title: 'Kontrollerin Mühendislik Karşılığı'
source: 'https://academia.sh/tr/kurslar/uygulama-tespit-ve-uyumluluk/kontrolun-muhendislik-karsiligi'
course: 'Tespit, Müdahale ve Uyumluluk'
language: tr
updated: '2026-08-17T18:06:41+00:00'
license: 'CC BY-SA 4.0'
---

# Kontrollerin Mühendislik Karşılığı

Yirmi altı denetim maddesi bir uygulama ekibinin on sekiz pratiğiyle eşleştirilir: 25 bağın ardından 17 kontrolün karşılığı çıkar, 9 kontrolün hiçbir mühendislik karşılığı yoktur ve bunların beşi tek bir uyumluluk yapısında toplanır. Karşılığı olan kontrol ortalama 1,47 pratiğe düşer, 10 kontrol tek pratiğe dayanır, 2 pratik hiçbir kontrole düşmez ve 26 sorunun yalnız 11'i kayıttan sorgulanarak cevaplanır.

Önceki konu olayın kendisini ölçtü: kayıt tasarlandı, uygulamaya özgü tespit senaryoları
koşturuldu, müdahale adımlarının hangi kayda ihtiyaç duyduğu sayıldı ve dış bildirim akışı süreyle
ölçüldü. Bütün bu pratiğin ortak bir açığı kaldı — yapıldığını kuruma dışarıdan bakan birine
gösterecek kanıt, dönem sonunda elle toplanıyor. Bu konunun dört dersi o boşluğu ölçer.

İlk adım eşlemenin kendisidir. Yönetişim, Risk ve Uyumluluk kursunda kontrol ile gereksinim
arasındaki matris koşturulmuş, kanıtsız kalan gereksinim ve birden çok gereksinimi karşılayan
kontrol sayılmıştı; o ölçüm burada girdidir ve tekrarlanmaz. Buradaki matrisin uçları farklıdır:
bir ucunda denetim maddesi, öteki ucunda **bir uygulama ekibinin gerçekten koşan işi** vardır.
Sorulan şey de farklıdır — bir denetim maddesi ekibin hangi işine düşüyor, kaç işine düşüyor ve
**kaç madde hiçbir işine düşmüyor.**

## Kontrol Kümesi ve Pratik Kümesi

**UY1.** Kontrol kümesi 26 maddedir ve dört uyumluluk yapısından toplanmıştır: işlev tabanlı
çerçeve, belgelendirilebilir yönetim sistemi standardı, denetim kontrol kümesi ve sektörel
uyumluluk gereksinimi. Küme **kurgudur**; hiçbir yapının, düzenlemenin ya da kurumun adı geçmez,
maddeler yalnız **sordukları şeyle** yazılır. **UY2.** Pratik kümesi 18 kalemdir ve kurgu bölgesel
ölçüm ağının abone portalı ekibinin koşan işlerinden oluşur. **UY3.** Her pratiğin bir **yeri**
vardır — hat, depo, koşum ya da elle — ve bir **izi**: makinece okunabilir kayıt ya da belge.
**UY4.** Eşleme bir **iddiadır**: bir kontrolün bir pratiğe düşmesi o pratiğin kontrolü yürüttüğünü
söyler, kanıt ürettiğini söylemez; kanıt üçüncü bölümde ayrılır. **UY5.** Matris yalnız **ekibin
kendi** yürüttüğü işi görür; platformun ya da başka bir ekibin yaptığı iş burada görünmez ve bu,
karşılığı olmayan kontrol sayısını olduğundan yüksek gösterir.

```js
// uyum/kume.mjs — denetim kontrolleri ve ekip pratikleri MODELDIR: kurgu bolgesel olcum agi.
// Kontroller dort uyumluluk yapisindan gelir, pratikler bir uygulama ekibinin isleridir.
export const ayir = (s) => s.trim().split("\n").map((l) => l.trim().split("|"));
export const gen = (B) => (...h) => h.map((v, j) =>
  (j ? String(v).padStart(B[j]) : String(v).padEnd(B[0]))).join("");

// kod | uyumluluk yapisi | kontrolun sordugu sey
export const KONTROL = ayir(`
  IC-01|islev-cerceve|bilesen envanteri guncel tutulur
  IC-02|islev-cerceve|erisim en az ayricalikla verilir
  IC-03|islev-cerceve|tasinan ve duran veri sifrelenir
  IC-04|islev-cerceve|guvenlik olaylari merkezi toplanir
  IC-05|islev-cerceve|anormal davranis uyari uretir
  IC-06|islev-cerceve|olay mudahale rolleri tanimlidir
  IC-07|islev-cerceve|kurtarma hedefi sinanir
  IC-08|islev-cerceve|tedarikci bileseni degerlendirilir
  YS-01|yonetim-sistemi|kapsam bildirimi guncellenir
  YS-02|yonetim-sistemi|uygulanabilirlik bildirimi gerekcelidir
  YS-03|yonetim-sistemi|ic denetim donemsel kosar
  YS-04|yonetim-sistemi|duzeltici eylem kapatilir
  YS-05|yonetim-sistemi|yonetim gozden gecirmesi kayitlidir
  YS-06|yonetim-sistemi|personel yetkinligi kayitlidir
  DK-01|denetim-kumesi|degisiklik onaydan gecer
  DK-02|denetim-kumesi|uretim erisimi ikinci gozle verilir
  DK-03|denetim-kumesi|yedegin geri yuklenmesi sinanir
  DK-04|denetim-kumesi|ayricalikli erisim gozden gecirilir
  DK-05|denetim-kumesi|kod degisikligi ikinci goz gorur
  DK-06|denetim-kumesi|acik tanimli sure icinde kapatilir
  DK-07|denetim-kumesi|sistem saatleri esitlenir
  SG-01|sektorel|odeme verisi ayri bolutte islenir
  SG-02|sektorel|kisisel veri kalemi siniflandirilir
  SG-03|sektorel|veri saklama suresi uygulanir
  SG-04|sektorel|veri sahibi talebi izlenebilir
  SG-05|sektorel|ucuncu tarafa aktarim kaydedilir
`).map(([kod, yapi, metin]) => ({ kod, yapi, metin }));

// kod | pratigin kostugu yer | biraktigi iz | pratigin adi
export const PRATIK = Object.fromEntries(ayir(`
  P01|hat|makine|bagimlilik bilesen analizi
  P02|hat|makine|statik cozumleme
  P03|hat|makine|yapi ciktisi imzalama
  P04|hat|makine|koken bilgisi uretimi
  P05|hat|makine|imaj taramasi
  P06|depo|makine|birlestirme isteginde ikinci goz
  P07|depo|makine|dal koruma kurali
  P08|kosum|makine|sir deposundan kisa omurlu kimlik
  P09|kosum|makine|anahtar dondurme isi
  P10|kosum|makine|ag bolutleme kurali
  P11|kosum|makine|kabul denetleyicisi
  P12|kosum|makine|uygulama denetim kaydi
  P13|kosum|makine|uyari kurali kumesi
  P14|elle|belge|yedek geri yukleme tatbikati
  P15|elle|belge|erisim gozden gecirme toplantisi
  P16|elle|belge|olay mudahale tatbikati
  P17|elle|belge|veri siniflandirma calismasi
  P18|elle|belge|yonetim gozden gecirme toplantisi
`).map(([kod, yer, iz, ad]) => [kod, { kod, yer, iz, ad }]));

// kontrol | onu gercekten yuruten pratikler; bos hucre: muhendislik karsiligi yok
export const ESLEM = Object.fromEntries(ayir(`
  IC-01|P01,P04
  IC-02|P08,P15
  IC-03|
  IC-04|P12
  IC-05|P13
  IC-06|P16
  IC-07|P14
  IC-08|P01,P05
  YS-01|
  YS-02|
  YS-03|
  YS-04|
  YS-05|P18
  YS-06|
  DK-01|P06,P07
  DK-02|P08
  DK-03|P14
  DK-04|P15
  DK-05|P06,P07
  DK-06|P01,P02,P05
  DK-07|
  SG-01|P10,P11
  SG-02|P17
  SG-03|
  SG-04|P12
  SG-05|
`).map(([k, p]) => [k, p ? p.split(",") : []]));

export const YAPI = ["islev-cerceve", "yonetim-sistemi", "denetim-kumesi", "sektorel"];

if (import.meta.url === `file://${process.argv[1]}`) {
  const pratik = Object.values(PRATIK);
  const bag = Object.values(ESLEM).reduce((t, p) => t + p.length, 0);
  console.log(`model: ${KONTROL.length} kontrol, ${pratik.length} pratik, ${bag} bag`);
  const y = gen([20, 10]);
  console.log("\n" + y("uyumluluk yapisi", "kontrol"));
  for (const u of YAPI) console.log(y(u, KONTROL.filter((c) => c.yapi === u).length));
  const z = gen([20, 10, 16]);
  console.log("\n" + z("pratigin yeri", "pratik", "biraktigi iz"));
  for (const yer of ["hat", "depo", "kosum", "elle"]) {
    const p = pratik.filter((x) => x.yer === yer);
    console.log(z(yer, p.length, p[0].iz));
  }
}
```

```
model: 26 kontrol, 18 pratik, 25 bag

uyumluluk yapisi       kontrol
islev-cerceve                8
yonetim-sistemi              6
denetim-kumesi               7
sektorel                     5

pratigin yeri           pratik    biraktigi iz
hat                          5          makine
depo                         2          makine
kosum                        6          makine
elle                         5           belge
```

Model iki listeden ve aralarındaki 25 bağdan oluşuyor. Kontrol tarafı dengeli dağılmış: en büyük
yapı sekiz, en küçüğü beş madde getiriyor. Pratik tarafındaki dağılım ise dengeli değil ve asıl
bilgi orada: on sekiz pratiğin **on üçü** hatta, depoda ya da koşumda çalışıyor ve makinece
okunabilir bir iz bırakıyor; **beşi** bir toplantı ya da tatbikat olarak yürüyor ve geriye yalnız
bir belge bırakıyor. Bu iki iz türü aynı matriste eşit görünür, denetimde eşit değildir.

## Matrisi Koşturmak

Eşleme tablosundaki boş hücre bu dersin ölçü birimidir: bir kontrolün karşısında hiçbir pratik
yoksa o madde ekibin hiçbir işine düşmüyor demektir. İkinci sayı bunun tersidir — bir madde kaç
işe düşüyor.

Matris iki yönde okunabilir ve iki okuma iki ayrı soruya karşılık gelir. Kontrolden pratiğe
bakıldığında sorulan şey **kapsamadır**: madde yürüyor mu, yürüyorsa kaç işle. Pratikten kontrole
bakıldığında sorulan şey **kaldıraçtır**: bu iş kaç maddeye birden yetiyor. İki okuma aynı 25 bağ
üzerinde koşar ve farklı kalemleri öne çıkarır; bu yüzden ikisi de yazılır. Üçüncü bir okuma da
vardır ve çoğunlukla atlanır: hiçbir kontrole düşmeyen pratik. O sütun kontrol kümesinin
görmediği işi sayar.

```js
// uyum/matris.mjs — kontrol-pratik matrisi kosturulur, karsiligi olmayan kontrol sayilir.
import { KONTROL, PRATIK, ESLEM, YAPI, gen } from "./kume.mjs";

const y = gen([18, 9, 15, 15, 16]);
console.log(y("uyumluluk yapisi", "kontrol", "karsiligi var", "karsiligi yok", "pratik/kontrol"));
const oran = (k) => {
  const v = k.filter((c) => ESLEM[c.kod].length > 0);
  const b = v.reduce((t, c) => t + ESLEM[c.kod].length, 0);
  return [v.length, k.length - v.length, v.length ? (b / v.length).toFixed(2) : "-"];
};
for (const u of YAPI) {
  const k = KONTROL.filter((c) => c.yapi === u);
  console.log(y(u, k.length, ...oran(k)));
}
console.log(y("TOPLAM", KONTROL.length, ...oran(KONTROL)));

const yok = KONTROL.filter((c) => ESLEM[c.kod].length === 0);
console.log(`\nmuhendislik karsiligi olmayan ${yok.length} kontrol:`);
for (const c of yok) console.log(`  ${c.kod}  ${c.metin}`);

const kacKontrol = (p) => Object.values(ESLEM).filter((l) => l.includes(p)).length;
const sirali = Object.values(PRATIK).map((p) => ({ ...p, n: kacKontrol(p.kod) }))
  .sort((a, b) => b.n - a.n);
const tek = KONTROL.filter((c) => ESLEM[c.kod].length === 1).length;
const enCok = KONTROL.filter((c) => ESLEM[c.kod].length > 2).map((c) => c.kod);
console.log(`\nbirden cok kontrole dusen pratik ${sirali.filter((p) => p.n > 1).length}: ` +
  sirali.filter((p) => p.n > 1).map((p) => `${p.kod} (${p.n})`).join(", "));
console.log(`tek pratige dayanan kontrol ${tek}; ikiden cok pratige dusen ${enCok.join(", ")}`);
console.log(`hicbir kontrole dusmeyen pratik ${sirali.filter((p) => p.n === 0).length}: ` +
  sirali.filter((p) => p.n === 0).map((p) => `${p.kod} ${p.ad}`).join(", "));
```

```
uyumluluk yapisi    kontrol  karsiligi var  karsiligi yok  pratik/kontrol
islev-cerceve             8              7              1            1.43
yonetim-sistemi           6              1              5            1.00
denetim-kumesi            7              6              1            1.67
sektorel                  5              3              2            1.33
TOPLAM                   26             17              9            1.47

muhendislik karsiligi olmayan 9 kontrol:
  IC-03  tasinan ve duran veri sifrelenir
  YS-01  kapsam bildirimi guncellenir
  YS-02  uygulanabilirlik bildirimi gerekcelidir
  YS-03  ic denetim donemsel kosar
  YS-04  duzeltici eylem kapatilir
  YS-06  personel yetkinligi kayitlidir
  DK-07  sistem saatleri esitlenir
  SG-03  veri saklama suresi uygulanir
  SG-05  ucuncu tarafa aktarim kaydedilir

birden cok kontrole dusen pratik 8: P01 (3), P05 (2), P06 (2), P07 (2), P08 (2), P12 (2), P14 (2), P15 (2)
tek pratige dayanan kontrol 10; ikiden cok pratige dusen DK-06
hicbir kontrole dusmeyen pratik 2: P03 yapi ciktisi imzalama, P09 anahtar dondurme isi
```

Yirmi altı kontrolün **on yedisinin** karşılığı vardır, **dokuzunun** yoktur. Dokuz sayısı tek
başına bir kusur değil; kusur olup olmadığı **nerede toplandığına** bakılarak anlaşılır. Beşi tek
bir uyumluluk yapısında, belgelendirilebilir yönetim sistemi standardında toplanmıştır — kapsam
bildirimi, uygulanabilirlik bildirimi, iç denetim, düzeltici eylem ve personel yetkinliği. Bu
maddelerin hiçbiri bir uygulama ekibinin işi değildir ve olmaması da bir eksiklik sayılmaz;
karşılığı ekipte değil, kurumun yönetim katmanındadır. Matris bunu söylemez, yalnız boş hücre
gösterir. **Boş hücrenin okunması, kimin işi olduğunun ayrı yazılmasını gerektirir.**

Kalan dördü bambaşka bir sınıftandır. IC-03, DK-07, SG-03 ve SG-05 doğrudan bu uygulamanın
çalıştığı yere aittir: veri şifreleme, saat eşitleme, saklama süresi ve üçüncü tarafa aktarım.
Dördü de ekibin sorumluluğundadır ve dördünün de karşılığında hiçbir pratik koşmuyor. DK-07 bu
dördü içinde en sinsi olanıdır: sistem saatleri eşitlenmiyorsa önceki konunun ürettiği bütün
kayıtlar birbiriyle sıralanamaz — yani kontrolün karşılığının yokluğu, karşılığı olan başka
kontrollerin kanıtını da bozar.

Kontrol başına düşen pratik sayısı **1,47**'dir ve on kontrol tek bir pratiğe dayanır. Tek pratiğe
dayanan bir kontrol, o pratik durduğu anda karşılıksız kalır; matris bunu ancak yeniden
koşturulduğunda gösterir. Ters yönde okunduğunda sekiz pratik birden çok kontrolü karşılıyor —
bağımlılık bileşen analizi tek başına üç maddeye yetiyor. Son satır ise matrisin en az konuşulan
kutusudur: iki pratik hiçbir kontrole düşmüyor. Yapı çıktısı imzalama ve anahtar döndürme işi
ekipte koşuyor, kaynak harcıyor ve bu kontrol kümesinde karşılığı yok. **Bu, pratiğin gereksiz
olduğunu göstermez; kontrol kümesinin onu sormadığını gösterir** — kontrol kümesi bir mühendislik
önceliği listesi değildir.

## Cevabı Ne Üretiyor

**UY6.** Bir kontrolün cevabı üç kaynaktan gelebilir: makinece okunabilir kayıttan **sorgu** ile,
dönem sonunda toplanan belgeden **elle derleme** ile, ya da hiçbir kayda dayanmayan **kişi beyanı**
ile. Kaynağın ikinci bir özelliği vardır: sorgu dönemin tamamını kapsar, belge yalnızca üretildiği
günü kapsar.

```js
// uyum/iz.mjs — pratigin biraktigi ize bakilir: kontrolun sorusu neyle cevaplaniyor.
import { KONTROL, PRATIK, ESLEM, YAPI, gen } from "./kume.mjs";

// Uc obek: pratigi makine-okunur iz birakiyorsa "makine izli"; yalniz toplanti ya da
// tatbikat belgesi birakiyorsa "yalniz belge"; hic pratigi yoksa "izsiz".
const obek = (c) => {
  const p = ESLEM[c.kod].map((x) => PRATIK[x]);
  return !p.length ? "izsiz" : p.some((x) => x.iz === "makine") ? "makine izli" : "yalniz belge";
};
const OBEK = ["makine izli", "yalniz belge", "izsiz"];
const y = gen([18, 14, 14, 9]);
console.log(y("uyumluluk yapisi", ...OBEK));
for (const u of YAPI) {
  const k = KONTROL.filter((c) => c.yapi === u);
  console.log(y(u, ...OBEK.map((o) => k.filter((c) => obek(c) === o).length)));
}
console.log(y("TOPLAM", ...OBEK.map((o) => KONTROL.filter((c) => obek(c) === o).length)));

// Cevabin kapsami: makine iz donem boyunca yazilir, belge yalnizca uretildigi gune aittir.
const KAPSAM = { "makine izli": "donem boyu", "yalniz belge": "tek gun", izsiz: "yok" };
const KAYNAK = { "makine izli": "sorgu", "yalniz belge": "elle derleme", izsiz: "kisi beyani" };
const z = gen([16, 10, 18, 16]);
console.log("\n" + z("obek", "kontrol", "cevabin kapsami", "cevabi ureten"));
for (const o of OBEK) {
  const k = KONTROL.filter((c) => obek(c) === o);
  console.log(z(o, k.length, KAPSAM[o], KAYNAK[o]));
}
const belge = KONTROL.filter((c) => obek(c) === "yalniz belge");
console.log(`\nyalniz belge obegi: ${belge.map((c) => c.kod).join(", ")}`);
const makine = KONTROL.filter((c) => obek(c) === "makine izli").length;
console.log(`26 denetim sorusunun ${makine}'i kayittan sorgulanarak, ` +
  `${belge.length}'si donem sonunda elle derlenerek cevaplaniyor; ` +
  `${KONTROL.length - makine - belge.length}'u hic cevaplanmiyor`);
```

```
uyumluluk yapisi     makine izli  yalniz belge    izsiz
islev-cerceve                  5             2        1
yonetim-sistemi                0             1        5
denetim-kumesi                 4             2        1
sektorel                       2             1        2
TOPLAM                        11             6        9

obek               kontrol   cevabin kapsami   cevabi ureten
makine izli             11        donem boyu           sorgu
yalniz belge             6           tek gun    elle derleme
izsiz                    9               yok     kisi beyani

yalniz belge obegi: IC-06, IC-07, YS-05, DK-03, DK-04, SG-02
26 denetim sorusunun 11'i kayittan sorgulanarak, 6'si donem sonunda elle derlenerek cevaplaniyor; 9'u hic cevaplanmiyor
```

Matrisin doluluk oranı yüzde 65'ti; cevabın kaynağına bakıldığında sayı **11/26**'ya, yüzde 42'ye
iner. Aradaki altı kontrol matriste dolu görünür, denetimde bir belgeyle karşılanır ve o belge
**tek bir günü** anlatır. Yedek geri yükleme tatbikatı bir gün koşmuştur, erişim gözden geçirme
toplantısı bir gün yapılmıştır, veri sınıflandırma çalışması bir kez bitirilmiştir. Kontrolün
sorusu ise dönemin tamamı hakkındadır: ayrıcalıklı erişim **dönem boyunca** gözden geçirildi mi.
Tek günlük bir belge bu soruyu tam olarak cevaplamaz; onu bir örnekleme çevirir.

Üç obek, üç ayrı iş türüne karşılık gelir. İzsiz dokuz kontrol için yapılacak iş **pratik
kurmaktır** — dördü ekibin kendi alanında, beşi başka bir katmanda. Yalnız belgeli altı kontrol için
yapılacak iş pratik kurmak değildir; pratik zaten koşuyor, ondan **makinece okunabilir iz
çıkarmaktır**. Makine izli on bir kontrol için ise yapılacak iş yalnızca izi denetimin sorduğu
biçimde derlemektir. Bu üç iş birbirinden çok farklı bedeller taşır ve bir uyumluluk çalışmasını
"yüzde 65 hazır" diye özetleyen bir tablo üçünü de aynı hücreye yazar.

## Özet

- Yirmi altı denetim maddesi ile bir uygulama ekibinin on sekiz pratiği arasında 25 bağ vardır;
  17 kontrolün mühendislik karşılığı çıkar, 9'unun hiç çıkmaz.
- Karşılığı olmayan dokuzun beşi tek bir uyumluluk yapısında toplanır ve karşılığı ekipte değil
  kurumun yönetim katmanındadır; kalan dördü doğrudan ekibin alanındadır. Boş hücreyi okumak,
  kimin işi olduğunun ayrı yazılmasını gerektirir.
- Karşılığı olan kontrol ortalama 1,47 pratiğe düşer ve 10 kontrol tek bir pratiğe dayanır; sekiz
  pratik birden çok kontrolü karşılar, en kaldıraçlısı üç maddeye yeter.
- İki pratik hiçbir kontrole düşmez. Bu, pratiğin gereksiz olduğunu değil, kontrol kümesinin bir
  mühendislik önceliği listesi olmadığını gösterir.
- Cevabın kaynağına bakıldığında oran yüzde 65'ten yüzde 42'ye iner: 11 kontrol kayıttan sorguyla,
  6'sı tek günü anlatan bir belgeyle cevaplanır, 9'u hiç cevaplanmaz.

## Sonraki Adım

Matris koştu ve üç ayrı iş türü ayrıldı. Bunlardan ikisi bu dersin dışında kalıyor: izsiz
kontroller için pratik kurmak bir mühendislik planı işidir, karşılığı başka katmanda olanlar ise
ekibin listesinde bile değildir. Geriye ölçülebilir olan kalıyor — **altı belgeli kontrol** ve
zaten makine izi bırakan **on bir kontrol**.

Sonraki ders bu on yedi kalemi kanıt üretimi ekseninde yeniden ele alır ve tek bir sayıyı izler:
dönem sonunda elle toplanan kalem kaça iniyor. Kanıtın hatta üretilmesi elle derlemeyi bitirir mi,
hangi kalem hiçbir koşulda otomatikleşmez, ve otomatik üretilen kanıt kaç kat hacim, kaç kişisel
veri kalemi ve hangi saklama kısıtını beraberinde getirir?
