तन्त्रांश अभियान्त्रिकी का अर्थ है व्यवस्थित, अनुशासन-बद्ध, परिमाणनात्मक, औप से तन्त्रांश का विकास, संचालन और रखरखाव और इन प्रस्तावों का अध्धयन करना ताकि प्रोद्योगिकी का प्रयोग तन्त्रांश क्षेत्र में किया जा सके। "तन्त्रांश अभियान्त्रिकी" शब्द सर्वप्रथम 1968 में नाटो के तन्त्रांश अभियान्त्रिकी सम्मेलन में प्रयोग में लाया गया था जोकि उस समय के "तन्त्रांश संकट" को सुलझाने के लिए आयोजित किया गया था। तबसे ये एक ऐसे व्यवसाय के रूप में विकसित हो चुका है जो उच्च गुणवत्ता के तन्त्रांश विकसित करने के लिए समर्पित है जो सस्ते, सरलता से रखरखाव करने योग्य और तेज़ी से बनाये जा सके। चूँकि अन्य अभियान्त्रिकी शाखाओं की तुलना में "तन्त्रांश अभियान्त्रिकी" एक नया क्षेत्र है, इसलिए इस क्षेत्र में बहुत काम किया जाना बाकी है और इस बात को लेकर बहुत वाद-विवाद है कि वास्तव में ये हैं क्या और ये भी की क्या ये अभियान्त्रिकी के क्षेत्र में रखे जाने योग्य है भी| ये क्षेत्र में इतनी तीव्रता से वृद्धि हुई है कि इसे अब केवल प्रोग्रामिंग तक ही सीमित नहीं रखा जा सकता| "तन्त्रांश अभियान्त्रिकी" के स्थान पर तन्त्रांश उद्योग में "तन्त्रांश विकास" शब्द का भी प्रयोग किया जाता है जो अभियान्त्रिकी शब्द को तन्त्रांश विकास के लिए संकुचित मानते हैं। एक नया व्यवसाय होने के पश्चात् भी ये भारत में एक पसंदीदा व्यवसाय और जीवन वृत्त है और पिछले कई वर्षों में लाखों भारतीय युवक-युवतियां इस क्षेत्र में काम करने के लिए आगे आयें हैं। एक अनुमान के अनुसार भारत में ही इस उद्योग में 22 लाख लोग कार्यरत है।
यद्यपि "तन्त्रांश अभियान्त्रिकी" शब्द 1968 में एक सम्मलेन में प्रयोग में लाया गया था, लेकिन जिन समस्याओं को ये संबोधित करता है वो बहुत पहले की है। तन्त्रांश अभियान्त्रिकी का इतिहास जटिल रूप से संगणक हार्डवेयर और संगणक तन्त्रांश के इतिहासों से गुथा हुआ है। सन् 1941 में जब प्रथम डिजीटल संगणक अस्तित्व में आया, तब उसे चलाने वाले अनुदेश एक यन्त्र में होते थे जो तारो द्बारा संगणक से जुड़ा होता था। लेकिन शीघ्र ही व्यवसायियो ने ये अनुभव किया की ये ख़ाका अधिक लचीला नहीं है और तब "संग्रहित निर्देश संरचना" या वॉन निउमन स्थापत्य का विकास हुआ। 1950 से प्रोग्रामिंग भाषाएँ विकसित होने लगीं और ये भी मतिहीनता की और एक महत्वपूर्ण बढ़त थी। फौरट्रैन, अलगोल और कोबोल जैसी प्रमुख भाषाएँ 1950 के अंतिम वर्षों में आई जो वैज्ञानिक, प्रतीकगणितीय और व्यावसायिक समस्याओं को सुलझाने के लिया बनी थी।सॉफ्टवेयर इंजीनियरिंग डिजाइन, विकास और सॉफ्टवेयर के रखरखाव के लिए इंजीनियरिंग के एक विस्तृत अध्ययन है। सॉफ्टवेयर इंजीनियरिंग कम गुणवत्ता सॉफ्टवेयर परियोजनाओं के मुद्दों को संबोधित करने के लिए शुरू की गई थी। जब एक सॉफ्टवेयर आम तौर पर timelines, बजट, और गुणवत्ता का स्तर कम से अधिक समस्याएँ उत्पन्न होती हैं। यह सुनिश्चित करता है कि अनुप्रयोग लगातार, सही ढंग से, समय पर और बजट पर और आवश्यकताओं के भीतर बनाया गया है। सॉफ्टवेयर इंजीनियरिंग की मांग भी उपयोगकर्ता आवश्यकताओं और जिस पर काम कर रहे हो करने के लिए आवेदन करना है वातावरण में परिवर्तन की भारी दर को पूरा करने के लिए उभरा।
विवरण: कितनी आसानी से यह एंड-यूज़र और यह उपयोगकर्ता के लिए प्रदान करता है सुविधाओं द्वारा उपयोग किया जा सकता द्वारा एक सॉफ्टवेयर उत्पाद माना जाता है। कोई अनुप्रयोग निम्न क्षेत्रों में स्कोर होगा:-
1) आपरेशनल:-यह कितना अच्छा एक सॉफ्टवेयर कहता है बजट, प्रयोज्य, क्षमता, शुद्धता, कार्यक्षमता, dependability, सुरक्षा और सुरक्षा की तरह कार्रवाई पर काम करता है।
2) संक्रमणकालीन: - परिवर्ती महत्वपूर्ण है, जब कोई अनुप्रयोग एक प्लेटफार्म से दूसरे करने के लिए स्थानांतरित कर दिया गया है। तो, सुवाह्यता, पुन: प्रयोज्य और अनुकूलन क्षमता इस क्षेत्र में आते हैं।
3) रखरखाव: - यह कितना अच्छा एक सॉफ्टवेयर को निर्दिष्ट करता है बदलते वातावरण में काम करता है। प्रतिरूपकता, maintainability, लचीलापन और scalability रखरखाव भाग में आते हैं।
या सॉफ्टवेयर विकास Lifecycle SDLC चरणों में प्रस्तावित सॉफ्टवेयर अनुप्रयोग, इस तरह के रूप में विकसित करने के लिए सॉफ्टवेयर इंजीनियरिंग की एक श्रृंखला है:
1) संचार
2) आवश्यकता सभा
3) व्यवहार्यता अध्ययन
4) प्रणाली विश्लेषण
5) सॉफ्टवेयर डिजाइन
6) कोडिंग
7) परीक्षण
8) एकीकरण
9) कार्यान्वयन
10) संचालन और रखरखाव
11) स्वभाव
सॉफ्टवेयर इंजीनियरिंग आम तौर पर एक विशिष्ट कार्य या एक आउटपुट के लिए एक उपयोगकर्ता अनुरोध दीक्षा के रूप में पहले कदम के साथ शुरू होता है। वह अपनी आवश्यकताओं के लिए एक सेवा प्रदाता संगठन प्रस्तुत करें। सॉफ्टवेयर विकास टीम उपयोगकर्ता की आवश्यकता, सिस्टम आवश्यकताएँ और कार्यात्मक आवश्यकताओं segregates. आवश्यकता की मौजूदा प्रणाली आदि का अध्ययन कर एक उपयोगकर्ता एक डेटाबेस के लिए, की चर्चा करते हुए, आयोजित साक्षात्कार द्वारा एकत्र की है। उपयोगकर्ता की सभी आवश्यकताओं को पूरा करने के लिए सॉफ्टवेयर बनाया जा सकता, तो सभा की आवश्यकता के बाद, टीम विश्लेषण करती है। डेवलपर तब उसकी योजना का एक रोडमैप का फैसला करता है। सिस्टम विश्लेषण सॉफ्टवेयर उत्पाद सीमाओं की समझ भी शामिल है। आवश्यकताएँ और विश्लेषण के अनुसार, एक सॉफ्टवेयर डिजाइन किया जाता है। सॉफ्टवेयर डिजाइन के कार्यान्वयन में एक उपयुक्त प्रोग्रामिंग भाषा प्रोग्राम कोड लिखने के मामले में प्रारंभ हो जाता है। सॉफ्टवेयर परीक्षण किया जाता है कि डेवलपर्स और गहन परीक्षण द्वारा कोडिंग मॉड्यूल का परीक्षण, परीक्षण प्रोग्राम, उत्पाद परीक्षण, जैसे कोड की विभिन्न स्तरों पर विशेषज्ञों द्वारा परीक्षण किया जाता है, जबकि घर में परीक्षण और उपयोगकर्ता सगाई और प्रतिक्रिया पर उत्पाद परीक्षण।
softwere are good fo cumputers