Skip to main content
Query

10.3: Maendeleo ya Programu

  • Page ID
    164858
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Maendeleo ya Programu

    Mbinu nyingi zilizojadiliwa hapo juu zinatumika kusimamia maendeleo ya programu kwani programu ni ngumu, na wakati mwingine makosa ni vigumu kuchunguza. Tulijifunza katika sura ya 2 kwamba programu imeundwa kupitia programu, na programu ni mchakato wa kuunda seti ya maelekezo ya mantiki kwa kifaa cha digital kufuata kwa kutumia lugha ya programu. Mchakato wa programu wakati mwingine huitwa “coding” kwa sababu syntax ya lugha ya programu sio fomu ambayo kila mtu anaweza kuelewa - iko katika “msimbo.”

    Mchakato wa kuendeleza programu nzuri ni kawaida si rahisi kama kukaa chini na kuandika kanuni fulani. Kweli, wakati mwingine programu anaweza kuandika haraka mpango mfupi wa kutatua haja. Lakini mara nyingi, uumbaji wa programu ni mchakato wa rasilimali ambao unahusisha makundi kadhaa ya watu katika shirika. Katika sehemu zifuatazo, tutaangalia mbinu mbalimbali za maendeleo ya programu.

    Sidebar: pembetatu ya usimamizi wa mradi

    Wakati wa kuendeleza programu au bidhaa yoyote au huduma, kuna mvutano kati ya watengenezaji na makundi mbalimbali ya wadau, kama vile usimamizi, watumiaji, na wawekezaji. mtini. 10.5 unaeleza mvutano wa mahitaji matatu: wakati, gharama, na ubora kwamba mameneja wa mradi haja ya kufanya biashara katika. Kutoka kwa jinsi programu hiyo inaweza kuendelezwa (wakati), kwa kiasi gani cha fedha kitatumika (gharama), kwa jinsi gani kitajengwa (ubora). Pembetatu ya ubora ni dhana rahisi. Inasema kwamba unaweza tu kushughulikia mbili zifuatazo: wakati, gharama, na ubora kwa bidhaa yoyote au huduma inayoendelezwa.

    Triangle na wigo wa maneno, muda na gharama katika kila kona na ubora katika kituo
    mtini 10.6 Usimamizi wa Mradi Quality Triang Picha na Mapto ni leseni ya Umma Domain

    Kwa hiyo ina maana gani kwamba unaweza tu kushughulikia mbili kati ya tatu? Ina maana kwamba ubora wa bidhaa ya kumaliza inategemea vigezo vitatu: upeo, ratiba, na bajeti iliyotengwa. Mabadiliko katika yoyote ya vigezo hivi vitatu kuathiri wengine wawili, hivyo, ubora.

    Kwa mfano, ikiwa kipengele kinaongezwa, lakini hakuna muda wa ziada unaoongezwa kwenye ratiba ya kuendeleza na kupima, ubora wa kanuni unaweza kuteseka, hata kama pesa zaidi huongezwa. Kuna nyakati ambapo ni hata upembuzi yakinifu kufanya biashara. Kwa mfano, kuongeza watu zaidi kwenye mradi ambapo wanachama wamezidiwa sana kwamba hawana muda wa kusimamia au kuwafundisha watu wapya. Kwa ujumla, mtindo huu unatusaidia kuelewa biashara tunapaswa kufanya wakati wa kuendeleza bidhaa na huduma mpya.

    Lugha za Programu

    Moja ya maamuzi muhimu ambayo timu ya mradi inahitaji kufanya ni kuamua ni lugha ipi ya programu ambayo itatumiwa na zana zinazohusiana katika mchakato wa maendeleo. Kama ilivyoelezwa katika sura ya 3, watengenezaji wa programu huunda programu kwa kutumia moja ya lugha kadhaa za programu. Lugha ya programu ni lugha rasmi ambayo hutoa njia kwa programu ya kuunda msimbo wa muundo ili kuwasiliana na mantiki katika muundo ambao vifaa vya kompyuta vinaweza kutekeleza. Katika miongo michache iliyopita, lugha nyingi za programu zimebadilika ili kukidhi mahitaji mengi tofauti.

    Hakuna njia moja ya kuainisha lugha. Hata hivyo, mara nyingi huwekwa kwa aina (yaani, swala, scripting), au kwa wakati wa mwaka wakati ulipoanzishwa (i., e. Fortran ilianzishwa mwaka wa 1954), na “kizazi” chao, kwa jinsi kilichotafsiriwa kwa kanuni ya mashine, au jinsi ilivyofanyika. Tutajadili makundi machache katika sura hii.

    Vizazi vya Lugha za Programu

    Lugha za awali zilikuwa maalum kwa aina ya vifaa ambavyo vinapaswa kupangwa; kila aina ya vifaa vya kompyuta ilikuwa na lugha tofauti ya programu ya kiwango cha chini (kwa kweli, hata leo, kuna tofauti katika ngazi ya chini, ingawa lugha za programu za kiwango cha juu sasa zinawaficha). Katika lugha hizi za mwanzo, maelekezo sahihi yalipaswa kuingizwa mstari kwa mstari - mchakato wa kuchochea.

    Baadhi ya sifa za kawaida zimefupishwa hapa chini ili kuonyesha tofauti kati ya vizazi hivi:

    Kizazi cha kwanza (1GL)

    Kizazi cha pili (2GL)

    Kizazi cha tatu (3GL)

    Kizazi cha nne (4GL)

    Kizazi cha tano (5GL)

    Muda ulianzishwa (est).

    1940 au mapema

    1950

    1950s-1970

    1970s-1990

    miaka ya 1980 na 1900

    Maelekezo

    Wao ni alifanya ya idadi binary ya 0 na 1s

    Tumia seti ya syntax inayoweza kusomeka na wanadamu na waandaaji

    Syntax ni muundo zaidi na imeundwa na lugha zaidi ya binadamu

    Syntax ni ya kirafiki kwa wasio programu

    Bado katika maendeleo.

    Jamii

    Machine tegemezi

    Nambari ya mashine

    Machine tegemezi

    Ngazi ya chini, Bunge Lugha

    Machine huru

    Ngazi ya Juu

    Machine huru

    Kiwango cha juu cha uondoaji,

    3GLs za juu

    Programu ya mantiki

    Faida

    Haraka sana, hakuna haja ya 'tafsiri' hadi 0s na 1s

    Code inaweza kusomwa na kuandikwa na programmers rahisi zaidi kuliko kujifunza mashine code

    Zaidi mashine huru

    Zaidi ya kirafiki kwa programmers

    Madhumuni ya jumla

    Rahisi kujifunza

    Inaweza kuhitaji programu za kuandika programu

    Hasara

    Machine tegemezi, si portable

    Lazima waongofu kuwa code mashine, bado mashine tegemezi

    Inaweza kwenda hatua nyingi kutafsiri kwa msimbo wa mashine

    Zaidi maalumu

    Bado mapema katika awamu ya kupitishwa

    Matumizi ya leo

    Ikiwa inahitajika kuingiliana na vifaa moja kwa moja kama vile madereva (yaani, dereva wa USB)

    Ikiwa inahitajika kuingiliana na vifaa moja kwa moja kama vile madereva (yaani, dereva wa USB)

    3GLs za kisasa zinatumiwa zaidi.

    3GLs mapema hutumiwa kudumisha mipango ya biashara iliyopo au mipango ya kisayansi.

    Database, maendeleo ya mtandao

    Limited

    Visual zana, Bandia akili utafiti

    Mifano

    Lugha ya mashine

    Lugha ya Bunge

    3GLs mapema: COBOL, Fortran

    3PLs za kisasa: C, C ++, Java, Javascript

    Perl, PHP, Python, SQL, Ruby

    Mercury, OPS5

    Statista.com iliripoti kuwa kufikia mapema 2020, Javascript ilikuwa lugha iliyotumiwa zaidi kati ya watengenezaji duniani kote. Kuona orodha kamili, tafadhali v isit Statista.com kwa maelezo zaidi.

    Sidebar: Mifano ya lugha

    Lugha ya kizazi cha kwanza: msimbo wa mashine. Katika msimbo wa mashine, programu inafanywa kwa kuweka moja kwa moja na zero halisi (bits) kwa kutumia msimbo wa binary. Hapa ni mfano wa mpango huo

    anaongeza 1234 na 4321 kutumia lugha mashine:

    10111001

    000000

    11010010

    10100001

    00:000100

    000000

    10001001

    000000

    00:00:11

    10001011

    000000

    00:011110

    000000

    00:011110

    000000

    00:0010

    10111001

    000000

    11100001

    00:0011

    00:010000

    11000011

    10001001

    10100011

    00:00:11

    00:000100

    00:0010

    000000

    Lugha ya kizazi cha pili. Lugha ya Mkutano inatoa misemo ya Kiingereza kwa maelekezo ya msimbo wa mashine, na iwe rahisi programu. Mpango wa lugha ya mkutano lazima uendeshwe kupitia mkusanyiko, ambao huibadilisha kuwa msimbo wa mashine. Hapa ni mfano wa mpango unaoongeza 1234 na 4321 kwa kutumia lugha ya mkutano:

    HOJA CX,1234 HOJA MATANGAZO: [0], CXX HOJA CX,4321 HOJA KODI, MATANGAZO: [0]

    HOJA SANDUKU, MATANGAZO: [2] KUONGEZA KODI, SANDUKU

    HOJA ADS: [4], KODI

    Lugha za kizazi cha tatu si maalum kwa aina ya vifaa wanavyoendesha na ni zaidi kama lugha zinazozungumzwa. Lugha nyingi za kizazi cha tatu zinapaswa kuandaliwa, mchakato unaowabadilisha kuwa msimbo wa mashine. Lugha zinazojulikana za kizazi cha tatu ni pamoja na BASIC, C, Pascal, na Java. Hapa ni mfano kwa kutumia BASIC:

    A=1234 B=4321 C=A+B MWISHO

    Lugha za kizazi cha nne ni darasa la zana za programu zinazowezesha maendeleo ya haraka ya maombi kwa kutumia interfaces na mazingira ya angavu. Mara nyingi, lugha ya kizazi cha nne ina madhumuni fulani, kama vile mwingiliano wa database au kuandika ripoti. Vifaa hivi vinaweza kutumiwa na wale walio na mafunzo kidogo sana rasmi katika programu na kuruhusu maendeleo ya haraka ya programu na/au utendaji. Mifano ya lugha za kizazi cha nne ni pamoja na Clipper, FOCUS, FoxPro, SQL, na SPSS.

    Kwa nini mtu yeyote anataka programu katika lugha ya kiwango cha chini wakati wanahitaji kazi nyingi zaidi? Jibu ni sawa na kwa nini wengine wanapendelea kuendesha magari ya fimbo-kuhama badala ya maambukizi ya moja kwa moja: udhibiti na ufanisi. Lugha za kiwango cha chini, kama vile lugha ya mkutano, zinafaa zaidi na zinafanya haraka zaidi. Una udhibiti finer juu ya vifaa kama vile. Wakati mwingine, mchanganyiko wa lugha za juu na za chini huchanganywa pamoja ili kupata bora zaidi ya walimwengu wote wawili: mtayarishaji ataunda muundo wa jumla na interface kwa kutumia lugha ya kiwango cha juu lakini atatumia lugha za kiwango cha chini popote katika programu ambayo inahitaji usahihi zaidi.

    Imekusanywa vs.

    Mbali na kuainisha lugha ya programu kulingana na kizazi chake, inaweza pia kuainishwa kama lugha iliyoandaliwa au kufasiriwa. Kama tulivyojifunza, lugha ya kompyuta imeandikwa kwa fomu inayoweza kusoma na binadamu. Katika lugha iliyoandaliwa, msimbo wa programu hutafsiriwa katika fomu inayoweza kusoma mashine inayoitwa kutekelezwa ambayo inaweza kuendeshwa kwenye vifaa. Baadhi ya lugha zinazojulikana zilizoandaliwa ni pamoja na C, C++, na COBOL.

    Lugha iliyofasiriwa inahitaji mpango wa kukimbia ili uweke kutekeleza. Programu hii ya kukimbia kisha inatafsiri mstari wa msimbo wa mpango kwa mstari na kuendesha. Lugha zilizotafsiriwa kwa ujumla ni rahisi kufanya kazi na lakini ni polepole na zinahitaji rasilimali zaidi za mfumo. Mifano ya lugha maarufu zilizotafsiriwa ni pamoja na BASIC, PHP, PERL, na Python. Lugha za wavuti kama vile HTML na Javascript pia zitachukuliwa kutafsiriwa kwa sababu zinahitaji kivinjari kukimbia.

    Lugha ya programu ya Java ni ubaguzi wa kuvutia kwa uainishaji huu, kwa kuwa ni mseto wa mbili. Programu iliyoandikwa katika Java imeandaliwa sehemu ili kuunda programu ambayo inaweza kueleweka na Java Virtual Machine (JVM). Kila aina ya mfumo wa uendeshaji ina JVM yake mwenyewe, ambayo inapaswa kuwekwa, kuruhusu mipango ya Java kukimbia kwenye aina nyingi za mifumo ya uendeshaji.

    Utaratibu dhidi ya Kitu-Oriented

    Lugha ya programu ya utaratibu imeundwa ili kuruhusu programu kufafanua hatua maalum ya kuanza kwa programu na kisha kutekeleza sequentially. Lugha zote za programu za mapema zilifanya kazi kwa njia hii. Kama interfaces ya mtumiaji ikawa zaidi ya maingiliano na ya kielelezo, ilikuwa na maana kwa lugha za programu kugeuka ili kuruhusu mtumiaji kufafanua mtiririko wa programu. Lugha ya programu inayoelekezwa na kitu imewekwa ili kufafanua “vitu” ambavyo vinaweza kuchukua hatua fulani kulingana na pembejeo ya mtumiaji. Kwa maneno mengine, mpango wa kiutaratibu unazingatia mlolongo wa shughuli zinazofanyika; mpango unaoelekezwa na kitu unazingatia vitu tofauti vinavyotumiwa.

    Kwa mfano, katika mfumo wa rasilimali za binadamu, kitu cha “MFANYAKAZI” kitahitajika. Kama mpango zinahitajika retrieve au kuweka data kuhusu mfanyakazi, ingekuwa kwanza kujenga mfanyakazi kitu katika mpango na kisha kuweka au retrieve maadili zinahitajika. Kila kitu kina mali, ambazo ni mashamba ya kuelezea yanayohusiana na kitu. Katika mfano hapa chini, kitu cha mfanyakazi kina mali “Jina,” “Nambari ya mfanyakazi,” “Tarehe ya kuzaliwa,” na “Tarehe ya kukodisha.” Kitu pia kina “mbinu,” ambazo zinaweza kuchukua hatua zinazohusiana na kitu. Katika mfano, kuna njia mbili. Ya kwanza ni “ComputePay (),” ambayo itarudi kiasi cha sasa kilichopaswa kwa mfanyakazi. Ya pili ni “ListEmployees (),” ambayo itarejesha orodha ya wafanyakazi ambao wanaripoti kwa mfanyakazi huyu.

    Mfanyakazi kitu

    Kitu: MFANYAKAZI

    First_Name

    Last_Name

    Employe_ID

    Tarehe ya kuzaliwa

    date_of_Hire

    ComputePay ()

    Orodha ya wafanyakazi ()

    Zana za Programu

    Uamuzi mwingine unaohitajika kufanywa wakati wa maendeleo ya IS ni seti ya zana zinazohitajika kuandika programu. Ili kuandika programu, waandaaji wanahitaji zana za kuingia msimbo, angalia syntax ya msimbo, na njia fulani ya kutafsiri msimbo wao kwenye msimbo wa mashine. Ili kuwa na ufanisi zaidi katika programu, waandaaji hutumia zana jumuishi kama vile mazingira ya maendeleo jumuishi (IDE) au zana za uhandisi wa programu za kompyuta (CASE).

    Mazingira Jumuishi ya Maendeleo (IDE)

    Kwa lugha nyingi za programu, IDE inaweza kutumika. IDE hutoa zana mbalimbali kwa programu, wote katika sehemu moja na interface thabiti ya mtumiaji. IDE kawaida hujumuisha:

    • mhariri wa kuandika programu ambayo itakuwa msimbo wa rangi au kuonyesha maneno muhimu kutoka kwa lugha ya programu;
    • mfumo wa usaidizi ambao hutoa nyaraka za kina kuhusu lugha ya programu;
    • compiler/mkalimani, ambayo itawawezesha programu kuendesha programu;
    • chombo cha kufuta, ambacho kitatoa maelezo ya programu kuhusu utekelezaji wa programu ya kutatua matatizo katika msimbo; na
    • utaratibu wa kila mmoja inaruhusu timu ya programmers kufanya kazi pamoja katika mradi na si kuandika juu ya mabadiliko ya msimbo wa kila mmoja.

    Statista.com inaripoti kuwa 80% ya watengenezaji wa programu duniani kote kutoka 2018 na 2019 hutumia chombo cha ushirikiano wa msimbo wa chanzo kama vile GitHub, 77% hutumia IDE ya kawaida kama Eclipse, 69% hutumia Microsoft Visual Studio. Kwa orodha kamili, tafadhali tembelea statista.com.

    Vifaa vya uhandisi wa programu za kompyuta (CASE)

    Wakati IDE hutoa zana kadhaa ili kusaidia programu katika kuandika programu, kanuni bado lazima iandikwa. Vifaa vya uhandisi wa programu za kompyuta (CASE) vinaruhusu mtengenezaji kuendeleza programu na programu ndogo au hakuna. Badala yake, chombo cha CASE kinaandika msimbo wa mtengenezaji. Vifaa vya CASE vinakuja katika aina nyingi, lakini lengo lao ni kuzalisha msimbo wa ubora kulingana na pembejeo ya mtengenezaji.

    Kujenga vs kununua au Kujiunga

    Wakati shirika linapoamua kuwa programu mpya ya programu inahitaji kuendelezwa, lazima iweze kuamua ikiwa ni busara zaidi kuijenga wenyewe au kununua kutoka kampuni ya nje. Hii ni “kujenga vs kununua” uamuzi. Uamuzi huu wa 'kununua' sasa unajumuisha fursa ya kujiunga badala ya kununua kwa urahisi.

    Kuna faida nyingi za kununua programu kutoka kampuni ya nje. Kwanza, kwa ujumla ni ghali zaidi kununua mfuko wa programu kuliko kuijenga. Pili, wakati mfuko wa programu ununuliwa, unapatikana kwa haraka zaidi kuliko ikiwa mfuko umejengwa ndani ya nyumba. Tatu, makampuni au watumiaji hulipa bei ya wakati mmoja na kupata kuweka programu kwa muda mrefu kama leseni inaruhusu na inaweza kuwa muda mrefu kama wewe mwenyewe au hata baada ya muuzaji kuacha kuunga mkono. Programu za programu zinaweza kuchukua miezi au miaka kujenga; mfuko ununuliwa unaweza kuwa juu na kukimbia ndani ya mwezi. Mfuko ulionunuliwa tayari umejaribiwa, na mende nyingi tayari zimefanyika, na mikataba ya ziada ya msaada inaweza kununuliwa. Ni jukumu la integrator ya mifumo ya kufanya mifumo mbalimbali ya kununuliwa na mifumo iliyopo katika shirika hufanya kazi pamoja.

    Pia kuna hasara za ununuzi wa programu. Kwanza, programu hiyo unayotumia inaweza kutumika na washindani wako. Ikiwa kampuni inajaribu kujitofautisha yenyewe kulingana na mchakato wa biashara katika programu hiyo iliyoinunuliwa, itakuwa na wakati mgumu kufanya hivyo ikiwa washindani wake wanatumia programu hiyo. Hasara nyingine ya ununuzi wa programu ni mchakato wa usanifu. Ikiwa unununua mfuko wa programu kutoka kwa muuzaji na kisha uifanye, utahitaji kusimamia uboreshaji huo kila wakati muuzaji hutoa kuboresha. Pamoja na kuongezeka kwa usalama na faragha, makampuni yanaweza kukosa utaalamu wa ndani ya nyumba ili kujibu haraka. Kuweka sasisho mbalimbali na kushughulika na mende zilizokutana pia inaweza kuwa mzigo kwa wafanyakazi wa IT na watumiaji. Hii inaweza kuwa maumivu ya kichwa ya utawala.

    Suluhisho la mseto ni kujiunga. Kujiunga ina maana kwamba badala ya kuuza bidhaa moja kwa moja, wachuuzi sasa hutoa mfano wa usajili ambao watumiaji wanaweza kukodisha na kulipa mara kwa mara, kama kila mwezi, kila mwaka. Mfano wa kukodisha umetumika katika viwanda vingine vingi kama vile sinema, vitabu na hivi karibuni umehamia katika viwanda vya teknolojia ya juu. Makampuni na watumiaji wanaweza sasa kujiunga na karibu kila kitu, kama tulivyojadiliwa katika sura za awali, kutoka kwenye hifadhi ya ziada kwenye majukwaa yako ya barua pepe kama vile Hifadhi ya Google au Microsoft Onedrive, kwa programu kama vile Quickbooks, Microsoft Office 365, hadi kuhudhuria na huduma za usaidizi wa wavuti kama Amazon AWS. Wachuuzi wanafaidika kutokana na kubadilisha mauzo ya wakati mmoja kwa mauzo ya mara kwa mara na kuongeza Wateja wanafaidika na maumivu ya kichwa ya kufunga sasisho, kuwa na msaada wa programu na sasisho zilizochukuliwa kwa moja kwa moja, wakijua kwamba programu inaendelea kusasishwa na vipengele vipya. Mfano wa usajili sasa ni chaguo kubwa kwa watumiaji na biashara.

    Hata kama shirika linaamua kununua au kujiunga, bado ni mantiki kupitia uchambuzi mingi huo ili kulinganisha gharama na faida za kujenga wenyewe. Huu ni uamuzi muhimu ambao unaweza kuwa na athari ya kimkakati ya muda mrefu kwenye shirika.

    Huduma za Wavuti

    Sura ya 3 alisema kuwa hoja ya kompyuta ya wingu imeruhusu programu kuonekana kama huduma. Chaguo moja makampuni yana siku hizi kwa kazi za leseni zinazotolewa na makampuni mengine badala ya kuandika kanuni wenyewe. Hizi huitwa huduma za wavuti, na zinaweza kurahisisha kuongeza kwa utendaji kwenye tovuti.

    Kwa mfano, tuseme kampuni inataka kutoa ramani inayoonyesha mahali pa mtu aliyeita mstari wa usaidizi. Kwa kutumia huduma za mtandao za Google Maps API, wanaweza kujenga Ramani ya Google moja kwa moja kwenye programu zao. Au kampuni ya kiatu inaweza iwe rahisi kwa wauzaji wake kuuza viatu mtandaoni kwa kutoa huduma ya wavuti ya ukubwa wa kiatu ambayo wauzaji wanaweza kuingiza kwenye tovuti yao.

    Huduma za wavuti zinaweza kufuta mistari kati ya “kujenga vs kununua.” Makampuni yanaweza kuchagua kujenga programu ya programu wenyewe lakini kisha kununua utendaji kutoka kwa wachuuzi ili kuongeza mfumo wao.

    Kompyuta ya Mtumiaji wa Mwisho au Kivuli IT

    Katika mashirika mengi, maendeleo ya maombi sio tu kwa waandaaji na wachambuzi katika idara ya teknolojia ya habari. Hasa katika mashirika makubwa, idara nyingine zinaendeleza maombi yao maalum ya idara. Watu ambao hujenga haya sio lazima mafunzo katika programu au maendeleo ya programu, lakini huwa na ujuzi na kompyuta. Mtu, kwa mfano, ambaye ana ujuzi katika mfuko fulani wa programu, kama vile sahajedwali au mfuko wa database, anaweza kuitwa kujenga programu ndogo za matumizi na idara yake mwenyewe. Jambo hili linajulikana kama maendeleo ya mtumiaji wa mwisho, au kompyuta ya mtumiaji wa mwisho, au kivuli IT.

    Kompyuta ya mtumiaji wa mwisho inaweza kuwa na faida nyingi kwa shirika. Kwanza, huleta maendeleo ya maombi karibu na wale ambao watatumia. Kwa sababu IT idara wakati mwingine kabisa backlogged, pia hutoa njia ya kuwa na programu iliyoundwa kwa haraka zaidi. Mashirika mengi yanahimiza kompyuta ya mtumiaji wa mwisho ili kupunguza matatizo kwenye idara ya IT.

    Kompyuta ya mtumiaji wa mwisho ina hasara zake pia. Kama idara ndani ya shirika ni

    kuendeleza maombi yao wenyewe, shirika linaweza kuishia na programu kadhaa zinazofanya kazi sawa, ambazo hazifanyi kazi kwa kuwa zimejitokeza. Wakati mwingine, matoleo haya tofauti ya programu sawa hutoa matokeo tofauti, kuleta machafuko wakati idara zinaingiliana. Maombi haya mara nyingi hutengenezwa na mtu aliye na mafunzo kidogo au hakuna rasmi katika programu. Katika kesi hizi, programu iliyoendelezwa inaweza kuwa na matatizo ambayo yanapaswa kutatuliwa na idara ya IT. Kompyuta ya mtumiaji wa mwisho inaweza kuwa na manufaa kwa shirika, lakini inapaswa kusimamiwa. Idara ya IT inapaswa kuweka miongozo na kutoa zana kwa idara ambao wanataka kujenga ufumbuzi wao wenyewe.

    Mawasiliano kati ya idara zitakwenda kwa muda mrefu kuelekea matumizi mafanikio ya kompyuta ya mtumiaji wa mwisho.

    Sidebar: Kujenga Programu ya Mkono

    Maendeleo ya programu kawaida hujumuisha programu za kujenga kukimbia kwenye desktops, seva, au mainframes. Hata hivyo, biashara ya wavuti imeunda makundi ya ziada ya maendeleo ya programu kama vile kubuni wavuti, maendeleo ya maudhui, seva ya wavuti. Jitihada za maendeleo zinazohusiana na mtandao kwa mtandao sasa inaitwa maendeleo ya wavuti. Shughuli za maendeleo ya wavuti za awali zinajumuisha kujenga tovuti ili kusaidia biashara au kujenga mifumo ya e-commerce na imefanya teknolojia kama vile HTML maarufu sana na wabunifu wa wavuti na lugha za programu kama vile Perl, Python, Java maarufu kwa watayarishaji. Tovuti zilizowekwa kabla ya vifurushi sasa zinapatikana kwa watumiaji kununua bila kujifunza HTML au kukodisha mtengenezaji wa wavuti. Kwa mfano, wajasiriamali ambao wanataka kuanza biashara ya mkate wanaweza sasa kununua tovuti ya kabla ya kujenga na gari la ununuzi, wote tayari kuanza biashara bila gharama kubwa za kujenga wenyewe.

    Pamoja na kupanda kwa simu za mkononi, aina mpya ya maendeleo ya programu inayoitwa maendeleo ya programu ya simu ilikuja kuwa. Statista.com utabiri kwamba Mkono programu mapato itaongeza kwa kiasi kikubwa kutoka $98B katika 2014 kwa zaidi ya $935B na 2023. Hii ina maana kwamba haja ya watengenezaji programu ya simu pia imeongezeka.

    Kwa njia nyingi, kujenga programu ya kifaa cha mkononi ni sawa na kujenga programu ya kompyuta ya jadi. Kuelewa mahitaji ya maombi, kubuni interface, kufanya kazi na watumiaji — hatua hizi zote bado zinahitajika kufanywa. Mchakato wa uamuzi wa kuchukua lugha sahihi za programu na zana bado ni sawa.

    Hata hivyo, kuna tofauti maalum ambazo programu lazima zizingatie katika kujenga programu za vifaa vya simu. Wao ni:

    • Kiungo cha mtumiaji kinapaswa kutofautiana ili kukabiliana na ukubwa tofauti wa skrini
    • Matumizi ya vidole kama kuyatumia au kuandika maandishi badala ya keyboard na panya kwenye desktop
    • Mahitaji maalum kutoka kwa muuzaji wa OS lazima yatimizwe ili programu iingizwe katika kila duka (yaani, Duka la App ya Apple au Duka la Google Play)
    • Ushirikiano na desktop au wingu ili kusawazisha data
    • Tight ushirikiano na vifaa vingine kujengwa kama vile kamera, biometriska au mwendo sensorer.
    • Kumbukumbu ndogo inapatikana, nafasi ya kuhifadhi, na nguvu za usindikaji

    Programu za simu sasa zinapatikana kwa karibu kila kitu na kuendelea kukua.

    Marejeo:

    Javascript ilikuwa lugha iliyotumiwa zaidi kati ya watengenezaji duniani kote (2020). Iliondolewa Desemba 10, 2020, kutoka Satistica.com

    Nyaraka za Google Maps Jukwaa. Iliondolewa Desemba 10, 2020, kutoka https://developers.google.com/maps/documentation

    Programming/zana za maendeleo zinazotumiwa na watengenezaji wa programu duniani kote kutoka 2018 na 2019 (2020). Iliondolewa Desemba 10, 2020, kutoka S tatista.com

    Worldwide mapato programu ya simu katika 2014 kwa 2023 (2010.) Iliondolewa Desemba 10, 2020, kutoka Statista.com