PDA

View Full Version : برنامه نویسی ساخت یافته



Delphi Skyline
شنبه 24 اردیبهشت 1384, 20:01 عصر
یکمی در مورد برنامه نویسی ساخت یافته توضیح بدید .

tayebeh
چهارشنبه 28 اردیبهشت 1384, 07:50 صبح
سلام دوست عزیز
قبلا نرم افزارهای تولیدی بدون کیفیت بودند . به این صورت که با خواندن کدهای برنامه نمی شد پی به منطق و روال برنامه برد . مثلا اگر بعد از 6 ماه به سراغ کدهای برنامه می رفتند به دلیل ناخوانایی برنامه مجبور می شدند که دوباره کاری کنند و دوباره کدها رو بنویسند . تا اینکه برای حل بحران نرم افزار قانونی به نام قانون ساخت یافتگی مطرح شد و پایه گذار آن فردی به دایجکسترا بود .
قانون ساخت یافتگی :
بطور خلاصه یعنی اینکه برنامه خوانا باشد و با مطالعه کدهای برنامه بتوان به منطق و روال اجرایی آن پی برد . یعنی از ظاهر برنامه و با دیدن کدهای آن بتوان به روال برنامه پی برد .
برای اینکه برنامه ساخت یافته داشته باشیم نکات زیادی را باید مد نظر داشته باشیم . بطور خلاصه بعضی از آنها در زیر آمده است :
1- استفاده از اسامی بامسما در برنامه (برای متغییرها، روالها ، کلاسها ، کنترلهاو....)
بعنوان مثال برای شروع نام textboxهایتان در برنامه از txtاستفاده کنید . مثلا :txtnameو...... اگر dropdownlist استفاده می کنید نام آن را با dpwnشروع کنید مثلا:dpwnuserو.....
2- از دستورات پرشی استفاده نکنید (در حد امکان) مانند : goto . در بعضی استانداردها به محض دیدن دستورات پرشی در برنامه ، صلاحیت برنامه رد میشه .
3- از دستورات مناسب برای اجرای دستورات استفاده کنید . مثلا برای شرط ازif و برای حلقه ازforو while و..... استفاده کنید .
4- ازتوضیحات(comment) دربرنامه استفاده کنید . مثلا در vb6 از ' می توان قبل از توضیحات استفاده کرد و به این ترتیب به خوانایی برنامه کمک کرد . به عبارتی مستندسازی خوب برای برنامه ایجاد کنیم .
5- لازمه داشتن یک برنامه ساخت یافته این است که این برنامه آنالیز و طراحی ساخت یافته داشته باشد .مثلا : استفاده از متدSSADM برای آنالیز.

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

شرح بالا ، یک توضیح اجمالی درباره برنامه نویسی ساخت یافته بود . این بحث خیلی پیچیده تر از این توضیحاتی است که من دادم .
اگر توانستم مطالبی در این زمینه جمع آوری کنم حتما در اختیارتون می گذارم .
باتشکر


:oops: :oops: