سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

مسائل مشترک در طراحی سیستم

جمعه, ۴ مرداد ۱۳۹۲، ۰۸:۳۱ ب.ظ
مسائل و مشکلاتی که در یک طراحی سیستم ممکن است بوجود آید را می‌توان در چهار فیلد اصلی تقسیم بندی کرد:

  •     ویژگی‌های اورژانسی (emergent properties).
  •     پخش شدن تأثیر‌ها (propagation of effects).
  •     گسترش غیر متناسب (incommensurate scaling).
  •     توازن (trade-offs).

در ادامه به برسی هر کدام در طراحی سیستم و مثال‌هایی از آن‌ها خواهیم پرداخت.
قبل از ادامه مطلب بهتر است تعریف خودمون رو از سیستم به یک تعریف واحد تبدیل کنیم: سیستم مجموعه ای است از اجرایی که یک رفتار مورد انتظار را از خود نشان داده و با محیط اطراف خود از طریق رابط‌ها ارتباط دارد.
در تعریف بالا مواردی همچون محیط، رابط و رفتار مورد انتظار نیاز به تعریف دقیق‌تر دارد که در مطالب‌های بعدی به آن‌ها خواهیم پرداخت.

  • ویژگی های اورژانسی
این ویژگی‌ها شامل ویژگی‌هایی می‌باشند که در تحلیل اولیه اجزای سیستم به صورت تک به تک خودشان را نشان نداده‌اند و بعداً هنگامی که در صدد اتصال اجرا به همدیگر هستیم، خودشان را نشان می‌دهند. می‌توان این اجزا را به عنوان سورپرایز در نظر گرفت. این ویژگی‌ها معمولاً در سیستم‌ها در نظر گرفته نمی‌شوند، هرچند روش‌هایی در طراحی برای پیش‌بینی این موارد وجود دارد. «بعضی موارد تنها زمانی خود را نشان می‌دهند که یک سیستم ساخته شد».
یک مثال جالب: مهندسان پل هزاره که بر روی رودخانه توماس در انگلیس تنها چند روز بعد از افتتاح پل، آن را بستند تا تغییراتی بر روی آن انجام دهند. دلیلی آن یک موضوع جالب بود، مردمی که از روی پل عبور می‌کردند، قدم‌های خود را با نوسانات پل تنظیم می‌کردند، در نتیجه نوسانات بیشتر می‌شد و ممکن بود آسیب جدی به ساختار آن وارد کند.
یک مثال دیگر: وجود چندین تولید کننده برق و اتصال آنها به همدیگر، باعث پخش شدن بار بر روی تولید کنندگان مختلف است. مشکل زمانی به وجود میابد که یکی از تولید کنندگان از مدار خارج شود که ممکن است به دلیل اضافه بار بر روی تولید کنندگان دیگر، تمامی شبکه دچار مشکل شود.
به قول استاد خوبم، جبان آقای دکتر محمدی:"تجزیه شون خوبه، اما مرده شور ترکیب شون رو ببره"
  • پخش شدن تاثیرات
در همان مثال مربوط به شبکه برق، یک سقوط درخت در یک منطقه و قطع شدن سیم‌های برق، ممکن است چندین کیلومتر دورتر باعث قطعی برق هزاران نفر شود. یک مسئله که در ابتدا کوچک به نظر می‌رسد و تأثیرات آن محلی تصور می‌شود، می‌تواند باعث تأثیر بر روی اجزای بسیار دورتر سیستم شود. یک نیازمندی اصلی در طراحی سیستم، محدود کردن تاثیرات خطا در سیستم است.
یک مثال دیگر که شاید برای درک تاثیر تغییرات خوب باشد، در طراحی خودرو است. فرض کنید یک مهندس طراح خودرو برای افزایش سرعت، قطر چرخ ها را از 13 به 15 افزایش دهد، در این افزایش، تاثیراتی که باید در سیستم فرمان گیری، ترمز و حتی ظاهر خودرو به وجود میاید را باید در نظر داشت.
  • گسترش غیر متناسب
زمانی که یک سیستم برای هدف خاصی در ابعاد گسترش پیدا می‌کند، تمامی اجزا از این قوانین افزایش بعد پیروی نمی‌کنند. برای مثال، در ساخت ساختمان‌هایی با طبقات زیاد، تعداد طبقات، وابسته است به میزان ظرفیت دسترسی به طبقات بالایی از طریق طبقات پایین‌تر. برای مثال میزان فضای لازم برای آسانسورها که در طبقات پایین‌تر مورد نیاز است.
این مسئله در طراحی سیستم معمولاً خود را نشان می‌دهد و اندازه و سرعت قابل مدیریت برای سیستم واحد را محدود می‌کند.
  • توازن

بسیاری از محدودیت‌ها خود را به صورت یک توازن بین اجزا یا عوامل موثر نشان می‌دهند. یک مدل عام از این توازن عبارت است از اینکه یک عامل خوب در فضای مسئله است و چالش‌های مسئله عبارت است از حداکثر سازی این عوامل خوب و در مرحله دوم جلوگیری از هدر رفتن آن‌ها و در مرحله سوم، تخصیص این عوامل به محل‌هایی که بیشترین سود را داشته باشد. این مفهوم تا حدی در این تعریف مشکل است. این مفهوم را معمولاً با عنوان «اثر تخت خواب آبی (waterbed effect)» مطرح می‌شود. اگر یک مسئله را در محلی فشار دهیم، ممکن است در محل دیگر یک مسئله دیگر به وجود آید یا خود را نشان دهد.
مثال بارز این مسئله در طراحی مدارات سخت افزار و توازن برقرار کردن بین سرعت پردازش، انرژی مصرفی و حرارت تولیدی است.

سؤال مهم این است که با وجود این مسائل و مشکلات، چگونه یک سیستم کامپیوتری را طراحی کنیم. در بهترین حالت، می‌خواهیم یک روش کامل طراحی داشته باشیم که بتوان در آن به صورت کامل همه اجزا را تحلیل کرد و نتیجه نهایی را به بهترین شکل بر اساس تجربیات گذشته بدست آورد. اما متأسفانه در بحث تحلیل و طراحی سیستم کامپیوتری نسبت به علوم مهندسی دیگر بسیار جوان تر هستیم.

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی