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