Скачиваний:
0
Добавлен:
20.09.2026
Размер:
270 Кб
Скачать
☆
2-ámeliy. Programmalıq támiynattı jaratıwda sapanı basqarıw ámeliyatı.
ITIL hám ITSM. Biznes hám IT.
Jumıstıń maqseti: Programmalıq támiynattı islep shıǵıwda sapanı
basqarıw (Quality Management) usılların úyreniw. IT xızmetlerin basqarıwdıń (ITSM) xalıqaralıq standartı bolǵan ITIL (Information Technology Infrastructure Library) kitapxanasınıń tiykarǵı processlerin (Insident, Mashqala, Ózgerislerdi basqarıw) ámeliyatta qollanıw. Biznes talapları menen IT sheshimleri arasındaǵı baylanıstı (Business-IT Alignment) analizlew hám C++ tilinde sapanı basqarıw ushın kerekli kishi qural (Incident Logger) jaratıw.
Teoriyalıq bólim:
1. ITIL: IT xızmetlerin basqarıwdıń eń jaqsı ámeliyatları. Tiykarǵı
processler:
Incident Management: Xızmetti tezirek tiklew. Problem Management: Qáteniń túpkilikli sebebin (Root Cause)
tabıw.
Change Management: Ózgerislerdi qáwipsiz engiziw.
2. ITSM: IT bólimin "xızmet kórsetiwshi" retinde qaraw.
3. Biznes hám IT: Sapa – bul klienttiń qanaatlanıwı. SLA (Service Level
Agreement) – sapa dárejesi haqqında kelisim.
ÁMELIY BÓLIM:
Biz ITIL processlerin simulyaciya etiwshi hám sapanı qadaǵalawshı kishi sistema jaratamız.
1-mısal: Insidentlerdi dizimge alıw (Incident Logger)
Másele: Paydalanıwshıdan kelgen qátelerdi (Insidentlerdi) saqlaw hám basqarıw.
Kod (C++):
#include <iostream> #include <vector> #include <string> using namespace std;
// Insident strukturası struct Incident {
int id; string description; string status; // "Open", "In Progress", "Closed" string priority; // "Low", "Medium", "High" };
class IncidentManager { private: vector<Incident> incidents; int nextId = 1;
public: // Jańa insident jaratıw void createIncident(string desc, string prio) { incidents.push_back({nextId++, desc, "Open", prio}); cout << "Insident #" << nextId - 1 << " jaratıldı." << endl; }
// Insidentti jabıw (Fix) void closeIncident(int id) { for (auto &inc : incidents) { if (inc.id == id) { inc.status = "Closed"; cout << "Insident #" << id << " jabıldı." << endl; return; } } cout << "Insident tabılmadı." << endl; }
// Dizimdi kórsetiw void listIncidents() { cout << "\n--- Aktiv Insidentler ---" << endl; for (const auto &inc : incidents) { if (inc.status != "Closed") { cout << "ID: " << inc.id << " | " << inc.description << " | " << inc.priority << endl; } } } };
int main() { IncidentManager im; im.createIncident("Server qatıp qaldı", "High"); im.createIncident("Login islemey atır", "Medium");
im.listIncidents();
im.closeIncident(1); im.listIncidents();
return 0; }
Analiz: Bul kod ITIL-dıń "Incident Management" procesin ápiwayı túrde ámelge asıradı.
2-mısal: SLA (Sapa kelisimi) tekseriw
Másele: Insidenttiń sheshiliw waqtı SLA talabına (mısalı, High priority = 2 saat)
juwap bere me? Kod:
#include <iostream> using namespace std;
bool checkSLA(string priority, int hoursTook) { int limit = 0; if (priority == "High") limit = 2; else if (priority == "Medium") limit = 8; else limit = 24;
if (hoursTook <= limit) return true; return false; }
int main() { cout << "High priority, 1 saat: " << (checkSLA("High", 1) ? "OK" : "SLA Buzıldı") << endl; cout << "High priority, 3 saat: " << (checkSLA("High", 3) ? "OK" : "SLA Buzıldı") << endl; return 0; }
3-mısal: Mashqala basqarıw (Root Cause Analysis) Másele: Bir neshe uqsas insidentlerdi bir "Mashqala"ǵa (Problem) biriktiriw.
Kod (Logika):
class ProblemManager { // Mashqala hám oǵan baylanıslı Insident ID-leri struct Problem { int id; string rootCause; vector<int> incidentIds; };
// ... };
// Eger "Login islemey atır" degen 10 insident kelse, olar 1 Mashqalaǵa birigedi. // Mashqala sheshilse, barlıq 10 insident avtomat jabıladı.
4-mısal: Ózgerislerdi basqarıw (Change Management)
Másele: Kodqa ózgeris kirgizbesten burın onıń "Impact Analysis" (Tásirin)
bahalaw. Kod (Simulyaciya):
bool approveChange(string changeType, bool isTested) {
if (changeType == "Emergency" && isTested) return true;
if (changeType == "Standard" && isTested) return true;
return false; // Testlenbegen ózgeris qabıl etilmeydi
}
ÁMELIY TAPSÍRMALAR
1-tapsırma: Incident Logger keńeytiw.
1-mısaldaǵı kodtı keńeytiń: Insidentke "Juwapker adam" (Assignee) qosıń. `assignIncident(int id, string user)` metodın jazıń.
2-tapsırma: SLA Kalkulyator.
`calculatePenalty(int hoursOverdue)` funkciyasın jazıń. Eger SLA buzılsa, hár bir keshikken saat ushın 10$ shtraf esaplasın.
3-tapsırma: Priority (Prioritet) algoritmi.
Insidenttiń prioritetin avtomat anıqlawshı funkciya jazıń. Kirisiw: `impact` (Tásir: High/Low) hám `urgency` (Qıstawlılıq: High/Low). Eger Impact=High hám Urgency=High bolsa -> Priority=Critical.
Basqa kombinaciyalar ushın óz logikańızdı qoyıń.
4-tapsırma: Biznes hám IT (Case Study).
Jaǵday: "Internet-dúkan 1 saat islemey qaldı". Biznes zıyanı: 1000$. IT qárejeti: 100$ (serverdi ońlaw).
ROI (Investiciya qaytarımı) formulası boyınsha, sapaǵa (backup serverge) qansha aqsha tikse boladı? (Esaplaw).
5-tapsırma: Change Request (Ózgeris soraw).
`ChangeRequest` strukturasın jaratıń (ID, Description, RiskLevel).
`riskAssessment(ChangeRequest cr)` funkciyasın jazıń. Eger RiskLevel > 5 bolsa, "CAB (Change Advisory Board) kerek" dep shıǵarsın.
Соседние файлы в папке Programmalıq támiynat sapasın támiyinlew