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

با بزرگ شدن پروژه هاي نرم افزاري و پيشرفت علم مهندسي نرم افزار ، روش هاي سازمان يافته اي براي توسعه نرم افزارها ابداع شد که هر کدام بسته به نوع پروژه و محدوديت هاي آن در جاي خاصي کاربرد دارد. برخي روش ها مانند R.A.D به دليل کمبود زمان توليد، برخي مانند spiral به دليل مشخص نبودن نيازمندي هاي اوليه نرم افزار و برخي مانند X.P براي کساني که کار طراحي نرم افزار را با کدنويسي شروع ميکنند ابداع شدند.

نرم افزار های مهندسی نرم افزار – رسم Usecase ، DFD ، ERD

یکی از مهم ترین نیازهای دانشجویان و مهندسین نرم افزار ، نرم افزارهایی جهت ساده تر کردن کار مدل سازی داده ها و نیز تحلیل و طراحی و نمایش گرافیکی سیستم های نرم افزاری است. نرم افزار رسم DFD و ERD:

شرکت Sybase یکی از بزرگترین شرکت های سازنده‌ی ابزارهای مهندسی نرم افزار است که برای مدل سازی داده ها، نرم افزار قدرتمند Sybase PowerDesignerرا ارائه کرده است. این نرم افزار زبان مدلسازی UML را نیز پشتیبانی میکند و با 60 دیتابیس مختلف نیز خروجی می دهد. این نرم افزار همچنین با اکثر محیط های برنامه نویسی مانند دات نت ، جاوا ، اکلیپس و … میتواند تعامل داشته باشد.

ادامه مطلب >>

از مهندسی نرم افزار تا طراحی سرویس های تحت وب

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

ادامه مطلب >>

نظریه زبان ها و ماشین ها

نظریه زبان ها و ماشین ها یکی از دروس تخصصی رشته نرم افزار است که معمولا از روی کتاب An Introduction to Formal Languages and Automata نوشته ی پیتر لینز تدریش میشه و یکی از درس هایی است که کمی گنگ و گاهی بی مصرف به نظر میاد. انتشارات ناقوس این کتاب رو منتشر کرده و حتی کتاب حل تمرینات داخل این کتاب هم جداگانه توسط نشر ناقوس چاپ شده. آنچه که این کتاب به شما کمک میکنه بیاموزید، طرز تعریف Regular Expression ها است و در اصل منطق ماشین را در هنگام دریافت ورودی ها شرح می دهد. اینکه ماشین (تقریبا همون کامپیوتر) چگونه پیش شما شطرنج بازی میکند و یا یک روبات چگونه یک مسیر ماز را طی میکند و بسیاری از چیزهای دیگری که شما با آن سر و کار دارید، از همین درس ساده ریشه گرفته است.

ماشین های DFA و NFA : در این درس ما به ماشین هایی که داده های ورودی ما را تحلیل میکنند آتاماتا میگوییم. آتاماتا ها انواع مختلفی دارند. اما نوع DFA مناسب ترین نوع آنهاست که یک مدل انتزاعی از یک کامپیوتر را مطرح میکند. شما یک ورودی به ماشین میدهید. این ماشین (همون اتاماتا) ممکن است آنرا قبول کند یا قبول نکند. اگر قبول کند اصطلاحا میگوییم که به حالت نهایی می رود.

ادامه مطلب >>