PDA

View Full Version : سوال: نحوه طراحی نرم افزارهای چند قسمتی مانند اتوماسیون



ESG_Esfahan
جمعه 03 مهر 1388, 12:47 عصر
سلام
در نرم افزارهایی که از چند قسمت مختلف تشکل شده اند مثل اتوماسون بعضی اطلاعات به صورت کلی در کل سیستم تعریف می شوند مثلا کاربران سیستم به صورت عمومی در کل سیستم تعریف می شود.
ولی بعضی اطلاعات مربوط به قسمتی خاص هستند.مثلا اطلاعات بخش حسابداری
سوال من اینه که بانک طالاعاتی این سیستم ها چطوری باید طراحی بشه باید فقط یک بانک داشته باشیم یا برای هر قسمت یک بانک جداگانه؟
مشکلاتی که من با اون مواجه شدم این بود که در طراحی اگه فقط یک بانک اطلاعاتی داشته باشیم امکان تهیه پشتیبان طلاعاتی برای هر قسمت به صورت جداگانه وجود ندارد(امکان پشتیبان گیری محلی الزامی است)
اگر طراحی با، بانک های اطلاعاتی جدا باشد ایجاد روابط بین جداول مشکل می شود مثلا یک سند دریافت در بانک بخش حسابداری یک فیلد User دارد که مشخص می کند این سند را چه کاربری ثبت کرده ولی جدول کاربران در بانک دیگری و به صورت سراسری است و نمیشه relation بین دو جدول را ایجاد کرد.
راه حل شما در مورد طراحی این نوع نرم افزارها چیست؟
باتشکر

ESG_Esfahan
یک شنبه 05 مهر 1388, 03:20 صبح
شما اساتید تا به حال به چنین موردی برخورد نکردین؟ یا سوال من مشکل داره ؟:افسرده:

ESG_Esfahan
چهارشنبه 08 مهر 1388, 02:50 صبح
واقعا خیلی عجیبه !!!! :متعجب::متعجب::متعجب:

تا حالا هیچ کدوم از اساتید با چنین مسئله ای روبرو نبودنند.

اَرژنگ
جمعه 10 مهر 1388, 09:22 صبح
سلام
در نرم افزارهایی که از چند قسمت مختلف تشکل شده اند مثل اتوماسون بعضی اطلاعات به صورت کلی در کل سیستم تعریف می شوند مثلا کاربران سیستم به صورت عمومی در کل سیستم تعریف می شود.
ولی بعضی اطلاعات مربوط به قسمتی خاص هستند.مثلا اطلاعات بخش حسابداری
سوال من اینه که بانک طالاعاتی این سیستم ها چطوری باید طراحی بشه باید فقط یک بانک داشته باشیم یا برای هر قسمت یک بانک جداگانه؟
مشکلاتی که من با اون مواجه شدم این بود که در طراحی اگه فقط یک بانک اطلاعاتی داشته باشیم امکان تهیه پشتیبان طلاعاتی برای هر قسمت به صورت جداگانه وجود ندارد(امکان پشتیبان گیری محلی الزامی است)
اگر طراحی با، بانک های اطلاعاتی جدا باشد ایجاد روابط بین جداول مشکل می شود مثلا یک سند دریافت در بانک بخش حسابداری یک فیلد User دارد که مشخص می کند این سند را چه کاربری ثبت کرده ولی جدول کاربران در بانک دیگری و به صورت سراسری است و نمیشه relation بین دو جدول را ایجاد کرد.
راه حل شما در مورد طراحی این نوع نرم افزارها چیست؟
باتشکر

من در سیستمهایه ERP هر دو نوع روش را دیدم که استفاده بشه. روشی که این سوال را طرح کردید، نشان میده که طرزی که به این مسئله نگاه میکنید پیاده کردن روابط بین جدولهاست، این خصلت معمولا متعلق به برانمه‌نویسانی است که بانک اطلاعاتی را به عنوان پایه میدانند و از بانک اطلاعاتی به بالا سیستم را میخواهند طراحی کنند. در این روش حقیقت بانک اطلاعاتیست. یک روش دیگر این است که اصلا به بانک چی هست فکر نکنیم، از خودتان بپرسید مدل چی هست، روابط را در مدل تعریف کنیم و در یک لایه بدانه اینکه داتابیش چی هست و یا چی خواهد بود پیاده کنیم. در این روش حقیقت کد است، و منطق در یک لایه کد حفظ میشه. در این روش احتیاجی به داشتن روابط در بانک اطلاعاتی نیست. در بعضی از ERP ها، قابلیت انتخواب بانک اطلاعاتی سوا از خود سیستم پیاده شده وجود دارد که نشان دهنده این است که روابط در یک لایه جدا تعریف شده و روابط جدولها، ایندکسها و اینکه از چه زبان بخصوص اس‌کیو‌الی ممکن است که استفاده بشه بانک اطلاعاتی را میتونند تغییر بدند. سوا از اینکه چه بانکی انتخواب بشه، باید برایه تغییرات بین ورژنهایه مختلف از اول استراتژی داشته باشید. چونکه ممکن است روشی که ورژن ۱ با ورژن ۲ سیستم از بانک اطلاعاتی استفاده میکنه فرق داشته باشد، باید بشه که داده‌ها را بین ورژن بانکهایه اطلاعاتی منطقل کنید، باید حتی در نظر بگیرید که شاید مشتریتان به جایه اینکه از ورژن ۱ بره به ورژن ۲ بعد به ورژن ۳ ، مستقیم بخواهد از ورژن ۱ بره به ورژن ۳ و کلی سناریوهایه مختلف دیگر.