Uundaji bidhaa pepe za tarakilishi

**Uundaji bidhaa pepe za tarakilishi** (kwa Kiingereza: *software engineering*) ni kazi ya kutengeneza na kuvumbua programu za kompyuta. Inaweza kujumuisha utafiti, maendeleo mapya, uzinduaji, utumiaji-marudio, uvumbuzi mpya, matengenezo, au shughuli nyingine zozote zinazosababisha kuwepo kwa bidhaa pepe.  Hasa awamu ya kwanza ya programu ya maendeleo katika mchakato huweza kuhusisha idara nyingi, ikiwa ni pamoja na masoko, uhandisi, utafiti na maendeleo na usimamizi wa jumla. 

Jina hilo linaweza pia kurejelea kuprogramu kompyuta, mchakato wa kuandika na kutunza vipengee vya ndani vya programu za kompyuta.

## Muhtasari 
Kuna njia kadhaa tofauti za kuunda bidhaa pepe, sawa na  maoni mbalimbali ya vyama vya kisiasa kuhusu uongozi wa serikali. Baadhi ya njia hizi huchukua mwenendo uliopangika wenye taaluma za kihandisi ili kupeana suluhisho la biashara, ilhali nyingine zinaweza kuchukua mwenendo unaoendelea, ambapo programu inazidi kuimarishwa ikiundwa sehemu kwa sehemu. Mbinu nyingi zinatumia  hatua zifuatazo katika kuunda bidhaa pepe:

* Utafiti wa soko
* Kutafiti mahitaji ya kusuluhishwa na programu
* Kuchunguza tatizo
* Kuwa na mpango au muundo wa kuvumbua bidhaa hii
* Utekelezaji (kuandika vipengee vya) wa programu
* Majaribio ya programu
* Kuwasilisha kwa mteja
* Ukarabati na kurekebisha

Hatua hizi mara nyingi hujulikana kama maisha halisi ya uundaji wa bidhaa pepe, au 'SDLC', kwa kimombo. Njia mbalimbali  zinaweza kutekeleza hatua hizi kuzingatia maagizo mbalimbali, au kutumia muda mfupi au mrefu kwa hatua mbalimbali. Kina cha uhondo wa nyaraka zizalishwajo katika kila hatua ya kuunda programu inaweza pia kutofautiana. Hatua hizi huweza pia kufanyika katika kugeuka (mkabala kufuliliza ka maji), au zinaweza kurudiwa kwa viwango tofauti ( mkabala "uliokithiri" zaidi ). Mkabala uliokithiri zaidi kawaida huhusisha kutumia muda kidogo juu ya mipango na uandishi nyaraka, na hutumia muda zaidi katika kuunda programu yenyewe halisi. Mkabala huu "uliokithiri"  pia hukuza uendelezaji wa kupima maendeleo ya mradi wenyewe, vilevile kuwa bidhaa isiyo na hitilafu hata kamwe. 
Mkabala rasmi au "wa kufululiza" hujaribu kuchunguza hitilafu zozote zinazoweza kutokea kisha kuanzisha mpango wa kina kabla ya uundaji wa programu yenyewe, na kuepuka mabadiliko ya muundo wa bidhaa pepe na kurudia kuandika vipengele vya programu hiyo.

Kuna faida na hasara kubwa kwa mbinu mbalimbali na njia bora ya kutatua tatizo kutumia bidhaa pepe mara nyingi itazingatia aina ya shida iliyopo. Kama tatizo linaeleweka  vizuri na ufumbuzi unaweza kufanisiwa kwa haraka, mkabala wa kufululiza huweza kuwa bora. Kama, kwa upande mwingine, tatizo ni la kipekee (angalau kwa timu ya kuunda) na muundo wa programu hauwezi fumbuliwa kwa urahisi, basi mkabala "uliokithiri" zaidi huweza kuwa bora.

Mchakato wa kuunda bidhaa pepe ni muundo ulioekwa katika utayarishaji wa bidhaa pepe halisi ya kompyuta. Visawe ni mzunguko wa maisha ya programu na * mchakato wa programu.*  Kuna mifano kadhaa kwa hizi taratibu, kila ukielezea njia mbalimbali za kazi au shughuli ambazo hufanyika wakati wa mchakato huu.

## Suala la uundaji wa bidhaa pepe 
### Elimu ya soko 
Vyanzo vya mawazo kuhusu bidhaa pepe ni nyingi. 

## Mwelekeo wa kisasa katika sekta 
Kutokana na kasi ya ukuaji wa sekta hii, kampuni kadhaa zimeanza kutumia nchi za nje kama China, India na nchi nyingine kwa gharama ya chini kwa kila muundaji. Tovuti kadhaa na programu za kisasa yani, Web 2.0, huundwa kwa bara tofauti ilhali  usimamizi uko katika nchi za magharibi. Faida zaidi huwa ni udhibiti bora wa gharama, ambayo ina maana kwamba kuna pesa kiasi za kutumiwa (mara nyingi huwa changamoto kubwa kwa kwanza miradi kama hii). Aidha, tofauti ya muda kati ya nchi za magharibi na wakati wa kazi wa India na China  inaruhusu kazi kufanyika mfululizo ambayo inaipa faida ya hali ya juu. Makampuni ambayo  hushiriki katika uundaji huu  ni kama  Tata Consultancy Services, Infosys, Wipro, na Satyam.

Mwisho wa 1990 uliibua viwango vya W3C   ambavyo viliwezesha ontolojia kuungaanisha miundo 4 za utendaji katika 1 wa maarifa:  uwakilishi wa maarifa (katika RDF (S) na owl),kizazi cha maarifa kupitia mitazamo, mtindo wa dhana kupitia ontolojia na muundo wa kimwili kupitia sehemu tatu.

Miuundo ya kisasa inaruhusu kutoa programu  moja kwa moja kutoka mitambo ya maarifa(ontolojia) 

Mbinu hii inapata uhalali wake katika matumizi ya teknolojia ya semantiki badala ya www data kwa uzalishaji data iliyohakikishwa.
Aina ya biashara ya mbinu ya uundaji inapatikana katika tovuti ya ontolojia ya fedha. 

## Angalia pia 
* Lugha ya programu
* Paradigma ya programu

## Tanbihi 
## Marejeo
* Jim McCarthy (1995). *Mienendo ya Programu ya Maendeleo.*
* Dan Conde (2002). *Software Product Management:Managing of Software Development from Idea to Product to Marketing to Sales .*
* AM Davis (2005). *Tu mahitaji kutosha usimamizi: ambapo masoko hukutana na uundaji programu.*
* Edward Hasted. (2005). *Programu ambazo zinajiuza: A Practical Guide to Developing and Marketing Your Software Project.*
* Luka Hohmann (2003). *Beyond Software Architecture: Kuanzisha na Kuendeleza Programu Bora.*
* John W. Horch (2005). "Miondoko mbili kuhusu matumizi ya vitu." Katika: *IEEE Software.* vol. 12, no. 2, uk. 117-118, Machi 1995.
* John Rittinghouse (2003). *Managing Software Deliverables: A Software Development Management Methodology.*
* Karl E. Wiegers (2005). *More About Software Requirements: Thorny Issues and Practical Advice.*
* Robert K. Wysocki (2006). *Ufanisi katika Usimamizi wa Uundaji bidhaa pepe.*

## Viungo vya nje
Jamii:Kompyuta
Jamii:Uchumi
Jamii:Uhandisi wa programu