close
دانلود فیلم
فیلم شبیه سازی
 

در شبیه سازی سیستم دو پارامتر اساسی برای تعیین سیستم در نظر گرفته می شود : الف ) ساعت شبیه سازی ب) پیش آمدهای سیستم  . پیشآمدهای سیستم به دو دسته اند : الف ) پیشآمدهای اصلی که مستقل از دیگر پیشآمدها هستند مانند بیمار در بیمارستان و مشتری در بانک . ب ) پیشامدهای وابسته : پیشامدهایی هستند که در صورت  وجود یا ورود پیشامد اصلی به وجود می آید مانند پزشک در بیمارستان و صندوق دار در بانک . در هنگام شبیه سازی می توان پیشامدهای فرعی یا وابسته را بدون استفاده از داده های واقعی شبیه سازی کرد . اما برای پیشامدهای اصلی حتما باید بر اساس داده های واقعی  شبیه سازی انجام پذیرد

 

تعریف سیستم از نگاه مهندس نرم افزار
به دنبال هدفی که سیستم به دنبال آن است به شکل زیر تعریف می شود .
مجموعه فرآیند هایی که جهت تحلیل برای ایجاد و یا توسعه ی یک محیط عملیاتی ایجاد می شود .
2 بخش اساسی در مهندسی نرم افزار
الف ) سیستم قدیمی وجود ندارد و می خواهد ایجاد شود
ب ) سیستم موجود است و می خواهد extend  یا Reuse شود .
Reuse: زمانی که بخواهیم سیستم را به طور کامل تعویض کنیم و سیستم قدیمی شده باشد ، عمل reuse صورت می دهیم .
نکته ! هنگامی عمل reuse  انجام می شود که متناسب با سخت افزار و نرم افزار های موجود  فعلی سیستم Reuse  می شود .

مراحل ایجاد یک نرم افزار
1-    مهندسی نیاز ( تحلیل نیاز ها )
     برای انجام تحلیل نیاز در یک سیستم نیاز به یکinter reuse   داریم.
1-1-    پرسش نامه
        در پرسش نامه ابتدا به سراغ مدیر می رویم ( مصاحبه با مدیر )
به ترتیب به سراغ کاربران و بعد آن اپراتور و . . . می رویم .
1- DBA               ( اپراتور بانک اطلاعاتی )
2- programmer    ( برنامه نویس )
3- user                 ( کاربران )
شیوه طرح سؤالات مصاحبه بر اساس سؤالات تشریحی – تستی – کوتاه پاسخ – پاسخ طولانی – سؤالات open( هر نوع سؤال ) و سؤالات close  ( سؤالات انتخابی ) می باشد .
2- طراحی مدل
ابتدا به صورت  Rational ( عقلی – منطقی ) اتفاقاتی که در سیستم می افتد را مدل می کنیم . ( تعیین  Actor ها و نحوه تعامل آنها با use case انجام می گیرد) . سپس ترسیم نمودارهای جریان داده و در نهایت تعیین نمودارهای موجودیت و رابطه بین آنها نکته ! به محض اینکه موجودیت ها مشخص شوند و می توانیم به سراغ ترسیم نمودارهای FHD  نمودار جریان کار (منو) می رویم .
3- پیاده سازی
انتخاب یک زبان مناسب با توجه به نیاز های سستم ( یک زبان به روز) که سیستم حداقل برای یک مدت زمان مناسب قابل extend  باشد .
4- تست
تست باید در تمام مراحل وجود داشته باشد ، همراه با حضور کاربر یا اپراتور  چراتست  را در مرحله ی 4 انجام می دهیم ؟ به این جهت که پیاده سازی انجام شده و همه ی محصول آماده است . تست به صورت Black box  به این معنی که ورودی ها وارد و خروجی ها گرفته می شود.اگر خروجی های بدست آمده مطلوب بودند تست کامل است در غیر این صورت باید تست دومی گرفته شود.
2)تست دوم به صورت باز روی خطوط برنامه انجام می شود که این کار توسط  Debugger   انجام تا محل بروز خطا را تعیین کند.

5- تبدیل یا  conversion
سیستم فعلی جایگزین سیستم قبلی نمی شود بلکه به صورت پارالل در کنار سیستم قبلی کار می کند.اگر سیستم فعلی برتر از سیستم قبلی باشد عمل جایگزینی انجام می شود که به آن تبدیل می گویند.
6- پشتیبانی و نگهداری
نگهداری شامل گرفتن پشتیبانی از تمام محولات،اسناد،پیاده سازی ها و پایگاه داده ها در پروسه ساخت محصول(نرم افزار) می باشد. لازم به تذکر است تمام اسناد به صورت آرشیوی در یک سیستم ذخیره می گردند.ضمنا برخی از بخشهای نرم افزار باید به طور خودکار عمل Black up را انجام دهد مخصوصاً بخش data base
تعریف شبیه سازی کامپیوتری
در مهندسی نرم افزار یا یک سیستم جدید خلق می شود یا با یک سیستم که از قبل وجود داشته extend  می شود. اما در شبیه سازی کامپیوتری باید یک سیستمی به طور واقعی هز قبل وجود داشته تا بتوانیم بر اساس حدس و گمان( توابع احتمالی و ریاضی) سیستمی را مشابه سازی کنیم. نکته ! هدف شبیه سازی تولید یک برنامه کامپیوتری است به گونه ای که بتواند اتفاقات قبلی رخ داده را نمایش دهد و آن اتفاقات را در مسیر صحیح و مناسب گزارش دهد.
نکته ! وقتی وارد حوزه ی شبیه سازی می شویم سیستم باید وجود داشته باشد و اگروجود نداشت  باید بر اساس حدس و گمان سیستم را شبیه سازی کنیم.
یک سیستم شبیه سازی شده به چه معناست؟
از نگاه یک مهندس نرم افزار تولید یک محصوت نرم افزاری است و از نگاه یک مهندس  سخت افزار تولید یک قطعه سخت افزاری است. شبیه سازی ساختن یک مدل از یک محیطی است که قبلا برای مدتی کار کرده یا در حال حاضر در حال کار کردن است.شبیه سازی در مورد چیزهایی که اصلا وجود نداشته یا الان وجود ندارد تحلیلی است. اشیا در یک سیستم شبیه سازی شده به دو شکل است:
1)برخی از اشیا همیشه در سیستم وجود دارند و از بین نمی روند (permanent) هستند.
2)دسته دومی از اشیا که به صورت موقت هستند و به مرور زمان ازبین می روند.
وضعیت یک سیستم در مدل شبیه سازی به چگونگی قرار گرفتن  اشیا درآن بستگی دارد یعنی ترتیب ورود اشیا در یک سیستم شبیه سازی در تولید مدل آن تاثیر می گذارد.

اجرای یک سیستم بانکی
اجرای این سیستم شامل مشتری ها- باجه ها- خدمه ها- پول-  سخت افزارها و مدیریت.
مشتری: شامل تعداد آنها- زمان ورود هر کدام- مدت زمان سرویس هر کدام- نوع کار(سرویس) و مشخصات فردی آنها
باجه ها: تعداد باجه ها(سرویس دهنده ها)- میزان سرعت یا فرسودگی بودن    Cacheir (سن آنها)- فرسوده بودن آن- متاهل بودن
خدمه ها: سرعت کار- تعداد کار- تعداد خدمه ها و نوع کارشان
پول: حجم- نوع
سخت افزار: میزان حافظه- سرعت پردازنده- مدت زمان تولید(تاریخ تولید)
مدیریت: سواد- دانش آن- آگاهی از نوع کارش
انواع سیستم های صفی در شبیه سازی
1) :SISO(سرویس یکی و صف یکی)
2)SIPO: (صف یکی و سرویس چند تا)
3) :PISO(صف چند تا و سرویس یکی)
4)PIPO: (صف چند تا وسرویس چند تا )
انواع شبیه سازی
1-    شبیه سازی همانی : مدل شبیه سازی شده به همان شکلی کار می کند که مدل واقعی در حال فعالیت است.     
    مثال: ATM
2-    شبیه سازی نیمه همانی : بخش هایی که بتوانیم از مدل واقعی برای شبیه سازی استفاده کنیم و بخش های دیگر را از مدل انسانی استفاده کنیم .
3-    شبیه سازی آزمایشگاهی : شبیه سازی هایی هستند که به واقعیت منجر نشده اند ، اما در غالب فیلم و انیمیشن مدل آزمایشگاهی به وجود آمده اند .
مثال : فیلم آواتار
4-    شبیه سازی کامپیوتری : یک صف تشکیل می شود ، صف ارزیابی می شود و یک سرویس دهنده برای سرویس در صف به وجود می آید و سرویس گیرنده از صف خارج می شود . کاملا ً  Modeling بوده و برنامه کامپیوتری است .
5-    شبیه سازی مونت کارلو : علاوه بر اینکه می تواند مدلهای شبیه سازی شده کامپیوتر را بسازد کاری در آینده نیز انجام می دهد . بر حسب محاسبات پیچیده ی ریاضی و فیزیک بدست می آید .
چرا از شبیه سازی کامپیوتری استفاده می کنیم ؟
به دلیل اینکه برخلاف بقیه شبیه سازی ها که در خیلی از محیط ها غیر قابل پیاده سازی است از آنجایی ک ه شبیه سازی کامپیوتری مبتنی بر صف است لذا قابل مدل شدن و قابل پیاده سازی است .
خصوصیات شبیه سازی کامپیوتری
1-    شبیه سازی کامپیوتری قابلیت فشرده کردن زمان را در یک بازه کوتاهی دارد.
2-    قابلیت گسترش زمان : می توانیم یک اتفاقی راکه بازه زمانی کوچک رخ داده است را در یک بازه زمانی بزرگتر نسبت دهیم تا بتوانیم وقایع را با دقت و اطلاعات بیشتر نشان دهیم .
3-    در شبیه سازی کامپیوتری می توانیم وضعیت سستم را با استفاده از شرایط اولیه تست کنیم . یعنی آن انتظاری که از سیستم داریم آیا با ایجاد یک شرایط مناسب اولیه به وجود می آید یا خیر .
نکته ! مهمترین ویژگی این شبیه سازی کامپیوتری کم کردن هزینه است .
4-    مشاهده بررسی وضعیت سیستم در لحظه ای از زمان : هر وقت بخواهیم سیستم را به جهتی سوق دهیم که هدف شبیه سازی است می توانیم داده های مورد نیاز آن را تولید کنیم .
5-    بارزترین ویژگی این است که قبل از اینکه مدل ساخته شود می توانیم مدل را ببینیم .
مراحل شبیه سازی کامپیوتری
1-    مهندسی نرم افزار : براساس ویژگی های مهندسی نرم افزار
2-    جمع اوری مشاهدات و نتیجدر سیستم واقعی و تعیین 2 دسته از پارامتر های ENDO , EXO
3-    استفاه از نرم افزار های آماری برای استخراج نتایج و تحلیل انها
 مثال : استفاده از نرم افزار Excel
4-    اجرای یک آزمایش اولیه بر روی نتایج بدست آمده از شبیه سازی با داده های دلخواه .
5-    معتبر کردن مدل ساخته شده
6-    نوشتن برنامه کامپیوتری و نصب آن

در هر سیستم شبیه سازی 2 بخش را در نظر می گیریم :
1-    زمانی که رخداد جدیدی وارد سیستم صف شبیه سازی می شود .
2-    زمانی که  رخداد  پس  از پایان سرویس  از صف شبیه سازی  خارج  می شود.
دو ایده (طرح ) برای پیاده سازی مدل شبیه سازی وجود دارد :

1- فاصله گرا                        Interval                                                   Time Line (S.C Queue)            
2- واقعیت گرا                         Event 

 

ادامه مطلب...
به کانال تلگرام سایت ما بپیوندید