ITSM (Information Technology Service Management), yani Bilgi Teknolojileri Hizmet Yönetimi, kurumlarda BT hizmetlerinin planlı, kontrollü ve kullanıcı odaklı yönetilmesini sağlayan süreçler bütünüdür.
Temel amacı:
- Hizmet kalitesini artırmak
- Kesintileri azaltmak
- Kullanıcı memnuniyetini yükseltmek
- BT operasyonlarını standart hale getirmektir.
ITSM Süreçleri ve Amaçları:
Incident Management (Olay Yönetimi)
Incident Management, kullanıcıların yaşadığı sistem sorunları veya hizmet kesintilerinin kayıt altına alınması, önceliklendirilmesi ve en kısa sürede çözüme ulaştırılması sürecidir.
Örnek:
- E-posta çalışmıyor
- VPN bağlantısı yok
- Uygulamaya giriş yapılamıyor
- İnternet kesintisi yaşanıyor
Temel hedef:
Hizmeti mümkün olan en kısa sürede normale döndürmek.
Incident Management Süreci
1. Olayın Bildirilmesi
Kullanıcı veya izleme sistemleri problemi bildirir.
2. Ticket Açılması
Olay sistem üzerinde kayıt altına alınır.
3. Öncelik Belirleme
Sorunun etkisine göre kritik seviyesi atanır.
4. Çözüm Süreci
Service Desk veya ilgili teknik ekip sorunu çözer.
5. Eskalasyon
Çözülemeyen olay uzman ekiplere aktarılır.
6. Kapanış
Sorun çözüldükten sonra ticket kapatılır.
Incident Management’ın Faydaları
- Kesinti sürelerini azaltır
- Kullanıcı memnuniyetini artırır
- İş kaybını önler
- BT operasyonlarını düzenler
- SLA takibini kolaylaştırır
Sonuç:
Incident Management, modern ITSM süreçlerinin en önemli parçalarından biridir. Kurumlarda sistem sürekliliğini sağlamak, kullanıcı sorunlarını hızlı çözmek ve hizmet kalitesini artırmak için kritik rol oynar. Etkin bir olay yönetimi süreci sayesinde BT ekipleri daha kontrollü, ölçülebilir ve verimli çalışabilir.
Yapay zeka uygulamaları üzerinde talimatlarla oluşturulan form aşağıdaki gibidir.
Not defteri açarak aşağıdaki (yeşil) html kodu içine kaydedin. Not defteri uzantısını .txt yerine .html olarak değiştirip Enter tuşuna basınız.
Sol tarafta görünen logo için, html dosyanız nerede ise, masaüstü veya oluşturulan bir klasör. Logonuzda aynı yerde olursa forma yansır. Logo ismi "logo.jpg" olmalı. Çift tıklayarak açtığınızda, browser üzerinde form açılışı gerçekleşir.
Başlık, başlığın altındaki, başlığın sağındaki ve alttaki yazıları, not defteri içinde "Ctrl + F" tuşları ile kelime yazarak bulabilir, ilgili metinleri kendinize göre uyarlayarak kaydederek kullanabilirsiniz.
Form altında bulunan butonlardan, "Önizle" butonuna bastığınızda, Form görünümü aşağıdaki gibidir.
Form altında bulunan butonlardan, "Kaydet/PDF" bastığınızda "Pdf" olarak kaydeder, yazdırabilirsiniz.
Form altında bulunan butonlardan, "CSV İndir" butonuna bastığınızda, Text bilgisini dışarı alabilirsiniz.

HTML Kod:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Incident Management Form</title>
<style>
:root{
--blue1:#0b2158;
--blue2:#173b8f;
--line:#dbe3ee;
--bg:#f1f5f9;
}
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,sans-serif;
}
body{
background:var(--bg);
padding:14px;
color:#0f172a;
}
.container{
max-width:1450px;
margin:auto;
}
/* HEADER */
.header{
background:linear-gradient(90deg,var(--blue1),var(--blue2));
border-radius:22px;
padding:14px 18px;
margin-bottom:16px;
color:#fff;
box-shadow:0 5px 16px rgba(0,0,0,.12);
display:grid;
grid-template-columns:70px 1fr 320px;
align-items:center;
column-gap:18px;
}
/* LOGO */
.logoBox{
width:70px;
height:70px;
background:#fff;
border-radius:14px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}
.logoBox img{
width:82%;
height:82%;
object-fit:contain;
}
/* CENTER */
.headerCenter{
display:flex;
flex-direction:column;
justify-content:center;
}
.headerTitle{
font-size:26px;
font-weight:900;
line-height:1;
letter-spacing:.3px;
}
.headerSub{
margin-top:6px;
font-size:12px;
color:#dbeafe;
}
/* RIGHT */
.headerRight{
text-align:right;
font-size:13px;
font-weight:800;
line-height:1.3;
display:flex;
align-items:center;
justify-content:flex-end;
height:100%;
}
/* CARD */
.card{
background:#fff;
border-radius:18px;
padding:18px;
box-shadow:0 5px 16px rgba(0,0,0,.08);
}
/* FORM */
.grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px;
}
.full{
grid-column:1/-1;
}
.group{
display:flex;
flex-direction:column;
}
label{
margin-bottom:5px;
font-size:13px;
font-weight:700;
}
input,
select,
textarea{
width:100%;
border:1px solid #cfd8e3;
border-radius:10px;
padding:10px;
background:#f8fafc;
font-size:13px;
outline:none;
}
textarea{
resize:none;
min-height:85px;
}
input:focus,
select:focus,
textarea:focus{
background:#fff;
border-color:#2563eb;
}
/* PERSONEL */
.personel{
display:flex;
flex-direction:column;
gap:10px;
}
.row{
display:flex;
gap:10px;
}
.row input{
flex:1;
}
.iconBtn{
width:40px;
border:none;
border-radius:10px;
color:#fff;
font-size:18px;
cursor:pointer;
}
.add{background:#16a34a;}
.del{background:#dc2626;}
/* BUTTONS */
.buttons{
margin-top:18px;
display:flex;
flex-wrap:wrap;
gap:10px;
}
.btn{
border:none;
border-radius:10px;
padding:11px 16px;
color:#fff;
font-size:13px;
font-weight:700;
cursor:pointer;
}
.previewBtn{background:#173b8f;}
.printBtn{background:#334155;}
.csvBtn{background:#15803d;}
/* PREVIEW */
.preview{
display:none;
margin-top:18px;
}
.preview.active{
display:block;
}
/* TABLE */
.tableHeader{
display:grid;
grid-template-columns:220px 1fr;
background:#173b8f;
color:#fff;
border-radius:12px 12px 0 0;
overflow:hidden;
}
.tableHeader div{
padding:10px 12px;
font-size:12px;
font-weight:700;
}
table{
width:100%;
border-collapse:collapse;
table-layout:fixed;
}
td{
border:1px solid var(--line);
padding:8px 12px;
font-size:12px;
line-height:1.35;
vertical-align:top;
word-break:break-word;
}
td:first-child{
width:220px;
font-weight:700;
background:#f8fafc;
}
tr:nth-child(even) td:last-child{
background:#fcfdff;
}
.footer{
background:#173b8f;
color:#dbeafe;
text-align:center;
padding:8px;
border-radius:0 0 12px 12px;
font-size:12px;
font-weight:700;
}
/* MOBILE */
@media(max-width:900px){
.header{
grid-template-columns:1fr;
row-gap:14px;
}
.headerRight{
justify-content:flex-start;
text-align:left;
}
.grid{
grid-template-columns:1fr;
}
.tableHeader{
grid-template-columns:140px 1fr;
}
td:first-child{
width:140px;
}
}
/* PRINT */
@page{
size:A4 landscape;
margin:6mm;
}
@media print{
body{
background:#fff;
padding:0;
}
.formArea,
.buttons{
display:none !important;
}
.preview{
display:block !important;
margin:0;
}
.header,
.card{
box-shadow:none;
}
.header{
display:grid !important;
grid-template-columns:70px 1fr 320px !important;
align-items:center !important;
}
*{
-webkit-print-color-adjust:exact !important;
print-color-adjust:exact !important;
}
}
</style>
</head>
<body>
<div class="container">
<!-- FORM -->
<div class="formArea">
<div class="header">
<div class="logoBox">
<img src="logo.jpg" alt="">
</div>
<div class="headerCenter">
<div class="headerTitle">
INCIDENT MANAGEMENT FORM
</div>
<div class="headerSub">
Hizmet kesintisi veya kullanıcı problemlerinin kayıt altına alınması süreci
</div>
</div>
<div class="headerRight">
HELPDESK
</div>
</div>
<div class="card">
<div class="grid">
<div class="group">
<label>Incident No</label>
<input type="text" id="incidentNo">
</div>
<div class="group">
<label>Tarih</label>
<input type="date" id="tarih">
</div>
<div class="group">
<label>Bildiren Kişi</label>
<input type="text" id="bildiren">
</div>
<div class="group">
<label>Departman</label>
<input type="text" id="departman">
</div>
<div class="group">
<label>Öncelik</label>
<select id="oncelik">
<option>Düşük</option>
<option selected>Orta</option>
<option>Yüksek</option>
<option>Kritik</option>
</select>
</div>
<div class="group">
<label>Etki Seviyesi</label>
<select id="etki">
<option>Düşük</option>
<option selected>Orta</option>
<option>Yüksek</option>
<option>Kurumsal Kritik</option>
</select>
</div>
<div class="group full">
<label>Kategori</label>
<input type="text" id="kategori">
</div>
<div class="group full">
<label>Açıklama</label>
<textarea id="aciklama"></textarea>
</div>
<div class="group full">
<label>Atanan Personel</label>
<div class="personel" id="personel">
<div class="row">
<input type="text" class="personelInput">
<button
type="button"
class="iconBtn add"
onclick="ekle()">
+
</button>
</div>
</div>
</div>
<div class="group">
<label>Kapanış Tarihi</label>
<input type="date" id="kapanis">
</div>
<div class="group full">
<label>Çözüm Notu</label>
<textarea id="cozum"></textarea>
</div>
</div>
<div class="buttons">
<button class="btn previewBtn" onclick="onizle()">
Önizle
</button>
<button class="btn printBtn" onclick="pdf()">
Kaydet / PDF
</button>
<button class="btn csvBtn" onclick="csvIndir()">
CSV İndir
</button>
</div>
</div>
</div>
<!-- PREVIEW -->
<div class="preview" id="preview">
<div class="header">
<div class="logoBox">
<img src="logo.jpg" alt="">
</div>
<div class="headerCenter">
<div class="headerTitle">
INCIDENT MANAGEMENT FORM
</div>
<div class="headerSub">
Hizmet kesintisi veya kullanıcı problemlerinin kayıt altına alınması süreci
</div>
</div>
<div class="headerRight">
HELPDESK
</div>
</div>
<div class="card">
<div class="tableHeader">
<div>Alan</div>
<div>Bilgi</div>
</div>
<table id="table"></table>
<div class="footer">
MYO
</div>
</div>
</div>
</div>
<script>
const $ = id => document.getElementById(id);
const fields = {
incidentNo:"Incident No",
tarih:"Tarih",
bildiren:"Bildiren Kişi",
departman:"Departman",
oncelik:"Öncelik",
etki:"Etki Seviyesi",
kategori:"Kategori",
aciklama:"Açıklama",
kapanis:"Kapanış Tarihi",
cozum:"Çözüm Notu"
};
document.querySelectorAll("textarea").forEach(t=>{
t.addEventListener("input",()=>{
t.style.height="auto";
t.style.height=t.scrollHeight+"px";
});
});
function ekle(){
const row=document.createElement("div");
row.className="row";
row.innerHTML=`
<input type="text" class="personelInput">
<button
type="button"
class="iconBtn del"
onclick="this.parentElement.remove()">
-
</button>
`;
$("personel").appendChild(row);
}
function personeller(){
return [...document.querySelectorAll(".personelInput")]
.map(x=>x.value.trim())
.filter(Boolean)
.join("<br>") || "-";
}
function render(){
let html="";
for(let id in fields){
html+=`
<tr>
<td>${fields[id]}</td>
<td>${$(id).value || "-"}</td>
</tr>
`;
}
html+=`
<tr>
<td>Atanan Personel</td>
<td>${personeller()}</td>
</tr>
`;
$("table").innerHTML=html;
}
function onizle(){
render();
$("preview").classList.add("active");
$("preview").scrollIntoView({
behavior:"smooth"
});
}
function pdf(){
render();
$("preview").classList.add("active");
setTimeout(()=>window.print(),150);
}
function csvIndir(){
const rows=[["Alan","Bilgi"]];
for(let id in fields){
rows.push([
fields[id],
$(id).value
]);
}
rows.push([
"Atanan Personel",
personeller().replace(/<br>/g," | ")
]);
const csv=
"\uFEFF"+
rows.map(r=>
r.map(v=>`"${(v||"").replace(/"/g,'""')}"`)
.join(";")
).join("\n");
const blob=new Blob(
[csv],
{type:"text/csv;charset=utf-8;"}
);
const a=document.createElement("a");
a.href=URL.createObjectURL(blob);
a.download="incident_management_form.csv";
a.click();
}
</script>
</body>
</html>
Form Promt:
Sen uzman seviyede Senior Frontend Developer, UI/UX Designer ve Kurumsal Web Arayüz Uzmanısın.
Aşağıdaki özelliklerde profesyonel bir Incident Management Form tasarımı oluştur.
TEK DOSYA olacak şekilde:
- HTML
- CSS
- JavaScript
aynı dosya içinde yaz.
Tasarım:
- Modern
- Kurumsal
- ITSM / Helpdesk uyumlu
- Beyaz + Lacivert tema
- Responsive
- Print/PDF uyumlu
- A4 Landscape yazdırma desteği
- Minimal ama premium görünüm
GENEL YAPI:
- Sayfa arka planı açık gri (#f1f5f9)
- Ana container max-width: 1450px
- Kart yapısı kullanılacak
- Border radius yüksek olacak
- Soft shadow kullanılacak
- Tam responsive olacak
HEADER:
Header 3 kolonlu grid yapıda olacak:
1. Sol:
- Beyaz kutu içinde logo alanı
- Yuvarlatılmış köşeler
- Logo responsive olacak
2. Orta:
- Büyük başlık:
INCIDENT MANAGEMENT FORM
- Alt açıklama:
Hizmet kesintisi veya kullanıcı problemlerinin kayıt altına alınması süreci
3. Sağ:
- HELPDESK yazısı
- Sağ hizalı
Header:
- Linear gradient koyu mavi tonlarında
- Beyaz yazılar
- Premium görünüm
FORM ALANLARI:
Grid sistem kullanılacak.
Desktop:
- 2 kolon
Mobil:
- 1 kolon
Form alanları:
- Incident No
- Tarih
- Bildiren Kişi
- Departman
- Öncelik
- Etki Seviyesi
- Kategori
- Açıklama
- Atanan Personel
- Kapanış Tarihi
- Çözüm Notu
Input tasarımı:
- Rounded
- Açık gri arka plan
- Focus olduğunda mavi border
- Modern görünüm
TEXTAREA:
- Otomatik height büyüsün
- resize:none olsun
PERSONEL ALANI:
Dinamik personel ekleme sistemi yap:
- "+" butonu ile yeni satır ekle
- "-" butonu ile sil
- JavaScript ile çalışsın
BUTONLAR:
3 adet buton olacak:
1. Önizle
2. Kaydet / PDF
3. CSV İndir
Butonlar:
- Renkli
- Hover efektli
- Rounded
- Font-weight:bold
ÖNİZLEME ALANI:
Formun altında preview alanı oluştur.
Başlangıçta gizli olsun.
Önizle denince:
- tablo oluşsun
- form verileri tabloya aktarılsın
TABLO:
- 2 kolon:
Alan | Bilgi
- Başlık kısmı lacivert
- Zebra row efekti
- Border collapse
- Responsive görünüm
FOOTER:
Alt kısımda küçük kurumsal footer olsun.
JAVASCRIPT:
Şunları yap:
- Form verilerini preview tablosuna aktar
- window.print() ile PDF/yazdırma desteği
- CSV export sistemi
- Dinamik personel ekleme/silme
- Auto textarea resize
- Smooth scroll preview
PRINT CSS:
@media print kullan.
Yazdırmada:
- Form alanları gizlensin
- Sadece preview görünsün
- A4 landscape olsun
- Renkler korunmalı
- Shadow kaldırılmalı
CSS:
- :root değişkenleri kullan
- Modern naming convention kullan
- Temiz ve okunabilir kod yaz
Kod:
- Production quality olsun
- Hatasız çalışsın
- Tek HTML dosyası olsun
- Harici framework kullanma
- Vanilla JS kullan
- Tam responsive olsun
Ek olarak:
- Kod düzenli yorum satırları içersin
- Kurumsal ITSM standartlarına uygun görünüm oluştur
- Print çıktısı Word/PDF kalitesinde olsun





