2012-08-01 16 views
6

एक कार आरक्षण प्रणाली सॉफ्टवेयर विकास साक्षात्कार में एक बहुत ही लोकप्रिय सवाल है।डिजाइन साक्षात्कार - कार आरक्षण प्रणाली

कार वर्ग/टेबल है कार क्रमांक #, प्रकार (कॉम्पैक्ट, स्टैंडर्ड, आदि),, बनाओ मॉडल ग्राहक है ग्राहक क्रमांक #, आदि : मैं जब मैं इस लिए कहा गया था निम्नलिखित ईआर संरचना/OOP संरचना तैयार किया गया है आरक्षण कार आईडी #, ग्राहक आईडी # और जिस तारीख के लिए कार आरक्षित है, को संग्रहीत करने वाली एक सहायक तालिका है। सादगी के लिए हम मान सकते हैं कि कार केवल दिनों के हिस्सों में ही आरक्षित की जा सकती है।

यहां एक मुश्किल हिस्सा है जहां मैंने floundered - क्या होता है जब कोई ग्राहक 1 जुलाई 27 को आईडी कार 3 रखने वाली कॉम्पैक्ट कार का भंडार करता है। क्या होगा यदि कार 3 24 जुलाई को हो। तो अन्य कॉम्पैक्ट कारें उपलब्ध हैं, हालांकि 24 जुलाई और 27 जुलाई वे सभी ले गए। तो जब ग्राहक 1 जुलाई 27 को आता है, तो आखिरकार उसके पास कोई कार नहीं है।

मुझे लगता है कि जिस तरह की त्रुटियां रेल और ग्राहक आरक्षण तालिका में मिलती हैं। इस संबंध मॉडल करने के लिए किसी भी बेहतर तरीका है और यह भी नियमित रूप से उपयोग के मामलों में इस तरह, एक विशेष तिथि के लिए कोई उपलब्ध कार लगता है कि तिथि आदि

उत्तर

2

आप CarWorking कहा जाता है के लिए एक और boolean क्षेत्र में जोड़ सकते हैं के लिए यह सुरक्षित रखते हैं। तो Car 3 तो कुल है

  • false करने के लिए Working निर्धारित किया है।
  • Reservation में इसके लिए खोजें।
  • यदि यह वहां है, तो Car में उस प्रकार की दूसरी कार की खोज करें।
  • यदि पाया जाता है तो Reservation में दूसरी कार के साथ इस कार को प्रतिस्थापित करें।
  • अन्य ग्राहक को कॉल करें।
+1

फिर सवाल आता है - हम किस बिंदु पर यह जांचना चाहते हैं कि कार काम कर रही है या नहीं? एक रात की लिपि जो सभी समेकित/क्षतिग्रस्त कारों को अन्य समकक्ष कामकाजी लोगों के साथ चलाती है और बदलती है? –

+0

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

संबंधित मुद्दे