آموزش حل مسئله با C++ – برنامه نویسی شی گرا

الگوریتم های بزرگ

برای الگوریتم های بزرگ این کار به یک مداد و کاغذ نیاز دارد. برنامه C ++ با کامپایل و اجرای آن بر روی نمونه داده های ورودی مورد آزمایش قرار می گیرد. کامپایلر برای انواع خاصی از خطاها پیام های خطا می دهد. برای یافتن انواع دیگر خطاها ، باید به نحوی بررسی کنید که آیا خروجی صحیح است یا خیر.

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

برنامه نویسی شی گرا

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

برنامه های مدرن معمولاً با استفاده از روشی معروف به برنامه نویسی شی گرا یا OOP طراحی می شوند. در OOP ، یک برنامه به عنوان مجموعه ای از اشیاء متقابل در نظر گرفته می شود. وقتی برنامه یک برنامه شبیه سازی باشد ، درک روش آسان ترین است. به عنوان مثال ، برای برنامه ای برای شبیه سازی تبادل بزرگراه ، اشیاء ممکن است نمایانگر خودروها و خطوط بزرگراه باشند. هر شی دارای الگوریتم هایی است که نحوه رفتار آن را در شرایط مختلف شرح می دهد. برنامه نویسی به سبک OOP شامل طراحی اشیاء و الگوریتم های مورد استفاده آنها می باشد. هنگام برنامه نویسی در چارچوب OOP ، عبارت طراحی الگوریتم در Display 1.7 با عبارت Designing the objects and algorithms آنها جایگزین می شود.

ویژگی های اصلی OOP

ویژگی های اصلی OOP عبارتند از کپسوله سازی ، وراثت و چند شکلی. کپسوله سازی معمولاً به عنوان نوعی پنهان یا انتزاعی اطلاعات توصیف می شود. این توصیف صحیح است ، اما شاید بتوان به سادگی آن را درک کرد که بگوییم محصور کردن نوعی ساده سازی توصیف اشیا است. وراثت مربوط به نوشتن کد برنامه قابل استفاده مجدد است. چند شکلی به روشی اطلاق می شود که یک نام واحد می تواند معانی متعددی در زمینه وراثت داشته باشد. پس از بیان این اظهارات ، باید اعتراف کنیم که آنها برای خوانندگانی که قبلاً درباره OOP نشنیده اند معنای کمی دارند. با این حال ، همه این اصطلاحات را بعداً در این مقالات به تفصیل شرح خواهیم داد. C ++ با ارائه کلاسها ، نوعی از داده که ترکیبی از داده و الگوریتم است ، OOP را در خود جای می دهد.

 

چرخه عمر نرم افزار

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

1. تجزیه و تحلیل وظیفه (تعریف مسئله)

2. طراحی نرم افزار (طراحی شی و الگوریتم)

3. پیاده سازی (کدگذاری)

4. آزمایش

5. نگهداری و تکامل سیستم

6. منسوخ شدن

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

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

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *