2009-02-02 8 views
7

मैं वर्तमान में एक प्रोजेक्ट पर काम कर रहा हूं जिसके साथ मुझे अवधारणा ऐप के सबूत को प्रोग्राम करने की आवश्यकता है। मैंने पहले PoC क्षुधा लिखा है लेकिन वे केवल वास्तव में काफी कम रहे हैं और वास्तव में परतों के बहुत सारे जहां के रूप में एप्लिकेशन अब मैं लिख रहा हूँ एक है नहीं किया है:अवधारणा (पीओसी) ऐप का सबूत लिखने का सबसे अच्छा तरीका?

  • फार्म परत - डेटा स्तर पर बात करती है।
  • डेटा परत - डेटाबेस और इंटरऑप परत से बात करता है।
  • इंटरऑप लेयर - एक COM ऑब्जेक्ट से बात करता है।
  • COM वस्तु

सबसे अच्छा तरीका है कि मैं लिखने में बहुत समय का निवेश करने की जरूरत के बिना, बी और प्रक्रिया है कि जरूरत है करने के लिए एक से प्राप्त कर सकते हैं दिखाने के लिए एक प्रोग्राम लिखने के लिए होगा क्या PoC।

मैं पहले से ही कैसे यह सब एक साथ जाना चाहिए पर मेरे सिर में पता नहीं है लेकिन मैं अपने टीम के साथियों मैं क्या मतलब दिखा मुसीबत का एक सा हो रही है।

कोई भी पीओसी कोडिंग करते समय किसी भी सुझाव/चाल की सिफारिश कर सकता है? या कोड लिखने के बजाय मेरा मतलब समझाने का एक बेहतर तरीका होगा।

+0

कीबोर्ड के साथ – Pyrolistical

उत्तर

8

मैं प्रोटोटाइप प्राप्त करने के बारे में अन्य प्रतिक्रियाओं से सहमत हूं।यह सुनिश्चित करने का एक तरीका यह है कि आपका प्रोटोटाइप ऐसी भाषा या टूलचैन का उपयोग करना है जो निश्चित रूप से अंतिम उत्पाद में उपयोग नहीं किया जाएगा, इस प्रकार इसे उत्पादन-गुणवत्ता के रूप में पुनः लिखा जा सकता है। कुछ विचार मैं का उपयोग किया है:

  • एक पूर्व पटकथा नेटवर्क शेल स्क्रिप्ट का उपयोग कर ग्राहक (netcat और bash का एक बहुत)
  • अजगर, रूबी में एक सर्वर, या किसी अन्य रेड भाषा आप परिचित हैं लिखें
  • के साथ एक तकनीक जो आपके उत्पादन तकनीक की तुलना में आसान है का उपयोग करें (टीसीपी के बजाय आंकड़े फ़ाइलों के माध्यम से संवाद, या एक मध्यस्थ के उत्पाद के बजाय एक बहुत ही सरल आरपीसी तंत्र का उपयोग)
  • असंगत लाइसेंस के साथ उपयोग सॉफ्टवेयर, तो उत्पाद नहीं किया जा सकता जारी (जीपीएल इस के लिए अच्छा है, वास्तव में वितरित कुछ भी के लिए)।
  • एक स्थिर HTML पेज (बिना किसी शैली या कुछ भी, पाप के रूप में बदसूरत)
  • यदि संभव हो तो स्थानीय वस्तु संबंधों के साथ किसी भी दूरस्थ बातचीत (डेटाबेस, नेटवर्क) की जगह के रूप में एक वेब फार्म लिखें, handwaving के साथ "कहने के लिए वास्तव में इन दो चरणों अलग-अलग होगा "
+0

+1 के लिए +1: एक भाषा या टूलचैन का उपयोग करें जो निश्चित रूप से अंतिम उत्पाद में उपयोग नहीं किया जाएगा – Nifle

3

मेरे अनुभव में सबसे अच्छा तरीका है पाने के लिए यह जल्दी से आगे बढ़ एक (या कम से कम संभव) परत, असली गंदा और शोकाकुल में यथासंभव शीघ्र यह सब कोड करने के लिए है। फिर एक बार आपका कोड-बारफ काम कर रहा है, तो अपनी सूची में परतों में से एक के साथ शुरू करें और अलग करें। जब तक आपके पास परतें न हों तब तक दोहराएं।

यह भी एक विशिष्ट बिट को ऊपर खींचें और नाटक करने के लिए इसे बाहर अलग किया जाता है अपने सहकर्मियों से पूछना करने में सक्षम होने के अतिरिक्त लाभ है। अगर वे ऐसा कर सकते हैं, तो आपको वास्तव में ऐसा करने में समय बिताना नहीं है।

+0

"असली बुरा और दिल की धड़कन" +1 मुझे यह पसंद है। –

+0

हालांकि मैं आपसे सहमत हूं, तेज़ी से आप यूआई तक पहुंचते हैं और वास्तव में इसका उपयोग करते हैं, तेज़ बग को बाहर कर दिया जाएगा। हालांकि ... आपने प्रबंधक को पीओसी कहा ... प्रबंधक sais .. यह बहुत अच्छा है ... अगले दिन ... प्रबंधक आपको बताता है, "मैंने क्लाइंट ए के साथ बात की और उसने इसे खरीदा, आपके पास इंस्टॉल करने के लिए 1 सप्ताह है" – Newtopian

+0

अब पीओसी वास्तविक उत्पाद बन गया है और आपको पता है कि आप अगले 10 वर्षों में अपने स्वयं के बारफ – Newtopian

2

अवधारणा के सबूत के रूप में - मैं प्रत्येक बिट को व्यक्तिगत रूप से लेता हूं और बाकी के लिए नकली रैपर लिखता हूं। प्रोटोटाइप और अवधारणा के सबूत बनाने के खतरों में से एक यह है कि यदि वे कार्यात्मक के लिए पर्याप्त निकट हैं, तो वे अंत उत्पाद के रूप में समाप्त होते हैं।

+0

+1 आपके साथ जोश सहमत हैं, पीओसी अक्सर पुल पार करने और अंतिम उत्पाद के करीब होने के लिए जाते हैं। –

1

शुरुआत में सेटअप करने में थोड़ा समय लग सकता है, लेकिन यदि आप बल्ले से सीधे निर्भरता इंजेक्शन/आईओसी फ्रेमवर्क का उपयोग कर सकते हैं, तो यह चीजों के विभिन्न कार्यान्वयन को स्वैप करना बहुत आसान बना देगा। वसंत/स्प्रिंग.NET ने मुझे बहुत मदद की है।

1

मुझे लगता है कि ड्राइंग चित्र और आरेख हमेशा मुझे अपना बिंदु प्राप्त करने में मदद करता है। जब मैं समस्याओं में भाग लेता हूं तो यह मुझे अपने लिए चीजों को सोचने में भी मदद करता है।

आप अपने टीम के साथी को जो कुछ भी हो रहा है उसके बारे में कुछ चित्र दिखाकर आप जो बात कर रहे हैं उसके बारे में बेहतर समझने में सक्षम हो सकते हैं।

2

अवधारणा ऐप्स के प्रोटोटाइप प्रमाण के लिए यह कभी-कभी प्रोग्रामिंग भाषाओं का उपयोग करने के लिए उपयोगी हो सकता है जो रैपिड एप्लिकेशन डेवलपमेंट के लिए उपयुक्त हैं।

पायथन एक अच्छा उदाहरण है। आपके पास अपनी पोस्ट में उल्लिखित अमूर्तता की विभिन्न परतों का लाभ उठाने और बनाने के लिए आपके पास एक बड़ा ढांचा है, जबकि अभी भी अवधारणा ऐप्स कोड आकार का सबूत कम से कम रखना है।

कार्य करने वाले अनुप्रयोग शब्दों से ज़ोर से बोलते हैं ताकि यदि आप अपनी टीम के देखने और खेलने के लिए एक त्वरित प्रोटोटाइप चाबुक कर सकें तो टंबलर उनके लिए जगह बनने में मदद कर सकते हैं।

2

पाइथन जैसे उच्च उत्पादकता भाषा में यूनिट परीक्षण ढांचे में जितना संभव हो उतना लिखें।

पायथन यूनिट परीक्षण चीजों को कम करने के लिए प्रतिबिंब का उपयोग करता है परीक्षण सामान्य होता है और सामान्य एसेशन को पकड़ता है। सब कुछ, इसे शुरू करने के लिए बहुत कम प्रयास की आवश्यकता है - मैंने सैक्सन जार का उपयोग करके नेटवर्किंग प्रोटोकॉल के साथ-साथ रैप कमांड लाइन एक्सएसएलटी ट्रांसफॉर्मेशन को काम करने के लिए पाइथन का उपयोग किया है।

परीक्षण-संचालित तरीके से टुकड़ों के साथ खेलकर, आप अपने पीओसी ऐप को बहुत उलझन में डाल देंगे और आप भविष्य के कार्यान्वयन में परीक्षण के लिए आधार निर्धारित करेंगे।

जब भी आप मुख्य ऐप के लिए किसी विशेष भाषा के लिए प्रतिबद्ध होते हैं, तो किसी भी मददगार के लिए कुछ हल्के वजन पर विचार करें, जैसे नेटवर्क प्रोटोकॉल का परीक्षण करने वाले सरल सर्वर।

1

मैंने एक बार डेल्फी 7 और एमआईडीएएस का उपयोग करके एक समान परियोजना की। इंटरऑप परत (मेरे मामले में ऐपसेवर ऐपसेवर) को कार्यान्वित करने के रूप में डीएलएल फाइलों को परियोजना को विभिन्न डेटा स्रोतों (जैसे एसक्यूएल, एक्सेस, एक्सेल और COM ऑब्जेक्ट्स आदि) तक पहुंचने की इजाजत दी गई है।