Architecture Decision Record

Active theme: Light

← નિર્ણય રેકોર્ડ ટેમ્પલેટ્સ

arc42 નો નિર્ણય રેકોર્ડ ટેમ્પલેટ

https://arc42.org/overview

1. પરિચય અને લક્ષ્યો

જરૂરિયાતો, પ્રેરક બળો, જરૂરિયાતોના સાર (અથવા અમૂર્ત) નું ટૂંકું વર્ણન. મુખ્ય હિતધારકો માટે સૌથી વધુ અગ્રતા ધરાવતા આર્કિટેક્ચર માટેના ટોચના ત્રણ (વધુમાં વધુ પાંચ) ગુણવત્તા લક્ષ્યો. આર્કિટેક્ચર અંગે તેમની અપેક્ષાઓ સાથેના મહત્વપૂર્ણ હિતધારકોનું કોષ્ટક.

1.1 જરૂરિયાતોની ઝાંખી

સામગ્રી

કાર્યાત્મક જરૂરિયાતો, પ્રેરક બળો, જરૂરિયાતોના સાર (અથવા અમૂર્ત) નું ટૂંકું વર્ણન. (આશા છે કે અસ્તિત્વમાં હોય તેવા) જરૂરિયાત દસ્તાવેજોની લિંક્સ, તે ક્યાં મળશે તેની માહિતી સાથે.

પ્રેરણા

અંતિમ વપરાશકર્તાઓના દૃષ્ટિકોણથી, સિસ્ટમ વ્યવસાયિક પ્રવૃત્તિના સમર્થનને સુધારવા અને/અથવા ગુણવત્તા સુધારવા માટે બનાવવામાં કે સુધારવામાં આવે છે.

સ્વરૂપ

ટૂંકું લખાણ વર્ણન, કદાચ કોષ્ટકીય ઉપયોગ-કેસ સ્વરૂપમાં. જો જરૂરિયાત દસ્તાવેજો અસ્તિત્વમાં હોય, તો આ ઝાંખીએ તે દસ્તાવેજોનો સંદર્ભ આપવો જોઈએ.

આ અંશોને શક્ય તેટલા ટૂંકા રાખો. આ દસ્તાવેજની વાંચનક્ષમતાને જરૂરિયાત દસ્તાવેજોના સંદર્ભે સંભવિત પુનરાવર્તન સાથે સંતુલિત કરો.

1.2 ગુણવત્તા લક્ષ્યો

સામગ્રી

આર્કિટેક્ચર માટેના ટોચના ત્રણ (વધુમાં વધુ પાંચ) ગુણવત્તા લક્ષ્યો જેની પૂર્તિ મુખ્ય હિતધારકો માટે સૌથી વધુ મહત્વની છે. અમે ખરેખર આર્કિટેક્ચર માટેના ગુણવત્તા લક્ષ્યો કહીએ છીએ. તેમને પ્રોજેક્ટ લક્ષ્યો સાથે ગૂંચવશો નહીં. તે જરૂરી નથી કે સરખાં હોય. ISO 25010 ધોરણ રસના સંભવિત વિષયોની સરસ ઝાંખી આપે છે.

પ્રેરણા

તમારે તમારા સૌથી મહત્વપૂર્ણ હિતધારકોના ગુણવત્તા લક્ષ્યો જાણવા જોઈએ, કારણ કે તે મૂળભૂત આર્કિટેક્ચરલ નિર્ણયો પર પ્રભાવ પાડશે. આ ગુણવત્તાઓ વિશે ખૂબ ચોક્કસ રહો, ફેશનેબલ શબ્દો ટાળો. જો તમે આર્કિટેક્ટ તરીકે તમારા કામની ગુણવત્તા કેવી રીતે જાંચાશે તે જાણતા ન હોવ તો …

સ્વરૂપ

પ્રાથમિકતા અનુસાર ગોઠવેલ સૌથી મહત્વપૂર્ણ ગુણવત્તા લક્ષ્યો અને નક્કર દૃશ્યો સાથેનું કોષ્ટક.

1.3 હિતધારકો

સામગ્રી

સિસ્ટમના હિતધારકોની સ્પષ્ટ ઝાંખી, એટલે કે તમામ વ્યક્તિઓ, ભૂમિકાઓ અથવા સંસ્થાઓ જેઓ

  • આર્કિટેક્ચર જાણતા હોવા જોઈએ

  • આર્કિટેક્ચર અંગે સહમત કરવા જરૂરી છે

  • આર્કિટેક્ચર અથવા કોડ સાથે કામ કરવું પડે છે

  • તેમના કામ માટે આર્કિટેક્ચરના દસ્તાવેજીકરણની જરૂર છે

  • સિસ્ટમ અથવા તેના વિકાસ વિશે નિર્ણયો લેવા પડે છે

પ્રેરણા

તમારે સિસ્ટમના વિકાસમાં સામેલ અથવા સિસ્ટમથી અસરગ્રસ્ત તમામ પક્ષોને જાણવા જોઈએ. નહીંતર, તમને વિકાસ પ્રક્રિયામાં પછીથી અપ્રિય આશ્ચર્ય મળી શકે છે. આ હિતધારકો તમારા કામ અને તેના પરિણામોનો વ્યાપ અને વિગતનું સ્તર નક્કી કરે છે.

સ્વરૂપ

ભૂમિકા નામો, વ્યક્તિ નામો અને આર્કિટેક્ચર અને તેના દસ્તાવેજીકરણના સંદર્ભમાં તેમની અપેક્ષાઓ સાથેનું કોષ્ટક.

2. મર્યાદાઓ

કંઈપણ જે ટીમોને ડિઝાઇન અને અમલીકરણ નિર્ણયોમાં કે સંબંધિત પ્રક્રિયાઓ વિશેના નિર્ણયોમાં મર્યાદિત કરે છે. ક્યારેક વ્યક્તિગત સિસ્ટમથી આગળ જઈ શકે છે અને આખી સંસ્થાઓ અને કંપનીઓ માટે માન્ય છે.

સામગ્રી

કોઈપણ જરૂરિયાત જે સોફ્ટવેર આર્કિટેક્ટને તેમની ડિઝાઇન સ્વતંત્રતા અને અમલીકરણ નિર્ણયો કે વિકાસ પ્રક્રિયા વિશેના નિર્ણયમાં મર્યાદિત કરે છે. આ મર્યાદાઓ ક્યારેક વ્યક્તિગત સિસ્ટમથી આગળ જાય છે અને આખી સંસ્થાઓ અને કંપનીઓ માટે માન્ય છે.

પ્રેરણા

આર્કિટેક્ટે બરાબર જાણવું જોઈએ કે તેઓ તેમના ડિઝાઇન નિર્ણયોમાં ક્યાં સ્વતંત્ર છે અને ક્યાં તેમણે મર્યાદાઓનું પાલન કરવું પડે છે. મર્યાદાઓ સાથે હંમેશા કામ લેવું પડે છે; તેઓ વાટાઘાટપાત્ર હોઈ શકે છે, છતાં.

સ્વરૂપ

સમજૂતી સાથેનાં મર્યાદાઓનાં સરળ કોષ્ટકો. જરૂર પડે તો તમે તેમને તકનીકી મર્યાદાઓ, સંસ્થાકીય અને રાજકીય મર્યાદાઓ, અને પરંપરાઓ (દા.ત. પ્રોગ્રામિંગ કે સંસ્કરણ માર્ગદર્શિકાઓ, દસ્તાવેજીકરણ કે નામકરણ પરંપરાઓ) માં વહેંચી શકો

3. સંદર્ભ અને વ્યાપ

તમારી સિસ્ટમને તેના (બાહ્ય) સંવાદ ભાગીદારો (પડોશી સિસ્ટમો અને વપરાશકર્તાઓ) થી અલગ પાડે છે. બાહ્ય ઇન્ટરફેસ નક્કી કરે છે. વ્યવસાય/ક્ષેત્ર દૃષ્ટિકોણથી (હંમેશા) અથવા તકનીકી દૃષ્ટિકોણથી (વૈકલ્પિક) દર્શાવાય છે

સામગ્રી

સિસ્ટમ વ્યાપ અને સંદર્ભ - નામ સૂચવે છે તેમ - તમારી સિસ્ટમ (એટલે કે તમારો વ્યાપ) ને તેના તમામ સંવાદ ભાગીદારો (પડોશી સિસ્ટમો અને વપરાશકર્તાઓ, એટલે કે તમારી સિસ્ટમનો સંદર્ભ) થી અલગ પાડે છે. તેથી તે બાહ્ય ઇન્ટરફેસ નક્કી કરે છે.

જરૂર પડે તો, વ્યવસાય સંદર્ભ (ક્ષેત્ર-વિશિષ્ટ ઇનપુટ અને આઉટપુટ) ને તકનીકી સંદર્ભ (ચેનલો, પ્રોટોકોલ, હાર્ડવેર) થી અલગ પાડો.

પ્રેરણા

સંવાદ ભાગીદારો સાથેના ક્ષેત્ર ઇન્ટરફેસ અને તકનીકી ઇન્ટરફેસ તમારી સિસ્ટમના સૌથી જટિલ પાસાંઓમાં સામેલ છે. ખાતરી કરો કે તમે તેમને સંપૂર્ણપણે સમજો છો.

સ્વરૂપ

  • વિવિધ સંદર્ભ આકૃતિઓ

  • સંવાદ ભાગીદારો અને તેમના ઇન્ટરફેસની યાદીઓ.

3.1 વ્યવસાય સંદર્ભ

સામગ્રી

ક્ષેત્ર-વિશિષ્ટ ઇનપુટ અને આઉટપુટ અથવા ઇન્ટરફેસની સમજૂતી સાથે તમામ સંવાદ ભાગીદારો (વપરાશકર્તાઓ, IT-સિસ્ટમો, …) નું સ્પષ્ટીકરણ. વૈકલ્પિક રીતે તમે ક્ષેત્ર-વિશિષ્ટ ફોર્મેટ અથવા સંવાદ પ્રોટોકોલ ઉમેરી શકો.

પ્રેરણા

બધા હિતધારકોએ સમજવું જોઈએ કે સિસ્ટમના પર્યાવરણ સાથે કયો ડેટા આદાન-પ્રદાન થાય છે.

સ્વરૂપ

તમામ પ્રકારની આકૃતિઓ જે સિસ્ટમને બ્લેક બોક્સ તરીકે બતાવે છે અને સંવાદ ભાગીદારો સાથેના ક્ષેત્ર ઇન્ટરફેસ નક્કી કરે છે.

વૈકલ્પિક રીતે (અથવા વધારામાં) તમે કોષ્ટક વાપરી શકો. કોષ્ટકનું શીર્ષક તમારી સિસ્ટમનું નામ છે, ત્રણ સ્તંભોમાં સંવાદ ભાગીદારનું નામ, ઇનપુટ અને આઉટપુટ હોય છે.

3.2 તકનીકી સંદર્ભ

સામગ્રી

તમારી સિસ્ટમને તેના પર્યાવરણ સાથે જોડતા તકનીકી ઇન્ટરફેસ (ચેનલો અને ટ્રાન્સમિશન માધ્યમ). ઉપરાંત ક્ષેત્ર-વિશિષ્ટ ઇનપુટ/આઉટપુટનું ચેનલો સાથે મેપિંગ, એટલે કે કયો I/O કઈ ચેનલ વાપરે છે તેની સમજૂતી.

પ્રેરણા

ઘણા હિતધારકો સિસ્ટમ અને તેના સંદર્ભ વચ્ચેના તકનીકી ઇન્ટરફેસ પર આધારિત આર્કિટેક્ચરલ નિર્ણય લે છે. ખાસ કરીને ઇન્ફ્રાસ્ટ્રક્ચર અથવા હાર્ડવેર ડિઝાઇનર્સ આ તકનીકી ઇન્ટરફેસ નક્કી કરે છે.

સ્વરૂપ

દા.ત. પડોશી સિસ્ટમો સુધીની ચેનલોનું વર્ણન કરતી UML ડિપ્લોયમેન્ટ આકૃતિ, સાથે ચેનલો અને ઇનપુટ/આઉટપુટ વચ્ચેના સંબંધો દર્શાવતું મેપિંગ કોષ્ટક.

4. ઉકેલ વ્યૂહરચના

આર્કિટેક્ચરને આકાર આપતા મૂળભૂત નિર્ણયો અને ઉકેલ વ્યૂહરચનાઓનો સારાંશ. તેમાં ટેકનોલોજી, ઉચ્ચ-સ્તરીય વિઘટન, ટોચના ગુણવત્તા લક્ષ્યો સિદ્ધ કરવાના અભિગમો અને સંબંધિત સંસ્થાકીય નિર્ણયો શામેલ હોઈ શકે.

સામગ્રી

સિસ્ટમના આર્કિટેક્ચરને આકાર આપતા મૂળભૂત નિર્ણયો અને ઉકેલ વ્યૂહરચનાઓનો ટૂંકો સારાંશ અને સમજૂતી. આમાં શામેલ છે

  • ટેકનોલોજી નિર્ણયો

  • સિસ્ટમના ઉચ્ચ-સ્તરીય વિઘટન વિશેના નિર્ણયો, દા.ત. આર્કિટેક્ચરલ પેટર્ન કે ડિઝાઇન પેટર્નનો ઉપયોગ

  • મુખ્ય ગુણવત્તા લક્ષ્યો કેવી રીતે સિદ્ધ કરવા તે અંગેના નિર્ણયો

  • સંબંધિત સંસ્થાકીય નિર્ણયો, દા.ત. વિકાસ પ્રક્રિયા પસંદ કરવી અથવા કેટલાંક કાર્યો તૃતીય પક્ષોને સોંપવા.

પ્રેરણા

આ નિર્ણયો તમારા આર્કિટેક્ચરના પાયાના પથ્થરો છે. તે અન્ય ઘણા વિગતવાર નિર્ણયો કે અમલીકરણ નિયમોનો આધાર છે.

સ્વરૂપ

આ મુખ્ય નિર્ણયોની સમજૂતી ટૂંકી રાખો.

તમારા સમસ્યા વિધાન, ગુણવત્તા લક્ષ્યો અને મુખ્ય મર્યાદાઓના આધારે તમે શું નક્કી કર્યું અને શા માટે તે રીતે નક્કી કર્યું તેનું કારણ આપો. આગલા વિભાગોમાંની વિગતોનો સંદર્ભ આપો (માળખાકીય વિગતો માટે વિભાગ 5, ક્રોસકટિંગ ખ્યાલો માટે વિભાગ 8).

તમે ઉકેલ-અભિગમોની યાદી અથવા કોષ્ટક વાપરી શકો.

5. બિલ્ડિંગ બ્લોક દૃશ્ય

સિસ્ટમનું સ્થિર વિઘટન, સ્રોત-કોડના અમૂર્તીકરણ, વિગતના યોગ્ય સ્તર સુધી વ્હાઇટ બોક્સ (જેમાં બ્લેક બોક્સ હોય) ના પદાનુક્રમ તરીકે દર્શાવેલ.

સામગ્રી

બિલ્ડિંગ બ્લોક દૃશ્ય સિસ્ટમનું સ્થિર વિઘટન બિલ્ડિંગ બ્લોક્સ (મોડ્યુલ્સ, ઘટકો, ઉપસિસ્ટમ્સ, ક્લાસ, ઇન્ટરફેસ, પેકેજ, લાઇબ્રેરીઓ, ફ્રેમવર્ક, સ્તરો, પાર્ટિશન, ટિયર, ફંક્શન, મેક્રો, ઓપરેશન, ડેટા સ્ટ્રક્ચર, …) તેમજ તેમની નિર્ભરતાઓ (સંબંધો, સંગઠનો, …) માં દર્શાવે છે

આ દૃશ્ય દરેક આર્કિટેક્ચર દસ્તાવેજીકરણ માટે ફરજિયાત છે. ઘરની સરખામણીમાં આ ફ્લોર પ્લાન છે.

પ્રેરણા

તમારા સ્રોત કોડનું માળખું અમૂર્તીકરણ દ્વારા સમજી શકાય તેવું બનાવીને તેનું અવલોકન જાળવો.

આ તમને અમલીકરણ વિગતો ઉઘાડી કર્યા વિના અમૂર્ત સ્તરે તમારા હિતધારકો સાથે સંવાદ કરવા દે છે.

સ્વરૂપ

બિલ્ડિંગ બ્લોક દૃશ્ય બ્લેક બોક્સ અને વ્હાઇટ બોક્સ (નીચેની આકૃતિ જુઓ) નો પદાનુક્રમિત સંગ્રહ અને તેમના વર્ણનો છે.

5.1 સમગ્ર સિસ્ટમનું વ્હાઇટ બોક્સ

અહીં તમે નીચેના વ્હાઇટ બોક્સ ટેમ્પલેટનો ઉપયોગ કરીને સમગ્ર સિસ્ટમના વિઘટનનું વર્ણન કરો છો. તેમાં શામેલ છે

  • ઝાંખી આકૃતિ

  • વિઘટન માટે પ્રેરણા

  • સમાવિષ્ટ બિલ્ડિંગ બ્લોક્સના બ્લેક બોક્સ વર્ણનો. આ માટે અમે વિકલ્પો આપીએ છીએ:

    • બધા સમાવિષ્ટ બિલ્ડિંગ બ્લોક્સ અને તેમના ઇન્ટરફેસની ટૂંકી અને વ્યવહારુ ઝાંખી માટે એક કોષ્ટક વાપરો

    • બ્લેક બોક્સ ટેમ્પલેટ (નીચે જુઓ) અનુસાર બિલ્ડિંગ બ્લોક્સના બ્લેક બોક્સ વર્ણનોની યાદી વાપરો. તમારી ટૂલ પસંદગીના આધારે આ યાદી પેટા-પ્રકરણો (ટેક્સ્ટ ફાઇલોમાં), પેટા-પાનાં (વિકિમાં) કે નેસ્ટેડ તત્વો (મોડેલિંગ ટૂલમાં) હોઈ શકે.

    • (વૈકલ્પિક:) મહત્વપૂર્ણ ઇન્ટરફેસ, જે બિલ્ડિંગ બ્લોકના બ્લેક બોક્સ ટેમ્પલેટમાં સમજાવેલ નથી, પરંતુ વ્હાઇટ બોક્સ સમજવા માટે ખૂબ મહત્વપૂર્ણ છે.

ઇન્ટરફેસ નક્કી કરવાની ઘણી રીતો હોવાથી અમે તેમના માટે ચોક્કસ ટેમ્પલેટ આપતા નથી.

શ્રેષ્ઠ કિસ્સામાં તમે ઉદાહરણો કે સરળ હસ્તાક્ષરોથી ચલાવી શકશો.

5.2 સ્તર 2

અહીં તમે સ્તર 1 ના (કેટલાક) બિલ્ડિંગ બ્લોક્સની આંતરિક રચના વ્હાઇટ બોક્સ તરીકે નક્કી કરી શકો.

તમારે નક્કી કરવું પડશે કે તમારી સિસ્ટમના કયા બિલ્ડિંગ બ્લોક્સ આવા વિગતવાર વર્ણનને યોગ્ય ઠેરવવા પૂરતા મહત્વના છે. કૃપા કરીને સંપૂર્ણતા કરતાં સુસંગતતાને પસંદગી આપો. મહત્વપૂર્ણ, આશ્ચર્યજનક, જોખમી, જટિલ કે અસ્થિર બિલ્ડિંગ બ્લોક્સ નક્કી કરો. તમારી સિસ્ટમના સામાન્ય, સરળ, કંટાળાજનક કે પ્રમાણભૂત ભાગો છોડી દો

5.2.1 બિલ્ડિંગ બ્લોક 1 માટે વ્હાઇટ બોક્સ

બિલ્ડિંગ બ્લોક 1 ની આંતરિક રચના નક્કી કરે છે.

વ્હાઇટ બોક્સ ટેમ્પલેટ વાપરો (ઉપર જુઓ).

6. રનટાઇમ દૃશ્ય

બિલ્ડિંગ બ્લોક્સની વર્તણૂક દૃશ્યો તરીકે, મહત્વપૂર્ણ ઉપયોગ કેસ કે સુવિધાઓ, જટિલ બાહ્ય ઇન્ટરફેસ પરની આંતરક્રિયાઓ, સંચાલન અને વહીવટ ઉપરાંત ભૂલ અને અપવાદ વર્તણૂક આવરી લેતા.

સામગ્રી

રનટાઇમ દૃશ્ય નીચેના ક્ષેત્રોના દૃશ્યોના સ્વરૂપમાં સિસ્ટમના બિલ્ડિંગ બ્લોક્સની નક્કર વર્તણૂક અને આંતરક્રિયાઓનું વર્ણન કરે છે:

  • મહત્વપૂર્ણ ઉપયોગ કેસ કે સુવિધાઓ: બિલ્ડિંગ બ્લોક્સ તેમને કેવી રીતે ચલાવે છે?

  • જટિલ બાહ્ય ઇન્ટરફેસ પરની આંતરક્રિયાઓ: બિલ્ડિંગ બ્લોક્સ વપરાશકર્તાઓ અને પડોશી સિસ્ટમો સાથે કેવી રીતે સહકાર કરે છે?

  • સંચાલન અને વહીવટ: લોન્ચ, સ્ટાર્ટ-અપ, સ્ટોપ

  • ભૂલ અને અપવાદ દૃશ્યો

નોંધ: સંભવિત દૃશ્યો (ક્રમ, કાર્યપ્રવાહ) પસંદ કરવાનો મુખ્ય માપદંડ તેમની આર્કિટેક્ચરલ સુસંગતતા છે. મોટી સંખ્યામાં દૃશ્યોનું વર્ણન કરવું મહત્વનું નથી. તમારે પ્રતિનિધિ પસંદગી દસ્તાવેજીકૃત કરવી જોઈએ.

પ્રેરણા

તમારે સમજવું જોઈએ કે તમારી સિસ્ટમના બિલ્ડિંગ બ્લોક્સ (ના ઇન્સ્ટન્સ) રનટાઇમ પર પોતાનું કામ કેવી રીતે કરે છે અને સંવાદ કરે છે. તમે મુખ્યત્વે તમારા દસ્તાવેજીકરણમાં દૃશ્યો નોંધશો જેથી તમારું આર્કિટેક્ચર એવા હિતધારકોને જણાવી શકાય જે સ્થિર મોડેલો (બિલ્ડિંગ બ્લોક દૃશ્ય, ડિપ્લોયમેન્ટ દૃશ્ય) વાંચવા અને સમજવા ઓછા ઇચ્છુક કે સક્ષમ છે.

સ્વરૂપ

દૃશ્યો વર્ણવવા માટે ઘણા સંકેતો છે, દા.ત.

  • પગલાંની ક્રમાંકિત યાદી (કુદરતી ભાષામાં)

  • પ્રવૃત્તિ આકૃતિઓ કે ફ્લો ચાર્ટ

  • સિક્વન્સ આકૃતિઓ

  • BPMN કે EPC (ઇવેન્ટ પ્રોસેસ ચેઇન)

  • સ્ટેટ મશીન

  • વગેરે.

6.n રનટાઇમ દૃશ્ય n (1, 2, 3, વગેરે)

રનટાઇમ આકૃતિ કે દૃશ્યનું લખાણ વર્ણન દાખલ કરો.

આ આકૃતિમાં દર્શાવેલ બિલ્ડિંગ બ્લોક ઇન્સ્ટન્સ વચ્ચેની આંતરક્રિયાઓના નોંધપાત્ર પાસાંઓનું વર્ણન દાખલ કરો.

7. ડિપ્લોયમેન્ટ દૃશ્ય

પર્યાવરણ, કમ્પ્યુટર્સ, પ્રોસેસર્સ, ટોપોલોજી સાથેનું તકનીકી ઇન્ફ્રાસ્ટ્રક્ચર. (સોફ્ટવેર) બિલ્ડિંગ બ્લોક્સનું ઇન્ફ્રાસ્ટ્રક્ચર તત્વો સાથે મેપિંગ.

સામગ્રી

ડિપ્લોયમેન્ટ દૃશ્ય વર્ણવે છે:

  • તમારી સિસ્ટમ ચલાવવા માટે વપરાતું તકનીકી ઇન્ફ્રાસ્ટ્રક્ચર, ભૌગોલિક સ્થાનો, પર્યાવરણ, કમ્પ્યુટર્સ, પ્રોસેસર્સ, ચેનલો અને નેટ ટોપોલોજી જેવા ઇન્ફ્રાસ્ટ્રક્ચર તત્વો તેમજ અન્ય ઇન્ફ્રાસ્ટ્રક્ચર તત્વો સાથે અને

  • (સોફ્ટવેર) બિલ્ડિંગ બ્લોક્સનું તે ઇન્ફ્રાસ્ટ્રક્ચર તત્વો સાથે મેપિંગ.

ઘણી વાર સિસ્ટમો જુદાં જુદાં પર્યાવરણોમાં ચાલે છે, દા.ત. વિકાસ પર્યાવરણ, પરીક્ષણ પર્યાવરણ, પ્રોડક્શન પર્યાવરણ. આવા કિસ્સાઓમાં તમારે તમામ સંબંધિત પર્યાવરણોનું દસ્તાવેજીકરણ કરવું જોઈએ.

ડિપ્લોયમેન્ટ દૃશ્યનું દસ્તાવેજીકરણ ખાસ કરીને ત્યારે કરો જ્યારે તમારું સોફ્ટવેર એક કરતાં વધુ કમ્પ્યુટર, પ્રોસેસર, સર્વર કે કન્ટેનર સાથે વિતરિત સિસ્ટમ તરીકે ચાલતું હોય અથવા જ્યારે તમે તમારા પોતાના હાર્ડવેર પ્રોસેસર્સ અને ચિપ્સ ડિઝાઇન અને બનાવો.

સોફ્ટવેરના દૃષ્ટિકોણથી, તમારા બિલ્ડિંગ બ્લોક્સનું ડિપ્લોયમેન્ટ દર્શાવવા માટે જરૂરી ઇન્ફ્રાસ્ટ્રક્ચરના તત્વો નોંધવા પૂરતું છે. હાર્ડવેર આર્કિટેક્ટ્સ તેનાથી આગળ જઈ શકે અને તેમને નોંધવાની જરૂર હોય તે કોઈપણ વિગતના સ્તર સુધી ઇન્ફ્રાસ્ટ્રક્ચરનું વર્ણન કરી શકે.

પ્રેરણા

સોફ્ટવેર હાર્ડવેર વિના ચાલતું નથી. આ અંતર્ગત ઇન્ફ્રાસ્ટ્રક્ચર તમારી સિસ્ટમ અને/અથવા કેટલાક ક્રોસકટિંગ ખ્યાલોને પ્રભાવિત કરી શકે છે અને કરશે. તેથી, તમારે ઇન્ફ્રાસ્ટ્રક્ચર જાણવું જરૂરી છે.

સ્વરૂપ

કદાચ સર્વોચ્ચ-સ્તરની ડિપ્લોયમેન્ટ આકૃતિ પહેલેથી વિભાગ 3.2. માં તકનીકી સંદર્ભ તરીકે સમાવિષ્ટ છે, જેમાં તમારું પોતાનું ઇન્ફ્રાસ્ટ્રક્ચર એક બ્લેક બોક્સ તરીકે છે. આ વિભાગમાં તમે વધારાની ડિપ્લોયમેન્ટ આકૃતિઓ વાપરીને આ બ્લેક બોક્સમાં ઝૂમ ઇન કરશો.

  • UML તે દૃશ્ય વ્યક્ત કરવા માટે ડિપ્લોયમેન્ટ આકૃતિઓ આપે છે. જ્યારે તમારું ઇન્ફ્રાસ્ટ્રક્ચર વધુ જટિલ હોય ત્યારે, કદાચ નેસ્ટેડ આકૃતિઓ સાથે, તેનો ઉપયોગ કરો.

  • જ્યારે તમારા (હાર્ડવેર) હિતધારકો UML ડિપ્લોયમેન્ટ આકૃતિ કરતાં અન્ય પ્રકારની આકૃતિઓ પસંદ કરે, ત્યારે તેમને ઇન્ફ્રાસ્ટ્રક્ચરના નોડ્સ અને ચેનલો દર્શાવી શકે તેવી કોઈપણ પ્રકારની આકૃતિ વાપરવા દો.

7.1 ઇન્ફ્રાસ્ટ્રક્ચર સ્તર 1

વર્ણવો (સામાન્ય રીતે આકૃતિઓ, કોષ્ટકો અને લખાણના સંયોજનમાં):

  • તમારી સિસ્ટમનું અનેક સ્થાનો, પર્યાવરણો, કમ્પ્યુટર્સ, પ્રોસેસર્સ, .. માં વિતરણ તેમજ તેમની વચ્ચેના ભૌતિક જોડાણો

  • આ ડિપ્લોયમેન્ટ માળખા માટે મહત્વપૂર્ણ સમર્થન કે પ્રેરણા

  • ઇન્ફ્રાસ્ટ્રક્ચરની ગુણવત્તા અને/અથવા કામગીરીની વિશેષતાઓ

  • સોફ્ટવેર આર્ટિફેક્ટ્સ (બિલ્ડિંગ બ્લોક્સ) નું ઇન્ફ્રાસ્ટ્રક્ચરના તત્વો સાથે મેપિંગ

બહુવિધ પર્યાવરણો કે વૈકલ્પિક ડિપ્લોયમેન્ટ માટે, કૃપા કરીને arc42 નો તે વિભાગ તમામ સંબંધિત પર્યાવરણો માટે નકલ કરો. **

7.2 ઇન્ફ્રાસ્ટ્રક્ચર સ્તર 2

અહીં તમે ઇન્ફ્રાસ્ટ્રક્ચર સ્તર 1 ના (કેટલાક) ઇન્ફ્રાસ્ટ્રક્ચર તત્વોની આંતરિક રચના શામેલ કરી શકો.

કૃપા કરીને દરેક પસંદ કરેલા તત્વ માટે સ્તર 1 ની રચનાની નકલ કરો.

8. ક્રોસકટિંગ ખ્યાલો

એકંદરે, સિસ્ટમના અનેક ભાગોમાં (→ ક્રોસકટિંગ) સુસંગત મુખ્ય નિયમો અને ઉકેલ અભિગમો. ખ્યાલો ઘણીવાર અનેક બિલ્ડિંગ બ્લોક્સ સાથે સંબંધિત હોય છે. ડોમેન મોડેલો, આર્કિટેક્ચર પેટર્ન અને -શૈલીઓ, ચોક્કસ ટેકનોલોજી વાપરવાના નિયમો અને અમલીકરણ નિયમો જેવા જુદા જુદા વિષયો શામેલ કરો.

સામગ્રી

આ વિભાગ ક્રોસકટિંગ ખ્યાલો (પ્રથાઓ, પેટર્ન, નિયમનો કે ઉકેલ વિચારો) નું વર્ણન કરે છે. આવા ખ્યાલો ઘણીવાર અનેક બિલ્ડિંગ બ્લોક્સ સાથે સંબંધિત હોય છે. તેમાં ઘણા જુદા જુદા વિષયો શામેલ હોઈ શકે.

પ્રેરણા

ખ્યાલો આર્કિટેક્ચરની વૈચારિક અખંડિતતા (સુસંગતતા, સમરૂપતા) નો આધાર બનાવે છે. આમ, તે તમારી સિસ્ટમના આંતરિક ગુણો સિદ્ધ કરવામાં મહત્વનો ફાળો છે.

આવા ખ્યાલોના સુસંગત સ્પષ્ટીકરણ માટે અમે આપેલા ટેમ્પલેટમાં આ સ્થાન છે.

આમાંના ઘણા ખ્યાલો તમારા અનેક બિલ્ડિંગ બ્લોક્સ સાથે સંબંધિત છે કે તેમને પ્રભાવિત કરે છે.

સ્વરૂપ

સ્વરૂપ વિવિધ હોઈ શકે:

  • કોઈપણ પ્રકારની રચના સાથેના ખ્યાલ પત્રો

  • ઉદાહરણ અમલીકરણો, ખાસ કરીને તકનીકી ખ્યાલો માટે

  • આર્કિટેક્ચર દૃશ્યોના સંકેતોનો ઉપયોગ કરતા ક્રોસકટિંગ મોડેલ અંશો કે દૃશ્યો

આ વિભાગની રચના

તમારી સિસ્ટમ માટે સૌથી વધુ જરૂરી વિષયો જ પસંદ કરો અને આ વિભાગમાં દરેકને સ્તર-2 શીર્ષક આપો (દા.ત. 8.1, 8.2 વગેરે).

  • ઉપરોક્ત આકૃતિના તમામ વિષયોને આવરી લેવાનો પ્રયાસ ન કરો.

પૃષ્ઠભૂમિ

સિસ્ટમોમાંના કેટલાક વિષયો ઘણીવાર અનેક બિલ્ડિંગ બ્લોક્સ, હાર્ડવેર તત્વો કે વિકાસ પ્રક્રિયાઓ સાથે સંબંધિત હોય છે. આવા ક્રોસકટિંગ વિષયોને સંબંધિત બિલ્ડિંગ બ્લોક્સ, હાર્ડવેર તત્વો કે વિકાસ પ્રક્રિયાઓના વર્ણનમાં પુનરાવર્તિત કરવાને બદલે કેન્દ્રીય સ્થળે જણાવવા કે દસ્તાવેજીકૃત કરવા સરળ હોઈ શકે.

કેટલાક ખ્યાલો સિસ્ટમના તમામ તત્વો સાથે સંબંધિત હોઈ શકે, અન્ય માત્ર થોડા માટે સુસંગત હોઈ શકે.

9. આર્કિટેક્ચરલ નિર્ણયો

તર્ક સહિત મહત્વપૂર્ણ, ખર્ચાળ, જટિલ, મોટા પાયાના કે જોખમી આર્કિટેક્ચર નિર્ણયો.

સામગ્રી

તર્ક સહિત મહત્વપૂર્ણ, ખર્ચાળ, મોટા પાયાના કે જોખમી આર્કિટેક્ચર નિર્ણયો. "નિર્ણયો" થી અમારો અર્થ આપેલા માપદંડોના આધારે એક વિકલ્પ પસંદ કરવો છે.

કૃપા કરીને તમારી વિવેકબુદ્ધિ વાપરીને નક્કી કરો કે આર્કિટેક્ચરલ નિર્ણયનું આ કેન્દ્રીય વિભાગમાં દસ્તાવેજીકરણ થવું જોઈએ કે તેને સ્થાનિક રીતે દસ્તાવેજીકૃત કરવું વધુ સારું છે (દા.ત. એક બિલ્ડિંગ બ્લોકના વ્હાઇટ બોક્સ ટેમ્પલેટમાં). પુનરાવર્તિત લખાણ ટાળો. વિભાગ 4 નો સંદર્ભ આપો, જ્યાં તમે તમારા આર્કિટેક્ચરના સૌથી મહત્વપૂર્ણ નિર્ણયો પહેલેથી નોંધ્યા છે.

પ્રેરણા

તમારી સિસ્ટમના હિતધારકો તમારા નિર્ણયોને સમજવા અને ફરીથી શોધવા સક્ષમ હોવા જોઈએ.

સ્વરૂપ

  • દરેક મહત્વપૂર્ણ નિર્ણય માટે ADR (આર્કિટેક્ચર નિર્ણય રેકોર્ડ)

  • મહત્વ અને પરિણામો અનુસાર ગોઠવેલ યાદી કે કોષ્ટક અથવા

  • દરેક નિર્ણય માટે અલગ વિભાગોના સ્વરૂપમાં વધુ વિગતવાર

પૃષ્ઠભૂમિ (ADR વિશે)

દસ્તાવેજીકરણના નાના ટુકડા વાંચવા, બનાવવા અને જાળવવા સરળ હોય છે. જ્યારે આર્કિટેક્ચર નિર્ણયોની વાત આવે છે, ત્યારે વિકાસ ટીમો ઘણીવાર:

  • નિર્ણય વિશે જાણે છે, કારણ કે તે દા.ત. સ્રોત કોડમાં દેખાય છે, પરંતુ

  • તે નિર્ણય પાછળની પ્રેરણા ચૂકી જાય છે (જુઓ Nygard 2011)

તેથી તમારે કેટલાક મહત્વપૂર્ણ નિર્ણયો તેમની પ્રેરણા, તર્ક સાથે દસ્તાવેજીકૃત કરવા જોઈએ

નિર્ણયો અંગે અમારો પ્રસ્તાવ

આર્કિટેક્ચરની દૃષ્ટિએ મહત્વપૂર્ણ નિર્ણયોનો સંગ્રહ રાખો, એટલે કે એવા નિર્ણયો જે રચના, ગુણવત્તા લાક્ષણિકતાઓ, મહત્વપૂર્ણ (ખાસ કરીને બાહ્ય) નિર્ભરતાઓ અને ઇન્ટરફેસ, કે બાંધકામ તકનીકોને અસર કરે છે (આ પ્રસ્તાવ માટે Michael Nygard નો આભાર).

10. ગુણવત્તા જરૂરિયાતો

ઉચ્ચ-સ્તરીય ઝાંખી આપવા માટે ગુણવત્તા વૃક્ષ સાથે દૃશ્યો તરીકે ગુણવત્તા જરૂરિયાતો. સૌથી મહત્વપૂર્ણ ગુણવત્તા લક્ષ્યો વિભાગ 1.2. (ગુણવત્તા લક્ષ્યો) માં પહેલેથી વર્ણવાયેલા હોવા જોઈએ.

સામગ્રી

આ વિભાગમાં તમામ સંબંધિત ગુણવત્તા જરૂરિયાતો છે.

આ જરૂરિયાતોમાંની સૌથી મહત્વપૂર્ણ વિભાગ 1.2. (ગુણવત્તા લક્ષ્યો) માં પહેલેથી વર્ણવાઈ ગઈ છે, તેથી અહીં માત્ર તેનો સંદર્ભ આપવો જોઈએ. આ વિભાગ 10 માં તમારે ઓછા મહત્વની ગુણવત્તા જરૂરિયાતો પણ નોંધવી જોઈએ, જે પૂર્ણપણે સિદ્ધ ન થાય તો મોટા જોખમો ઊભા નહીં કરે (પરંતુ હોય તો સારું).

પ્રેરણા

ગુણવત્તા જરૂરિયાતોનો આર્કિટેક્ચરલ નિર્ણયો પર ઘણો પ્રભાવ હોવાથી, તમારે જાણવું જોઈએ કે તમારા હિતધારકો માટે કઈ ગુણવત્તાઓ ખરેખર મહત્વની છે, ચોક્કસ અને માપી શકાય તેવી રીતે.

વધુ માહિતી

https://quality.arc42.org પર વ્યાપક Q42 ગુણવત્તા મોડેલ જુઓ.

10.1 ગુણવત્તા જરૂરિયાતોની ઝાંખી

સામગ્રી

ગુણવત્તા જરૂરિયાતોની ઝાંખી કે સારાંશ.

પ્રેરણા

ઘણીવાર અમને ડઝનબંધ (કે સેંકડો) વિગતવાર ગુણવત્તા જરૂરિયાતો મળે છે. આ ઝાંખી વિભાગમાં તમારે સંક્ષેપ કરવાનો પ્રયાસ કરવો જોઈએ, દા.ત. શ્રેણીઓ કે વિષયોનું વર્ણન કરીને (ISO 25010:2023 કે Q42 સૂચવે છે તેમ

જો આ સારાંશ વર્ણનો પહેલેથી ચોક્કસ, પૂરતા વિશિષ્ટ અને માપી શકાય તેવા હોય, તો તમે વિભાગ 10.2 છોડી શકો.

સ્વરૂપ

સરળ કોષ્ટક વાપરો જેમાં દરેક પંક્તિમાં શ્રેણી કે વિષય અને ગુણવત્તા જરૂરિયાતનું ટૂંકું વર્ણન હોય. વૈકલ્પિક રીતે, તમે આ ગુણવત્તા જરૂરિયાતોને ગોઠવવા માટે માઇન્ડમેપ વાપરી શકો.

સાહિત્યમાં, ગુણવત્તા લક્ષણ વૃક્ષનો વિચાર પણ વર્ણવાયો છે, જે સામાન્ય શબ્દ "ગુણવત્તા" ને મૂળ તરીકે મૂકે છે અને "ગુણવત્તા" શબ્દની વૃક્ષ જેવી પરિષ્કૃતિ વાપરે છે. [Bass+21] એ આ હેતુ માટે "Quality Attribute Utility Tree" શબ્દ રજૂ કર્યો.

10.2 ગુણવત્તા દૃશ્યો

સામગ્રી

ગુણવત્તા દૃશ્યો ગુણવત્તા જરૂરિયાતોને નક્કર બનાવે છે અને નક્કી કરવા દે છે કે તે પૂર્ણ થઈ કે નહીં (સ્વીકૃતિ માપદંડના અર્થમાં). ખાતરી કરો કે તમારા દૃશ્યો ચોક્કસ અને માપી શકાય તેવા છે.

બે પ્રકારના દૃશ્યો ખાસ કરીને ઉપયોગી છે:

  • ઉપયોગ દૃશ્યો (એપ્લિકેશન દૃશ્યો કે ઉપયોગ કેસ દૃશ્યો પણ કહેવાય) ચોક્કસ ઉત્તેજના પ્રત્યે સિસ્ટમની રનટાઇમ પ્રતિક્રિયાનું વર્ણન કરે છે. આમાં સિસ્ટમની કાર્યક્ષમતા કે કામગીરીનું વર્ણન કરતા દૃશ્યો પણ શામેલ છે. ઉદાહરણ: સિસ્ટમ વપરાશકર્તાની વિનંતી પર એક સેકન્ડમાં પ્રતિક્રિયા આપે છે.

  • ફેરફાર દૃશ્યો સિસ્ટમ કે તેના નજીકના પર્યાવરણમાં સુધારા કે વિસ્તરણની ઇચ્છિત અસરનું વર્ણન કરે છે. ઉદાહરણ: વધારાની કાર્યક્ષમતા લાગુ કરાય છે કે ગુણવત્તા લક્ષણ માટેની જરૂરિયાતો બદલાય છે, અને ફેરફારનો પ્રયત્ન કે સમયગાળો માપવામાં આવે છે.

સ્વરૂપ

વિગતવાર દૃશ્યો માટે લાક્ષણિક માહિતીમાં નીચેનાનો સમાવેશ થાય છે:

ટૂંકા સ્વરૂપમાં (Q42 મોડેલમાં પસંદગીનું):

  • સંદર્ભ/પૃષ્ઠભૂમિ: કયા પ્રકારની સિસ્ટમ કે ઘટક, પર્યાવરણ કે પરિસ્થિતિ શું છે?

  • સ્રોત/ઉત્તેજના: કોણ કે શું વર્તણૂક, પ્રતિક્રિયા કે કાર્યવાહી શરૂ કરે કે ઉત્તેજિત કરે છે.

  • મેટ્રિક/સ્વીકૃતિ માપદંડ: માપ કે મેટ્રિક સહિતની પ્રતિક્રિયા

દૃશ્યોનું લાંબું સ્વરૂપ (SEI અને [Bass+21] દ્વારા પસંદ) વધુ વિગતવાર છે અને નીચેની માહિતી શામેલ કરે છે:

  • દૃશ્ય ID: દૃશ્ય માટે અનન્ય ઓળખકર્તા.

  • દૃશ્યનું નામ: દૃશ્ય માટે ટૂંકું, વર્ણનાત્મક નામ.

  • સ્રોત: દૃશ્ય શરૂ કરતી સંસ્થા (વપરાશકર્તા, સિસ્ટમ કે ઘટના).

  • ઉત્તેજના: ટ્રિગરિંગ ઘટના કે પરિસ્થિતિ જેને સિસ્ટમે સંબોધવી પડે.

  • પર્યાવરણ: સંચાલન સંદર્ભ કે પરિસ્થિતિ જેમાં સિસ્ટમ ઉત્તેજનાનો અનુભવ કરે છે.

  • આર્ટિફેક્ટ: ઉત્તેજનાથી અસરગ્રસ્ત બિલ્ડિંગ-બ્લોક્સ કે સિસ્ટમના અન્ય તત્વો.

  • પ્રતિક્રિયા: ઉત્તેજનાના પ્રતિભાવમાં સિસ્ટમ જે પરિણામ કે વર્તણૂક દર્શાવે છે.

  • પ્રતિક્રિયા માપ: માપદંડ કે મેટ્રિક જેના દ્વારા સિસ્ટમની પ્રતિક્રિયાનું મૂલ્યાંકન થાય છે.

આ પણ જુઓ

જાન્યુઆરી 2023 થી, arc42 વ્યવહારુ ગુણવત્તા મોડેલ આપે છે, જે ગુણવત્તા જરૂરિયાતોને #flexible, #efficient, #usable, #operable, #testable, #secure, #safe, #reliable જેવા હેશટેગ કે લેબલથી ચિહ્નિત કરવાનું સૂચવે છે.

11. જોખમો અને તકનીકી દેવું

જાણીતા તકનીકી જોખમો કે તકનીકી દેવું. સિસ્ટમની અંદર કે આસપાસ કઈ સંભવિત સમસ્યાઓ છે? વિકાસ ટીમને શાથી ખરાબ લાગે છે?

સામગ્રી

અગ્રતા અનુસાર ગોઠવેલ ઓળખાયેલા તકનીકી જોખમો કે તકનીકી દેવાની યાદી

પ્રેરણા

"જોખમ વ્યવસ્થાપન એ પુખ્ત વયના લોકો માટેનું પ્રોજેક્ટ વ્યવસ્થાપન છે" (Tim Lister, Atlantic Systems Guild.)

આર્કિટેક્ચરમાં જોખમો અને તકનીકી દેવાની વ્યવસ્થિત શોધ અને મૂલ્યાંકન માટે આ તમારું સૂત્ર હોવું જોઈએ, જેની વ્યવસ્થાપન હિતધારકો (દા.ત. પ્રોજેક્ટ મેનેજર્સ, પ્રોડક્ટ ઓનર્સ) ને એકંદર જોખમ વિશ્લેષણ અને માપન આયોજનના ભાગ રૂપે જરૂર પડશે.

સ્વરૂપ

જોખમો અને/અથવા તકનીકી દેવાની યાદી, કદાચ જોખમો ઘટાડવા, હળવા કરવા કે ટાળવા અથવા તકનીકી દેવું ઘટાડવા માટેના સૂચવેલા પગલાં સહિત.