Project
Project
ویژگیها: o
رفتارها: o
ویژگیها: o
رفتارها: o
رفتارها:
ویژگیها:
رفتارها:
ویژگیها:
رفتارها:
ویژگیها:
رفتارها:
کالس Circuitشامل لیستی از اشیا از کالس Nodeو Elementاست .این رابطه به صورت o
ترکیب نمایش داده میشود ،زیرا مدار "مالک" گرهها و عناصر است و با حذف مدار،
گرهها و عناصر نیز حذف میشوند.
کالس Elementبه عنوان کالس پایه برای تمام عناصر مدار عمل میکند و شامل ویژگیها و متدهای
اساسی است که تمام عناصر مشترک دارند .این کالس دارای سه ویژگی اصلی است :گره شروع ،گره
پایان و مقدار عنصر .همچنین شامل چندین متد مجازی است که باید در کالسهای مشتق شده پیادهسازی
شوند.
محاسبه جریان عبوری :این متد ولتاژ اعمال شده به عنصر را دریافت و جریان عبوری را .1
محاسبه میکند.
محاسبه امپدانس :برای عناصر ،ACامپدانس را بر اساس فرکانس محاسبه میکند. .2
مفهوم چندریختی:
چندریختی امکان رفتار یکسان با اشیاء مختلف را فراهم میکند .در این سیستم ،میتوانیم تمام عناصر
مدار را در یک لیست از اشارهگرهای Elementذخیره کنیم و بدون نیاز به دانستن نوع دقیق هر عنصر،
متدهای مشترک را روی آنها فراخوانی کنیم.
مثال کاربردی:
میتوانیم لیستی از عناصر مختلف مدار ایجاد کنیم و سپس با یک حلقه بر روی تمام عناصر:
امپدانس هر عنصر را در فرکانس مشخص محاسبه کنیم. .1
جریان عبوری از هر عنصر را برای ولتاژ معین بدست آوریم. .2
مزایای این روش:
یکپارچگی :مدیریت تمام عناصر در یک ساختار داده واحد .1
انعطافپذیری :امکان اضافه کردن عناصر جدید بدون تغییر کد اصلی .2
سادگی :کد تمیزتر و قابل فهمتر .3
کارایی :انجام عملیات مشترک روی تمام عناصر به صورت یکج .4
علت انتخاب:
Interpreter Patternبرای تجزیه و تحلیل دستورات SPICEکه یک زبان مخصوص دامنه ( )DSLاست
مناسب میباشد.
Factory Method Patternبرای ایجاد اشیاء مناسب بر اساس نوع عنصر مدار ذکر شده در فایل.
پیادهسازی:
نوع دستور را شناسایی میکند (تعریف عنصر ،تحلیل ،خروجی و)... o
برای هر نوع عنصر ( R, C, L, Vsourceو )...یک متد ایجاد خاص وجود دارد o
بر اساس توکن اول هر خط ،متد مناسب فراخوانی میشود o
مزایا:
انعطافپذیری در اضافه کردن عناصر جدید
انتخاب روش:
مزایا: .3
امکان تعویض ساده بین پیادهسازیها o
تصمیم نهایی:
برای نسخه اولیه از کتابخانههای خارجی استفاده میکنیم
پیادهسازی در شبیهساز:
بهینهسازی:
انتخاب خودکار اندازه گام بر اساس تغییرات پاسخ
طرح پیشنهادی:
مولفههای اصلی:
مزایا:
جداسازی کامل منطق تحلیل از نمایش
Download
) (پایهSPICEError
ParserError ──├
SyntaxError ──├ │
InvalidElementError ──├ │
FileFormatError ──└ │
CircuitError ──├
NodeNotFoundError ──├ │
ElementConnectionError ──├ │
AnalysisError ──└ │
SimulationError ──├
ConvergenceError ──├ │
NumericalStabilityError ──└ │
IOError ──└
FileNotFoundError ──├
PermissionError ──└
:مدیریت خطاها
:سطح تحلیل .3
مشکالت همگرایی و پایداری عددی o
ساختار اصلی:
Copy
Download
├── LoadCommand
├── RunCommand
├── PlotCommand
├── SaveCommand
└── HelpCommand
مولفههای کلیدی:
گردش کار:
کاربر دستور را وارد میکند .1
CommandParserدستور را به شی Commandمناسب تبدیل میکند .2
مزایا:
جداسازی کامل منطق کسب و کار از رابط کاربری
امکان اضافه کردن دستورات جدید بدون تغییر ساختار موجود
طراحی و توضیحات:
الگوی Factoryبرای ایجاد عناصر مدار به صورت متمرکز استفاده میشود .این الگو یک رابط یکپارچه برای
ایجاد انواع مختلف عناصر مدار (مقاومت ،خازن ،سلف و منابع) فراهم میکند.
مزایای کلیدی:
کپسولهسازی :منطق ایجاد اشیاء در یک مکان متمرکز شده است .1
انعطافپذیری :اضافه کردن عناصر جدید نیاز به تغییر کدهای موجود ندارد .2
سادگی استفاده :رابط یکسانی برای ایجاد تمام عناصر .3
مدیریت خطا :کنترل متمرکز خطاهای مربوط به ایجاد عناصر .4
گردش کار:
کاربر رشته ورودی را وارد میکند
طراحی و توضیحات:
الگوی Observerبرای بهروزرسانی همزمان چندین نمایشگر نتایج شبیهسازی استفاده میشود .این الگو
امکان نمایش نتایج در فرمتهای مختلف (نمودار ،جدول ،فایل) را به صورت همزمان فراهم میکند.
اجزای اصلی:
مزایای کلیدی:
اتصال سست :نمایشگرها از منطق شبیهسازی جدا هستند .1
قابلیت توسعه :اضافه کردن نمایشگرهای جدید بدون تغییر کد موجود .2
همزمانی :بهروزرسانی تمام نمایشگرها با یک تغییر .3
کارایی :کاهش محاسبات تکراری با اشتراکگذاری نتایج .4
پرسش - ۳.۶سیستم ذخیرهسازی و بازیابی مدارها
طراحی و توضیحات:
سیستم ذخیرهسازی از ترکیب الگوی Mementoو تکنیکهای سریالیسازی استفاده میکند .این روش
امکان ذخیره و بازیابی کامل وضعیت مدار را فراهم میکند.
مولفههای اصلی:
مزایای کلیدی:
کپسولهسازی :وضعیت داخلی مدار محافظت میشود .1
تاریخچه کامل :امکان بازگشت به هر نسخه قبلی مدار .2
انعطافپذیری :ذخیره در حافظه یا فایل .3
کارایی :ذخیره و بازیابی سریع وضعیت مدار .4
پرسش - ۴.۶سیستم پالگین برای المانهای سفارشی
طراحی و توضیحات:
سیستم پالگین به کاربران امکان میدهد المانهای سفارشی خود را بدون نیاز به تغییر کد اصلی برنامه
اضافه کنند .این سیستم از ترکیب Abstract Factoryو Dependency Injectionاستفاده میکند.
مولفههای اصلی:
رابط پالگین :تعریف استاندارد برای پالگینها .1
مدیر پالگین :بارگذاری و مدیریت پالگینها .2
سیستم تزریق وابستگی :اتصال پالگینها به برنامه اصلی .3
مزایای کلیدی:
گسترشپذیری :اضافه کردن المانهای جدید بدون تغییر هسته برنامه .1
ایزولهسازی :خطاهای پالگین بر برنامه اصلی تأثیر نمیگذارد .2
انعطافپذیری :پالگینها میتوانند به زبانهای مختلف نوشته شوند .3
امنیت :کنترل دسترسی پالگینها به منابع سیستم .4
گردش کار:
کاربر پالگین را توسعه و کامپایل میکند .1
پالگین در مسیر مشخص قرار میگیرد .2
برنامه اصلی پالگین را تشخیص و بارگذاری میکند .3
المانهای جدید به لیست عناصر موجود اضافه میشوند .4
کاربر میتواند از المانهای سفارشی مانند المانهای استاندارد استفاده کند .5
ساختار پیشنهادی:
تضمین میکند تنها یک نمونه از سیستم الگ در برنامه وجود دارد o
مزایای طراحی:
انعطافپذیری در ترکیب قابلیتهای مختلف
مزایا:
برای برنامههای حرفهای و سازمانی SQL :به دلیل قدرت و انعطافپذیری
مالحظات اضافی: