Muundo wa programu

Muundo wa programu (kwa Kiingereza: Software design) ni mchakato wa unaohusisha kufikiri kwa kina naona mfumo wa programu utakavo fany kazi kabla ya haujatengenezwa au kufanyiwa marekebisho.[1] Muundo wa program pia inaweza kutafsiriwa kama ni matokeo ya moja kwa moja ya mchakato wa uundaji wa program.

WRS schematic

Mchakato wa usanifu humsaidia mbunifu kupanga na kufikiria jinsi programu itakavyokuwa na kufanya kazi kabla hata ya kuanza kuandika msimbo. Hii husaidia kufanya kazi iwe rahisi na yenye ufanisi zaidi.

Mchoro wa programu unaweza kufananishwa na ramani ya kujenga nyumba.

  • Mipango ya juu inaonyesha picha ya jumla ya nyumba nzima, kama vile jinsi itakavyoonekana kwa nje au mpangilio wa vyumba.
  • Mipango ya chini inaelezea mambo ya kina zaidi, kama vile jinsi mabomba au nyaya zitakavyowekwa.

Kwa njia hiyo hiyo, muundo wa programu unaonyesha picha kubwa ya jinsi programu itafanya kazi, pamoja na maelezo madogo ya jinsi kila sehemu ya programu itakavyojengwa na kuunganishwa.

Sehemu ya mchakato mzima

hariri

Kwa lugha rahisi, katika mchakato wa Waterfall development process, usanifu wa programu hufanyika baada ya uchambuzi wa mahitaji ya program (software requirements analysis) na kabla ya coding.[2]

  • uchambuzi wa mahitaji ya program(software requirements analysis) inaelezea programu inapaswa kufanya nini (what), lakini haielezi itafanyaje (how).
  • Hivyo, kunaweza kuwa na njia nyingi tofauti za kubuni (designs) zinazoweza kutimiza mahitaji hayo.

Wakati mwingine, watu wanaweza kuanza kubuni programu moja kwa moja wakati wa kuandika msimbo bila mpango maalum au requirements analysis,[3] lakini hii huwa ngumu sana kwa miradi mikubwa na yenye changamoto.

Kuwa na muundo (design) kabla ya kuanza coding husaidia:

  • Wataalamu wa fani tofauti kushirikiana vizuri
  • Waandaaji wa programu kuelewa wanachotakiwa kufanya
  • Kutengeneza programu iliyo sahihi na yenye ubora

Pia, wakati mwingine hutengenezwa mfano wa majaribio kama simulation au prototype ili kuona kama muundo uliopangwa unafanya kazi vizuri kabla ya kujenga programu kamili.

Tanbihi

hariri
  1. Ralph, P. and Wand, Y. (2009). A proposal for a formal definition of the design concept. In Lyytinen, K., Loucopoulos, P., Mylopoulos, J., and Robinson, W., editors, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109 doi:10.1007/978-3-540-92966-6_6.
  2. Freeman, Peter; David Hart (2004). "A Science of design for software-intensive systems". Communications of the ACM. 47 (8): 19–21 [20]. doi:10.1145/1012037.1012054. S2CID 14331332.
  3. Ralph, P., and Wand, Y. A Proposal for a Formal Definition of the Design Concept. In, Lyytinen, K., Loucopoulos, P., Mylopoulos, J., and Robinson, W., (eds.), Design Requirements Engineering: A Ten-Year Perspective: Springer-Verlag, 2009, pp. 103-136
Makala hii kuhusu mambo ya teknolojia bado ni mbegu.
Je, unajua kitu kuhusu mada hiyo kama historia yake au mahusiano yake na mada nyingine?
Labda unaona habari katika Wikipedia ya Kiingereza au lugha nyingine zinazofaa kutafsiriwa?
Basi unaweza kuisaidia Wikipedia kwa kuihariri na kuongeza habari.