***3
جایگاه درس در رشته کامپیوتر
ضرورت این درس:
ضرورت نیاز به زبان های سطح بالا
ضرورت ترجمه برنامه های نوشته شده با زبان سطح بالا به برنامه به زبان ماشین
تنوع زبانهای برنامه نویسی سطح بالا
دروس پیش نیاز:
نوع درس: اجباری
تعدادکل ساعات تدریس: 30
تعداد جلسات تدریس:10
***4
فصل اول : مفاهیم اساسی
اهداف
آشنایی با سیکل زندگی نرم افزار
آشنایی با الگوریتم
***5
1-1 سیکل زندگی نرم افزار-نیازمندی ها
نیازمندیها
تمام پروژه های بزرگ برنامه نویسی با مجموعه ای از مشخصات و خصوصیاتی که اهداف پروژه را مشخص می کند، شروع می شود.
این نیازمندیها اطلاعاتی را به برنامه نویسان می دهند(ورودی) و نیز نتایجی را که باید ایجاد گردد(خروجی) تعیین می کنند.
***6
1-1 سیکل زندگی نرم افزار- تحلیل
تحلیل:
در این مرحله مساله را به بخشهای قابل کنترل تقسیم می کنند.
در تحلیل یک سیستم دو شیوه وجود دارد :
1- شیوه از بالا به پایین
2- شیوه از پایین به بال
***7
1-1 سیکل زندگی نرم افزار- طراحی
طراحی
این مرحله ادامه کاری است که در مرحله تحلیل انجام می شود.
طراح سیستم را از دو نقطه نظر بررسی می کند:
.1از نظرداده های مقصود(data objects) مورد نیاز برنامه
●
.2از نظر اعمالی که بر روی آنها انجام می شود. این دیدگاه به مشخصات الگوریتم ها و فرضیات خط مشی ها ی طراحی الگوریتم نیاز دارد.
***8
1-1 سیکل زندگی نرم افزار- ...
پالایش(اصلاح) و کدنویسی: در این مرحله، نمایشی برای داده های مقصد خود انتخاب می شود و برای هر عملی که بر روی آنها انجام می شود، الگوریتم نوشته می شود.
بازبینی: در این مرحله درستی برنامه ها اثبات می شود و برنامه ها با انواع داده های ورودی مختلف تست و خطاهای برنامه رفع می شود.
جنبه های مهم بازبینی:
اثبات
درستی
تست
اشکال زدایی
***11
2-1 شرایط الگوریتم
ورودی: یک الگوریتم می تواند هیچ یا چندین کمیت ورودی داشته باشدکه از محیط خارج تامین می شود.
خروجی: الگوریتم بایستی حداقل یک کمیت به عنوان خروجی داشته باشد.
قطعیت: هر دستورالعمل باید واضح و بدون ابهام باشد.
محدودیت: اگر دستوذالعمل های یک الگوریتم را دنبال کنیم ،برای تمام حالات ، الگوریتم باید پس از طی مراحل محدودی خاتمه یابد.
کارایی: هر دستورالعمل باید به گونه ای باشد که با استفاده از قلم و کاغذ بتوان آن را با دست نیز اجرا نمود.