پنج‌شنبه ۹ فروردین ۱۴۰۳ |  عضویت / ورود

موضوعاتی برای ارائه در درس مهندسی نرم‌افزار پیشرفته و آزمون نرم‌افزار


یک سری موضوع اینجا مطرح می‌کنم که برای دانشجویان کارشناسی، ارشد و دکترای نرم‌افزار به عنوان یک موضوع برای ارائه در دروسی مانند «مهندسی نرم‌افزار»، «مهندسی نرم‌افزار پیشرفته»، «آزمون نرم‌افزار» و «معماری نرم‌افزار» و دروس مشابه مفید خواهد بود.

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

۱- نرم‌افزار اتکاپذیر چیست؟

۲- مبحث مدیریت پروژه‌های نرم‌افزاری

می‌توان یک پروژه‌ی نمونه را با MS Project یا دیگر ابزارهای مدیریت پروژه پیاده‌سازی کرد.

۳- مبحث پشتیبانی نرم‌افزارها

۴- ارائه یکی از مدل‌ها و متودولوژی‌های Agile / Lean / DevOps / Scrum / XP و بقیه که در این صفحه قابل دسترسی است.

۵- توضیح معماری MVC

۶- روش‌های توصیف نرم‌افزار (formal, semi-formal and informal methods of software development)

۷- مبحث R&D در تولید نرم‌افزار

 

موضوع برای تحقیق و ارائه در درس آزمون نرم‌افزار:

۱- آزمون نرم‌افزار از طریق جنبه‌گرایی (Software Testing via Aspect-Oriented Programming)

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

نمونه‌های محیط‌های با پشتیبانی از جنبه‌گرایی:

AspectC++
AspectC
Aspect#, AspectDNG, LOOM.NET, AspectC#, EOS
Aspect-Oriented Perl, Aspect.pm
Aspects, Pythius (Python)
AspectR (Ruby)
AspectS, Apostle, MetaclassTalk (Squeak/Smalltalk)
AspectXML
AOPHP, AspectPHP
Object Teams
UMLAUT

۲- آزمون برنامه‌های جنبه‌گرا (Testing Aspect-Oriented Programs)

این مبحث از مباحث روز و در حال کار به حساب می‌آید...

۲- ابزارهای تولید داده‌آزمون (Test data generation Tools)

می‌توانید این ابزارها را توضیح دهید:

Jtest
C++ test
AgitarOne
Codepro Analytix
Autotest
Randoop
Pex

ابزارهای دیگری نیز هستند که در تصویر زیر یک مقایسه بین آن‌ها انجام شده:

https://img.aftab.cc/news/94/test-data-generation-tools.png

۳- تولید داده آزمون با استفاده از شبکه‌های عصبی / الگوریتم‌های ژنتیک

این نوع موضوعات برای دانشجویانی که به هوش مصنوعی علاقه دارند، موضوع جالبی است.

۴- طراحی اوراکل با استفاده از شبکه‌های عصبی

۵- تست واحد در C#‎ یا جاوا یا PHP (بحث Unit Test در زبان‌های مخلتف)

در ویژوال استودیو ابزاری برای تست واحد وجود دارد. در PHP نیز ابزار PHPUnit (سایت رسمی: https://phpunit.de ) برای این کار تعبیه شده که کار آزمون نرم‌افزارهای بزرگ را تا حد زیادی ساده می‌کند.

۶- آزمون نرم‌افزار به کمک آزمون جهشی

Mutation Test نوعی آزمون است که ما خود خطاهایی در نرم‌افزار ایجاد می‌کنیم و سپس داده‌آزمون‌هایی به نسخه‌ی خطادار برنامه می‌دهیم و بررسی می‌کنیم که آیا نسخه‌ی خطادار پاسخ اشتباه مورد نظر را تولید خواهند کرد؟

۷- بررسی دیتاست‌های آماری ناسا در مورد نرم‌افزارهای تولید شده توسط ناسا

۸- تولید اتوماتیک مسیرهای مستقل در آزمون جعبه سفید

۹- وارسی در حین اجرا با کمک برنامه‌نویسی نظارت‌گرا (Runtime Verification with MOP)

می‌توان ضمن اشاره به مفاهیم MOP و آزمون حین اجرا، با کمک JavaMOP یک پیاده‌سازی داشت. (سمینار بنده در این زمینه)

 

 

چند پکیج ویدئویی در مورد مهندسی و معماری و آزمون نرم افزار:

۱- شرکت Lynda.com یک پکیج به نام Foundations.Of.Programming.Test.Driven.Development دارد که بسیاری از مفاهیم آزمون نرم‌افزار را به صورت عملی آموزش داده.

۲- این پکیج برای مهندسی و معماری و آزمون نرم‌افزار فوق العاده است: دانلود Pluralsight Software Development Tutorial Series

۳- این مجموعه برای مهندسی نرم‌افزار مقدماتی عالی است: دانلود Pluralsight Software Engineering Essentials

موضوعات بیشتر به مرور به این مطلب اضافه خواهد شد.

موفق باشید؛
حمید رضا نیرومند


[ارسال شده در مورخه : شنبه، 1 اسفند، 1394 توسط Hamid]
[ #ویژه دانشجویان رشته کامپیوتر]

نظرات طرح شده

نام: [ کاربر جدید ]
ایمیل:

نظر:


اجازه استفاده از تگهای HTML را ندارید


جمع عدد 6 با 6 را در كادر زیر وارد نمایید:
(این كار برای جلوگیری از فعالیت موتورهای اسپمر است)


* توجه: نظر شما بعد از بررسی، نمایش داده خواهد شد.

emir (امتیاز : 0)(لینک نظر)
توسط emir در مورخه : شنبه، 1 اسفند، 1394
سلام مهندس

من در حال حاضر دارم کاردانی نرم افزار می خونم؛ ترم دو (برای چندمین بار البته، هی نصفه ولش می کنم :D )

برای زبان فنی یه پروژه داریم که باید یه مقاله تخصصی حدوداً 15-16 صفحه ای ترجمه کنیم از سال 2011 به این طرف...

مقاله خوب و البته یه کمی آسون می تونین معرفی کنین؟

چون هم تخصص رایانه دارید و هم زبان...

باید منبعش هم معتبر باشه و ترجمه هم نشده باشه تا الآن


[ ارسال جوابیه ]

    Hamid (امتیاز : 1)
    توسط Hamid در مورخه : شنبه، 1 اسفند، 1394
    به نظرت اینجا جای مناسبی برای این درخواسته؟ :(

    ایمیل بزن...

    موفق باشی


    [ ارسال جوابیه ]


میثم                توسط میثم در مورخه : یکشنبه، 2 اسفند، 1394(لینک نظر)
دیگه نگیم مهندس باید بگیم دکتر ، ولی به هر حال برای من شما اول مهندس هستیم و کارای مهندسیتون رو خیلی توی سایت دنبال میکنم. دستتون درد نکنه بابت مطلب عالی و مفیدتون. اگر تونستین راجب بخش شبیه سازی پایان نامه ها صحبتی توی سایت کنین چون واقعا مشکل بزرگیه برای کسایی که وارد مقطع ارشد میشن. با تشکر


[ ارسال جوابیه ]