منو
 کاربر Online
377 کاربر online
 : کامپیوتر
برای پاسخ دادن به این ارسال باید از صفحه قبلی اقدام کنید.   کاربر offline دبیر گروه کامپیوتر 3 ستاره ها ارسال ها: 1679   در :  دوشنبه 30 دی 1392 [17:10 ]
  مراحل طراحی برنامه
 

در سالیان اخیر ، متدولوژی های متفاوتی بمنظور طراحی برنامه ، پیاده سازی و در اختیار طراحان برنامه های کامپیوتری قرار گرفته شده است . برخی از این متدلوژی ها ی طراحی، پیچیده و برخی دیگر ساده می باشند . در تمامی حالات ، هدف یکی است : کمک به برنامه نویسان در جهت نوشتن برنامه ها ئی که بسادگی نوشته ، اشکال زدائی و در نهایت نگهداری گردند .
در این مقاله به بررسی مسائل مرتبط با طراحی برنامه پرداخته و در این راستا در ابتدا با یک متدولوژی ساده آشنا خواهیم شد. متدلوژی استفاده شده با اینکه بسیار مقدماتی می باشد ولی اهداف ما را در جهت نحوه طراحی یک برنامه بخوبی تامین خواهد کرد .در این مقاله ، به بررسی الگوریتم و مراحل پنج گانه برنامه نویسی خواهیم پرداخت . پس از آشنائی با متدولوژی ارائه شده در این مقاله ، در بخش دوم مقاله ،( لینک زیر ) با متدولوژی UML)Unified Modeling Language ) آشنا خواهیم شد.

اهمیت طراحی برنامه

فرض کنید یک مسئله را برای تعدادی دانشجو تعریف و از آنان خواسته شده است که برنامه ای بمنظور حل مسئله مورد نظر ، طراحی و پیاد ه سازی نمایند. پس از صرف چند ثانیه ، بلافاصله دانشجویان شروع به تایپ کد مورد نظر خود بمنظور حل مسئله می نمایند . در بین دانشجویان ، دانشجوئی وجود دارد که کاغذی را بر می دارد و شروع به نوشتن موضوع می نماید. دقایقی سپری می گردد ، اما همچنان دانشجویان مشغول تایپ برنامه خود ویا احتمالا` اشکال زدائی! آن هستند .تقریبا` بدون استثناء ، دانشجوئی که دیرتر از دیگران آغاز نموده است ، با سرعت بیشتری تکلیف خود را به پایان رسانده و حتی راه حل ارائه شده توسط وی ، نیز از سایر دانشجویان بمراتب بهتر است .چرا؟ در صورتیکه به کاغذی که در اختیار دانشجو قرار داده شده ، دقت نمائید ، یک طرح مناسب بمنظور طراحی برنامه را برای مسئله، مشاهده خواهید کرد . برخی از دانشجویان نیز ممکن است چندین کاغذ را تکمیل و یک طراحی پیچیده را انجام داده باشند. نکته مهم در این رابطه این است که این دانشجویان ( چه آنانی که یک طراحی ساده را انجام داده اند و چه آنانی که یک طراحی پیچیده را دنبال نموده اند ) دارای یک الگو ( طرح ) برای برنامه خود ، می باشند .

الگوریتم های میکرو در مقابل ماکرو

الگوریتم ها دارای ویژگی های متفاوتی می باشند . ما می توانیم در رابطه با الگوریتم استفاده شده به منظور نوشتن یک برنامه مشخص صحبت نمائیم . از این زاویه ، ما صرفا` در رابطه با الگوریتم در سطح ماکرو (macro level) ، صحبت نموده ایم . در چنین مواردی ، الگوریتم ارائه شده ، سعی در بدست آوردن جنبه های عمومی برنامه از طریق یک مرور کلی به برنامه در مقابل درگیر شدن در جزئیات را دارد.
ما می توانیم در رابطه با الگوریتم ها ، از سطح `میکرو` صحبت نمائیم . از این زاویه ، به سطوح پایین تر رفته و به عوامل اساسی ونگهدارنده ای که یک جنبه خاص از برنامه را با یکدیگر مرتبط می نماید، صحبت کرد. مثلا` در صورتیکه شما دارای داده هائی هستید که می بایست قبل از استفاده مرتب گردند ،الگوریتم های مرتب سازی متعددی در این زمینه وجود داشته و می توان یکی از آنها را بمنظور تامین اهداف مورد نظر خود انتخاب نمود. انتخاب یک الگوریتم مرتب سازی ، صرفا` باعث حل شدن یکی از جنبه های متفاوت برنامه می گردد . پس از مرتب سازی داده ها ،می بایست از یک الگوریتم میکرو دیگر بمنظور نمایش داده ها ی مرتب شده استفاده گردد .
همانگونه که احتمالا` حدس زده اید ، ما می توانیم تمام الگوریتم های میکرو را بمنظور ایجاد یک الگوریتم ماکرو ، جمع آوری نمائیم . اگر ما با الگوریتم های میکرو ، آغاز نمائیم ، و حرکت خود را بسمت نمایش ماکروی یک برنامه ، پیش ببریم ، کاری را انجام داده ایم که موسوم به طراحی ` پایین به بالا` (buttom-up) ، است . اگر ما فعالیت خود را با یک الگوریتم ماکرو آعاز و حرکت خود را بسمت پائین و الگوریتم های میکرو ، ادامه دهیم ، طراحی از نوع ` بالا به پایین ` (top-down) را انجام داده ایم .
شاید این سوال مطرح گردد که کدام روش بهتر است ؟ اگر شما تمام مقالاتی را که تاکنون در این زمینه نوشته شده اند را دنبال نمائید ، هرگز به یک نتیجه قابل قبول دست نخواهید یافت . هر رویکرد، دارای نکات مثبت و منفی مربوط به خود است . صرفنظر از رویکرد طراحی استفاده شده ، می بایست دارای الگوئی (طرحی) مناسب برای برنامه باشیم .حداقل، نیازمند یک اعلامیه از مسئله برنامه نویسی و یک طرح ( الگو) برای برخورد با مسئله ، خواهیم بود . پس از شناخت مسئله ، می توان نحوه حل مسئله را ترسیم کرد. شناخت عمیق و مناسب نسبت به مسئله ای که قصد حل آن را داریم ، شرط اساسی و ضروری برای طراحی یک برنامه است .
با توجه به اینکه این اعتقاد وجود دارد که شناخت جامع و کلی از مسئله ای که حل آن را داریم ، بخشی ضروری در اولین مرحله برنامه نویسی است ، ما در ادامه از رویکرد `بالا - پایین `، تبعیـت می نمائیم . فراموش نکنیم که رویکرد فوق ، امکان مشاهده مجازی از هر مسئله برنامه نویسی را فراهم خواهد نمود.

  امتیاز: 0.00