Vsi smo že slišali za pravilo 80/20, tisto, ki pravi, da 80% našega uspeha (učinki) izvira le iz 20% naših dejanj (vzrokov). No, ta univerzalna resnica vpliva tudi na razvoj programske opreme in v tem članku bomo predstavili nekaj osnov te izjave.
BPM
Upravljanje poslovnih procesov je s svojo kratico v angleščini disciplina upravljanja (med drugim), ki omogoča vizualno razumevanje procesov, ki jih je treba izvesti v podjetju (ali marsikje drugje). Med njegovimi glavnimi lastnostmi je dejstvo, da lahko analizira zapletene procese in jih naredi "preproste".
Obstaja veliko odprtokodnih orodij, ki vam omogočajo razvoj diagramov BPM, tisto, ki sem ga uporabil za ta članek, je BonitaSoft. Če želite izvedeti nekaj več o upravljanju procesov, obstaja veliko vadnic na internetu in knjig na to temo. Zdaj se vrnimo k osrednji temi.
Programski projekti
Danes obstaja veliko metodologij za razvoj projektov: agilne, tradicionalne, hibridne in tako naprej. Vsem je skupna ena stvar, in sicer priprava . Kaj mislim s tem? Da bo 80 % vašega uspeha pri tem programskem projektu odvisnega od prvih 20 % celotnega procesa: priprave.
Priprava projekta
To je logična točka, ki se v praksi redko uporablja (kot mnoge druge logične stvari, ki so v praksi nelogične). Ko govorimo o pripravi, moramo razumeti sposobnost razumevanja problema, razumevanja rešitve in predvsem procesa , ki ga rešitev vključuje. Ena najmanj pogostih stvari, ki jih najdemo pri neprofesionalnih programskih projektih, je pomanjkanje dokumentacije na to temo. To se običajno dogaja v zasebnih podjetjih, saj želja po prodaji pogosto zasenči proces razvoja.
Ker mnogi, ki berejo te članke, delajo v tehnologiji ali so z njo povezani, je vredno omeniti, da če kadar koli v svojem delovnem življenju naletijo na podjetje/dobavitelja, ki ne izpolnjuje dobrih standardov priprave, je skoraj 80-odstotno gotovo, da projekt ne bo šel dobro.
Ključna je abstrakcija
To sem se naučil v času uporabe GNU/Linuxa in vedno znova se izkaže za ključnega v procesu razvoja programske opreme. Sposobnost abstrahiranja problemov in njihove pretvorbe v preprostejše stvari je bistvenega pomena za ustvarjanje elegantne in predvsem trpežne kode . In morda je to ena glavnih razlik med velikimi profesionalnimi projekti in projekti, ki nenadzorovano rastejo. Prvi premislijo, razumejo in strukturirajo proces, drugi pa ga preprosto ohranjajo v teku, ne da bi ga morali razumeti.
stager
To je ime projekta, ki ga razvija namestitveni program Gentoo, kot si lahko predstavljate, je to precej zapleten postopek, saj podpira veliko število arhitektur. Drugi dejavnik, ki ga je treba upoštevati, je število konfiguracij, ki jih podpira, na ravni jedra, sistema init itd. In vse to vam povem, ker je to tudi moj diplomski projekt, ki ga moram zaključiti pred zaključkom študija. Očitno v tako kratkem času (do julija prihodnje leto) ne morem izdelati programa, ki bi vseboval popolnoma vse možne možnosti, lahko pa vsaj ustvarim takšnega, ki omogoča namestitev funkcionalnega sistema na zelo osnovni način.
Razumevanje namestitvenega postopka
Zahvaljujoč orodjem BPM je mogoče ustvariti procesni diagram, ki nam omogoča razumevanje korakov, potrebnih za uspešno namestitev Gentooja v računalnik.
Lastno. Christopher Diaz Riveros
Kljub temu, da vsebuje več procesov in podprocesov, je očitno precej povzet in vidimo, da imamo 18 linearnih korakov. To je pomembno, ker je aplikacija z linearno strukturo enostavna za izvajanje, hkrati pa lahko po potrebi ustvarite vzporednost v eni ali več nitih.
Drug pomemben dejavnik je, da nam omogoča abstrahiranje nizov procesov po vrsti; na primer, definiranje podprocesa jedra nam omogoča, da vemo, da znotraj njega obstajajo specifične naloge, ki so neposredno povezane s postopkom uspešne namestitve jedra.
Lastno. Christopher Diaz Riveros
Na ta način vsak "zapleten" korak postane "preprost" na globalen način, ne da bi izgubili potrebne podrobnosti. To olajša vidljivost sklopa brez zmanjšanja ravni specifikacije, potrebne za uspešno dokončanje postopka. In ne moremo zanikati, da je lažje videti sliko kot prebrati celoten priročnik naenkrat
Prihrani čas
Druga očitna prednost je v tem, da je mogoče, če nimate neposredno povezanega programskega jezika, izvesti logično analizo, ne da bi pri tem zapravljali čas. To je prednost v primerjavi s časom, ki ga lahko porabite za izvajanje funkcije, da ugotovite, da bo zavržena, ker obstaja učinkovitejša rešitev. Tako kot bi bile rešitve v psevdo-kodi (nekaj, kar mnogi "razvijalci" tudi prezrejo, a tega ne bi smeli).
Enostavno vodenje projektov
Ob upoštevanju teh konceptov postane vodenje projekta (kakršnega koli) enostavnejše, saj napore usmerimo tja, kjer so res potrebni, in če je ta del pravilno izveden, ostalo pade pod svojo težo. Upam, da bo pomagalo vaši radovednosti in vas motiviralo k raziskovanju BPM, algoritmov in kdo ve, morda vas bo spodbudilo, da mi pomagate pri diplomski nalogi Najlepša hvala, da ste prišli tako daleč in se kmalu vidimo. lep pozdrav