{"id":1,"date":"2026-02-16T15:53:12","date_gmt":"2026-02-16T14:53:12","guid":{"rendered":"https:\/\/systemthreads.hu\/?p=1"},"modified":"2026-04-09T14:31:38","modified_gmt":"2026-04-09T12:31:38","slug":"hello-vilag","status":"publish","type":"post","link":"https:\/\/systemthreads.hu\/index.php\/2026\/02\/16\/hello-vilag\/","title":{"rendered":"Val\u00f3s idej\u0171 munkaid\u0151nyilv\u00e1ntart\u00f3 program tervez\u00e9se: r\u00e9tegek, felel\u0151ss\u00e9gek"},"content":{"rendered":"<div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__avatar\"><img alt='' src='https:\/\/secure.gravatar.com\/avatar\/36b18e4121ddd11f0b99cf64702f6ae672e11b0217fe0f6ff5cbd1c7abb9578b?s=48&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/36b18e4121ddd11f0b99cf64702f6ae672e11b0217fe0f6ff5cbd1c7abb9578b?s=96&#038;d=mm&#038;r=g 2x' class='avatar avatar-48 photo' height='48' width='48' \/><\/div><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Erica K.<\/p><\/div><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">I. Bevezet\u00e9s<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Egy k\u00f6z\u00e9pv\u00e1llalkoz\u00e1s sz\u00e1m\u00e1ra a munkaid\u0151-nyilv\u00e1ntart\u00f3 rendszer elengedhetetlen a modern, digitaliz\u00e1lt k\u00f6rnyezetben. Az automatiz\u00e1lt adatr\u00f6gz\u00edt\u00e9s \u00e9s feldolgoz\u00e1s cs\u00f6kkenti a hum\u00e1n er\u0151forr\u00e1s adminisztrat\u00edv terheit, mik\u00f6zben pontosabb \u00e9s konzisztens inform\u00e1ci\u00f3t biztos\u00edt \u2013 felt\u00e9ve, hogy a rendszer megfelel\u0151en van megtervezve \u00e9s fel\u00e9p\u00edtve. A piacon sz\u00e1mos szoftver \u00e9rhet\u0151 el elt\u00e9r\u0151 funkcionalit\u00e1ssal \u00e9s \u00e1raz\u00e1ssal, azonban egy v\u00e1llalat egyedi szab\u00e1lyokat alkalmazhat, \u00e9s speci\u00e1lis riportokat ig\u00e9nyelhet. Az el\u0151re elk\u00e9sz\u00edtett szoftverek ilyen esetekben k\u00f6lts\u00e9gesek lehetnek, r\u00e1ad\u00e1sul gyakran tartalmaznak olyan funkci\u00f3kat is, amelyek nem relev\u00e1nsak az adott c\u00e9g sz\u00e1m\u00e1ra. Ezek a t\u00e9nyez\u0151k indokolhatj\u00e1k, hogy egy szervezet saj\u00e1t, testreszabott munkaid\u0151-nyilv\u00e1ntart\u00f3 rendszert fejlesszen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fontos kiemelni, hogy komplex rendszerekr\u0151l van sz\u00f3; az Excelben vagy Access-ben vezetett jelenl\u00e9ti \u00edvek nem min\u0151s\u00fclnek munkaid\u0151-nyilv\u00e1ntart\u00f3 rendszernek. Ilyen rendszernek tekinthet\u0151 minden alkalmaz\u00e1s, amely a v\u00e1llalat munkav\u00e1llal\u00f3inak bel\u00e9p\u00e9seit \u00e9s kil\u00e9p\u00e9seit r\u00f6gz\u00edti, ezekb\u0151l sz\u00e1m\u00edtott riportokat, p\u00e9ld\u00e1ul id\u0151t\u00e1bl\u00e1kat gener\u00e1l, kezeli a hi\u00e1nyz\u00e1sokat \u00e9s a szabads\u00e1gokat, valamint lehet\u0151v\u00e9 teszi a m\u0171szakbeoszt\u00e1sok kialak\u00edt\u00e1s\u00e1t. A k\u00fcl\u00f6nb\u00f6z\u0151 riportok \u00e9s hat\u00e9konys\u00e1gi mutat\u00f3k \u00e1ltal\u00e1ban azok a pontok, ahol az egyedis\u00e9g \u00e9s komplexit\u00e1s el\u00e9ri azt a szintet, hogy saj\u00e1t fejleszt\u00e9s\u0171 megold\u00e1s indokolt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e1r els\u0151re a feladat egyszer\u0171nek t\u0171nhet \u2013 bel\u00e9p\u00e9sek \u00e9s kil\u00e9p\u00e9sek r\u00f6gz\u00edt\u00e9se, majd ezekb\u0151l a legdolgozott id\u0151 kisz\u00e1m\u00edt\u00e1sa \u2013, a val\u00f3s\u00e1g sokkal \u00f6sszetettebb. A m\u0171szakbeoszt\u00e1sok, az \u00e9jszakai m\u0171szakokhoz tartoz\u00f3 nap-eltol\u00e1sok, a t\u00f6bbsz\u00f6r\u00f6s bel\u00e9p\u00e9sek, a k\u00fcl\u00f6nb\u00f6z\u0151 termin\u00e1lokhoz k\u00f6t\u00f6tt munkaid\u0151k, valamint a manu\u00e1lis korrekci\u00f3k mind olyan t\u00e9nyez\u0151k, amelyek jelent\u0151sen n\u00f6velhetik a rendszer komplexit\u00e1s\u00e1t. Ezek a r\u00e9szletek csak a rendszer specifik\u00e1ci\u00f3j\u00e1nak alapos felt\u00e9rk\u00e9pez\u00e9se ut\u00e1n v\u00e1lnak l\u00e1that\u00f3v\u00e1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A cikk nem egy demo alkalmaz\u00e1s bemutat\u00e1s\u00e1ra t\u00f6rekszik, hanem val\u00f3s, \u00fczleti k\u00f6rnyezetb\u0151l sz\u00e1rmaz\u00f3 tapasztalatokra \u00e9p\u00edt. A c\u00e9l a rendszer struktur\u00e1lis fel\u00e9p\u00edt\u00e9s\u00e9nek, a r\u00e9tegek \u00e9s azok felel\u0151ss\u00e9geinek, valamint az adatkezel\u00e9si d\u00f6nt\u00e9seknek a bemutat\u00e1sa. Egy munkaid\u0151-nyilv\u00e1ntart\u00f3 rendszer jellemz\u0151en integr\u00e1l\u00f3dik m\u00e1s rendszerekkel, p\u00e9ld\u00e1ul HR rendszerekkel, bel\u00e9ptet\u0151 termin\u00e1lokkal \u00e9s jogosults\u00e1gkezel\u00e9ssel. Ez\u00e9rt elengedhetetlen a stabil architekt\u00fara, amely biztos\u00edtja a rendszerek k\u00f6z\u00f6tti egy\u00fcttm\u0171k\u00f6d\u00e9st.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A cikk nem egy konkr\u00e9t technol\u00f3gia bemutat\u00e1s\u00e1ra f\u00f3kusz\u00e1l, hanem arra a gondolkod\u00e1sm\u00f3dra, amely az \u00fczleti szab\u00e1lyokb\u00f3l kiindulva vezeti le egy rendszer fel\u00e9p\u00edt\u00e9s\u00e9t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Els\u0151 l\u00e9p\u00e9sk\u00e9nt a funkci\u00f3k \u00e9s a felel\u0151ss\u00e9gi k\u00f6r\u00f6k tiszt\u00e1z\u00e1sa sz\u00fcks\u00e9ges.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">2. Funkcion\u00e1lis bont\u00e1s<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ebben a fejezetben \u00e1ttekintj\u00fck a munkaid\u0151-nyilv\u00e1ntart\u00f3 rendszerek tipikus funkci\u00f3it. K\u00e9s\u0151bb bemutatjuk, hogy ezek mely r\u00e9tegekhez kapcsol\u00f3dnak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A rendszer m\u0171k\u00f6d\u00e9s\u00e9hez el\u0151sz\u00f6r adatgy\u0171jt\u00e9sre van sz\u00fcks\u00e9g. Munkaid\u0151-nyilv\u00e1ntart\u00f3 eset\u00e9ben ezek jellemz\u0151en bel\u00e9ptet\u0151 termin\u00e1lok, amelyek az esem\u00e9nyeket adatb\u00e1zisba r\u00f6gz\u00edtik. Ezek az adatok gyakran k\u00fcls\u0151, read-only adatb\u00e1zisban t\u00e1rol\u00f3dnak, k\u00fcl\u00f6n\u00f6sen, ha a termin\u00e1lokat k\u00fcls\u0151 besz\u00e1ll\u00edt\u00f3 biztos\u00edtja. Alternat\u00edv megold\u00e1s lehet API vagy CSV import. A cikk p\u00e9ld\u00e1j\u00e1ban a nyers adatok  egy k\u00fcls\u0151 adatb\u00e1zisb\u00f3l \u00e9rkeznek, amelyet a tov\u00e1bbiakban csak<strong> <\/strong>k\u00fcls\u0151 adatb\u00e1zisnak nevez\u00fcnk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sz\u00fcks\u00e9g van tov\u00e1bb\u00e1 egy bels\u0151 adatb\u00e1zisra is, amely a c\u00e9g egyedi ig\u00e9nyeit szolg\u00e1lja ki. A bels\u0151 adatb\u00e1zis t\u00edpusa f\u00fcggetlen a k\u00fcls\u0151t\u0151l: p\u00e9ld\u00e1nkban a k\u00fcls\u0151 adatb\u00e1zis SQLite, a bels\u0151 MySQL. Az architektur\u00e1lis r\u00e9tegez\u00e9s biztos\u00edtja, hogy ez ne legyen a rendszer sz\u00e1m\u00e1ra probl\u00e9m\u00e1s. A Datamanagement r\u00e9teg felel a k\u00e9t adatforr\u00e1s integr\u00e1ci\u00f3j\u00e1\u00e9rt \u00e9s az eredm\u00e9nyek visszaad\u00e1s\u00e1\u00e9rt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A normaliz\u00e1l\u00e1s sor\u00e1n a nyers adatokat megtiszt\u00edtjuk, p\u00e1ros\u00edtjuk, hib\u00e1s adatokat kezel\u00fcnk, duplik\u00e1ci\u00f3kat sz\u0171r\u00fcnk. Az \u00f6mlesztett adatok feldolgoz\u00e1s\u00e1t szint\u00e9n a Datamanagement r\u00e9teg v\u00e9gzi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A rendszerben alkalmazott \u00fczleti szab\u00e1lyok lehetnek \u00e1ltal\u00e1nosak vagy egyediek, p\u00e9ld\u00e1ul:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u0171szakbeoszt\u00e1sok kezel\u00e9se<\/li>\n\n\n\n<li>Szabads\u00e1gok \u00e9s hi\u00e1nyz\u00e1sok nyilv\u00e1ntart\u00e1sa<\/li>\n\n\n\n<li>\u00c1thelyez\u00e9sek r\u00f6gz\u00edt\u00e9se<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Az \u00fczleti szab\u00e1lyok v\u00e9grehajt\u00e1s\u00e1t az Application Service \u00e9s a Repository r\u00e9teg biztos\u00edtja.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A k\u00f6vetkez\u0151 l\u00e9p\u00e9s a riport\u00e1l\u00e1s, p\u00e9ld\u00e1ul id\u0151t\u00e1bl\u00e1k, hat\u00e9konys\u00e1gi mutat\u00f3k \u00e9s \u00f6sszes\u00edt\u00e9sek k\u00e9sz\u00edt\u00e9se. A riportokat a felhaszn\u00e1l\u00f3 fel\u00e9 kell megjelen\u00edteni vagy let\u00f6lthet\u0151 form\u00e1tumban biztos\u00edtani. Ez az UI\/Controller<strong> <\/strong>r\u00e9teg feladata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az adminisztr\u00e1ci\u00f3s funkci\u00f3k szab\u00e1lyozz\u00e1k az adatokhoz val\u00f3 hozz\u00e1f\u00e9r\u00e9st. A legt\u00f6bb v\u00e1llalkoz\u00e1s hierarchikus jogosults\u00e1gkezel\u00e9st alkalmaz, p\u00e9ld\u00e1ul RBAC (Role-Based Access Control). \u00cdgy biztos\u00edthat\u00f3, hogy egy alacsonyabb szint\u0171 vezet\u0151 csak a saj\u00e1t szintj\u00e9hez tartoz\u00f3 adatokat l\u00e1ssa, m\u00edg az \u00edr\u00e1si jogok csak a megfelel\u0151 felhaszn\u00e1l\u00f3kn\u00e1l legyenek. Az adminisztr\u00e1ci\u00f3s feladatok a UI, Application Service \u00e9s Repository r\u00e9tegek egy\u00fcttm\u0171k\u00f6d\u00e9s\u00e9vel val\u00f3sulnak meg.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"721\" height=\"248\" src=\"https:\/\/systemthreads.hu\/wp-content\/uploads\/2026\/04\/funk_bontas.png\" alt=\"\" class=\"wp-image-82\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6sszefoglalva, ebben a fejezetben \u00e1ttekintett\u00fck a tipikus funkci\u00f3kat \u00e9s azok r\u00e9tegekhez val\u00f3 kapcsol\u00f3d\u00e1s\u00e1t. A k\u00f6vetkez\u0151 fejezetben a r\u00e9tegeket mutatjuk be r\u00e9szletesen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">3. \u00dczleti nyelv \u00e9s felel\u0151ss\u00e9gi hat\u00e1rok<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ebben a fejezetben egy munkaid\u0151nyilv\u00e1ntart\u00f3 rendszer fel\u00e9p\u00edt\u00e9s\u00e9t mutatom be \u00fczleti n\u00e9z\u0151pontb\u00f3l.<br>Nem technol\u00f3gi\u00e1kr\u00f3l, nem adatb\u00e1zisokr\u00f3l, hanem felel\u0151ss\u00e9gi hat\u00e1rokr\u00f3l lesz sz\u00f3: arr\u00f3l, hogy egy rendszer mely r\u00e9sze milyen k\u00e9rd\u00e9sekre v\u00e1laszol. Ez a fajta r\u00e9tegez\u00e9s nem technikai, hanem \u00fczleti felel\u0151ss\u00e9gek ment\u00e9n t\u00f6rt\u00e9nik, ahol minden r\u00e9teg egy-egy j\u00f3l k\u00f6r\u00fclhat\u00e1rolt szerepet kap az \u00fczleti nyelv haszn\u00e1lat\u00e1ban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A r\u00e9szletes technikai megval\u00f3s\u00edt\u00e1sokat \u00e9s mint\u00e1kat k\u00e9s\u0151bbi cikkekben t\u00e1rgyalom. Itt a c\u00e9l az, hogy \u00fczleti nyelven \u00e9rthet\u0151 legyen, hol sz\u00fcletnek a d\u00f6nt\u00e9sek.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">3.1. Presentation r\u00e9teg \u2013 <em>\u201eMit akar l\u00e1tni a felhaszn\u00e1l\u00f3?\u201d<\/em><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">A Presentation r\u00e9teg azt a k\u00e9rd\u00e9st v\u00e1laszolja meg, hogy mit \u00e9s milyen form\u00e1ban szeretne l\u00e1tni a felhaszn\u00e1l\u00f3. Ez a r\u00e9teg felel\u0151s a megjelen\u00edt\u00e9s\u00e9rt \u00e9s az interakci\u00f3\u00e9rt, nem a sz\u00e1m\u00edt\u00e1s\u00e9rt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Itt adja meg a felhaszn\u00e1l\u00f3 p\u00e9ld\u00e1ul:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>az id\u0151szakot,<\/li>\n\n\n\n<li>a bont\u00e1s m\u00f3dj\u00e1t (napi, havi),<\/li>\n\n\n\n<li>a szervezeti sz\u0171r\u0151ket (k\u00f6lts\u00e9ghelyek, ter\u00fcletek),<\/li>\n\n\n\n<li>a besorol\u00e1sokat (szellemi, produkt\u00edv).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Fontos hangs\u00falyozni: a Presentation r\u00e9teg nem hoz \u00fczleti d\u00f6nt\u00e9seket. Nem tudja, mi sz\u00e1m\u00edt jelenl\u00e9tnek vagy hi\u00e1nyz\u00e1snak \u2014 csak megjelen\u00edti azt, amit a rendszer m\u00e1r eld\u00f6nt\u00f6tt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A feladata:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>eredm\u00e9nyek megjelen\u00edt\u00e9se (t\u00e1bl\u00e1zat, lista),<\/li>\n\n\n\n<li>export\u00e1l\u00e1s,<\/li>\n\n\n\n<li>felhaszn\u00e1l\u00f3i be\u00e1ll\u00edt\u00e1sok kezel\u00e9se.<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">3.2. Application Service r\u00e9teg \u2013 <em>\u201eMi t\u00f6rt\u00e9nik most?\u201d<\/em><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Ez a r\u00e9teg az \u00fczleti m\u0171veletek menedzsere. Azt hat\u00e1rozza meg, hogy milyen l\u00e9p\u00e9sekb\u0151l \u00e1ll egy folyamat, \u00e9s milyen sorrendben kell azokat v\u00e9grehajtani.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">P\u00e9ld\u00e1ul:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>egy havi munkaid\u0151-riport elk\u00e9sz\u00edt\u00e9se,<\/li>\n\n\n\n<li>egy adott id\u0151szak \u00f6sszes\u00edt\u00e9se.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Az Application Service:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00f6ssze\u00e1ll\u00edtja a sz\u00fcks\u00e9ges adatokat,<\/li>\n\n\n\n<li>meghat\u00e1rozza a folyamat l\u00e9p\u00e9seit,<\/li>\n\n\n\n<li>kijel\u00f6li a tranzakci\u00f3k hat\u00e1rait.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ami nagyon fontos: nem hoz \u00fczleti d\u00f6nt\u00e9seket. M\u00e9g itt sem d\u0151l el, mi sz\u00e1m\u00edt jelenl\u00e9tnek vagy hi\u00e1nyz\u00e1snak \u2014 ez nem ennek a r\u00e9tegnek a feladata.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">3.3. Domain r\u00e9teg \u2013 <em>\u201eMit jelent ez a c\u00e9g sz\u00e1m\u00e1ra?\u201d<\/em><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">A Domain r\u00e9teg a rendszer \u00fczleti magja. Itt sz\u00fcletnek meg azok a d\u00f6nt\u00e9sek, amelyek egy adott c\u00e9g szab\u00e1lyoz\u00e1s\u00e1t t\u00fckr\u00f6zik.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ebben a r\u00e9tegben d\u0151l el p\u00e9ld\u00e1ul:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mi sz\u00e1m\u00edt jelenl\u00e9tnek,<\/li>\n\n\n\n<li>mi min\u0151s\u00fcl hi\u00e1nyz\u00e1snak,<\/li>\n\n\n\n<li>hogyan kell kezelni a kiv\u00e9teleket.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Jellemz\u0151 domain szab\u00e1lyok egy munkaid\u0151nyilv\u00e1ntart\u00f3 rendszerben:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>m\u0171szak- \u00e9s szalagbeoszt\u00e1sok,<\/li>\n\n\n\n<li>munkak\u00f6zi sz\u00fcnetek,<\/li>\n\n\n\n<li>speci\u00e1lis vagy egyedi esetek kezel\u00e9se,<\/li>\n\n\n\n<li>szab\u00e1lyoz\u00e1sok \u00e9rtelmez\u00e9se.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ez a r\u00e9teg nem tud adatb\u00e1zisr\u00f3l, k\u00e9perny\u0151r\u0151l vagy riportform\u00e1tumr\u00f3l. Csak azt tudja, hogy mi a helyes d\u00f6nt\u00e9s a c\u00e9g szab\u00e1lyai szerint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ebben a megk\u00f6zel\u00edt\u00e9sben a Domain r\u00e9teg hordozza azt a k\u00f6z\u00f6s \u00fczleti nyelvet \u00e9s szab\u00e1lyrendszert, amely k\u00f6r\u00e9 az eg\u00e9sz rendszer szervez\u0151dik. Ez a k\u00f6zponti szerep az, ami miatt a domain nem egy technikai r\u00e9szlet, hanem a rendszer sz\u00edve. Az \u00fczleti szab\u00e1lyok \u00e9s folyamatok k\u00f6zponti szerepe a Domain r\u00e9tegben illeszkedik Evans \u00e1ltal le\u00edrt \u2018Ubiquitous Language\u2019 szeml\u00e9let\u00e9hez, ahol minden fogalom a domainb\u0151l sz\u00e1rmazik. [1]<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">3.4. Infrastrukt\u00fara \u2013 <em>\u201eHonnan sz\u00e1rmazik az adat?\u201d<\/em><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Az infrastrukt\u00fara feladata az, hogy a rendszer sz\u00e1m\u00e1ra forr\u00e1sadatokat biztos\u00edtson. Ezek az adatok t\u00f6bb, egym\u00e1st\u00f3l f\u00fcggetlen rendszerb\u0151l \u00e9rkezhetnek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tipikus adatforr\u00e1sok:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>bel\u00e9ptet\u0151 kapuk,<\/li>\n\n\n\n<li>k\u00e1rtyaolvas\u00f3 termin\u00e1lok,<\/li>\n\n\n\n<li>k\u00fcls\u0151 HR rendszerek,<\/li>\n\n\n\n<li>adminisztrat\u00edv r\u00f6gz\u00edt\u00e9sek.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Az infrastrukt\u00fara nem hoz \u00fczleti d\u00f6nt\u00e9seket, \u00e9s nem is ismeri a szab\u00e1lyokat. A feladata kiz\u00e1r\u00f3lag az, hogy az adatokat el\u00e9rhet\u0151v\u00e9 tegye a rendszer sz\u00e1m\u00e1ra.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">4. R\u00e9tegek bemutat\u00e1sa egy minta folyamaton kereszt\u00fcl<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ebben a fejezetben egy havi id\u0151t\u00e1bla elk\u00e9sz\u00edt\u00e9s\u00e9nek folyamat\u00e1n kereszt\u00fcl mutatom be, hogyan m\u0171k\u00f6dnek egy\u00fctt a kor\u00e1bban bemutatott r\u00e9tegek. A c\u00e9l nem az implement\u00e1ci\u00f3 r\u00e9szleteinek bemutat\u00e1sa, hanem annak szeml\u00e9ltet\u00e9se, hogy hol sz\u00fcletnek d\u00f6nt\u00e9sek, \u00e9s hol nem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A k\u00f6vetkez\u0151 p\u00e9lda j\u00f3l mutatja, hogyan v\u00e1lik egy \u00fczleti k\u00e9rd\u00e9sb\u0151l (egy havi id\u0151t\u00e1bla elk\u00e9sz\u00edt\u00e9se) l\u00e9p\u00e9sr\u0151l l\u00e9p\u00e9sre egy v\u00e9grehajthat\u00f3 folyamat, mik\u00f6zben az \u00fczleti szab\u00e1lyok v\u00e9gig a domainben maradnak.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"472\" src=\"https:\/\/systemthreads.hu\/wp-content\/uploads\/2026\/04\/sec_hu.png\" alt=\"\" class=\"wp-image-86\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A folyamat a Presentation r\u00e9tegben indul. Amikor a felhaszn\u00e1l\u00f3 elind\u00edtja az alkalmaz\u00e1st, ez a r\u00e9teg jelen\u00edti meg a felhaszn\u00e1l\u00f3i fel\u00fcletet: men\u00fcket, sz\u0171r\u0151ket, kiv\u00e1laszt\u00e1si lehet\u0151s\u00e9geket. A felhaszn\u00e1l\u00f3 itt adja meg p\u00e9ld\u00e1ul, hogy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>melyik h\u00f3nap adataira k\u00edv\u00e1ncsi,<\/li>\n\n\n\n<li>mely szervezeti egys\u00e9gek id\u0151t\u00e1bl\u00e1j\u00e1t szeretn\u00e9 l\u00e1tni<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Amikor a felhaszn\u00e1l\u00f3 elind\u00edtja a lek\u00e9r\u00e9st, a k\u00e9r\u00e9s \u00e1tker\u00fcl az Application Service r\u00e9teghez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az Application Service r\u00e9teg feladata ebben a folyamatban az, hogy \u00f6ssze\u00e1ll\u00edtsa a havi id\u0151t\u00e1bla elk\u00e9sz\u00edt\u00e9s\u00e9hez sz\u00fcks\u00e9ges l\u00e9p\u00e9seket. Meghat\u00e1rozza:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>milyen adatokra van sz\u00fcks\u00e9g,<\/li>\n\n\n\n<li>honnan kell azokat beszerezni,<\/li>\n\n\n\n<li>milyen sorrendben t\u00f6rt\u00e9njen a feldolgoz\u00e1s.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A havi id\u0151t\u00e1bla elk\u00e9sz\u00edt\u00e9s\u00e9hez jellemz\u0151en az al\u00e1bbi adatok sz\u00fcks\u00e9gesek, amelyek k\u00fcl\u00f6nb\u00f6z\u0151 forr\u00e1sokb\u00f3l \u00e9rkeznek:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>dolgoz\u00f3k adatai: HR rendszer<\/li>\n\n\n\n<li>esem\u00e9nyek: bel\u00e9ptet\u0151 kapuk, k\u00e1rtyaolvas\u00f3 termin\u00e1lok<\/li>\n\n\n\n<li>m\u0171szak- \u00e9s szalagbeoszt\u00e1sok: adminisztr\u00e1ci\u00f3s r\u00f6gz\u00edt\u00e9sek<\/li>\n\n\n\n<li>t\u00e1voll\u00e9tek: adminisztr\u00e1ci\u00f3s r\u00f6gz\u00edt\u00e9sek<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Az Application Service r\u00e9teg nem \u00e9rtelmezi ezeket az adatokat, \u00e9s nem hoz \u00fczleti d\u00f6nt\u00e9seket. A begy\u0171jt\u00f6tt adatokat az \u00fczleti folyamat logik\u00e1ja szerint tov\u00e1bbadja a Domain r\u00e9tegnek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Domain r\u00e9teg alkalmazza a c\u00e9g munkaid\u0151-nyilv\u00e1ntart\u00e1sra vonatkoz\u00f3 szab\u00e1lyait, \u00e9s elv\u00e9gzi a sz\u00fcks\u00e9ges sz\u00e1m\u00edt\u00e1sokat. Itt d\u0151l el p\u00e9ld\u00e1ul:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mi sz\u00e1m\u00edt jelenl\u00e9tnek \u00e9s mi hi\u00e1nyz\u00e1snak,<\/li>\n\n\n\n<li>hogyan kell kezelni a k\u00e9s\u00e9seket vagy a korai t\u00e1voz\u00e1st,<\/li>\n\n\n\n<li>hogyan befoly\u00e1solj\u00e1k a munkak\u00f6zi sz\u00fcnetek a ledolgozott id\u0151t.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Egy havi id\u0151t\u00e1bla eset\u00e9n tipikus eredm\u00e9nyek:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>nett\u00f3 \u00e9s brutt\u00f3 ledolgozott id\u0151,<\/li>\n\n\n\n<li>jelenl\u00e9t \u00e9s t\u00e1voll\u00e9t min\u0151s\u00edt\u00e9se,<\/li>\n\n\n\n<li>munkakezd\u00e9s \u00e9s munkabefejez\u00e9s a m\u0171szakbeoszt\u00e1shoz viszony\u00edtva.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A Domain r\u00e9teg a sz\u00e1m\u00edt\u00e1sok eredm\u00e9ny\u00e9t visszaadja az Application Service r\u00e9tegnek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az Application Service r\u00e9teg az egyes r\u00e9szeredm\u00e9nyeket egys\u00e9ges strukt\u00far\u00e1ba rendezi, majd az elk\u00e9sz\u00fclt eredm\u00e9nyt tov\u00e1bb\u00edtja a Presentation r\u00e9teg fel\u00e9. A Presentation r\u00e9teg a havi id\u0151t\u00e1bla adatait a felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra j\u00f3l \u00e9rtelmezhet\u0151, t\u00e1bl\u00e1zatos form\u00e1ban jelen\u00edti meg, \u00e9s lehet\u0151s\u00e9get biztos\u00edt az export\u00e1l\u00e1sra k\u00fcl\u00f6nb\u00f6z\u0151 form\u00e1tumokban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A r\u00e9tegek sz\u00e9tv\u00e1laszt\u00e1sa v\u00e9di a domain logik\u00e1t, amit Fowler is aj\u00e1nl a komplex \u00fczleti rendszerek eset\u00e9n. [3]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ez a p\u00e9lda j\u00f3l mutatja, hogy egy munkaid\u0151nyilv\u00e1ntart\u00f3 rendszer k\u00f6zponti eleme a riportok el\u0151\u00e1ll\u00edt\u00e1sa. A rendszer val\u00f3di \u00e9rt\u00e9ke abban rejlik, hogy az \u00fczleti szab\u00e1lyok k\u00f6vetkezetes alkalmaz\u00e1s\u00e1val megb\u00edzhat\u00f3, \u00e9rtelmezhet\u0151 kimutat\u00e1sokat k\u00e9sz\u00edt. A k\u00f6vetkez\u0151 fejezetben r\u00e9szletesebben is kit\u00e9rek a riport\u00e1l\u00e1s szerep\u00e9re \u00e9s jelent\u0151s\u00e9g\u00e9re.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">5. Riportok, mint \u00fczleti term\u00e9kek<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Az el\u0151z\u0151 fejezetek bemutatt\u00e1k, hogyan \u00e9rdemes egy munkaid\u0151nyilv\u00e1ntart\u00f3 rendszert fel\u00e9p\u00edteni, \u00e9s milyen r\u00e9tegek ment\u00e9n \u00e9rdemes elv\u00e1lasztani a felel\u0151ss\u00e9geket. Ebben a fejezetben arra a k\u00e9rd\u00e9sre keres\u00fcnk v\u00e1laszt, hogy<strong> <\/strong>mi\u00e9rt tekinthet\u0151k a riportok a rendszer legfontosabb \u00fczleti kimenet\u00e9nek. Ebben a megk\u00f6zel\u00edt\u00e9sben a riportok nem technikai kimenetek, hanem az \u00fczleti domain \u00e1ltal el\u0151\u00e1ll\u00edtott term\u00e9kek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A munkaid\u0151nyilv\u00e1ntart\u00f3 rendszerek alapvet\u0151en adatokat gy\u0171jtenek: bel\u00e9p\u00e9seket, kil\u00e9p\u00e9seket, beoszt\u00e1sokat, t\u00e1voll\u00e9teket. Ezek az adatok \u00f6nmagukban azonban nehezen \u00e9rtelmezhet\u0151k, \u00e9s k\u00f6zvetlen\u00fcl nem alkalmasak d\u00f6nt\u00e9shozatalra. A riportok szerepe az, hogy a nyers adatokat \u00fczleti kontextusba helyezz\u00e9k, \u00e9s azokat \u00e9rtelmezhet\u0151, \u00f6sszehasonl\u00edthat\u00f3 form\u00e1ban jelen\u00edts\u00e9k meg.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e1r egy ilyen rendszer kiv\u00e1lt bizonyos adminisztrat\u00edv feladatokat (p\u00e9ld\u00e1ul pap\u00edralap\u00fa jelenl\u00e9ti \u00edveket), val\u00f3di \u00e9rt\u00e9ke abban rejlik, hogy \u00fczleti d\u00f6nt\u00e9seket t\u00e1mogat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tipikus d\u00f6nt\u00e9si helyzetek, amelyeket a riportok kiszolg\u00e1lnak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l\u00e9tsz\u00e1mtervez\u00e9s<\/li>\n\n\n\n<li>t\u00fal\u00f3r\u00e1k kezel\u00e9se<\/li>\n\n\n\n<li>hat\u00e9konys\u00e1g m\u00e9r\u00e9se<\/li>\n\n\n\n<li>b\u00e9rsz\u00e1mfejt\u00e9s el\u0151k\u00e9sz\u00edt\u00e9se<\/li>\n\n\n\n<li>vezet\u0151i d\u00f6nt\u00e9sek t\u00e1mogat\u00e1sa<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Riportok \u00e9s c\u00e9lcsoportok<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">A riportok jellemz\u0151en ugyanazokra az alapadatokra \u00e9p\u00fclnek, m\u00e9gsem ugyanabban a form\u00e1ban kell megjelenni\u00fck minden felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra. Egy csoportvezet\u0151nek m\u00e1s inform\u00e1ci\u00f3kra van sz\u00fcks\u00e9ge, mint a HR-nek vagy a fels\u0151vezet\u00e9snek. Ugyanilyen fontos szempont az is, hogy ki milyen adatokhoz f\u00e9rhet hozz\u00e1, \u00e9s milyen bont\u00e1sban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ez\u00e9rt a riport\u00e1l\u00e1s szorosan \u00f6sszef\u00fcgg a jogosults\u00e1gkezel\u00e9ssel. A gyakorlatban ez leggyakrabban szerepk\u00f6r alap\u00fa hozz\u00e1f\u00e9r\u00e9s-szab\u00e1lyoz\u00e1ssal (RBAC \u2013 Role Based Access Control) val\u00f3sul meg, ahol a felhaszn\u00e1l\u00f3k k\u00fcl\u00f6nb\u00f6z\u0151 szerepekhez tartoznak. A szerepk\u00f6r nemcsak azt hat\u00e1rozza meg, hogy egy felhaszn\u00e1l\u00f3 milyen riportokat \u00e9rhet el, hanem azt is, hogy az adott riport milyen r\u00e9szletezetts\u00e9ggel jelenik meg sz\u00e1m\u00e1ra. A jogosults\u00e1gok ilyen m\u00f3don t\u00f6rt\u00e9n\u0151 kezel\u00e9se nemcsak biztons\u00e1gi k\u00e9rd\u00e9s, hanem az \u00fczleti szerepek \u00e9s n\u00e9z\u0151pontok tudatos sz\u00e9tv\u00e1laszt\u00e1sa is. [3]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00edg a HR sz\u00e1m\u00e1ra a ledolgozott \u00f3r\u00e1k, jelenl\u00e9tek \u00e9s t\u00e1voll\u00e9tek a legfontosabbak, addig a vezet\u0151s\u00e9g sz\u00e1m\u00e1ra ezek mellett m\u00e1r hat\u00e9konys\u00e1gi mutat\u00f3k, trendek \u00e9s \u00f6sszes\u00edt\u00e9sek v\u00e1lnak hangs\u00falyoss\u00e1.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Mit\u0151l lesz egy riport \u00e9rtelmezhet\u0151?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">A riport nem egyszer\u0171 lista vagy adatkinyer\u00e9s. Egy j\u00f3l elk\u00e9sz\u00edtett riport konkr\u00e9t \u00fczleti k\u00e9rd\u00e9sekre ad v\u00e1laszt, \u00e9s seg\u00edti a d\u00f6nt\u00e9shozatalt. Egy j\u00f3 riport:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00e1ttekinthet\u0151,<\/li>\n\n\n\n<li>k\u00f6nnyen \u00e9rtelmezhet\u0151,<\/li>\n\n\n\n<li>kontextust ad a sz\u00e1mok mell\u00e9,<\/li>\n\n\n\n<li>\u00e9s k\u00e9pes \u201emegmagyar\u00e1zni \u00f6nmag\u00e1t\u201d.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nem elegend\u0151 puszt\u00e1n az eredm\u00e9nyeket megjelen\u00edteni; fontos az is, hogy a riport bemutassa azokat az adatokat \u00e9s k\u00f6r\u00fclm\u00e9nyeket, amelyek az eredm\u00e9nyekhez vezettek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vegy\u00fcnk egy p\u00e9ld\u00e1t. Ha egy vezet\u0151 egy adott napra vonatkoz\u00f3an azt l\u00e1tja, hogy egy csoport teljes\u00edtm\u00e9nye mind\u00f6ssze 40%, k\u00f6nnyen arra a k\u00f6vetkeztet\u00e9sre juthat, hogy a csoport alulteljes\u00edtett. Ha azonban a riport kieg\u00e9sz\u00fcl tov\u00e1bbi inform\u00e1ci\u00f3kkal \u2013 p\u00e9ld\u00e1ul a heti \u00e1tlagos teljes\u00edtm\u00e9nnyel, beteg\u00e1llom\u00e1nyokkal vagy tov\u00e1bbk\u00e9pz\u00e9sekkel \u2013, akkor m\u00e1r eg\u00e9szen m\u00e1s k\u00e9p rajzol\u00f3dik ki. Elk\u00e9pzelhet\u0151, hogy az \u00e1tlagos teljes\u00edtm\u00e9ny 80% k\u00f6r\u00fcl van, de az adott napon a dolgoz\u00f3k jelent\u0151s r\u00e9sze hi\u00e1nyzott, \u00edgy a 40% nem teljes\u00edtm\u00e9nyprobl\u00e9ma, hanem egyedi k\u00f6r\u00fclm\u00e9nyek k\u00f6vetkezm\u00e9nye.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Riportok \u00e9s \u00fczleti szab\u00e1lyok<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Fontos hangs\u00falyozni, hogy a riportok nem objekt\u00edv igazs\u00e1gokat mutatnak, hanem a v\u00e1llalat \u00fczleti szab\u00e1lyai ment\u00e9n k\u00e9sz\u00fclnek. Az, hogy mi sz\u00e1m\u00edt jelenl\u00e9tnek, t\u00fal\u00f3r\u00e1nak vagy hat\u00e9kony munkav\u00e9gz\u00e9snek, mindig szervezeti d\u00f6nt\u00e9sek eredm\u00e9nye.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ezek a szab\u00e1lyok a rendszer domain r\u00e9teg\u00e9ben ker\u00fclnek megfogalmaz\u00e1sra \u00e9s alkalmaz\u00e1sra. Mivel az \u00fczleti szab\u00e1lyok id\u0151vel v\u00e1ltoznak, a riport\u00e1l\u00e1si ig\u00e9nyek is folyamatosan m\u00f3dosulnak. Egy j\u00f3l megtervezett rendszernek k\u00e9pesnek kell lennie ezeknek a v\u00e1ltoz\u00e1soknak a kezel\u00e9s\u00e9re, mik\u00f6zben meg\u0151rzi az adatok k\u00f6vetkezetess\u00e9g\u00e9t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ez egyben azt is jelenti, hogy nem lehet mindent el\u0151re t\u00f6k\u00e9letesen megtervezni. A k\u00f6vetkez\u0151 fejezetben azt vizsg\u00e1ljuk meg, hogy mit \u00e9rdemes el\u0151re lefektetni egy rendszer tervez\u00e9sekor, \u00e9s mely ter\u00fcleteken sz\u00fcks\u00e9ges tudatosan teret hagyni a k\u00e9s\u0151bbi v\u00e1ltoz\u00e1soknak.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">6. Z\u00e1r\u00f3 gondolatok<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A fentieket \u00f6sszefoglalva j\u00f3l l\u00e1that\u00f3, hogy egy munkaid\u0151nyilv\u00e1ntart\u00f3 rendszer megval\u00f3s\u00edt\u00e1sa nem els\u0151sorban technol\u00f3giai probl\u00e9ma. Az els\u0151 k\u00e9rd\u00e9seket nem \u00fagy \u00e9rdemes feltenn\u00fcnk, hogy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201eMilyen programoz\u00e1si nyelvet haszn\u00e1ljunk?\u201d<\/li>\n\n\n\n<li>\u201eMilyen adatb\u00e1zisban t\u00e1roljuk az adatokat?\u201d<\/li>\n\n\n\n<li>\u201eMilyen oszlopai legyenek az adatb\u00e1zis t\u00e1bl\u00e1knak?\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hanem ink\u00e1bb \u00edgy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mit nevez a c\u00e9g jelenl\u00e9tnek?<\/li>\n\n\n\n<li>Kinek, mit kell l\u00e1tnia \u2013 \u00e9s mi\u00e9rt?<\/li>\n\n\n\n<li>Mib\u0151l \u00e1ll \u00f6ssze egy riport, amely val\u00f3ban d\u00f6nt\u00e9st t\u00e1mogat?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Egy j\u00f3l m\u0171k\u00f6d\u0151 rendszer az \u00fczleti nyelvb\u0151l indul ki. A v\u00e9gterm\u00e9kek a riportok, amelyek val\u00f3j\u00e1ban \u00fczleti term\u00e9kek. A bel\u00e9p\u00e9si \u00e9s kil\u00e9p\u00e9si adatok csup\u00e1n alapanyagok: \u00f6nmagukban keveset mondanak, de megfelel\u0151 feldolgoz\u00e1ssal seg\u00edtik a d\u00f6nt\u00e9shozatalt \u00e9s az inform\u00e1ci\u00f3k \u00e9rtelmez\u00e9s\u00e9t. Egy j\u00f3 riport nem puszt\u00e1n sz\u00e1mokat mutat meg, hanem \u201eelmes\u00e9li\u201d az adott id\u0151szak t\u00f6rt\u00e9net\u00e9t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az ig\u00e9ny ezekre az eredm\u00e9nyekre jellemz\u0151en nem v\u00e1ltozik. A szab\u00e1lyoz\u00e1sok, a szervezeti strukt\u00far\u00e1k \u00e9s a d\u00f6nt\u00e9si mechanizmusok viszont igen. \u00c9ppen ez\u00e9rt nem a r\u00e9szletek merev r\u00f6gz\u00edt\u00e9se a c\u00e9l, hanem egy olyan gondolkod\u00e1sm\u00f3d kialak\u00edt\u00e1sa, amely k\u00e9pes alkalmazkodni a v\u00e1ltoz\u00e1sokhoz. Egy szoftver nem att\u00f3l lesz j\u00f3, hogy Pythonban vagy Java-ban k\u00e9sz\u00fclt, hanem att\u00f3l, hogy a v\u00e1llalkoz\u00e1s nyelv\u00e9n sz\u00f3lal meg.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Egy fejleszt\u0151 akkor tud igaz\u00e1n hat\u00e9konyan dolgozni, ha \u00e9rti az \u00fczleti szab\u00e1lyokat \u00e9s a m\u00f6g\u00f6tt\u00fck \u00e1ll\u00f3 sz\u00e1nd\u00e9kot. Egy vezet\u0151 pedig akkor tudja j\u00f3l megfogalmazni az ig\u00e9nyeit, ha ezt nagyr\u00e9szt a saj\u00e1t nyelv\u00e9n teheti meg \u2013 nem technol\u00f3giai, hanem \u00fczleti fogalmak ment\u00e9n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A fenti gondolkod\u00e1sm\u00f3d szorosan kapcsol\u00f3dik a Domain-Driven Design (DDD) szeml\u00e9let\u00e9hez, amelyet Eric Evans \u00edrt le r\u00e9szletesen. A cikk nem a DDD fogalmaib\u00f3l indult ki, hanem egy konkr\u00e9t \u00fczleti probl\u00e9ma meg\u00e9rt\u00e9s\u00e9b\u0151l \u2014 ez pedig j\u00f3l mutatja, hogy a DDD nem egy m\u00f3dszertan, hanem egy term\u00e9szetesen kialakul\u00f3 szeml\u00e9let.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A k\u00f6vetkez\u0151 cikkekben konkr\u00e9t r\u00e9szter\u00fcleteket vizsg\u00e1lok meg r\u00e9szletesebben \u2013 p\u00e9ld\u00e1ul az adatkezel\u00e9st, a riport\u00e1l\u00e1si mint\u00e1kat \u00e9s a v\u00e1ltoz\u00f3 \u00fczleti szab\u00e1lyok kezel\u00e9s\u00e9t \u2013, mindig ugyanebb\u0151l az \u00fczleti szeml\u00e9letb\u0151l kiindulva.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Forr\u00e1sok<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">[1] Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley.<br>[2] Kimball, R. &amp; Ross, M. (2013). The Data Warehouse Toolkit. Wiley.<br>[3] Sandhu, R. et al. (1996). Role-Based Access Control Models. IEEE Computer, 29(2), 38\u201347.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hogyan \u00e9p\u00edthet\u0151 fel egy munkaid\u0151-nyilv\u00e1ntart\u00f3 rendszer \u00fczleti szeml\u00e9letb\u0151l, r\u00e9tegezett architekt\u00far\u00e1val \u00e9s tiszta felel\u0151ss\u00e9gi hat\u00e1rokkal? A k\u00f6zponti f\u00f3kusz a riport\u00e1l\u00e1s, mint \u00fczleti term\u00e9k, amely a nyers esem\u00e9nyadatokat d\u00f6nt\u00e9st t\u00e1mogat\u00f3 inform\u00e1ci\u00f3v\u00e1 alak\u00edtja.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[22,24,28,30,26],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-cikkek-hu","tag-ddd","tag-domain-driven-design","tag-fejlesztes","tag-munkaido-nyilvantartas","tag-tervezes"],"_links":{"self":[{"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":9,"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":93,"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions\/93"}],"wp:attachment":[{"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/systemthreads.hu\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}