मुझे विलियम पिएत्री का उत्तर बहुत कुछ (+1) पसंद है, लेकिन मेरा मानना है कि इसे जोड़ने की आवश्यकता है। यहां तक कि यह माना जाता है कि सिस्टम से आपका क्या मतलब है, जिसमें केवल सॉफ्टवेयर शामिल है।
लेकिन इससे पहले कि मैं इसके मांस में जाऊं, मुझे मदद के लिए एक किताब का पता नहीं है। वह सब जो इस प्रकार है, मैंने अनुभव से सीखा (जिसका अर्थ है कि विलियम ने जो तीन बिंदु बनाए थे)।
आप न्यूनतम चार व्यापक भूमिकाओं में स्पैन के बारे में क्या बात कर रहे हैं। कभी-कभी एक व्यक्ति उन सभी भूमिकाओं में भर सकता है, छोटे से मध्यम आकार की परियोजनाओं के लिए, लेकिन जब आप बड़ी परियोजनाओं पर शुरू करते हैं तो आपको कम से कम कुछ हद तक उन भूमिकाओं को अलग करने की आवश्यकता होती है। किसी के लिए भी किसी भी सार्थक तरीके से उन पर विशेषज्ञ होना मुश्किल है।
व्यापार विश्लेषक
यही वह व्यक्ति है जो ग्राहक से बात करता है और अपनी आवश्यकताओं को किसी ऐसी चीज़ में तब्दील करता है जिससे कोई वास्तुकार समझ सकता है। मूल रूप से ठीक से तैयार की गई आवश्यकताओं की एक सूची है। इसमें स्पष्ट कार्यात्मक आवश्यकताएं शामिल हैं (इस सिस्टम को क्या देना चाहिए?), लेकिन गैर-कार्यात्मक आवश्यकताएं (सिस्टम की सामान्य विशेषताएं क्या हैं जो सिस्टम को पूरा करना चाहिए? इसमें सुरक्षा, विश्वसनीयता, उपलब्धता, लचीलापन, क्षमता, प्रदर्शन, मजबूती और शामिल हो सकते हैं उपयोगकर्ता की दृष्टि से ऐसी अन्य आवश्यकताएं)।
यह पहली पास है कि सिस्टम को क्या करना चाहिए, गंभीर सोच की शुरुआत।
सिस्टम आर्किटेक्ट
यह व्यक्ति उच्च स्तरीय तकनीकी ढांचा तैयार करता है जिसके भीतर काम करना है। वे रूपरेखा मिलान योजना देते हैं। सामान्य उपकरण, तकनीक, निर्माण। वे पूरी प्रणाली को छोटे घटकों में तोड़ते हैं, कैसे वे एक दूसरे के साथ फिट होते हैं, कैसे वे बाहरी दुनिया के साथ फिट होते हैं ...
यह कई मायनों में मदद करता है जो विचार करने की आवश्यकता को परिष्कृत करता है। व्यवसाय विश्लेषक द्वारा लिखित आवश्यकताओं के बारे में उस स्तर पर बहुत बार समस्याओं की खोज की जाएगी। कुछ पुनरावृत्तियों के लिए उनके पास अपनी समझ में सुधार करने के लिए कि वे क्या चाहते हैं और उनकी अभिव्यक्ति क्या है।
सिस्टम डिजाइनर
यह भूमिका यह है कि यह सब कैसे काम करे। यह वन-मैन शो की तुलना में अधिक टीम वर्क हो सकता है। लेकिन पूरे सिस्टम डिज़ाइन की देखरेख करने के लिए एक लीड डिज़ाइनर होने की संभावना है। इस व्यक्ति को विस्तार से खोदना चाहिए और सुनिश्चित करना चाहिए कि आर्किटेक्ट का दृष्टिकोण कुछ ऐसा है जो वास्तव में बनाया जा सकता है।
सिस्टम की वास्तुकला को और अधिक परिष्कृत करने की उम्मीद है, और इसलिए व्यापार विश्लेषण के संभावित।
टेस्ट मैनेजर
इस भूमिका को अक्सर भुला दिया जाता है। लेकिन दिन के अंत में यदि आप इसका परीक्षण नहीं कर सकते, तो आप यह कैसे साबित कर सकते हैं कि आप इसका निर्माण कर सकते हैं? सभी चरणों के परिणामों की समीक्षा होनी चाहिए: परीक्षण में सक्षम किसी व्यक्ति द्वारा व्यावसायिक विश्लेषण, वास्तुकला और डिजाइन जो कमियों को उजागर करने में सक्षम होंगे और इसलिए किसी भी कोड के लिखे जाने से पहले जल्दी सुधार को सक्षम करते हैं।
यह एक छोटा सारांश है।
वे लोग / गल्स केवल चेन के सामान्य रन के लोगों के बारे में सोचने के लिए होते हैं जिनके बारे में सोचा जाना चाहिए।
केवल दो उदाहरण लेने के लिए बड़े बैंकिंग या अंतरिक्ष अनुप्रयोगों जैसी जटिल परियोजनाओं के लिए (कई सैकड़ों से कई हजारों मानव-दिनों के लिए), कई विषय विशेषज्ञ हैं क्योंकि हम उन्हें हर चरण में परियोजनाओं की समीक्षा और समर्थन करने के लिए कहते हैं। इन भूमिकाओं में सुरक्षा विश्लेषण, सिस्टम साइज़िंग, क्षमता, प्रदर्शन, डेटाबेस, क्लस्टरिंग और विशेषज्ञता के कई अन्य ऐसे संकीर्ण क्षेत्र शामिल हैं, जिनमें अन्य व्यावसायिक क्षेत्र शामिल हैं। भूमिकाओं की विविधता प्रणालियों के आकार और जटिलता पर निर्भर करती है।
यह सब कहने के लिए कि आपको कोशिश नहीं करनी चाहिए और यह सब जानना चाहिए, आप नहीं करेंगे। हालाँकि आप समग्र चित्र की समझ प्राप्त कर सकते हैं और छोटी परियोजनाओं पर आप बड़ी परियोजनाओं की तुलना में बहुत अधिक कर सकते हैं, सिर्फ इसलिए कि जटिलता का स्तर आपको अधिक गोल करने की अनुमति देता है।
यदि आप जानना चाहते हैं कि सिस्टम को कैसे डिज़ाइन किया जाए, तो आपको बॉक्स के बाहर सोचकर प्रश्न पूछने की आवश्यकता है। अपने आप को ग्राहक के जूते में रखें और कोशिश करें और सोचें कि क्या गलत हो सकता है, परीक्षण की आवश्यकता क्या है। फिर एक वास्तविक ग्राहक के साथ मिलें और उन्हें उस प्रणाली के विस्तार और सीमाओं को समझाने के लिए धक्का दें जो वे आवश्यक हैं। इसके अलावा जब भी मैं 'ग्राहक' कहता हूं, तो आपको समझना चाहिए कि यह कई अलग-अलग लोगों को शामिल करता है। ऐसा व्यक्ति है जो दिन के लिए दिन में सिस्टम का उपयोग करता है जो इसे करने के लिए डिज़ाइन किया गया था। ऑपरेटर, तकनीकी सहायता, प्रबंधक को कुछ रिपोर्ट या अन्य, ऑडिटर, बुनियादी ढांचा टीम, इसके लिए भुगतान करने वाले हितधारक, गुणवत्ता प्रबंधक की आवश्यकता होती है, जिन्हें आपके सिस्टम का परीक्षण करने के लिए साधन की आवश्यकता होती है ... उन सभी से पूछें (और यदि वे एक व्यक्ति हैं, इन सभी टोपियों को एक समय में एक पर रखने के लिए कहें), इसलिए उन सभी से पूछें कि उन्हें क्या चाहिए और आपको यह जानने में अच्छी शुरुआत होगी कि आपके सिस्टम की आवश्यकताएं क्या हैं। वहां से आप वास्तुकला को प्राप्त कर सकते हैं, और वहां से डिजाइन बना सकते हैं।
जटिल प्रणालियों के लिए (चाहे सॉफ्टवेयर केवल या सबसे सामान्य अर्थों में हार्डवेयर के साथ एकीकृत करने के लिए) न केवल एक व्यक्ति है जो मैंने ऊपर सूचीबद्ध चार भूमिकाओं में से प्रत्येक के लिए पर्याप्त है, लेकिन आपको इस प्रणाली की परिभाषा को भी प्रबंधित करने की आवश्यकता है। करते हैं, अकेले अन्य चरणों चलो।
एचपीएच, एएसएम।