موضوع این قسمت : مهندسی نرم افزار

   – تعریف سیستم از نگاه مهندسی نرم افزار

   # به دنبال هدفی که سیستم به دنبال  آن است به  شکل زیر تعریف  میشود :

مجموعه فرآیندهایی که جهت تحلیل برای ایجاد و یا توسعه یک محیط عملیاتی ایجاد میشود.

دو بخش اساسی در مهندسی نرم افزار :

   الف ) سیستم قدیمی وجود ندارد و میخواهد ایجاد شود.

   ب ) سیستم موجود است و میخواهد 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 انجام می‏دهیم ؟

پاسخ – به این جهت که پیاده سازی انجام شده و همه‏ی محصول آماده است.

         1) تست به صورت Black box ،به این معنی که ورودی‏ها ،وارد و خروجی‏ها ،گرفته می‏شوند. اگر خروجی‏های به دست آمده مطلوب بودند ،تست کامل است ؛در غیر این صورت باید تست دومی گرفته شود.

         2) تست دوم به صورت باز روی خطوط  برنامه انجام می‏شود ،که این کار توسط Debugger انجام می‏شود تا محل بروز خطا را تعیین کند.

 

انواع خطاها :

Debugger سه نوع خطا را در دو حوزه تست می‏کند :

      الف) Lexical                  int x

                                      x=7/25

      ب) Compile error           cout <x ;              Syntax

                                                               Runtime error

      ج) x=10;                Logical

                                        ;Y=0

                                      ;x=x/y

 

      5- تبدیل یا Conversion

سیستم فعلی جایگزین سیستم قبلی نمی‏شود ،بلکه به صورت پارالل در کنار سیستم قبلی کار می‏کند. اگر سیستم فعلی برتر از سیستم قبلی باشد ،عمل جایگزینی انجام می‏شود که به آن ،تبدیل (Conversion) می‏گویند.

 

      6- پشتیبانی و نگهداری

نگهداری ،شامل گرفتن پشتیبانی از تمام محصولات ،اسناد ،پیاده سازی‏ها و پایگاه داده‏ها در پروسه‏ی ساخت محصول (نرم افزار) می‏باشد.

لازم به تذکّر است که تمام اسناد ،به صورت آرشیو ای در یک سیستم ذخیره می‏گردند. ضمناً برخی از بخش‏های نرم افزار ،باید  به  طور خودکار عمل BackUp را انجام دهند ،مخصوصاً بخشDatabase.

 

تعریف شبیه سازی کامپیوتری :

در مهندسی نرم افزار ،یا یک سیستم جدید خلق می‏شود و یا یک سیستم که از قبل وجود داشته ،Extend می‏شود. اما در شبیه سازی کامپیوتری ،باید یک سیستم به طور واقعی از قبل وجود داشته باشد تا بتوانیم بر اساس حدس و گمان (توابع احتمالی و ریاضی) سیستمی را مشابه سازی کنیم.