مهندسی نرم افزار :: مدرس و مشاور تجزیه و تحلیل، طراحی و پیاده سازی سیستم های نرم افزاری

بنر

مدرس و مشاور تجزیه و تحلیل، طراحی و پیاده سازی سیستم های نرم افزاری

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

مدرس و مشاور تجزیه و تحلیل، طراحی و پیاده سازی سیستم های نرم افزاری

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

اینستاگرام تلگرام لینکدین واتساپ

۱۵ مطلب با موضوع «مهندسی نرم افزار» ثبت شده است

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های

 

مهندسی نیازمندی‌ها(Requirements Engineering):

مهندسی نیازها مکانیزم مناسبی را برای درک خواسته‌های مشتری، تحلیل نیازها، تعیین امکان‌پذیر بودن اجرای پروژه، مذاکره در مورد راه‌حل قابل قبول، مشخص کردن راه‌حل به صورت غیر‌مبهم، اعتبارسنجی مشخصه محصول و مدیریت نیازها در ضمن تبدیل به یک سیستم عملیاتی فراهم می‌کند. بنابراین فرآیند مهندسی نیازها در 6 مرحله مشخص به صورت زیر انجام می‌گیرد:

  1. استخراج نیازمندی‌ها: نیازها از طریق مصاحبه با مشتری به‌دست می‌آید ولی این کار به دلایل زیادی خیلی ساده نیست. برخی از آن‌ها عبارتند از:
    • مشکلات محدوده: مرز سیستم ضعیف تعریف می‌شود. مشتری و کاربران، با ابهام آمیز بیان کردن جزئیات باعث سردرگمی در کل اهداف سیستم می‌شوند.

مشکلات مفهومی: کاربران یا مشتری از آنچه که نیاز دارند، کاملا مطمئن نیستند و برای برقراری ارتباط با مهندس سیستم، در رابطه با بیان نیازها دچار مشکل هستند.

    • مشکلات اعتبار:
    • نکته: برای غلبه بر این مشکلات، مهندسین سیستم، باید فعالیت جمع‌آوری نیازها را به صورت سازمان یافته و منسجم انجام دهند.
  1. مذاکره و تحلیل نیازمندی‌ها: زمانیکه نیازمندیها جمعآوری شدند، تجزیهوتحلیل برروی آنها انجام میشود. تحلیل، نیازمندی ها را در زیر دسته هایی خاص دسته بندی می کند، سپس

 

  1. تعریف و تدوین نیازمندی‌ها: قالب استانداردی برای نمایش نیازمندی‌ها ایجاد می‌شود که جامعیت(یکپارچگی) آنها را حفظ کند.
  2. مدلسازی سیستم: براساس تعریف ایجاد شده از سیستم، یک مدل از آن ساخته می شود.
  3. اعتبارسنجی نیازمندی‌ها: نیازمندی‌ها برای شناسایی ابهامات، مورد آزمایش و بررسی قرار می‌گیرند.
  4. مدیریت نیازمندی‌ها:

 

 

هنگامی که نیازمندی‌ها تعیین شدند، جدول ردیابی(Traceability Table) تشکیل می‌شود. این جدول هر کدام از نیازمندی‌های تعریف شده را به یک یا چند جنبه از سیستم یا محیط ربط می‌دهد. شکل زیر یک نمونه از این جدول را نشان می‌دهد. به عنوان مثال، نیازمندی R01 با جنبه‌های A02 و A06 از محیط یا سیستم ارتباط دارد.

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های

Product

مهندسی محصول (Product Engineering)

هدف مهندسی محصول، تولید یا توسعه یک محصول(نرم افزار) و یا ارائه خدمت براساس نیازهای مشتری است که شامل 4 عنصر مجزاست:

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های

Process

 

مهندسی فرآیند تجاری:

هدف از مهندسی فرآیند تجاری که به آن مهندسی اطلاعات(Information Engineering) نیز گفته می‌شود، تعریف معماری‌هایی است که امکان استفاده کارا از اطلاعات در کاربردهای عملی را فراهم می‌سازند. سه معماری متفاوت در زمینه اهداف کوتاه مدت و بلند مدت باید تحلیل و طراحی شوند:

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های

Modeling

مدل‌سازی سیستم

مهندسی سیستم یک فرآیند مدل‌سازی است. چه در سطح دیدگاه جهانی و چه در سطح دیدگاه جزئیات مهندس سیستم مدل‌هایی را با خواص زیر می‌سازد:

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های

 

مهندسی سیستم(System Engineering):

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

به عنوان نتیجه مهندسی سیستم، یک نمایش کارا از سیستم تولید می‌شود. روش نمایش می‌تواند به صورت یک نمونه، تعریف و یا مدلی نمادین باشد. اما در هر حال باید خصوصیات عملیاتی و رفتاری به صورت کامل معین گردند.

نکته:

سلسله مراتب مهندسی سیستم:

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

 

- دید جهانی(World View): کل مسئله بررسی می شود تا از امکان تولید نرم افزار مطمئن شویم و زمینه تجاری و فنی مناسبی را انتخاب کنیم.

- دید دامنه(Domain View): نیاز به مولفه های سیستم مورد نظر(مانند: داده ها، نرم افزار، سخت افزار و افراد) تحلیل و بررسی می شود.

- دید مولفه(Element View): تحلیل، طراحی و ساخت مولفه سیستم آغاز می شود.

مراحل فوق را به صورت فرمال نیز می‌توان تشریح کرد:

مجموعه زیرسیستم‌های سیستم- World View

WV={D1, D2, … , Dn}

مجموعه اهداف و اجزای هر زیرسیستم- Domain View

Di={E1, E2, … , Em}

مجموعه اجزای فنی برای اعمال و اهداف مورد نیاز- Element View

Ej={C1, C2, … , Ck}

نکته: Ciها مؤلفه‌های فنی هستند که در زمینه نرم‌افزار، Ci می‌تواند یک برنامه کامپیوتری، برنامه قابل استفاده‌مجدد، ماژول، کلاس و یا حتی دستوری از زبان برنامه نویسی باشد.

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های

Software-evaluation-criteria

معیارهای ارزیابی نرم افزار ( Software evaluation criteria  )

هدف اصلی مهندسی نرم افزار ارائه سیستمی به کاربر است که علاوه بر فراهم آوردن قابلیت‌ها و کارایی مورد نیاز، قابل نگهداری، قابل اطمینان و قابل پذیرش باشد.

چهار عامل اصلی وجود دارند که در تعیین کیفیت نرم افزار مهم هستند:

  1. قابلیت نگهداری (Maintainability): نرم افزار باید بتواند با تغییرات نیازهای کاربران تکامل و توسعه یابد.
  2. قابلیت اطمینان (Dependability): نرم افزار باید به درستی کار کند تا کاربر از نتایج تولید شده اطمینان کامل حاصل کند.
  3. کارایی (Efficiency): نرم افزار نباید منابع سیستم را هدر دهد و از آنها استفاده نادرست کند.
  4. قابلیت پذیرش (Acceptability): نرم افزار باید به وسیله کاربری که آنرا سفارش داده است، پذیرفته و تایید شود. یعنی قابل فهم، مفید و سازگار با سایر سیستم ها باشد.

شیرین آل آقایی : مدرس و مشاورتحلیل، طراحی و پیاده سازی سیستم های