Software architecture
மென்பொருள் கட்டமைப்பு என்பது ஒரு மென்பொருள் அமைப்பு மற்றும் அத்தகைய கட்டமைப்புகள் மற்றும் அமைப்புகளை உருவாக்கும் ஒழுக்கத்தைப் பற்றி நியாயப்படுத்த தேவையான கட்டமைப்புகளின் தொகுப்பாகும். ஒவ்வொரு கட்டமைப்பும் மென்பொருள் கூறுகள், அவற்றுக்கிடையேயான உறவுகள் மற்றும் கூறுகள் மற்றும் உறவுகள் ஆகிய இரண்டின் பண்புகளையும் கொண்டுள்ளது. ஒரு மென்பொருள் அமைப்பின் கட்டமைப்பு ஒரு உருவகம், இது ஒரு கட்டிடத்தின் கட்டிடக்கலைக்கு ஒத்ததாகும். இது அமைப்பு மற்றும் மேம்பாட்டுத் திட்டத்திற்கான வரைபடமாக செயல்படுகிறது, இது திட்ட மேலாண்மை பின்னர் குழுக்கள் மற்றும் சம்பந்தப்பட்ட நபர்களால் செயல்படுத்தப்பட வேண்டிய பணிகளை விரிவுபடுத்த பயன்படுத்தலாம். மென்பொருள் கட்டமைப்பு என்பது அடிப்படை கட்டமைப்புத் தேர்வுகளைச் செய்வது பற்றியது, அவை செயல்படுத்தப்பட்டவுடன் மாற்றுவதற்கு விலை உயர்ந்தவை. மென்பொருள் கட்டமைப்பின் தேர்வுகளில் மென்பொருளின் வடிவமைப்பில் உள்ள சாத்தியக்கூறுகளிலிருந்து குறிப்பிட்ட கட்டமைப்பு விருப்பங்கள் அடங்கும். எடுத்துக்காட்டாக, விண்வெளி விண்கலம் ஏவும் வாகனத்தை கட்டுப்படுத்தும் அமைப்புகள் மிகவும் வேகமாகவும் மிகவும் நம்பகமானதாகவும் இருக்க வேண்டும். எனவே, பொருத்தமான நிகழ்நேர கணினி மொழியைத் தேர்ந்தெடுக்க வேண்டும். கூடுதலாக, நம்பகத்தன்மையின் தேவையை பூர்த்தி செய்ய, நிரலின் பல தேவையற்ற மற்றும் சுயாதீனமாக தயாரிக்கப்பட்ட நகல்களை வைத்திருக்கவும், முடிவுகளை குறுக்குச் சரிபார்க்கும் போது இந்த நகல்களை சுயாதீனமான வன்பொருளில் இயக்கவும் தேர்வு செய்யலாம். மென்பொருள் கட்டமைப்பை ஆவணப்படுத்துவது பங்குதாரர்களிடையே தொடர்பை எளிதாக்குகிறது, உயர் மட்ட வடிவமைப்பு பற்றிய ஆரம்ப முடிவுகளைப் பிடிக்கிறது, மேலும் திட்டங்களுக்கு இடையில் வடிவமைப்பு கூறுகளை மீண்டும் பயன்படுத்த அனுமதிக்கிறது. மென்பொருள் கட்டமைப்புகளின் நோக்கம் குறித்து கருத்து வேறுபாடுகள் வேறுபடுகின்றனஃ மேக்ரோஸ்கோபிக் அமைப்பு அமைப்புஃ இது கட்டமைப்பை ஒரு மென்பொருள் அமைப்பின் உயர் நிலை சுருக்கமாக குறிக்கிறது, இது இந்த கூறுகளுக்கு இடையிலான தொடர்புகளை விவரிக்கும் இணைப்பிகளுடன் சேர்ந்து கணக்கீட்டு கூறுகளின் தொகுப்பைக் கொண்டுள்ளது. முக்கியமான விஷயங்கள்-அது எதுவாக இருந்தாலும்ஃ மென்பொருள் வடிவமைப்பாளர்கள் அமைப்பு மற்றும் அதன் பங்குதாரர்களுக்கு அதிக தாக்கத்தை ஏற்படுத்தும் முடிவுகளில் தங்களை அக்கறை கொள்ள வேண்டும் என்ற உண்மையை இது குறிக்கிறது. ஒரு அமைப்பை அதன் சூழலில் புரிந்துகொள்வதற்கு அடிப்படையானது என்னவென்றால், மாற்றுவது கடினம் என்று மக்கள் கருதும் விஷயங்கள்ஃ கட்டமைப்பை வடிவமைப்பது ஒரு மென்பொருள் அமைப்பின் வாழ்க்கைச் சுழற்சியின் தொடக்கத்தில் நடைபெறுவதால், கட்டிடக் கலைஞர் முதல் முறையாக சரியானதாக இருக்க வேண்டிய முடிவுகளில் கவனம் செலுத்த வேண்டும். இந்த சிந்தனையைப் பின்பற்றி, கட்டிடக்கலை வடிவமைப்பு சிக்கல்கள் அவற்றின் மாற்றமுடியாத தன்மையை கடக்க முடிந்தவுடன் கட்டிடக்கலை அல்லாததாக மாறக்கூடும். கட்டிடக்கலை வடிவமைப்பு முடிவுகளின் தொகுப்புஃ மென்பொருள் கட்டமைப்பை வெறுமனே மாதிரிகள் அல்லது கட்டமைப்புகளின் தொகுப்பாகக் கருதக்கூடாது, ஆனால் இந்த குறிப்பிட்ட கட்டமைப்புகளுக்கு வழிவகுக்கும் முடிவுகளையும் அவற்றின் பின்னணியில் உள்ள காரணத்தையும் உள்ளடக்கியதாக இருக்க வேண்டும். இந்த நுண்ணறிவு மென்பொருள் கட்டமைப்பு அறிவு மேலாண்மை குறித்து கணிசமான ஆராய்ச்சிக்கு வழிவகுத்துள்ளது. மென்பொருள் கட்டமைப்புக்கும் வடிவமைப்பு மற்றும் தேவைகள் பொறியியலுக்கும் இடையே கூர்மையான வேறுபாடு இல்லை (கீழே உள்ள தொடர்புடைய துறைகளைப் பார்க்கவும்). அவை அனைத்தும் உயர்மட்ட நோக்கங்கள் முதல் குறைந்த அளவிலான விவரங்கள் வரை "வேண்டுமென்றே சங்கிலியின்" ஒரு பகுதியாகும். மென்பொருள் கட்டமைப்பின் சிறப்பியல்புகள் பின்வருவனவற்றை வெளிப்படுத்துகின்றனஃ ஏராளமான பங்குதாரர்கள்ஃ மென்பொருள் அமைப்புகள் வணிக மேலாளர்கள், உரிமையாளர்கள், பயனர்கள் மற்றும் ஆபரேட்டர்கள் போன்ற பல்வேறு பங்குதாரர்களைப் பூர்த்தி செய்ய வேண்டும். இந்த பங்குதாரர்கள் அனைவருக்கும் அமைப்பு தொடர்பாக தங்கள் சொந்த கவலைகள் உள்ளன. இந்த கவலைகளை சமநிலைப்படுத்துவதும், அவை தீர்க்கப்படுகின்றன என்பதை நிரூபிப்பதும் அமைப்பை வடிவமைப்பதன் ஒரு பகுதியாகும். கட்டிடக்கலை என்பது பல்வேறு வகையான கவலைகள் மற்றும் பங்குதாரர்களைக் கையாள்வதை உள்ளடக்கியது மற்றும் பன்முகத் தன்மையைக் கொண்டுள்ளது என்பதை இது குறிக்கிறது. கவலைகளைப் பிரிப்பதுஃ கட்டிடக் கலைஞர்களுக்கு சிக்கலைக் குறைப்பதற்கான நிறுவப்பட்ட வழி வடிவமைப்பை இயக்கும் கவலைகளைப் பிரிப்பதாகும். பல்வேறு பங்குதாரர்களின் கவலைகளுடன் தொடர்புடைய தனித்தனி கண்ணோட்டத்தில் வடிவமைத்தல் மற்றும் கட்டமைப்பை விவரிப்பதன் மூலம் அனைத்து பங்குதாரர்களின் கவலைகளும் தீர்க்கப்படுகின்றன என்பதை கட்டிடக்கலை ஆவணங்கள் காட்டுகின்றன. இந்த தனித்தனி விளக்கங்கள் கட்டிடக்கலை காட்சிகள் என்று அழைக்கப்படுகின்றன (எடுத்துக்காட்டாக 4 + 1 கட்டிடக்கலை பார்வை மாதிரியைப் பார்க்கவும்). தரத்தால் இயக்கப்படும்ஃ உன்னதமான மென்பொருள் வடிவமைப்பு அணுகுமுறைகள் (எ. கா. ஜாக்சன் கட்டமைக்கப்பட்ட நிரலாக்கம்) தேவையான செயல்பாடு மற்றும் கணினி வழியாக தரவுகளின் ஓட்டத்தால் இயக்கப்படுகிறது, ஆனால் தற்போதைய நுண்ணறிவு என்னவென்றால், ஒரு மென்பொருள் அமைப்பின் கட்டமைப்பு அதன் தரமான பண்புக்கூறுகளான தவறு-சகிப்புத்தன்மை, பின்தங்கிய பொருந்தக்கூடிய தன்மை, விரிவாக்கம், நம்பகத்தன்மை, பராமரிப்பு, கிடைக்கும் தன்மை, பாதுகாப்பு, பயன்பாட்டினை மற்றும் பிற திறன்களுடன் மிகவும் நெருக்கமாக தொடர்புடையது. பங்குதாரர்களின் கவலைகள் பெரும்பாலும் இந்த தரமான பண்புக்கூறுகள் குறித்த தேவைகளாக மொழிபெயர்க்கப்படுகின்றன, அவை செயல்படாத தேவைகள், கூடுதல் செயல்பாட்டு தேவைகள், நடத்தை தேவைகள் அல்லது தரமான பண்புக்கூறு தேவைகள் என்று அழைக்கப்படுகின்றன. தொடர்ச்சியான பாணிகள்ஃ கட்டிடக் கட்டமைப்பைப் போலவே, மென்பொருள் கட்டிடக்கலை ஒழுக்கமும் தொடர்ச்சியான கவலைகளை நிவர்த்தி செய்வதற்கான நிலையான வழிகளை உருவாக்கியுள்ளது. இந்த "நிலையான வழிகள்" பல்வேறு மட்டங்களில் பல்வேறு பெயர்களால் அழைக்கப்படுகின்றன. தொடர்ச்சியான தீர்வுகளுக்கான பொதுவான சொற்கள் கட்டிடக்கலை பாணி, தந்திரோபாயம், குறிப்பு கட்டிடக்கலை மற்றும் கட்டிடக்கலை முறை ஆகும். கருத்தியல் ஒருமைப்பாடுஃ ஃப்ரெட் ப்ரூக்ஸ் தனது 1975 புத்தகமான தி மைத்தியல் மேன்-மாண்டில் அறிமுகப்படுத்திய ஒரு சொல், ஒரு மென்பொருள் அமைப்பின் கட்டமைப்பு அது என்ன செய்ய வேண்டும், அதை எப்படி செய்ய வேண்டும் என்பதற்கான ஒட்டுமொத்த பார்வையை பிரதிநிதித்துவப்படுத்துகிறது என்ற கருத்தை குறிக்கிறது. இந்த பார்வை அதன் செயல்பாட்டிலிருந்து பிரிக்கப்பட வேண்டும். கட்டிடக் கலைஞர் "பார்வையின் கீப்பர்" என்ற பாத்திரத்தை ஏற்றுக்கொள்கிறார், அமைப்பில் சேர்த்தல்கள் கட்டிடக்கலைக்கு ஏற்ப இருப்பதை உறுதிசெய்கிறார், எனவே கருத்தியல் ஒருமைப்பாட்டைப் பாதுகாக்கிறது. அறிவாற்றல் கட்டுப்பாடுகள்ஃ கணினி புரோகிராமர் மெல்வின் கான்வே 1967 ஆம் ஆண்டு ஒரு கட்டுரையில் முதன்முதலில் செய்த ஒரு அவதானிப்பு, அமைப்புகளை வடிவமைக்கும் நிறுவனங்கள் இந்த அமைப்புகளின் தகவல்தொடர்பு கட்டமைப்புகளின் நகல்களாக இருக்கும் வடிவமைப்புகளை தயாரிக்க கட்டுப்படுத்தப்படுகின்றன. கருத்தியல் ஒருமைப்பாட்டைப் போலவே, ஃப்ரெட் ப்ரூக்ஸ் தான் தனது நேர்த்தியான கிளாசிக் தி மைத்தியல் மேன்-மாண்டில் காகிதத்தையும் யோசனையையும் மேற்கோள் காட்டியபோது அதை பரந்த பார்வையாளர்களுக்கு அறிமுகப்படுத்தினார், அதை "கான்வேயின் சட்டம்" என்று அழைத்தார். உந்துதல் மென்பொருள் கட்டமைப்பு என்பது ஒரு சிக்கலான அமைப்பின் "அறிவார்ந்த புரிந்துகொள்ளக்கூடிய" சுருக்கமாகும். இந்த சுருக்கம் பல நன்மைகளை வழங்குகிறதுஃ கணினி கட்டமைக்கப்படுவதற்கு முன்பு மென்பொருள் அமைப்புகளின் நடத்தையை பகுப்பாய்வு செய்வதற்கான அடிப்படையை இது வழங்குகிறது. எதிர்கால மென்பொருள் அமைப்பு உண்மையில் அதை உருவாக்காமல் அதன் பங்குதாரர்களின் தேவைகளை பூர்த்தி செய்கிறது என்பதை சரிபார்க்கும் திறன் கணிசமான செலவு சேமிப்பு மற்றும் இடர்-குறைப்பைக் குறிக்கிறது. இத்தகைய பகுப்பாய்வுகளைச் செய்ய ஏ. டி. ஏ. எம் அல்லது மென்பொருள் அமைப்பின் காட்சி பிரதிநிதித்துவத்தை உருவாக்குவதன் மூலம் பல நுட்பங்கள் உருவாக்கப்பட்டுள்ளன. இது கூறுகள் மற்றும் முடிவுகளின் மறுபயன்பாட்டிற்கு ஒரு அடிப்படையை வழங்குகிறது. ஒரு முழுமையான மென்பொருள் கட்டமைப்பு அல்லது அதன் பகுதிகள், தனிப்பட்ட கட்டிடக்கலை உத்திகள் மற்றும் முடிவுகள் போன்றவை, பல அமைப்புகளில் மீண்டும் பயன்படுத்தப்படலாம், அதன் பங்குதாரர்களுக்கு ஒத்த தரமான பண்புக்கூறுகள் அல்லது செயல்பாடு தேவைப்படுகிறது, வடிவமைப்பு செலவுகளை மிச்சப்படுத்துகிறது மற்றும் வடிவமைப்பு தவறுகளின் அபாயத்தைத் தணிக்கிறது. இது ஒரு அமைப்பின் வளர்ச்சி, வரிசைப்படுத்தல் மற்றும் பராமரிப்பு வாழ்க்கையை பாதிக்கும் ஆரம்பகால வடிவமைப்பு முடிவுகளை ஆதரிக்கிறது. அட்டவணை மற்றும் வரவுசெலவுத் திட்ட மீறல்களைத் தடுக்க ஆரம்ப, அதிக தாக்கத்தை ஏற்படுத்தும் முடிவுகளை சரியாகப் பெறுவது முக்கியம். இது பங்குதாரர்களுடன் தொடர்புகொள்வதை எளிதாக்குகிறது, அவர்களின் தேவைகளை சிறப்பாக பூர்த்தி செய்யும் ஒரு அமைப்புக்கு பங்களிக்கிறது. பங்குதாரர்களின் கண்ணோட்டத்தில் சிக்கலான அமைப்புகளைப் பற்றி தொடர்புகொள்வது அவர்களின் கூறப்பட்ட தேவைகளின் விளைவுகளையும் அவற்றின் அடிப்படையில் வடிவமைப்பு முடிவுகளையும் புரிந்து கொள்ள உதவுகிறது. அமைப்பு செயல்படுத்தப்படுவதற்கு முன்பு வடிவமைப்பு முடிவுகளைப் பற்றி தொடர்பு கொள்ளும் திறனை கட்டிடக்கலை வழங்குகிறது, அவை இன்னும் மாற்றியமைக்க எளிதாக இருக்கும்போது. இது இடர் மேலாண்மைக்கு உதவுகிறது. மென்பொருள் கட்டமைப்பு அபாயங்கள் மற்றும் தோல்விக்கான வாய்ப்பைக் குறைக்க உதவுகிறது. இது செலவைக் குறைக்க உதவுகிறது. சிக்கலான தகவல் தொழில்நுட்பத் திட்டங்களில் ஆபத்து மற்றும் செலவுகளை நிர்வகிப்பதற்கான ஒரு வழிமுறையாக மென்பொருள் கட்டமைப்பு உள்ளது. மென்பொருள் வடிவமைப்புக்கும் (சிவில்) கட்டமைப்புக்கும் இடையிலான ஒப்பீடு முதன்முதலில் 1960 களின் பிற்பகுதியில் வரையப்பட்டது, ஆனால் "மென்பொருள் கட்டமைப்பு" என்ற சொல் 1990 கள் வரை பரவலாகப் பயன்படுத்தப்படவில்லை. கணினி அறிவியல் துறை உருவானதிலிருந்து சிக்கல்களுடன் தொடர்புடைய சிக்கல்களை எதிர்கொண்டது. முந்தைய சிக்கலான சிக்கல்கள் டெவலப்பர்களால் சரியான தரவு கட்டமைப்புகளைத் தேர்ந்தெடுப்பதன் மூலமும், வழிமுறைகளை உருவாக்குவதன் மூலமும், கவலைகளைப் பிரிப்பது என்ற கருத்தைப் பயன்படுத்துவதன் மூலமும் தீர்க்கப்பட்டன. "மென்பொருள் கட்டமைப்பு" என்ற சொல் தொழில்துறைக்கு ஒப்பீட்டளவில் புதியது என்றாலும், இந்தத் துறையின் அடிப்படைக் கொள்கைகள் 1980 களின் நடுப்பகுதியில் இருந்து மென்பொருள் பொறியியல் முன்னோடிகளால் அவ்வப்போது பயன்படுத்தப்படுகின்றன. ஒரு அமைப்பின் மென்பொருள் கட்டமைப்பைப் பிடிக்கவும் விளக்கவும் ஆரம்பகால முயற்சிகள் துல்லியமற்றவை மற்றும் ஒழுங்கற்றவை, பெரும்பாலும் பெட்டி மற்றும் வரி வரைபடங்களின் தொகுப்பால் வகைப்படுத்தப்படுகின்றன. ஒரு கருத்தாக மென்பொருள் கட்டமைப்பு 1968 இல் எட்ஸ்கர் டிஜ்க்ஸ்ட்ரா மற்றும் 1970 களின் முற்பகுதியில் டேவிட் பர்னாஸ் ஆகியோரின் ஆராய்ச்சியில் அதன் தோற்றத்தைக் கொண்டுள்ளது. இந்த விஞ்ஞானிகள் ஒரு மென்பொருள் அமைப்பின் கட்டமைப்பு முக்கியமானது என்றும் கட்டமைப்பை சரியாகப் பெறுவது முக்கியம் என்றும் வலியுறுத்தினர். 1990 களில் கட்டிடக்கலை பாணிகள் (வடிவங்கள்), கட்டிடக்கலை விளக்க மொழிகள், கட்டிடக்கலை ஆவணங்கள் மற்றும் முறையான முறைகள் ஆகியவற்றில் கவனம் செலுத்தும் ஆராய்ச்சி பணிகளுடன், ஒழுக்கத்தின் அடிப்படை அம்சங்களை வரையறுக்கவும் தொகுக்கவும் ஒரு ஒருங்கிணைந்த முயற்சி இருந்தது. மென்பொருள் கட்டமைப்பை ஒரு துறையாக மேம்படுத்துவதில் ஆராய்ச்சி நிறுவனங்கள் முக்கிய பங்கு வகித்துள்ளன. கார்னகி மெலனின் மேரி ஷா மற்றும் டேவிட் கார்லான் ஆகியோர் 1996 ஆம் ஆண்டில் மென்பொருள் கட்டிடக்கலைஃ ஒரு வளர்ந்து வரும் ஒழுக்கத்தின் கண்ணோட்டங்கள் என்ற தலைப்பில் ஒரு புத்தகத்தை எழுதினர், இது கூறுகள், இணைப்பிகள் மற்றும் பாணிகள் போன்ற மென்பொருள் கட்டிடக்கலை கருத்துக்களை ஊக்குவித்தது. கலிபோர்னியா பல்கலைக்கழகம், இர்வின் இன்ஸ்டிடியூட் ஃபார் சாப்ட்வேர் ரிசர்ச்சின் மென்பொருள் கட்டிடக்கலை ஆராய்ச்சிக்கான முயற்சிகள் முதன்மையாக கட்டிடக்கலை பாணிகள், கட்டிடக்கலை விளக்க மொழிகள் மற்றும் மாறும் கட்டமைப்புகளில் இயக்கப்படுகின்றன. IEEE 1471-2000, "மென்பொருள்-தீவிர அமைப்புகளின் கட்டிடக்கலை விளக்கத்திற்கான பரிந்துரைக்கப்பட்ட நடைமுறை", மென்பொருள் கட்டிடக்கலை துறையில் முதல் முறையான தரநிலையாகும். இது 2007 ஆம் ஆண்டில் ஐ. எஸ். ஓ ஆல் ஐ. எஸ். ஓ/ஐ. இ. சி 42010:2007 ஆக ஏற்றுக்கொள்ளப்பட்டது. 2011 நவம்பரில், IEEE 1471-2000 ஐ ISO/IEC/IEEE 42010:2011, "அமைப்புகள் மற்றும் மென்பொருள் பொறியியல்-கட்டிடக்கலை விளக்கம்" (IEEE மற்றும் ISO ஆல் கூட்டாக வெளியிடப்பட்டது) ஆகியவற்றால் மாற்றப்பட்டது. IEEE 1471 இல், மென்பொருள் கட்டமைப்பு என்பது "மென்பொருள்-தீவிர அமைப்புகளின்" கட்டமைப்பைப் பற்றியது, இது "ஒட்டுமொத்த அமைப்பின் வடிவமைப்பு, கட்டுமானம், வரிசைப்படுத்தல் மற்றும் பரிணாம வளர்ச்சிக்கு மென்பொருள் அத்தியாவசிய தாக்கங்களை பங்களிக்கும் எந்தவொரு அமைப்பாகவும் வரையறுக்கப்படுகிறது", 2011 பதிப்பு ஒரு அமைப்பின் ISO/IEC 15288 மற்றும் ISO/IEC 12207 வரையறைகளை சேர்ப்பதன் மூலம் ஒரு படி மேலே செல்கிறது, இது வன்பொருள் மற்றும் மென்பொருளை மட்டுமல்ல, "மனிதர்கள், செயல்முறைகள், நடைமுறைகள், வசதிகள், பொருட்கள் மற்றும் இயற்கையாக நிகழும் நிறுவனங்கள்" ஆகியவற்றை உள்ளடக்கியது. இது மென்பொருள் கட்டமைப்பு, நிறுவன கட்டமைப்பு மற்றும் தீர்வு கட்டமைப்பு ஆகியவற்றுக்கு இடையிலான உறவை பிரதிபலிக்கிறது. கட்டிடக்கலை செயல்பாடுகள் ஒரு மென்பொருள் கட்டிடக் கலைஞர் செய்யும் பல செயல்பாடுகள் உள்ளன. ஒரு மென்பொருள் கட்டிடக் கலைஞர் பொதுவாக திட்ட மேலாளர்களுடன் பணிபுரிகிறார், பங்குதாரர்களுடன் கட்டிடக்கலை முக்கியத்துவம் வாய்ந்த தேவைகளைப் பற்றி விவாதிக்கிறார், ஒரு மென்பொருள் கட்டமைப்பை வடிவமைக்கிறார், ஒரு வடிவமைப்பை மதிப்பீடு செய்கிறார், வடிவமைப்பாளர்கள் மற்றும் பங்குதாரர்களுடன் தொடர்பு கொள்கிறார், கட்டிடக்கலை வடிவமைப்பை ஆவணப்படுத்துகிறார் மற்றும் பல. மென்பொருள் கட்டிடக்கலை வடிவமைப்பில் நான்கு முக்கிய செயல்பாடுகள் உள்ளன. இந்த முக்கிய கட்டிடக்கலை நடவடிக்கைகள் மீண்டும் மீண்டும் மற்றும் ஆரம்ப மென்பொருள் மேம்பாட்டு வாழ்க்கைச் சுழற்சியின் பல்வேறு கட்டங்களிலும், அதே போல் ஒரு அமைப்பின் பரிணாம வளர்ச்சியிலும் செய்யப்படுகின்றன. கட்டிடக்கலை பகுப்பாய்வு என்பது ஒரு முன்மொழியப்பட்ட அமைப்பு செயல்படும் சூழலைப் புரிந்துகொள்வதற்கும், அமைப்பிற்கான தேவைகளை தீர்மானிப்பதற்கும் ஆகும். பகுப்பாய்வு செயல்பாட்டிற்கான உள்ளீடு அல்லது தேவைகள் எந்த எண்ணிக்கையிலான பங்குதாரர்களிடமிருந்தும் வரலாம் மற்றும் பின்வருவன போன்ற உருப்படிகளை உள்ளடக்கும்ஃ செயல்பாட்டில் இருக்கும்போது அமைப்பு என்ன செய்யும் (செயல்பாட்டுத் தேவைகள்) நம்பகத்தன்மை, செயல்பாடு, செயல்திறன் செயல்திறன், பாதுகாப்பு, ஐஎஸ்ஓ/ஐஇசி 25010:2011 நிலையான மேம்பாட்டு நேரத்தில் வரையறுக்கப்பட்ட பொருந்தக்கூடிய தன்மை போன்ற இயக்க நேர செயல்படாத தேவைகளை கணினி எவ்வளவு சிறப்பாகச் செய்யும், அதாவது ஐஎஸ்ஓ 25010:2011 நிலையான வணிகத் தேவைகளில் வரையறுக்கப்பட்ட பராமரிப்பு மற்றும் பரிமாற்றத்தன்மை மற்றும் காலப்போக்கில் மாறக்கூடிய ஒரு அமைப்பின் சுற்றுச்சூழல் சூழல்கள், சட்ட, சமூக, நிதி, போட்டி மற்றும் தொழில்நுட்பக் கவலைகள் பகுப்பாய்வு செயல்பாட்டின் வெளியீடுகள் ஒரு மென்பொருள் அமைப்பின் கட்டமைப்பில் அளவிடக்கூடிய தாக்கத்தை ஏற்படுத்தும் தேவைகள், கட்டிடக்கலை குறிப்பிடத்தக்க தேவைகள் என்று அழைக்கப்படுகின்றன. கட்டிடக்கலை தொகுப்பு அல்லது வடிவமைப்பு என்பது ஒரு கட்டிடக்கலையை உருவாக்கும் செயல்முறையாகும். பகுப்பாய்வு மூலம் தீர்மானிக்கப்படும் கட்டிடக்கலை முக்கியத்துவம் வாய்ந்த தேவைகள், வடிவமைப்பின் தற்போதைய நிலை மற்றும் எந்தவொரு மதிப்பீட்டு நடவடிக்கைகளின் முடிவுகளையும் கருத்தில் கொண்டு, வடிவமைப்பு உருவாக்கப்பட்டு மேம்படுத்தப்படுகிறது. கட்டிடக்கலை மதிப்பீடு என்பது தற்போதைய வடிவமைப்பு அல்லது அதன் ஒரு பகுதி பகுப்பாய்வின் போது பெறப்பட்ட தேவைகளை எவ்வளவு சிறப்பாக பூர்த்தி செய்கிறது என்பதை தீர்மானிக்கும் செயல்முறையாகும். ஒரு கட்டிடக் கலைஞர் ஒரு வடிவமைப்பு முடிவை பரிசீலிக்கும் போதெல்லாம் ஒரு மதிப்பீடு ஏற்படலாம், வடிவமைப்பின் ஒரு பகுதி முடிந்த பிறகு அது நிகழலாம், இறுதி வடிவமைப்பு முடிந்த பிறகு அது நிகழலாம் அல்லது அமைப்பு கட்டப்பட்ட பிறகு அது நிகழலாம். கிடைக்கக்கூடிய சில மென்பொருள் கட்டமைப்பு மதிப்பீட்டு நுட்பங்களில் கட்டிடக்கலை பரிமாற்ற பகுப்பாய்வு முறை (ஏடிஏஎம்) மற்றும் தாரா ஆகியவை அடங்கும். நுட்பங்களை ஒப்பிடுவதற்கான கட்டமைப்புகள் எஸ். ஏ. ஆர். ஏ அறிக்கை மற்றும் கட்டிடக்கலை மதிப்புரைகள்ஃ பயிற்சி மற்றும் அனுபவம் போன்ற கட்டமைப்புகளில் விவாதிக்கப்படுகின்றன. கட்டிடக்கலை பரிணாமம் என்பது தேவைகள் மற்றும் சூழலில் ஏற்படும் மாற்றங்களைச் சந்திக்க ஏற்கனவே உள்ள மென்பொருள் கட்டமைப்பைப் பராமரித்து மாற்றியமைக்கும் செயல்முறையாகும். மென்பொருள் கட்டமைப்பு ஒரு மென்பொருள் அமைப்பின் அடிப்படை கட்டமைப்பை வழங்குவதால், அதன் பரிணாமம் மற்றும் பராமரிப்பு அதன் அடிப்படை கட்டமைப்பை அவசியம் பாதிக்கும். எனவே, கட்டிடக்கலை பரிணாமம் புதிய செயல்பாட்டைச் சேர்ப்பதிலும், ஏற்கனவே உள்ள செயல்பாடு மற்றும் கணினி நடத்தையை பராமரிப்பதிலும் அக்கறை கொண்டுள்ளது. கட்டிடக்கலைக்கு முக்கியமான ஆதரவு நடவடிக்கைகள் தேவைப்படுகின்றன. இந்த துணை நடவடிக்கைகள் முக்கிய மென்பொருள் கட்டமைப்பு செயல்முறை முழுவதும் நடைபெறுகின்றன. அவற்றில் அறிவு மேலாண்மை மற்றும் தகவல் தொடர்பு, வடிவமைப்பு பகுத்தறிவு மற்றும் முடிவெடுப்பது மற்றும் ஆவணப்படுத்தல் ஆகியவை அடங்கும். கட்டிடக்கலை ஆதரவு நடவடிக்கைகள் மென்பொருள் கட்டிடக்கலை ஆதரவு நடவடிக்கைகள் முக்கிய மென்பொருள் கட்டிடக்கலை நடவடிக்கைகளின் போது மேற்கொள்ளப்படுகின்றன. இந்த துணை நடவடிக்கைகள் ஒரு மென்பொருள் வடிவமைப்பாளருக்கு பகுப்பாய்வு, தொகுப்பு, மதிப்பீடு மற்றும் பரிணாமத்தை மேற்கொள்ள உதவுகின்றன. உதாரணமாக, ஒரு கட்டிடக் கலைஞர் பகுப்பாய்வு கட்டத்தில் அறிவை சேகரித்து, முடிவுகளை எடுக்க வேண்டும் மற்றும் ஆவணப்படுத்த வேண்டும். அறிவு மேலாண்மை மற்றும் தகவல் தொடர்பு என்பது ஒரு மென்பொருள் கட்டமைப்பை வடிவமைப்பதற்கு அவசியமான அறிவை ஆராய்ந்து நிர்வகிக்கும் செயலாகும். ஒரு மென்பொருள் வடிவமைப்பாளர் தனிமையில் வேலை செய்வதில்லை. அவர்கள் பல்வேறு பங்குதாரர்களிடமிருந்து உள்ளீடுகள், செயல்பாட்டு மற்றும் செயல்படாத தேவைகள் மற்றும் வடிவமைப்பு சூழல்களைப் பெறுகிறார்கள்; மேலும் பங்குதாரர்களுக்கு வெளியீடுகளை வழங்குகிறார்கள். மென்பொருள் கட்டமைப்பு அறிவு பெரும்பாலும் மறைமுகமாக உள்ளது மற்றும் பங்குதாரர்களின் தலைவர்களில் தக்கவைக்கப்படுகிறது. மென்பொருள் கட்டமைப்பு அறிவு மேலாண்மை செயல்பாடு என்பது அறிவைக் கண்டுபிடிப்பது, தொடர்புகொள்வது மற்றும் தக்கவைத்துக்கொள்வது பற்றியது. மென்பொருள் கட்டமைப்பு வடிவமைப்பு சிக்கல்கள் சிக்கலானவை மற்றும் ஒன்றோடொன்று சார்ந்தவை என்பதால், வடிவமைப்பு பகுத்தறிவில் உள்ள அறிவு இடைவெளி தவறான மென்பொருள் கட்டமைப்பு வடிவமைப்பிற்கு வழிவகுக்கும். வடிவமைப்பு வடிவங்களைத் தேடுதல், முன்மாதிரி, அனுபவம் வாய்ந்த டெவலப்பர்கள் மற்றும் கட்டிடக் கலைஞர்களைக் கேட்பது, ஒத்த அமைப்புகளின் வடிவமைப்புகளை மதிப்பீடு செய்தல், பிற வடிவமைப்பாளர்கள் மற்றும் பங்குதாரர்களுடன் அறிவைப் பகிர்வது மற்றும் விக்கி பக்கத்தில் அனுபவத்தை ஆவணப்படுத்துதல் ஆகியவை அறிவு மேலாண்மை மற்றும் தகவல்தொடர்பு நடவடிக்கைகளின் எடுத்துக்காட்டுகளாகும். வடிவமைப்பு பகுத்தறிவு மற்றும் முடிவெடுப்பது என்பது வடிவமைப்பு முடிவுகளை மதிப்பிடும் செயல்பாடாகும். இந்த செயல்பாடு மூன்று முக்கிய மென்பொருள் கட்டமைப்பு நடவடிக்கைகளுக்கும் அடிப்படையாகும். இது முடிவெடுக்கும் சூழல்களைச் சேகரித்தல் மற்றும் தொடர்புபடுத்துதல், வடிவமைப்பு முடிவெடுக்கும் சிக்கல்களை உருவாக்குதல், தீர்வு விருப்பங்களைக் கண்டறிதல் மற்றும் முடிவுகளை எடுப்பதற்கு முன்பு பரிமாற்றங்களை மதிப்பீடு செய்தல் ஆகியவற்றை உள்ளடக்கியது. குறிப்பிடத்தக்க கட்டிடக்கலை தேவைகள் மற்றும் மென்பொருள் கட்டமைப்பு முடிவுகள் மற்றும் மென்பொருள் கட்டமைப்பு பகுப்பாய்வு, தொகுப்பு மற்றும் மதிப்பீடு ஆகியவற்றை மதிப்பீடு செய்யும் போது இந்த செயல்முறை முடிவு கிரானுலாரிட்டியின் பல்வேறு நிலைகளில் நிகழ்கிறது. ஒரு தேவையின் தாக்கங்கள் அல்லது தரமான பண்புக்கூறுகளில் ஒரு வடிவமைப்பின் தாக்கங்களைப் புரிந்துகொள்வது, ஒரு வடிவமைப்பு ஏற்படுத்தக்கூடிய சிக்கல்களை கேள்வி கேட்பது, சாத்தியமான தீர்வு விருப்பங்களை மதிப்பிடுவது மற்றும் தீர்வுகளுக்கு இடையிலான பரிமாற்றங்களை மதிப்பீடு செய்வது ஆகியவை பகுத்தறிவு நடவடிக்கைகளின் எடுத்துக்காட்டுகளில் அடங்கும். ஆவணப்படுத்தல் என்பது மென்பொருள் கட்டமைப்பு செயல்பாட்டின் போது உருவாக்கப்பட்ட வடிவமைப்பைப் பதிவு செய்யும் செயலாகும். கணினி வடிவமைப்பு பல காட்சிகளைப் பயன்படுத்தி விவரிக்கப்படுகிறது, அதில் கணினியின் குறியீடு கட்டமைப்பைக் காட்டும் நிலையான பார்வை, செயல்படுத்தும் போது கணினியின் செயல்களைக் காட்டும் ஒரு மாறும் பார்வை மற்றும் செயல்படுத்துவதற்காக வன்பொருளில் ஒரு அமைப்பு எவ்வாறு வைக்கப்படுகிறது என்பதைக் காட்டும் வரிசைப்படுத்தல் பார்வை ஆகியவை அடங்கும். க்ரூச்டனின் 4 + 1 பார்வை மென்பொருள் கட்டமைப்பை ஆவணப்படுத்துவதற்கு பொதுவாகப் பயன்படுத்தப்படும் காட்சிகளின் விளக்கத்தை பரிந்துரைக்கிறது; ஆவணப்படுத்தும் மென்பொருள் கட்டமைப்புகள்ஃ பார்வைகள் மற்றும் அதற்கு அப்பால் பார்வை விளக்கத்திற்குள் பயன்படுத்தக்கூடிய குறியீடுகளின் வகைகள் பற்றிய விளக்கங்கள் உள்ளன. ஆவணப்படுத்தல் செயல்பாடுகளின் எடுத்துக்காட்டுகள் ஒரு விவரக்குறிப்பை எழுதுதல், ஒரு கணினி வடிவமைப்பு மாதிரியைப் பதிவு செய்தல், ஒரு வடிவமைப்பு பகுத்தறிவை ஆவணப்படுத்துதல், ஒரு கண்ணோட்டத்தை உருவாக்குதல், பார்வைகளை ஆவணப்படுத்துதல். மென்பொருள் கட்டிடக்கலை தலைப்புகள் மென்பொருள் கட்டிடக்கலை விளக்கம் மென்பொருள் கட்டிடக்கலை விளக்கம் கட்டிடக்கலை விளக்க மொழிகள், கட்டிடக்கலை கண்ணோட்டங்கள் மற்றும் கட்டிடக்கலை கட்டமைப்புகள் போன்ற வழிமுறைகளைப் பயன்படுத்தி கட்டிடக்கலைகளை மாதிரியாக்குதல் மற்றும் பிரதிநிதித்துவப்படுத்தும் கொள்கைகள் மற்றும் நடைமுறைகளை உள்ளடக்கியது. கட்டிடக்கலை விளக்க மொழி (ADL) என்பது ஒரு மென்பொருள் கட்டமைப்பை (ISO/IEC/IEEE 42010) விவரிக்கப் பயன்படுத்தப்படும் வெளிப்பாட்டு வழிமுறையாகும். ஏ. ஏ. டி. எல் (எஸ். ஏ. இ தரநிலை), ரைட் (கார்னகி மெல்லனால் உருவாக்கப்பட்டது), ஆக்மே (கார்னகி மெல்லனால் உருவாக்கப்பட்டது), எக்ஸ். ஏ. டி. எல் (யு. சி. ஐ ஆல் உருவாக்கப்பட்டது), டார்வின் (இம்பீரியல் கல்லூரி லண்டனால் உருவாக்கப்பட்டது), டி. ஏ. ஓ. பி-ஏ. டி. எல் (மலாகா பல்கலைக்கழகத்தால் உருவாக்கப்பட்டது), எஸ். பி. சி-ஏ. டி. எல் (தேசிய சன் யாட்-சென் பல்கலைக்கழகத்தால் உருவாக்கப்பட்டது), மற்றும் பைஏ. ஏ. டி. எல் (ல 'அக்விலா பல்கலைக்கழகம், இத்தாலி) உள்ளிட்ட பல சிறப்பு நோக்க ஏ. டி. எல் 1990 களில் இருந்து உருவாக்கப்பட்டுள்ளன. கட்டிடக்கலை கண்ணோட்டங்கள் மென்பொருள் கட்டிடக்கலை விளக்கங்கள் பொதுவாக காட்சிகளாக ஒழுங்கமைக்கப்படுகின்றன, அவை கட்டிட கட்டிடக்கலையில் செய்யப்பட்ட பல்வேறு வகையான வரைபடங்களுக்கு ஒத்தவை. ஒவ்வொரு பார்வையும் அதன் கண்ணோட்டத்தின் மரபுகளைப் பின்பற்றி, கணினி கவலைகளின் தொகுப்பை உரையாற்றுகிறது, அங்கு ஒரு கண்ணோட்டம் என்பது கொடுக்கப்பட்ட தொகுப்பின் கண்ணோட்டத்தில் கேள்விக்குரிய கட்டமைப்பை வெளிப்படுத்தும் பார்வையில் பயன்படுத்த வேண்டிய குறியீடுகள், மாடலிங் மற்றும் பகுப்பாய்வு நுட்பங்களை விவரிக்கும் ஒரு விவரக்குறிப்பாகும். இந்தக் கண்ணோட்டம் கட்டமைக்கப்பட்ட கவலைகளை (அதாவது, கவனிக்கப்பட வேண்டியவை) மட்டுமல்லாமல், விளக்கக்காட்சி, பயன்படுத்தப்படும் மாதிரி வகைகள், பயன்படுத்தப்படும் மரபுகள் மற்றும் பிற கருத்துக்களுடன் ஒரு பார்வையை சீராக வைத்திருக்க எந்தவொரு நிலைத்தன்மை (கடித) விதிகளையும் குறிப்பிடுகிறது. கட்டிடக்கலை கட்டமைப்புகள் ஒரு கட்டிடக்கலை கட்டமைப்பானது "பயன்பாடு மற்றும்/அல்லது பங்குதாரர்களின் சமூகத்தின் ஒரு குறிப்பிட்ட களத்திற்குள் நிறுவப்பட்ட கட்டமைப்புகளின் விளக்கத்திற்கான மரபுகள், கொள்கைகள் மற்றும் நடைமுறைகளைப் பிடிக்கிறது" (ஐ. எஸ். ஓ/ஐ. இ. சி/ஐ. இ. இ. இ 42010). ஒரு கட்டமைப்பு பொதுவாக ஒன்று அல்லது அதற்கு மேற்பட்ட கண்ணோட்டங்கள் அல்லது ADL களின் அடிப்படையில் செயல்படுத்தப்படுகிறது. கட்டிடக்கலை பாணிகள் மற்றும் வடிவங்கள் ஒரு கட்டிடக்கலை வடிவம் என்பது ஒரு குறிப்பிட்ட சூழலுக்குள் மென்பொருள் கட்டமைப்பில் பொதுவாக நிகழும் சிக்கலுக்கு ஒரு பொதுவான, மீண்டும் பயன்படுத்தக்கூடிய தீர்வாகும். கட்டிடக்கலை வடிவங்கள் பெரும்பாலும் மென்பொருள் வடிவமைப்பு வடிவங்களாக ஆவணப்படுத்தப்படுகின்றன. பாரம்பரிய கட்டிடக் கட்டமைப்பைப் பின்பற்றி, ஒரு 'மென்பொருள் கட்டிடக்கலை பாணி' என்பது ஒரு குறிப்பிட்ட கட்டுமான முறையாகும், இது குறிப்பிடத்தக்க அம்சங்களால் வகைப்படுத்தப்படுகிறது. அவற்றில் பல அங்கீகரிக்கப்பட்ட கட்டிடக்கலை வடிவங்கள் மற்றும் பாணிகள் உள்ளனஃ பிளாக்போர்டு கிளையன்ட்-சர்வர் (2-அடுக்கு, 3-அடுக்கு, என்-அடுக்கு, கிளவுட் கம்ப்யூட்டிங் இந்த பாணியை வெளிப்படுத்துகிறது) கூறு அடிப்படையிலான தரவு-மைய நிகழ்வு-உந்துதல் (அல்லது மறைமுகமான அழைப்பு) அடுக்கு (அல்லது பல அடுக்கு கட்டமைப்பு) மைக்ரோ சர்வீசஸ் கட்டமைப்பு மோனோலிதிக் பயன்பாடு பியர்-டு-பியர் (பி 2 பி) குழாய்கள் மற்றும் வடிப்பான்கள் சொருகி-இன் எதிர்வினை கட்டமைப்பை பிரதிநிதித்துவப்படுத்தும் மாநில பரிமாற்றம் (ஆர்இஎஸ்டி) விதி அடிப்படையிலான சேவை சார்ந்த பகிரப்பட்ட கட்டிடக்கலை விண்வெளி அடிப்படையிலான சர்வர்லெஸ் கட்டமைப்பு சில கட்டிடக்கலை வடிவங்கள் மற்றும் கட்டிடக்கலை பாணிகளை ஒரே மாதிரியாக கருதுகின்றன, சில பாணிகளை வடிவங்களின் சிறப்புப்படுத்தல்களாக கருதுகின்றன. அவை பொதுவானவை என்னவென்றால், வடிவங்கள் மற்றும் பாணிகள் இரண்டும் கட்டிடக் கலைஞர்கள் பயன்படுத்துவதற்கான முட்டாள்தனங்கள், அவை "ஒரு பொதுவான மொழியை வழங்குகின்றன" அல்லது அமைப்புகளின் வகுப்புகளை விவரிக்க "சொற்களஞ்சியம்". மென்பொருள் கட்டமைப்பு மற்றும் சுறுசுறுப்பான மேம்பாடு மென்பொருள் கட்டமைப்பு, குறிப்பாக சுறுசுறுப்பான மென்பொருள் மேம்பாட்டை ஆதரிப்பவர்களிடையே, அதிகப்படியான பிக் டிசைன் அப் ஃப்ரண்டிற்கு வழிவகுக்கிறது என்ற கவலையும் உள்ளது. முன் வடிவமைப்பு மற்றும் சுறுசுறுப்பின் பரிமாற்றங்களை சமநிலைப்படுத்த பல முறைகள் உருவாக்கப்பட்டுள்ளன, இதில் சுறுசுறுப்பான முறை டி. எஸ். டி. எம் உட்பட, இது ஒரு "அடித்தளங்கள்" கட்டத்தை கட்டாயப்படுத்துகிறது, இதன் போது "போதுமான" கட்டிடக்கலை அடித்தளங்கள் போடப்படுகின்றன. சுறுசுறுப்பு மற்றும் கட்டமைப்புக்கு இடையிலான தொடர்புக்கு ஐ. இ. இ. இ மென்பொருள் ஒரு சிறப்பு வெளியீட்டை அர்ப்பணித்தது. மென்பொருள் கட்டிடக்கலை அரிப்பு மென்பொருள் கட்டிடக்கலை அரிப்பு (அல்லது "சிதைவு") என்பது ஒரு மென்பொருள் அமைப்பின் திட்டமிடப்பட்ட மற்றும் உண்மையான கட்டமைப்புக்கு இடையில் காணப்பட்ட இடைவெளியைக் குறிக்கிறது. செயல்படுத்தும் முடிவுகள் திட்டமிடப்பட்ட கட்டமைப்பை முழுமையாக அடையாதபோது அல்லது அந்த கட்டமைப்பின் கட்டுப்பாடுகள் அல்லது கொள்கைகளை மீறும்போது மென்பொருள் கட்டமைப்பு அரிப்பு ஏற்படுகிறது. எடுத்துக்காட்டாக, கண்டிப்பாக அடுக்கு அமைப்பைக் கவனியுங்கள், அங்கு ஒவ்வொரு அடுக்கும் அதற்குக் கீழே உள்ள அடுக்கால் வழங்கப்படும் சேவைகளை மட்டுமே பயன்படுத்த முடியும். இந்த தடையை கவனிக்காத எந்தவொரு மூலக் குறியீடு கூறுகளும் ஒரு கட்டிடக்கலை மீறலைக் குறிக்கின்றன. சரிசெய்யப்படாவிட்டால், இத்தகைய மீறல்கள் கட்டமைப்பை ஒரு ஒற்றைக் கற்காலத் தொகுதியாக மாற்றலாம், இது புரிந்துகொள்ளுதல், பராமரிப்பு மற்றும் பரிணாமம் ஆகியவற்றில் பாதகமான விளைவுகளை ஏற்படுத்தும். அரிப்பைத் தீர்க்க பல்வேறு அணுகுமுறைகள் முன்மொழியப்பட்டுள்ளன. கருவிகள், நுட்பங்கள் மற்றும் செயல்முறைகளை உள்ளடக்கிய இந்த அணுகுமுறைகள் முதன்மையாக மூன்று பொதுவான பிரிவுகளாக வகைப்படுத்தப்பட்டுள்ளன, அவை கட்டிடக்கலை அரிப்பைக் குறைக்க, தடுக்க மற்றும் சரிசெய்ய முயற்சிக்கின்றன. இந்த பரந்த பிரிவுகளுக்குள், ஒவ்வொரு அணுகுமுறையும் அரிப்பைச் சமாளிக்க ஏற்றுக்கொள்ளப்பட்ட உயர் மட்ட உத்திகளைப் பிரதிபலிக்கும் வகையில் மேலும் பிரிக்கப்பட்டுள்ளன. செயல்முறை சார்ந்த கட்டிடக்கலை இணக்கம், கட்டிடக்கலை பரிணாம மேலாண்மை, கட்டிடக்கலை வடிவமைப்பு அமலாக்கம், செயல்படுத்தல் இணைப்புக்கான கட்டிடக்கலை, சுய தழுவல் மற்றும் மீட்பு, கண்டுபிடிப்பு மற்றும் நல்லிணக்கம் ஆகியவற்றைக் கொண்ட கட்டிடக்கலை மறுசீரமைப்பு நுட்பங்கள் இவை ஆகும். கட்டிடக்கலை மீறல்களைக் கண்டறிய இரண்டு முக்கிய நுட்பங்கள் உள்ளனஃ பிரதிபலிப்பு மாதிரிகள் மற்றும் கள-குறிப்பிட்ட மொழிகள். பிரதிபலிப்பு மாதிரி (ஆர்எம்) நுட்பங்கள் அமைப்பின் கட்டிடக் கலைஞர்களால் வழங்கப்பட்ட உயர் மட்ட மாதிரியை மூலக் குறியீடு செயல்படுத்தலுடன் ஒப்பிடுகின்றன. கட்டிடக்கலை கட்டுப்பாடுகளைக் குறிப்பிடுவதிலும் சரிபார்ப்பதிலும் கவனம் செலுத்தும் கள-குறிப்பிட்ட மொழிகளும் உள்ளன. மென்பொருள் கட்டமைப்பு மீட்பு மென்பொருள் கட்டமைப்பு மீட்பு (அல்லது புனரமைப்பு, அல்லது தலைகீழ் பொறியியல்) என்பது ஒரு மென்பொருள் அமைப்பின் கட்டமைப்பை அதன் செயல்படுத்தல் மற்றும் ஆவணப்படுத்தல் உள்ளிட்ட கிடைக்கக்கூடிய தகவல்களிலிருந்து வெளிக்கொணரும் முறைகள், நுட்பங்கள் மற்றும் செயல்முறைகளை உள்ளடக்கியது. வழக்கற்றுப் போன அல்லது காலாவதியான ஆவணங்கள் மற்றும் கட்டிடக்கலை அரிப்பு ஆகியவற்றை எதிர்கொள்ளும் போது தகவலறிந்த முடிவுகளை எடுக்க கட்டிடக்கலை மீட்பு பெரும்பாலும் அவசியம்ஃ செயல்படுத்தல் மற்றும் பராமரிப்பு முடிவுகள் கற்பனை செய்யப்பட்ட கட்டிடக்கலையிலிருந்து வேறுபடுகின்றன. நிலையான நிரல் பகுப்பாய்வாக மென்பொருள் கட்டமைப்பை மீட்டெடுப்பதற்கான நடைமுறைகள் உள்ளன. இது மென்பொருள் நுண்ணறிவு நடைமுறையின் கீழ் வரும் பாடங்களின் ஒரு பகுதியாகும். தொடர்புடைய துறைகள் வடிவமைப்பு கட்டிடக்கலை என்பது வடிவமைப்பு, ஆனால் அனைத்து வடிவமைப்புகளும் கட்டிடக்கலை அல்ல. நடைமுறையில், மென்பொருள் கட்டமைப்பு (கட்டிடக்கலை வடிவமைப்பு) மற்றும் விரிவான வடிவமைப்பு (கட்டிடக்கலை அல்லாத வடிவமைப்பு) ஆகியவற்றுக்கு இடையேயான கோட்டை வரைபவர் கட்டிடக் கலைஞர் ஆவார். வேறுபாடுகளை முறைப்படுத்த முயற்சிகள் மேற்கொள்ளப்பட்டாலும், அனைத்து நிகழ்வுகளுக்கும் பொருந்தக்கூடிய விதிகள் அல்லது வழிகாட்டுதல்கள் எதுவும் இல்லை. இன்டென்ஷன்/லோகாலிட்டி ஹைப்போதீசிஸின் படி, கட்டிடக்கலை மற்றும் விரிவான வடிவமைப்புக்கு இடையிலான வேறுபாடு இருப்பிட அளவுகோலால் வரையறுக்கப்படுகிறது, அதன்படி மென்பொருள் வடிவமைப்பு பற்றிய ஒரு அறிக்கை உள்ளூர் அல்லாதது (கட்டிடக்கலை), அதை திருப்திப்படுத்தும் ஒரு நிரல் இருந்தால் மட்டுமே அது இல்லை. எடுத்துக்காட்டாக, கிளையன்ட்-சர்வர் பாணி கட்டடக்கலை (மூலோபாய) ஆகும், ஏனெனில் இந்த கொள்கையின் அடிப்படையில் கட்டப்பட்ட ஒரு நிரலை கிளையன்ட்-சர்வர் அல்லாத ஒரு நிரலாக விரிவுபடுத்தலாம்-எடுத்துக்காட்டாக, பியர்-டு-பியர் முனைகளைச் சேர்ப்பதன் மூலம். தேவைகள் பொறியியல் தேவைகள் பொறியியல் மற்றும் மென்பொருள் கட்டமைப்பை நிரப்பு அணுகுமுறைகளாகக் காணலாம்ஃ மென்பொருள் கட்டமைப்பு 'தீர்வு இடம்' அல்லது 'எப்படி' என்பதை இலக்காகக் கொண்டாலும், தேவைகள் பொறியியல் 'சிக்கல் இடம்' அல்லது 'என்ன' என்பதைக் குறிக்கிறது. தேவைகள் பொறியியல் என்பது வெளிப்பாடு, பேச்சுவார்த்தை, விவரக்குறிப்பு, சரிபார்ப்பு, ஆவணப்படுத்தல் மற்றும் தேவைகளின் மேலாண்மை ஆகியவற்றை உள்ளடக்கியது. தேவைகள் பொறியியல் மற்றும் மென்பொருள் கட்டமைப்பு இரண்டும் பங்குதாரர்களின் கவலைகள், தேவைகள் மற்றும் விருப்பங்களைச் சுற்றி வருகின்றன. தேவைகள் பொறியியல் மற்றும் மென்பொருள் கட்டமைப்புக்கு இடையே கணிசமான ஒன்றுடன் ஒன்று உள்ளது, எடுத்துக்காட்டாக, ஐந்து தொழில்துறை மென்பொருள் கட்டமைப்பு முறைகள் பற்றிய ஆய்வின் மூலம் "உள்ளீடுகள் (குறிக்கோள்கள், கட்டுப்பாடுகள் போன்றவை)" என்று முடிவு செய்யப்படுகிறது. அவை பொதுவாக சரியாக வரையறுக்கப்படவில்லை, மேலும் கட்டிடக்கலை வெளிவரத் தொடங்கும்போது மட்டுமே கண்டுபிடிக்கப்படுகின்றன அல்லது நன்கு புரிந்து கொள்ளப்படுகின்றன "மேலும்" பெரும்பாலான கட்டிடக்கலை கவலைகள் அமைப்பில் உள்ள தேவைகளாக வெளிப்படுத்தப்படுகின்றன, அவை கட்டாய வடிவமைப்பு முடிவுகளையும் உள்ளடக்கும் ". சுருக்கமாக, தேவையான நடத்தை தீர்வு கட்டமைப்பை பாதிக்கிறது, இது புதிய தேவைகளை அறிமுகப்படுத்தலாம். இரட்டை சிகரங்கள் மாதிரி போன்ற அணுகுமுறைகள் தேவைகள் மற்றும் கட்டிடக்கலைக்கு இடையிலான ஒருங்கிணைந்த உறவைப் பயன்படுத்துவதை நோக்கமாகக் கொண்டுள்ளன. பிற வகையான 'கட்டமைப்பு' கணினி கட்டமைப்பு கணினி கட்டமைப்பு ஒரு கணினி அமைப்பின் உள் கட்டமைப்பை குறிவைக்கிறது, CPU-அல்லது செயலி-பஸ் மற்றும் நினைவகம் போன்ற வன்பொருள் கூறுகளை ஒத்துழைப்பதன் அடிப்படையில். சர்வர்லெஸ் கட்டமைப்பு சர்வர்லெஸ் கட்டமைப்பு என்பது கிளவுட் கம்ப்யூட்டிங் முன்னுதாரணமாகும், இது பெரும்பாலும் சர்வர் இல்லாதது என்று தவறாகப் புரிந்து கொள்ளப்படுகிறது. இது அடிப்படையில் சர்வர் மேலாண்மை பொறுப்புகளை டெவலப்பர்களிடமிருந்து கிளவுட் சேவை வழங்குநர்களுக்கு மாற்றுகிறது. இது வணிகங்கள் தங்கள் பின்னணி குறியீட்டை மேகக்கணி உள்கட்டமைப்பில் இயக்க அனுமதிக்கிறது, இது இயற்பியல் சேவையக நிர்வாகத்தின் தேவையை நீக்குகிறது. சேவையகமற்ற கட்டமைப்பின் நிகழ்வு-உந்துதல் அணுகுமுறை சிறிய, பணி-குறிப்பிட்ட செயல்பாடுகளை நம்பியுள்ளது, அவை தேவைக்கேற்ப செயல்படுத்தப்படுகின்றன. இந்த செயல்பாடுகள் ஒரு சேவையாக செயல்பாடு (FAaS) என்று அழைக்கப்படுகின்றன, மேலும் அவை பயன்பாட்டு தேவையின் அடிப்படையில் பணம் செலுத்தும் பில்லிங் மாதிரி மற்றும் மாறும் வள அளவீட்டின் மூலம் செலவு-செயல்திறனை வழங்குகின்றன. சிஸ்டம்ஸ் ஆர்கிடெக்சர் என்ற சொல் முதலில் வன்பொருள் மற்றும் மென்பொருள் இரண்டையும் கொண்ட அமைப்புகளின் கட்டமைப்பிற்கு பயன்படுத்தப்படுகிறது. கணினி கட்டமைப்பால் உரையாற்றப்படும் முக்கிய அக்கறை, ஒரு முழுமையான, சரியாக வேலை செய்யும் சாதனத்தில் மென்பொருள் மற்றும் வன்பொருளை ஒருங்கிணைப்பதாகும். மற்றொரு பொதுவான-மிகவும் பரந்த-அர்த்தத்தில், இந்த சொல் தொழில்நுட்ப, சமூக தொழில்நுட்ப அல்லது சமூக இயல்புடைய எந்தவொரு சிக்கலான அமைப்பின் கட்டமைப்பிற்கும் பொருந்தும். நிறுவனக் கட்டமைப்பின் குறிக்கோள் "வணிகக் கண்ணோட்டம் மற்றும் மூலோபாயத்தை பயனுள்ள நிறுவனமாக மாற்றுவதாகும்". டி. ஓ. ஜி. ஏ. எஃப் மற்றும் சாக்மேன் கட்டமைப்பு போன்ற நிறுவன கட்டிடக்கலை கட்டமைப்புகள் பொதுவாக வெவ்வேறு நிறுவன கட்டிடக்கலை அடுக்குகளுக்கு இடையில் வேறுபடுகின்றன. சொற்களஞ்சியம் கட்டமைப்பிலிருந்து கட்டமைப்பிற்கு வேறுபடுகிறது என்றாலும், பல வணிக அடுக்கு, பயன்பாடு (அல்லது தகவல்) அடுக்கு மற்றும் தொழில்நுட்ப அடுக்கு ஆகியவற்றுக்கு இடையே குறைந்தபட்சம் ஒரு வேறுபாட்டை உள்ளடக்கியது. எண்டர்பிரைஸ் கட்டமைப்பானது மற்றவற்றுடன் இந்த அடுக்குகளுக்கு இடையிலான சீரமைப்பை பொதுவாக மேல்-கீழ் அணுகுமுறையில் உரையாற்றுகிறது. மேலும் குறிப்புகள் மேலும் வாசிப்பைப் பார்க்கவும்-இந்த புத்தகம் ஒழுக்கத்தின் அடிப்படை கருத்துக்களை உள்ளடக்கியது. கருப்பொருள் ஒரு அமைப்பின் தரமான பண்புகளை அடைவதை மையமாகக் கொண்டுள்ளது. இந்த புத்தகம் மென்பொருள் கட்டமைப்பு என்றால் என்ன என்பதை விவரிக்கிறது மற்றும் யு. எம். எல் மற்றும் பிற குறியீடுகளைப் பயன்படுத்தி பல பார்வைகளில் அதை எவ்வாறு ஆவணப்படுத்துவது என்பதைக் காட்டுகிறது. நடத்தை, மென்பொருள் இடைமுகம் மற்றும் பகுத்தறிவு ஆவணப்படுத்தல் ஆகியவற்றுடன் கட்டிடக்கலை பார்வைகளை எவ்வாறு பூர்த்தி செய்வது என்பதையும் இது விளக்குகிறது. புத்தகத்துடன் ஒரு விக்கி உள்ளது, இது மென்பொருள் கட்டிடக்கலை ஆவணப்படுத்தலின் உதாரணத்தைக் கொண்டுள்ளது. - கட்டிடக்கலை வடிவமைப்பு மற்றும் விரிவான வடிவமைப்புக்கு இடையிலான வேறுபாடு குறித்து. ஐபிஎம் டெவலப்பர்வர்க்ஸ் பற்றிய வெளிப்புற இணைப்புகள் விளக்கம் மென்பொருள் பொறியியல் நிறுவனம் (எஸ்இஐ), கார்னகி மெலன் பல்கலைக்கழகம் (சிஎம்யு), தகவல் தொழில்நுட்ப கட்டிடக் கலைஞர்களின் சர்வதேச சங்கம் (ஐஏஎஸ்ஏ குளோபல்), முன்பு மென்பொருள் கட்டிடக் கலைஞர்களுக்கான சர்வதேச சங்கம் (ஐஏஎஸ்ஏ) என்று அழைக்கப்பட்டது. ஐ. எஃப். ஐ. பி பணிக்குழுவின் வலைத்தளம் மென்பொருள் கட்டிடக்கலை குறித்த சுயாதீன ஆதாரம், ராய் ஃபீல்டிங்கின் ஆர்இஎஸ்டி ஆய்வுக் கட்டுரையின் அத்தியாயம் 1 நல்ல கட்டிடக்கலை மோசமாக இருக்கும்போது சுழல் கட்டிடக்கலை இயக்கப்படும் மேம்பாடு-சுழல் மாதிரியை அடிப்படையாகக் கொண்ட எஸ். டி. எல். சி பயனற்ற கட்டிடக்கலை மென்பொருள் கட்டிடக்கலை நிஜ வாழ்க்கை வழக்கு ஆய்வுகளின் அபாயங்களைக் குறைப்பதை நோக்கமாகக் கொண்டுள்ளது.