شیوه های متداول در مهندسی نرم افزار

روشهای متداول در مهندسی نرم افزار 

طراحی ساخت یافته:

 4 عمل اصلی که در گام طراحی انجام می شود :

1) طراحی داده ها یا معماری داده ها: براساس مدل   ERDو DD

2) طراحی معماری یا معماری برنامه ها   : براساس مدل   

CFDو DFD

3) طراحی واسطه ها: براساس مدل   

STDو Cspec و Pspec

4) طراحی رویه ها: براساس مدل   

Pspecو Cspec

اصول و مفاهیم طراحی

1) انتزاع : در طراحی سطح انتزاع را گام به گام کاهش می دهیم تا به پیاده سازی نزدیک شویم .

2) پالایش : در هرگام جزء جدیدی به مسئله اضافه می کنیم.

3) خاصیت پیمانه ای : هر طراحی خوب باید این خاصیت را درنظر بگیرد.

توجه کنید که  پیمانه ها ، تست و خطایابی را آسان  کرده و انتشار خطا را کاهش می دهند.

البته استفاده از پیمانه ها همیشه به صرفه نیست زیرا با افزایش تعداد پیمانه ها هزینه مجتمع سازی و برقراری ارتباط بین پیمانه ها را بیشتر می شود.

4) معماری : همبندی مؤلفه های نرم افزار .

5) سلسله مراتب کنترل : سلسله مراتب کنترل نحوه ی انتقال کنترل بین پیمانه ها را نشان می دهد.

6) تقسیم بندی : در تقسیم بندی باید تعداد fan in ها را بیشتر کنیم و سعی کنیم تعداد fan out  ها را افزایش ندهیم.

7) ساختمان داده ها : ساختمان داده رابطه منطقی میان عناصر داده ای را مشخص می کند . ساختمان داده ، سازماندهی ، روش های دستیابی و راه های گوناگون پردازش را نشان می دهد.

8) رویه نرم افزار : در طراحی رویه ها جزئیات پردازشی و منطق هر یک از پیمانه ها، ترتیب اجرای دستورات، شرط ها و غیره بیان می شود .

9) پنهان سازی اطلاعات : یک طراحی خوب منطق و جزئیات پیمانه ها را از یکدیگر پنهان می کند و ارتباط پیمانه ها را از طریق interface  برقرار می کند.

 طراحی پیمانه ای خوب :

یک طراحی پیمانه ای خوب، پیمانه هایی تولید می کند که استقلال تابعی دارند، در استقلال تابعی دو مفهوم مطرح می شود:

1) وحدت : یعنی کارهای مرتبط به هم در یک پیمانه قرار گیرند. در طراحی خوب وحدت پیمانه ها بالاست.

انواع وحدت:

وحدت تصادفی، وحدت زمانی، وحدت رویه ای، وحدت ارتباطی، وحدت منطقی

2) ارتباط (کوپل) : به معنی ارتباط بین پیمانه ها می باشد . هرچه ارتباط بین پیمانه ها کمتر باشد بهتر است .

انواع ارتباط:

ارتباط داده ای، ارتباط مشترک، ارتباط خارجی، ارتباط محتویات

 نکته: نرم افزار باید حداکثر وحدت و حداقل ارتباط را داشته باشد.

طراحی داده ها :

طراحی داده ها در سه سطح زیر انجام می شود:

در سطح مؤلفه ، ساختمان داده ها طراحی می شود .

در سطح کاربرد ، براساس ERD پایگاه داده طراحی می شود.

در سطح تجاری : مخزن داده ها یا data warehouse طراحی می شود .

 طراحی معماری :

انواع معماری ها:

1) Data Center

2) شی گرا

3) جریان داده

4) لایه ای

3)

Call return

 در این مرحل پس از انتخاب معماری ، سیستم را با استفاده از مدل

DFD  مشخص می کنیم .

مراحل ایجاد معماری :

1) بررسی مشخصه سیستم و

DFD

2) تشخیص جریان تبدیل یا جریان تراکنش

3) تعیین مرز ورودی و خروجی

4) تبدیل

DFD ا به معاری

5) پالایش معماری

6) مرور و مستند سازی

طراحی واسطه ها:

واسط ها تأثیر زیادی روی مشتری دارند تا جایی که ممکن است یک نرم افزار خوب با نداشتن واسطه مناسب از طرف مشتری مورد قبول واقع نشود.

طراح باید مراحل تحلیل، طراحی، ساخت و ارزیابی را برای تولید یک واسط مناسب طی کند.

اصول کلی طراحی واسطه ها:

1) کنترل را به کاربر دهید .

2) بار فکری کاربر را کم کنید .

3) سازگاری واسطه ها

طراحی رویه ها:

 در این گام با استفاده از شبه کد منطق پیمانه ها ، ساختمان داده ها و ... را مشخص می کنیم .

روشهای متداول در مهندسی نرم افزار 

طراحی ساخت یافته:

 4 عمل اصلی که در گام طراحی انجام می شود :

1) طراحی داده ها یا معماری داده ها: براساس مدل   

ERDو DD

2) طراحی معماری یا معماری برنامه ها   : براساس مدل   

CFDو DFD

3) طراحی واسطه ها: براساس مدل   

STDو Cspec و Pspec

4) طراحی رویه ها: براساس مدل   

Pspecو Cspec

اصول و مفاهیم طراحی

1) انتزاع : در طراحی سطح انتزاع را گام به گام کاهش می دهیم تا به پیاده سازی نزدیک شویم .

2) پالایش : در هرگام جزء جدیدی به مسئله اضافه می کنیم.

3) خاصیت پیمانه ای : هر طراحی خوب باید این خاصیت را درنظر بگیرد.

توجه کنید که  پیمانه ها ، تست و خطایابی را آسان  کرده و انتشار خطا را کاهش می دهند.

البته استفاده از پیمانه ها همیشه به صرفه نیست زیرا با افزایش تعداد پیمانه ها هزینه مجتمع سازی و برقراری ارتباط بین پیمانه ها را بیشتر می شود.

4) معماری : همبندی مؤلفه های نرم افزار .

5) سلسله مراتب کنترل : سلسله مراتب کنترل نحوه ی انتقال کنترل بین پیمانه ها را نشان می دهد.

6) تقسیم بندی : در تقسیم بندی باید تعداد fan in ها را بیشتر کنیم و سعی کنیم تعداد fan out  ها را افزایش ندهیم.

7) ساختمان داده ها : ساختمان داده رابطه منطقی میان عناصر داده ای را مشخص می کند . ساختمان داده ، سازماندهی ، روش های دستیابی و راه های گوناگون پردازش را نشان می دهد.

8) رویه نرم افزار : در طراحی رویه ها جزئیات پردازشی و منطق هر یک از پیمانه ها، ترتیب اجرای دستورات، شرط ها و غیره بیان می شود .

9) پنهان سازی اطلاعات : یک طراحی خوب منطق و جزئیات پیمانه ها را از یکدیگر پنهان می کند و ارتباط پیمانه ها را از طریق interface  برقرار می کند.

 طراحی پیمانه ای خوب :

یک طراحی پیمانه ای خوب، پیمانه هایی تولید می کند که استقلال تابعی دارند، در استقلال تابعی دو مفهوم مطرح می شود:

1) وحدت : یعنی کارهای مرتبط به هم در یک پیمانه قرار گیرند. در طراحی خوب وحدت پیمانه ها بالاست.

انواع وحدت:

وحدت تصادفی، وحدت زمانی، وحدت رویه ای، وحدت ارتباطی، وحدت منطقی

2) ارتباط (کوپل) : به معنی ارتباط بین پیمانه ها می باشد . هرچه ارتباط بین پیمانه ها کمتر باشد بهتر است .

انواع ارتباط:

ارتباط داده ای، ارتباط مشترک، ارتباط خارجی، ارتباط محتویات

 نکته: نرم افزار باید حداکثر وحدت و حداقل ارتباط را داشته باشد.

طراحی داده ها :

طراحی داده ها در سه سطح زیر انجام می شود:

در سطح مؤلفه ، ساختمان داده ها طراحی می شود .

در سطح کاربرد ، براساس ERD پایگاه داده طراحی می شود.

در سطح تجاری : مخزن داده ها یا data warehouse طراحی می شود .

 طراحی معماری :

انواع معماری ها:

1) Data Center

2) شی گرا

3) جریان داده

4) لایه ای

3)

Call return

 در این مرحل پس از انتخاب معماری ، سیستم را با استفاده از مدل

DFD  مشخص می کنیم .

مراحل ایجاد معماری :

1) بررسی مشخصه سیستم و

DFD

2) تشخیص جریان تبدیل یا جریان تراکنش

3) تعیین مرز ورودی و خروجی

4) تبدیل

DFD ا به معاری

5) پالایش معماری

6) مرور و مستند سازی

طراحی واسطه ها:

واسط ها تأثیر زیادی روی مشتری دارند تا جایی که ممکن است یک نرم افزار خوب با نداشتن واسطه مناسب از طرف مشتری مورد قبول واقع نشود.

طراح باید مراحل تحلیل، طراحی، ساخت و ارزیابی را برای تولید یک واسط مناسب طی کند.

اصول کلی طراحی واسطه ها:

1) کنترل را به کاربر دهید .

2) بار فکری کاربر را کم کنید .

3) سازگاری واسطه ها

طراحی رویه ها:

 در این گام با استفاده از شبه کد منطق پیمانه ها ، ساختمان داده ها و ... را مشخص می کنیم .

روشهای متداول در مهندسی نرم افزار 

 تست :

خروجی این مرحله مشخصه تست است.

در پیاده سازی باید به گونه ای عمل کنیم که کد به راحتی قابل تست باشد، برای این منظور باید:

1) کدها عملیاتی باشند

2) هیچ اشکالی اجرای آزمایش را قطع نکند

3) در هر مرحله خروجی قابل مشاهده وجود داشته باشد

4) قابلیت مشاهده حالت های مختلف سیستم

5) تشخیص خطاهای داخلی

ویژگی های تست خوب :

1) هدف تست خوب ، یافتن خطاها و اشکالات بیشتر با حداقل زمان و هزینه است .

2) تست بیش از حد انجام  نشود .

3) آزمایش ها هوشمندانه باشند 

اصول آزمایش :

در هر گام می توان تست آن مرحله را انجام داد ، لازم نیست حتما پس از مرحله پیاده سازی تست را انجام دهیم .

تست کامل هیچگاه انجام نمی شود

آزمایش همیشه از جزئیات (مؤلفه ها ) آغاز و به کلیات می انجامد .

انواع روش های تست :

1) جعبه سفید: تست رویه برنامه

2) جعبه سیاه: تست  نرم افزار بدون توجه به کد آن

 استراتژی تست نرم افزار :

1) تست مؤلفه : در این گام با استفاده از تست جعبه سفید پیاده سازی را تست می کنیم.  

2) تست مجتمع سازی: در این گام با استفاده از تست جعبه سفید و جعبه سیاه طراحی نرم افزار را تست می کنیم.  

3) تست اعتبار سنجی : در این گام با استفاده از تست جعبه سیاه تحلیل نرم افزار را تست می کنیم.  

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

4) تست سیستم : در سطح مهندسی سیستم از تست جعبه سیاه استفاده می شود .

 تست جعبه سفید :

1) بررسی  ساختمان داده محلی

2) بررسی شرط های موجود

3) بررسی مسیر های کنترل

آزمایش شرط ها :

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

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

گراف جریان از یک سری دایره و یال تشکیل شده است . هر دستور پردازشی تا به شرط برسد در یک دایره در نظر گرفته می شود . تا جایی که شرط وجود ندارد همه در یک دایره ترکیب می شوند .

برای تعیین تعداد مسیر های مبنا 4 روش مختلف وجود دارد :

1) محاسبه پیچیدگی دورانی : تعداد ناحیه های گراف جریان را محاسبه می کنیم

2) استفاده از گزاره های شرطی :  تعداد گزاره های شرطی را شمرده و با 1 جمع می کنیم

 3) استفاده از فرمول

E-N+2  که (E تعداد یال ها و N تعداد گره ها)

3) ایجاد ماتریس گراف

 آزمایش ساختار های کنترل :

 ساختار های کنترلی ، پرانتز گذاری ها، عملگر های محاسباتی و ... را بررسی می کنیم .

 آزمایش جریان داده ها :

Define use

تعیین می کند که یک منغیر خاص در چه شماره دستوری تعریف و در چه شماره دستوری استفاده شده است.

آزمایش حلقه ها :

حلقه ها را بررسی می کنیم .

شرایط ممکن و قابل بررسی برای حلقه :

1) اجرا نشدن

2) فقط یک گذر در حلقه

3) دو گذر

4)

N-1 گذر

5)

N  گذر

6) 

N/2  گذر

7) 

N+1 گذر

انواع  تست:

تست آلفا، تست بتا، تست سیستم، تست فشار، تست احیا، تست حفاظت، تست کارایی ، تست رابط گرافیکی

 خطایابی:

روشهای خطایابی:

1) تصادفی 2) عقب گرد 3) حذف علت


مطالب مشابه :


بررسی روش های تست نرم افزار

یکی از مهمترین مراحل تولید نرم افزار، فاز تست و رفع است و به روشهای غیر معمول نرم




تست نرم افزار (قسمت 1)

تست نرم افزار برای موارد بالا و مواردی دیگری که ذکر نشد روشهای مختلف تست در




شیوه های متداول در مهندسی نرم افزار

روشهای متداول در مهندسی نرم استراتژی تست نرم افزار : 1) تست مؤلفه :




تست نرم افزار (قسمت 2)

دوست خوبمان آقای نوبر لطف کردند و نواقصی را که در قسمت اول تست نرم افزار پس روشهای مختلف




خرید سی دی آموزش تست زنی مهندسی معکوس

مهندسی معکوس در مهندسی نرم افزار با استفاده از تكنیك ها و روشهای تست زنی شما می




آموزش روشهای یافتن درایورهای سخت افزار

آموزش روشهای سخت افزار پس از طی مراحل تست موفق به دو نرم افزار Driver




تست سالم بودن سخت افزار به خصوص کارت گرافیک

تست سالم بودن سخت افزار به و سرعت با نمونه های تست شده در نرم افزار تطابق دارد یا




فرآيند توسعه نرم افزار

فرآيند توسعه نرم افزار. روشهای مختلفی برای فرآیند توسعه سیستم وجود (ساخت سیستم، تست)




برچسب :