A menedzsment funkcionális megközelítése. A kutatás funkcionális megközelítése

Az elmúlt években a jogirodalomban felhívták a figyelmet azokra a tudományos érdeklődésre számot tartó tanulmányokra, amelyek az állammechanizmus meghatározásának „szűk” és „tág” fogalmait kritizálják. Azon a kísérleten alapulnak, hogy az állapot mechanizmusát a dinamikában, az alkotórészek közötti viszonyban vizsgálják. Ezt az álláspontot az elsők között G.A. Murashin, aki 1972-ben ezt írta: „Az állam mechanizmusát az „államapparátus” kifejezéssel együtt használják, ennek a jelenségnek a lényege azonban jobban meghatározható... nem a statikában, hanem a mozgásban. Ezt az álláspontot a legkövetkezetesebben E.P. Grigonis, aki az „apparátus” szavak lexikális jelentéséhez fordult, mint a menedzsment bármely ágát szolgáló intézmények halmazához és a „mechanizmushoz” mint rendszerhez. Ahol az egyik mozgása okozza a másik mozgását, és a következő következtetésre jutott: az „állapotapparátus” és az „állapotmechanizmus” fogalmak különböző síkon helyezkednek el, és nyugalmi, statikus dologként kapcsolódnak egymáshoz. (államapparátus), és ugyanaz, ami mozgásban van, a dinamikában (állapotmechanizmus). Maga az állam mechanizmusának fogalma E.P. Grigonis úgy definiálja, mint „az állami szervek működése, cselekvése”, amely bizonyos módokon, az állami szervek rendszerének (államapparátusnak) működési elveiként, egyes részeinek összekapcsolódásában és kölcsönhatásában fejeződik ki.

Az Orosz Föderáció államának mechanizmusa fogalmának meghatározásának problémájának megoldására irányuló különféle megközelítések fenti áttekintése lehetővé teszi számunkra, hogy néhány következtetést vonjunk le:

  • - először is, az állam mechanizmusának egységes megértése a modern hazai jogtudományban a mai napig nem alakult ki; másodszor, három leggyakoribb álláspont van ebben a kérdésben: az állam mechanizmusa az állami szervek rendszere (az „állammechanizmus” és az „államapparátus” fogalma megegyezik);
  • - másodszor, az állam mechanizmusa nemcsak kormányzati szervek (törvényhozó, végrehajtó, bírói), hanem kormányzati szervezetek, vállalkozások, intézmények (oktatási, tudományos, orvosi és mások) összessége. Valamint az úgynevezett „anyagi függelékek” (hadsereg, rendvédelmi szervek, javítóintézetek stb.);
  • - harmadrészt pedig az állam mechanizmusa az állami szervek működése, működése, dinamikája.

Lehetetlen figyelmen kívül hagyni azt a tényt, hogy Oroszországban jelenleg egy új típusú állami mechanizmus jött létre és alakul ki. E tekintetben a párt vezető szerepére és a társadalmi élet számos területének államosítására épülő szovjet állam mechanizmusának fennállása során felvetett néhány nézőpont egyáltalán nem alkalmazható a mechanizmus meghatározására. a modern orosz állam felépítéséről, kialakulásának és működésének elveiről. Az állam- és jogelmélet tudománya már eltávolodott magának az államnak, számos kategóriájának szűk osztálylényegének megértésétől, ami azt diktálja, hogy új megközelítéseket kell találni, különösen az intézmény meghatározásának problémája felé. Mindhárom fogalomnak kétségtelenül megvan a létjogosultsága. Egyet lehet érteni a korábban említett kutatókkal, akik úgy vélik, hogy az államapparátus statikus értelemben az állam összes szervére vonatkozik, az állapotmechanizmus pedig ugyanazokra a szervekre vonatkozik, de dinamikában. Az államapparátus mérlegelésekor mindenekelőtt egy-egy állami szerv megalakításának rendjéről, felépítéséről, hatásköréről, típusairól, a köztisztviselők jogállásáról és más hasonló szempontokról kell beszélni. Az állam mechanizmusának tanulmányozásakor pedig közvetlenül elemezni kell az állami szervek tevékenységének kérdéseit, az állammechanizmusban betöltött helyét és szerepét, az egymással való kölcsönhatás irányait, a működési problémákat és azok leküzdésének módjait.

Magát a „mechanizmus” kifejezést szó szerint használják technikai értelemben, értelmezése a gép belső felépítéséhez kapcsolódik. Bármely mechanizmus egymással összefüggő és kölcsönhatásban lévő részek és elemek összessége, amelyek között egyrészt a köztük lévő belső rend és konzisztencia, másrészt a megkülönböztetés és a viszonylagos autonómia áll. Az Orosz Föderáció modern állammechanizmusának felépítésével kapcsolatban a legfontosabb ilyen elemek az állami szervek, amelyek számos alapelvet figyelembe véve szerveződnek és működnek, amelyek legjelentősebb szerkezetformálója a hatalmi ágak szétválasztásának elve. rögzítve az Orosz Föderáció alkotmányában. Az állam teljes mechanizmusának hatékonysága nagymértékben függ a törvényhozó, végrehajtó és bírói szervek fejlettségi szintjétől, tevékenységük céljainak és célkitűzéseinek egyértelműségétől, kompetenciájától, egymás közötti kölcsönhatásától és számos egyéb tényezőtől. Így strukturálisan a modern orosz állam mechanizmusában megkülönböztethető a tág értelemben vett állami szervek (államapparátus) halmaza (és nem csak a végrehajtó hatóságok halmazaként), azonban a harmadik támogatók nyomán. megközelítést figyelembe kell venni a dinamikában. Valójában minden mechanizmus magában foglalja az elemek dinamikus rendszerét. Fontos azonban hangsúlyozni, hogy a mechanizmus egy működő rendszer, és nem „egy rendszer működése”. E tekintetben feltételezhető, hogy pontosabb lenne az állam mechanizmusát nem az államtestek működéseként, hanem az államtestek (államapparátus) rendszereként meghatározni a dinamikában, azaz cselekvésben, az államhatalom gyakorlásának folyamata, működése és kölcsönhatása.

Amint azt M.I. Abdulaev és S.A. Komarov szerint minden állami szerv bizonyos feladatokat lát el, és az általános állami mechanizmus „hajtószíja”, amelyben minden szerv összehangoltan működik. Ennek eredményeként ez a különleges „élő szervezet” folyamatosan mozgásban van és fejlődik. A modern állapot mechanizmusa azonban nem egyszerű mechanikai kapcsolat, egyes elemeinek összegzése, hanem azok világosan szervezett és rendezett rendszere, ahol egy elem változása a rendszer egészének megváltozásához vezet, hiszen minden része interakcióba lépnek egymással.

A rendszerszemlélet ezekre a rendelkezésekre épül, mint a tudományos ismeretek módszertanának irányvonala, amely az objektumok rendszerként való felfogásán alapul, ami megköveteli integritásuk feltárását, elemeik azonosítását, valamint a rendszer interakcióját. a környezettel. Ehhez a megközelítéshez szorosan kapcsolódik a funkcionális módszer, amelyet a tudományban használnak a rendszerekben lévő szerkezeti részek, elemek azonosítására azok rendeltetése, szerepe, funkciója, a köztük lévő számos kapcsolat, kölcsönös hatás szempontjából. Az állammechanizmus mint a kormányzati szervek dinamikus, működő rendszere, felfogásának részeként felépítését elemeinek tevékenységével elválaszthatatlan összefüggésben kell szemlélni, figyelembe véve a köztük lévő kölcsönhatást.

A modern orosz állam mechanizmusának rendszerszintű-funkcionális elemzése a következő szempontok elválaszthatatlan kombinációját, egységét jelenti:

  • - alkotóelemei - állami szervek - helyének és szerepének meghatározása - rendszerszempont;
  • - céljuk tanulmányozása, az ellátott funkciók elemzése és az egymással való kölcsönhatás irányai - a funkcionális szempont.

Ezzel a megközelítéssel az állam mechanizmusa nem egyszerűen az állami szervek működő rendszereként jelenik meg, hanem egymással kölcsönhatásban álló alrendszerek összességeként, amelyek államhatalmat gyakorolnak és az államapparátus integrált rendszerének keretein belül működnek. Az állam mechanizmusa belsőleg egységes. Minden állami szerv, mint az egész része, az államhatalom hordozója, amelynek egyetlen forrása van - a nép. Bármely állami szerv egyén az általános állammechanizmus keretein belül, és saját természetével és sajátos rendeltetésével rendelkezik, ezáltal magában foglalja a megkülönböztetés lehetőségét az állammechanizmus egészének szerkezetében.

Figyelembe véve a rendszer-funkcionális megközelítést az állammechanizmus felépítésében, megkülönböztethető az államhatalmat gyakorló és az államapparátust alkotó állami szervek kölcsönható alrendszereinek halmaza. Az állammechanizmus lényegének, fogalmának, szerkezetének, céljának kérdéseinek tanulmányozása, az állami szervek közötti interakció irányainak elemzése a jogtudomány és a joggyakorlat szempontjából kiemelt jelentőséggel bír, mivel elősegíti az államháztartás működésének hatékonysági szintjét. az állammechanizmus egésze és egyes összetevői.

Jelenleg hazánkban szinte minden vállalkozás rendelkezik világosan meghatározott funkcionális irányítási struktúrával. Ez az irányítási szervezet a munkaműveletek szekvenciális végrehajtásának taylori elvén alapul, azaz. egy munkafeladat külön műveletekre (feladatokra, szakaszokra) van felosztva, és minden dolgozó egy művelet végrehajtására specializálódott.

A menedzsment funkcionális megközelítésének lényege, hogy a szükségletet olyan funkciók összességének tekintjük, amelyeket a szükséglet kielégítéséhez végre kell hajtani. Ezeket a funkciókat az osztályok között osztják el, ahol a szervezet alkalmazottai látják el őket. A funkciók megvalósításának mechanizmusa a funkcionális egységeket célozza meg helyi céljaik elérése érdekében, amelyek között objektív ellentmondások adódhatnak. Az alkalmazottak magasan specializált feladataik ellátása során nem látják az egész vállalkozás munkájának végeredményét, és nem veszik észre a helyüket a teljes láncban. Kiderül, hogy nem a vállalkozás célcéljaira összpontosítanak, mivel elképzelésük arról, hogy mi történik, leggyakrabban nem lépi túl azon osztályok határait, amelyekben dolgoznak. A személyzet az egyéni struktúrákra összpontosítja figyelmét. Az egyes szolgáltatások vállalkozáson belüli monopolhelyzete oda vezet, hogy e szolgáltatások alkalmazottai nélkülözhetetlennek tartják magukat a szervezetben, ezért a funkcionális osztályok és szolgáltatások közötti interakció gyakran rombolóvá válik a vállalkozás számára. Előfordulhat a fő és a támogató működési funkciók eltolódása, a működési hatékonyság csökkenése (1. ábra).

1. ábra - Ellentmondás a funkcionális osztályok és a szervezeti folyamatok között

funkcionális menedzsment folyamat gyógyszertár

Idővel a specializáció növekedése a funkcionális egységek elszigetelődéséhez és az interfunkcionális kapcsolatok gyengüléséhez vezet. A mai dinamikus külső környezetben ez elfogadhatatlan egy vállalkozás, mint egyetlen „szervezet” számára. A menedzserek, mint ennek a „organizmusnak” az agya, kezdték megérteni, hogy a helyzet kritikussá válik: minden funkcionális egység optimalizálja a tevékenységét a saját felelősségi körében, ami végső soron a vállalat stratégiai céljának a célfunkciókkal való helyettesítéséhez vezet. és akadályozza fejlődésüket. A funkcionális megközelítés fő hátrányai kerülnek előtérbe. táblázatban Az 1. ábra bemutatja a menedzsment funkció-orientált megközelítésének fő előnyeit és hátrányait, ami segít rendszerezni az ezzel a megközelítéssel kapcsolatos információkat.

1. táblázat - A vállalatirányítás funkcióorientált megközelítésének előnyei és hátrányai

Előnyök

Hibák

Az alkalmazottak lehetőséget kaptak arra, hogy a választott szakmájukra specializálódjanak, és ezáltal a legmagasabb szintű szakmai ismereteket fejlesszék; - a különböző funkciók központosítása miatt a szervezet költségei csökkentek; - biztonságosabbá vált a munkavégzés, hiszen mindenki ismerte a munkahelyét, és azt is, hogy milyen munkát kell végeznie; - könnyebbé vált a cég szervezeti felépítésének kialakítása stb.

Az osztályok elszigetelése egymástól, ami a döntések monopolizálásához vezet; - az osztályok egymással való interakciójának romboló jellege a szervezet érdekeit szolgáló együttműködés helyett; - a munkavállalók magas specializációja, amely nem teszi lehetővé számukra, hogy a felmerülő problémákat összességében lássák; - a szervezeti célok helyettesítése funkcionális célokkal, ami a vállalkozás tevékenységeinek optimalizálása helyett a funkcionális megoldások optimalizálásához vezet; - egy funkcionális egység hatékonyságának kritériuma a vezető véleménye, nem pedig az üzleti folyamat eredménye; - az információs entrópia növekedése a szervezet irányítási hierarchikus szintjei számának növekedésével; - a külső fogyasztókra való orientáció hiánya; - életciklus-folyamatok információs támogatásának eredménytelensége stb.

Funkcionális programozás- a diszkrét matematika egy része és egy programozási paradigma, amelyben a számítási folyamatot a függvények értékeinek kiszámításaként értelmezik az utóbbi matematikai megértésében (szemben a függvényekkel, mint szubrutinokkal az eljárási programozásban).

Szemben az imperatív programozási paradigmával, amely a számítási folyamatot az állapotok szekvenciális változásaként írja le (olyan értelemben, mint az automataelméletben). Ha szükséges, a funkcionális programozásban egy számítási folyamat szekvenciális állapotainak teljes halmazát explicit módon ábrázoljuk, például listaként.

A funkcionális programozás magában foglalja a függvények eredményeinek kiszámítását a bemeneti adatokból és más függvények eredményeiből, és nem foglalja magában a program állapotának explicit tárolását. Ennek megfelelően ez nem jelenti ennek az állapotnak a megváltoztathatóságát (ellentétben az imperatívusszal, ahol az egyik alapfogalom egy változó, amely tárolja az értékét, és lehetővé teszi annak megváltoztatását az algoritmus végrehajtása során).

A gyakorlatban az a különbség a matematikai függvény és a „függvény” fogalma között az imperatív programozásban, hogy az imperatív függvények nemcsak argumentumokra, hanem a függvényen kívüli változók állapotára is támaszkodhatnak, emellett mellékhatásokkal és változással is járhatnak. a külső változók állapota. Így az imperatív programozásban ugyanazon függvény ugyanazon paraméterekkel, de az algoritmus különböző szakaszaiban történő meghívásakor a változók állapotának függvényre gyakorolt ​​hatása miatt eltérő kimeneti adatokat kaphatunk. Funkcionális nyelvben pedig egy függvény ugyanazon argumentumokkal történő meghívásakor mindig ugyanazt az eredményt kapjuk: a kimenet csak a bemenettől függ. Ez lehetővé teszi, hogy a funkcionális nyelvű programok futási idői gyorsítótárazzák a függvények eredményeit, és az algoritmus által nem meghatározott sorrendben meghívják őket, és párhuzamosítsák azokat anélkül, hogy a programozó bármilyen további lépése lenne (amit a mellékhatások nélküli függvények biztosítanak - tiszta függvények).

Funkcionális programozási nyelvek[ | ]

Még nem teljesen működőképes, a Lisp és az APL eredeti verziói is különlegesen hozzájárultak a funkcionális programozás létrehozásához és fejlesztéséhez. A Lisp későbbi verziói, például a Scheme, valamint az APL különféle változatai támogatták a funkcionális nyelv összes tulajdonságát és koncepcióját.

A funkcionális programozási nyelvek, különösen a tisztán funkcionális nyelvek iránti érdeklődés általában inkább tudományos, mint kereskedelmi. Azonban az olyan nevezetes nyelvek, mint az Erlang, OCaml, Haskell, Scheme (1986 után) és specifikus (statisztika), Wolfram (szimbolikus matematika) és (pénzügyi elemzés), valamint az XSLT (XML) felhasználásra találtak a kereskedelmi programozási iparban. . A széles körben használt deklaratív nyelvek, mint az SQL és a Lex/Yacc tartalmaznak néhány funkcionális programozási elemet, például vigyáznak, hogy ne használjanak változókat. A táblázatkezelő nyelvek funkcionálisnak is tekinthetők, mivel a táblázatcellák egy sor olyan funkciót tartalmaznak, amelyek általában csak más celláktól függenek, és ha változókat akarunk modellezni, akkor egy kötelező makrónyelv képességeit kell igénybe venni.

Sztori [ | ]

Az első funkcionális nyelv a Lisp volt, amelyet John McCarthy az ötvenes évek végén hozott létre, és eredetileg az IBM 700/7000-hez valósították meg. (Angol)orosz. A Lisp sok funkcionális nyelvi koncepciót először mutatott be, bár a nyelv nem csak a funkcionális programozási paradigmát használja. A Lisp további fejlesztései olyan nyelveket is tartalmaztak, mint a Scheme és a Dylan.

Fogalmak [ | ]

Egyes fogalmak és paradigmák a funkcionális programozásra jellemzőek, és nagyrészt idegenek az imperatív programozástól (beleértve az objektumorientált programozást is). A programozási nyelvek azonban általában több programozási paradigma hibridjei, így a "többnyire kötelező" programozási nyelvek használhatják ezen fogalmak bármelyikét.

Magasabb rendű funkciók[ | ]

A magasabb rendű függvények olyan függvények, amelyek argumentumként vehetnek fel más függvényeket, és visszaadhatják azokat. A matematikusok gyakran nevezik az ilyen függvényeket operátornak, például derivált operátornak vagy integrációs operátornak.

A magasabb rendű függvények lehetővé teszik a currying használatát – egy függvényt egy argumentumpárból olyan függvényté alakíthatunk, amely egyesével veszi át az argumentumokat. Ez az átalakulás H. Curry tiszteletére kapta a nevét.

Tiszta funkciók [ | ]

A tiszta függvények azok, amelyeknek nincs I/O vagy memória mellékhatása (csak a paramétereiktől függenek, és csak az eredményüket adják vissza). A tiszta függvényeknek számos hasznos tulajdonsága van, amelyek közül sok felhasználható a következők optimalizálására:

  • Ha egy tiszta függvény eredményét nem használjuk, akkor a hívása eltávolítható anélkül, hogy más kifejezéseket károsítanánk.
  • A tiszta függvényhívás eredménye memorizálható, azaz a hívási argumentumokkal együtt egy értéktáblázatban tárolható. Ha a függvényt később ugyanazokkal az argumentumokkal hívjuk meg, akkor annak eredménye kiértékelés nélkül közvetlenül a táblából vehető (ezt néha a hivatkozási átlátszóság elvének is nevezik). A memoizáció kis memóriafelhasználás árán jelentősen növelheti a teljesítményt és csökkentheti egyes rekurzív algoritmusok növekedési sorrendjét.
  • Ha nincs adatfüggőség két tiszta függvény között, akkor a számítási sorrend megváltoztatható vagy párhuzamosítható (vagyis a tiszta függvények számítása megfelel a szálbiztosság elveinek)
  • Ha a teljes nyelv nem teszi lehetővé a mellékhatásokat, akkor bármilyen értékelési politika használható. Ez szabadságot ad a fordítónak a kifejezések kiértékelésének kombinálására és átszervezésére a programban (például fastruktúrák kiiktatása).

Bár a legtöbb kötelező programozási nyelv fordítója felismeri a tiszta függvényeket, és eltávolítja a tiszta függvényhívások gyakori részkifejezéseit, ezt nem mindig tudják megtenni az előre lefordított könyvtárak esetében, amelyek általában nem biztosítják ezt az információt. Egyes fordítók, például a gcc, kulcsszavakkal látják el a programozót a tiszta függvények jelölésére optimalizálás céljából. A Fortran 95 lehetővé teszi a funkciók "tiszta" megjelölését.

Rekurzió [ | ]

A rekurzív függvények általánosíthatók magasabb rendű függvényekkel, például katamorfizmus és anamorfizmus (vagy "konvolúció" és "kibontás") használatával. Az ilyen jellegű függvények egy ilyen fogalom szerepét töltik be, mint egy ciklus az imperatív programozási nyelvekben. [ ]

Érvértékelési megközelítés[ | ]

A funkcionális nyelvek osztályozhatók az alapján, hogy egy függvény argumentumait hogyan dolgozzák fel a kiértékelése során. Technikailag a különbség a kifejezés denotációs szemantikájában rejlik. Például a kifejezés értékelésének szigorú megközelítésével

nyomtatás (len ([ 2 + 1 , 3 * 2 , 1 / 0 , 5 - 4 ]))

a kimenet hiba lesz, mivel a lista harmadik eleme nullával való osztást tartalmaz. Nem szigorú megközelítéssel a kifejezés értéke 4 lesz, mivel a lista hosszának kiszámításához az elemeinek értéke szigorúan véve nem fontos, és előfordulhat, hogy egyáltalán nem számítható ki. Szigorú (alkalmazó) kiértékelési sorrend esetén az összes argumentum értéke előre kiszámításra kerül, mielőtt kiértékelné magát a függvényt. A nem szigorú megközelítésben (normál kiértékelési sorrendben) az argumentumok értékei nem kerülnek kiértékelésre mindaddig, amíg az értékükre nincs szükség a függvény kiértékeléséhez.

A nem szigorú megközelítést általában gráfredukció formájában valósítják meg. A nem szigorú kiértékelés az alapértelmezett több tisztán funkcionális nyelvben, beleértve a Miranda, a Clean és a Haskell nyelveket. [ ]

Nem funkcionális nyelveken[ | ]

Alapvetően nincs akadálya a funkcionális stílusú programok írásának olyan nyelveken, amelyek hagyományosan nem tekinthetők funkcionálisnak, mint ahogy az objektum-orientált stílusú programok is írhatók strukturális nyelveken. Egyes kötelező nyelvek támogatják a funkcionális nyelvekre jellemző konstrukciókat, például a magasabb rendű függvényeket és a listamegértéseket, ami megkönnyíti a funkcionális stílus használatát ezekben a nyelvekben, különösen a Pythonban széles körben használják ezt a megközelítést. Egy másik példa a Ruby nyelv, amely képes mind anonim függvények létrehozására kötött változók (λ-objektumok) használatával, mind magasabb rendű névtelen függvények blokkon keresztül történő rendszerezésére a hozamkonstrukció segítségével. A C-ben a függvénymutatók argumentumtípusként használhatók magasabb rendű függvények létrehozására. A magasabb rendű függvények és a lusta listastruktúra a C++ könyvtárakban valósul meg. A 3.0-s és újabb nyelvi verziókban a λ függvények segítségével funkcionális stílusban írhat programokat.

Programozási stílusok[ | ]

Az imperatív programok hajlamosak bizonyos műveletek végrehajtásához szükséges lépések sorrendjét hangsúlyozni, a funkcionális programok pedig a funkciók elrendezését és összetételét, gyakran a lépések pontos sorrendjének feltüntetése nélkül. Egy egyszerű példa ugyanannak a problémának a két megoldására (ugyanazon Python nyelv használatával) szemlélteti ezt.

# kötelező stílus cél = # hozzon létre egy üres listát a source_list elemhez: # az eredeti lista minden eleméhez transz1 = G(elem) # alkalmazza a G() függvényt transz2 = F(transz1) # F() függvény alkalmazása cél. hozzáfűz(transz2) # a konvertált elem hozzáadása a listához

A funkcionális változat másképp néz ki:

# funkcionális stílus # Az FP nyelvek gyakran rendelkeznek beépített compose() funkcióval komponálás2 = lambda A , B : lambda x : A ( B ( x )) cél = térkép ( összeállítás2 ( F , G ), forrás_lista )

Az imperatív stílustól eltérően, amely leírja a cél eléréséhez vezető lépéseket, a funkcionális stílus az adatok és a cél közötti matematikai kapcsolatot írja le.

Pontosabban, a funkcionális stílus fejlődésének négy szakasza van, az adatok programokban betöltött szerepének csökkenő sorrendjében:

  • Refal (ennek a kategóriának nincs általánosan elfogadott neve, amelyet egyetlen nyelv képvisel);
  • Applikatív (Lisp, Tcl, Rebol);
  • Kombinatorikus (APL / / , / );
  • Pont nélküli (tiszta konkatenatív) (Joy, Cat, Factor, a PostScript egy részhalmaza).

Az első esetben a program teljes szerkezetét az adatstruktúra határozza meg, az utóbbinál az adatok, mint olyanok, egyáltalán nem jelennek meg a forrásban, csak a bemeneten jelennek meg. Egyes nyelvek számos stílust támogatnak: például a Haskell lehetővé teszi, hogy alkalmazó, kombinatív és pont nélküli stílusban írjon.

Sajátosságok [ | ]

A funkcionális programozás fő jellemzője, amely ennek a paradigmának az előnyeit és hátrányait egyaránt meghatározza, hogy megvalósítja állapot nélküli számítástechnikai modell. Ha egy imperatív programnak a végrehajtás bármely szakaszában van állapota, azaz az összes változó értékkészlete, és mellékhatásokat produkál, akkor a tisztán funkcionális programnak nincs állapota sem egészben, sem részben, és nem hoz létre mellékhatást. hatások. Amit az imperatív nyelvekben a változókhoz értékek hozzárendelésével tesznek, a funkcionális nyelvekben a kifejezések függvényparamétereknek való átadásával érhető el. Ennek azonnali következménye, hogy egy tisztán funkcionális program nem tudja megváltoztatni a már meglévő adatait, hanem csak a régiek másolásával és/vagy bővítésével tud újakat generálni. Ennek következménye a hurkok elhagyása a rekurzió javára.

Erősségek [ | ]

Megnövelt megbízhatóság[ | ]

Az állapot nélküli számítástechnika vonzó oldala a megbízhatóság növekedése az egyértelmű strukturálás miatt, valamint a mellékhatások követésének hiánya. Bármely függvény csak helyi adatokkal működik, és mindig ugyanúgy működik velük, függetlenül attól, hogy hol, hogyan és milyen körülmények között hívják. Az adatok mutációjának képtelensége, amikor a program különböző helyein használják, kiküszöböli a nehezen észlelhető hibák megjelenését (például véletlenül rossz értéket rendel egy globális változóhoz egy kötelező programban).

Az egységtesztek megszervezésének egyszerűsége[ | ]

Mivel egy függvény a funkcionális programozásban nem tud mellékhatásokat kiváltani, az objektumok sem a hatókörön belül, sem azon kívül nem változtathatók meg (ellentétben az imperatív programokkal, ahol az egyik függvény beállíthat valamilyen külső változót, amelyet egy második függvény olvas be). Egy függvény kiértékelésének egyetlen hatása a visszaadott eredmény, és az egyetlen tényező, amely befolyásolja az eredményt, az argumentumok értéke.

Így lehetőség van egy program minden függvényének tesztelésére úgy, hogy egyszerűen kiértékeli azokat különböző argumentumérték-készletekből. Ebben az esetben nem kell aggódnia a függvények megfelelő sorrendben történő meghívásával, vagy a külső állapot helyes kialakításával. Ha egy program bármely funkciója átmegy az egységteszteken, akkor biztos lehet a teljes program minőségében. Az imperatív programokban nem elegendő egy függvény visszatérési értékének ellenőrzése: a függvény módosíthatja a külső állapotot, amit szintén ellenőrizni kell, amit a funkcionális programokban nem kell megtenni.

Összeállítás optimalizálási lehetőségek[ | ]

A funkcionális programozás hagyományosan emlegetett pozitív tulajdonsága, hogy lehetővé teszi egy program úgynevezett „deklaratív” formában történő leírását, amikor az eredmény kiszámításához szükséges számos művelet végrehajtásának merev sorrendje nincs kifejezetten megadva, hanem automatikusan létrejön a programban. a függvények kiszámításának folyamata. Ez a körülmény, valamint az állapotok hiánya lehetővé teszi az automatikus optimalizálás meglehetősen összetett módszereinek alkalmazását a funkcionális programokra.

Párhuzamossági képességek[ | ]

A funkcionális programok másik előnye, hogy széleskörű lehetőséget biztosítanak a számítások automatikus párhuzamosítására. Mivel a mellékhatások hiánya garantált, bármely függvényhívásban mindig lehetőség van két különböző paraméter párhuzamos kiértékelésére – a kiértékelésük sorrendje nem befolyásolhatja a hívás eredményét.

Hibák [ | ]

A funkcionális programozás hátrányai ugyanazokból a tulajdonságokból fakadnak. A hozzárendelések hiánya és új adatok generálásával való helyettesítése folyamatos memóriakiosztás és automatikus felszabadítás szükségességét vonja maga után, ezért egy funkcionális program végrehajtó rendszerében a nagy hatékonyságú szemétgyűjtő kötelező összetevővé válik. A laza számítási modell a függvényhívások előre nem látható sorrendjét eredményezi, ami problémákat okoz az I/O-ban, ahol a műveletek sorrendje fontos. Természetesen a bemeneti függvények természetes formájukban (például a nyelv standard könyvtárából származó getchar) nem tiszták, mivel ugyanazon argumentumokhoz különböző értékeket adhatnak vissza, és ennek kiküszöbölésére bizonyos trükkökre van szükség.

A funkcionális programok hiányosságainak kiküszöbölésére már az első funkcionális programozási nyelvek nemcsak tisztán funkcionális eszközöket, hanem elengedhetetlen programozási mechanizmusokat is tartalmaztak (a hozzárendelés, a ciklus, az „implicit PROGN” már a Lisp-ben volt). Az ilyen eszközök használata megoldhat néhány gyakorlati problémát, de ez azt jelenti, hogy el kell távolodni a funkcionális programozás gondolataitól (és előnyeitől), és kötelező programokat kell írni funkcionális nyelveken. A tisztán funkcionális nyelvekben ezeket a problémákat más eszközökkel oldják meg, például a Haskellnél az I/O-t monádok segítségével valósítják meg, ez a kategóriaelméletből kölcsönzött nem triviális fogalom.

Lásd még [ | ]

Megjegyzések [ | ]

  1. A. Field, P. Harrison Funkcionális programozás: Transl. angolról - M.: Mir, 1993. - 637 p., ill. ISBN 5-03-001870-0. oldal 120 [6. fejezet: Matematikai alapok: λ-számítás].

A jó vezetés mindig eredményorientált, segítve a vállalatot, hogy a legtöbbet hozza ki üzletéből. Ezért a vállalatvezetés fő célja, hogy a szervezet összes folyamatának eredményét összehangolja az üzleti követelményekkel.

A funkcionális megközelítés azt feltételezi, hogy bármely vállalat reprezentálható konkrét cselekvések és funkciók összességeként, amelyeket a személyzet a munkahelyén végez. Minden alkalmazott a saját részlegén dolgozik, csak a saját funkcióit, saját feladatait látja el. Látja, hogyan dolgoznak osztályán dolgozók, és képes értékelni munkájuk eredményességét. Megérti, hogy munkája hogyan befolyásolja az egység teljesítményét. De hogy munkája eredménye hogyan befolyásolja az egész cég teljesítményét, nem tudja és nem látja benne a helyét. Az alkalmazottak nem motiváltak a szomszédos részlegekkel való együttműködésre, és nem a vállalat végeredményére összpontosítanak. Ez az egyik hátránya a gazdasági objektumok kezelésének funkcionális megközelítésének.

A szervezet irányításának folyamatszemlélete ellentéte a funkcionálisnak. A folyamatszemlélet azt javasolja, hogy ne az alkalmazottak egyéni funkcióit vegyék figyelembe, hanem a vállalatban előforduló, egymással összefüggő folyamatok összességét. A vállalatnál minden üzleti folyamat összefügg egymással információ- és anyagáramláson, erőforrásokon és személyzeten keresztül. A folyamatszemlélet a vállalkozást egységes folyamatrendszerként írja le.

Az üzleti folyamatok leggyakrabban a vállalat több részlegén haladnak át egyszerre. És ha minden üzleti folyamat világosan le van írva, minden folyamatnak megvan a maga tulajdonosa, saját szabályozása, erőforrásai, akkor a vállalat vezetése sokkal könnyebben azonosítja a problémákat és azokat időben kijavítja. Ez biztosítja a vállalat összes üzleti tevékenységének átláthatóságát, folyamatos ellenőrzését és fejlesztését.

A folyamatszemléletű megközelítésnél fontos, hogy minden folyamatot az ügyfél számára értékes eredményekre összpontosítsanak. A folyamat (külső és belső) ügyfél-elégedettségének felmérése nemcsak fenntartja a vállalat ügyfélközpontúságát, hanem növeli a különböző részlegek dolgozói közötti cselekvések következetességét is.

Funkcionális megközelítéssel a szervezet funkciók, cselekvések, műveletek összessége, a szervezet irányítása pedig funkciók irányítása. A folyamatszemlélettel a szervezet üzleti folyamatok halmaza, nem pedig funkciók, a szervezet irányítása pedig folyamatok menedzselése.

Az üzleti folyamatok irányításával egy vállalat növelheti tevékenységének hatékonyságát. Ez az a folyamatszemlélet, amelyet a vállalat tevékenységének minőségi javításának eszközeként ismernek el. Ezért megvalósítása során a vállalat irányíthatóságának növelésére, a szervezet irányítási rendszerének és minden üzleti tevékenységének átláthatóságának növelésére számítanak. A folyamatszemlélet bevezetése csökkenti az irányítási költségeket, a személyi költségeket, bizonyos műveletek, akciók, funkciók elvégzésének költségeit az üzleti folyamatokon belül. A vezetők döntéshozatali folyamatai is felgyorsulnak a vezetés minden szintjén, ami pozitív hatással van a vállalat versenyképességére.


A vállalat összes üzleti folyamata 3 típusra oszlik: alapfolyamatok, irányítási folyamatok, erőforrás-ellátási folyamatok.

Alapfolyamatok. Ezek valósítják meg a vállalat fő tevékenységeit, ezek életciklusának folyamatai. Például: Beszerzési folyamat, Ügyfél szolgáltatása, Termékek előállítása, Szállítás kiszállítás, Raktározás szervezése, Áruértékesítés, Áru/szolgáltatás értékesítése, Marketing, Anyag és alapanyag beszerzés stb.

Menedzsment folyamatok. Ezek a folyamatok biztosítják a vállalat alaptevékenységét irányítási folyamatokkal. Például: Stratégiai menedzsment, Üzleti tervezés, Politika kialakítása a partnerekkel és ügyfelekkel való kapcsolattartásra, Projektmenedzsment, Minőségmenedzsment, Kockázatkezelés, Jelentéskezelés.

Erőforrás-ellátási folyamatok. Ezek a folyamatok biztosítják a vállalat fő tevékenységeit erőforrásokkal, és megteremtik a normális működés feltételeit. A vállalat alaptevékenységét mérő, elemző és üzleti folyamatokat javító eszközökkel is ellátják. Például: Pénzügyi források biztosítása, Tárgyi erőforrások biztosítása, Személyzet biztosítása, Információbiztonság biztosítása, Információs források biztosítása, Információk tárolása és visszakeresése, A termelés környezetbarátságának biztosítása, Külkapcsolatok kezelésének biztosítása stb.

Funkcionális megközelítés - koncepció és típusok. A „Funkcionális megközelítés” kategória besorolása és jellemzői 2017, 2018.

  • - Funkcionális megközelítés

    A funkcionális megközelítés megkülönböztető vonása a prebiológiai rendszerek önszerveződési folyamatainak tanulmányozása és azon törvényszerűségek azonosítása, amelyeknek ezek a folyamatok alá vannak vetve. Az elemi katalitikus rendszerek önfejlődésének elmélete a legáltalánosabb formájában általános... .


  • -

    Pluralista megközelítés A pluralista megközelítés fő képviselői Robert Dahl amerikai kutató és Joseph Schumpeter osztrák tudós. Véleményük szerint a politikai hatalom erőforrásait, nevezetesen a pénzt, a presztízst, a médiához való hozzáférést stb., osztják el... .


  • - Instrumentális-funkcionális megközelítés

  • - Instrumentális-funkcionális megközelítés

    Miközben elismerik, hogy az elitisták és a pluralisták jelentős mértékben hozzájárultak a társadalom szerkezetének és a társadalmi interakció mechanizmusainak vizsgálatához, számos tudós felhívja a figyelmet e modellek gyenge pontjaira is. A pluralizmussal szembeni leggyakoribb kifogás a nyilvánvaló...


  • - Funkcionális szervezési megközelítés és racionalista vezetési iskola.

    Elsőként a racionalista iskola jelent meg. Eredetileg Frederick Taylor (1856-1915) amerikai mérnök volt. Pályáját egyszerű munkásként kezdte, majd levelezőn felsőfokú végzettséget szerezve 8 év alatt egy városi acélipari vállalat főmérnöki pozíciójába emelkedett.... .


  • - Az emlékezetkutatás funkcionális megközelítése

    A számítógépes metaforákat használó memóriamodellek sikeres fejlesztése ellenére világossá vált, hogy az emberi és a számítógépes információfeldolgozás közötti analógia nem kielégítő. A kutatók mindenekelőtt szembesültek az ilyen... befolyásának tényével.


  • - Funkcionális megközelítés.

    Ezt a megközelítést Talcott Parsons (1902-1979) amerikai szociológus javasolta 1960-ban a társadalom és a társadalmi jelenségek strukturális-funkcionális elemzésének elmélete keretében. Ebben a megközelítésben a szervezeteket a társadalomban megvalósított funkciók - céljuk szerint - megkülönböztetik: -...