چگونه یک برنامه بسازیم؟

امروزه برنامه های کامپیوتری در هر جایی مانند اتومبیل ها، تلفن های همراه و موارد دیگری مورد استفاده قرار می گیرند.

چگونه یک برنامه بسازیم؟

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

بخش 1 از 6 : پیدا کردن ایده

670px-Create-a-Program-Step-1-Version-2

گام اول: ایده های بکر و ناگهانی

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

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

670px-Create-a-Program-Step-2-Version-2

گام دوم: دیگر برنامه ها را بررسی کنید

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

670px-Create-a-Program-Step-3-Version-2

گام سوم: نوشتن یک سند طراحی

احتمالا با الگوریتم و فلوچارت آشنا هستید! الگوریتم، مراحل حل یک مسئله به زبان بیانی و فلوچارت، مراحل حل یک مسئله با استفاده از نمادها، اشکال و دیاگرام های مختلف می باشد. این سند، هدف کلی و ویژگی های پروژه ی شما را مشخص خواهد کرد. داشتن یک تصور کلی از نرم افزار، قبل از برنامه نویسی، می تواند کمک فراوانی به شما نماید.

670px-Create-a-Program-Step-4-Version-2

گام چهارم: شروع ساده

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

بخش 2 از 6 : یاد گرفتن یک زبان برنامه نویسی

670px-Create-a-Program-Step-5-Version-2

گام اول: دانلود یک ویرایشگر خوب برای متن

تقریبا تمام برنامه ها، ابتدا درون ویرایشگرهای متن نوشته شده و سپس برای اجرا بر روی کامپیوترها، کامپایل (ترجمه) می شوند. می توانید از برنامه هایی نظیر Notepad یا TextEdit استفاده کنید اما پیشنهاد می کنیم که یک ویرایشگر برجسته کننده ی متن (syntax-highlighting editor)، مانند Notepad++ یا Sublime Text را دانلود کنید. این کار باعث می شود که کد شما، بسیار ساده تر به صورت بصری تجزیه شود. بعضی از زبان ها مانند ویژوال بیسیک، شامل ویرایشگر و کامپایلر در یک بسته می باشند.

670px-Create-a-Program-Step-6-Version-2

گام دوم: یک زبان برنامه نویسی را یاد بگیرید

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

  • C، زبان سطح پایینی است که تعامل بسیار زیادی با سخت افزار کامپیوتر دارد. این زبان برنامه نویسی با اینکه نسبتا قدیمی است، ولی همچنان یکی از قدرتمندترین زبان های برنامه نویسی جهان می باشد.
  • C++، بعد از زبان سی منتشر شد و توانست قابلیت شی گرایی که در زبان سی وجود نداشت را اضافه کند. سی پلاس پلاس در حال حاضر یکی از بهترین زبان های برنامه نویسی جهان است. برنامه هایی مانند کروم، فایرفاکس، فتوشاپ و بسیاری از برنامه های دیگر با زبان برنامه نویسی سی پلاس پلاس ساخته شده اند. لازم به ذکر است که این زبان، یکی از بهترین زبان ها برای توسعه ی بازی های رایانه ای می باشد.
  • Java، تکامل یافته ی زبان سی پلاس پلاس و یک زبان قابل حمل (portable) است. یعنی کدهای آن یکبار نوشته می شود و بر روی هر سیستم عاملی اجرا می شود. لازم به ذکر است که برای اجرای برنامه های نوشته شده به زبان جاوا، حتما باید ماشین مجازی جاوا (Java Virtual Machine)، بر روی سیستم نصب شده باشد. این زبان به طور گسترده ای در بازی های ویدیویی، نرم افزارهای تجاری و اغلب به عنوان یک زبان ضروری مورد استفاده قرار می گیرد. علاوه بر این، جاوا زبان اصلی و رسمی برای توسعه ی نرم افزارهای سیستم عامل اندروید به شمار می رود.
  • C#، یک زبان مبتنی بر ویندوز است و یکی از زبان های اصلی برای توسعه ی برنامه های ویندوز می باشد. ساختار دستوری این زبان، بسیار به جاوا و سی پلاس پلاس شباهت دارد و چنانچه با زبان جاوا آشنایی داشته باشید، یادگیری این زبان برای شما بسیار راحت خواهد بود. چنانچه قصد دارید برای سیستم عامل ویندوز یا ویندوز موبایل، نرم افزار بنویسید، زبان برنامه نویسی سی شارپ را از قلم نیندازید!
  • Objective C، پسر عموی زبان سی است! زبان آبجکتیو سی به طور معمول برای سیستم های اپل طراحی شده است. اگر قصد دارید برای آیفون یا آیپد، برنامه بنویسید، این زبان مختص شماست.

670px-Create-a-Program-Step-7

گام سوم: مترجم یا مفسر دانلود کنید

برای هر زبان سطح بالا مانند سی پلاس پلاس، جاوا و غیره، به یک کامپایلر (compiler)، برای تبدیل کدهای خود به زبانی که برای کامپیوتر قابل فهم باشد (زبان ماشین) نیاز داریم. کامپایلرهای مختلفی وجود دارند که بسته به نیاز خود می توانید آن ها را انتخاب کنید.

  • برخی از زبان ها، تفسیر می شوند. این بدان معنا است که آن ها نیازی به کامپایلر ندارند و از مفسر (interpretor) استفاده خواهند کرد. از جمله ی زبان هایی که تفسیر می شوند می توان به پرل و پایتون اشاره کرد.

670px-Create-a-Program-Step-8

گام چهارم: مفاهیم پایه ی برنامه نویسی را یاد بگیرید

مهم نیست که کدام زبان برنامه نویسی را انتخاب کرده اید. به طور معمول، تعدادی از مفاهیم و اصول در تمامی زبان های برنامه نویسی وجود دارد و لازم است درک اساسی از کلیه ی این مفاهیم داشته باشید. دانستن قواعد کدنویسی، باعث می شود که نرم افزارهای قدرتمندتری تولید کنید. از جمله ی مفاهیم رایجی که باید بلد باشید می توان به موارد زیر اشاره کرد:

  • اعلان متغیرها - متغیرها، مکان هایی از حافظه هستند که داده ها را به صورت موقت در خود نگه داری می کنند و این داده ها، درون رم کامپیوتر ذخیره خواهند شد. مقدار متغیرها می تواند در طول برنامه تغییر پیدا کند.
  • استفاده از دستورات شرطی (if, if-else, switch-case ,…) - به طور معمول دستورات برنامه نویسی از بالا تا پایین اجرا خواهند شد. استفاده از دستورات شرطی باعث اجرا شدن یا اجرا نشدن بعضی از دستورات، تحت شرایطی خاص می شود.
  • استفاده از حلقه ها (for, while, do-while ,…) - حلقه ها این امکان را به شما می دهند که تعدادی از دستورات را بارها اجرا کنید.
  • استفاده از فضاهای خالی - قرار دادن فاصله ی مناسب بین خطوط و در نظر گرفتن فضای خالی مناسب، خوانایی کدها را افزایش می دهد و عیب یابی برنامه ها، آسان تر خواهد شد.
  • توضیح در کد - قرار دادن توضیحات (کامنت ها)، باعث می شود که دستورات را به خاطر بسپارید و به سایر برنامه نویسان در درک کدهای خود کمک کنید. لازم به ذکر است که از کامنت ها، برای غیر فعال کردن موقت کدها نیز استفاده می شود.

670px-Create-a-Program-Step-9

گام پنجم: پیدا کردن کتاب هایی برای آموزش زبانی که انتخاب کرده اید

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

  • فراتر از کتاب، اینترنت است که گنجه ای بی پایان از منابع آموزشی می باشد. برای یادگیری برنامه نویسی، از سایت های بسیار فراوانی می توانید کمک بگیرید.

670px-Create-a-Program-Step-10

گام ششم: از کلاس های آموزشی استفاده کنید

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

  • کلاس های آموزشی، رایگان نیستند و در عین حال، وقت شما را صرف می کنند، چنانچه که واقعا نیاز به کلاس آموزشی دارید، از آن استفاده کنید.

670px-Create-a-Program-Step-11

گام هفتم: سوال بپرسید

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

بخش 3 از 6 : ساخت نمونه ی اولیه

670px-Create-a-Program-Step-12

گام اول: شروع به نوشتن برنامه های ساده کنید

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

670px-Create-a-Program-Step-13

گام دوم: یک تیم تشکیل دهید

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

  • برای انجام پروژه های کوچک، وجود تیم ضروری نیست و تنها در پروژه های بزرگ بهتر است از آن ها کمک گرفت.
  • توجه کنید که انجام پروژه به وسیله ی یک تیم، کار ساده ای نخواهد بود و مسلما نیاز به یک مدیریت خوب خواهد داشت.

670px-Create-a-Program-Step-14

گام سوم: اگر تجربه ی قبلی برنامه نویسی دارید از انجام پروژه های ساده نترسید

با توجه به شباهت نسبی زبان های برنامه نویسی در بعضی از دستورات و مفاهیم، در صورت اینکه تجربه ی قبلی برنامه نویسی داشته باشید ممکن است در یک زبان که برای اولین بار است با آن کار می کنید، قادر به ساخت نرم افزار های ساده در مدت چند روز باشید!

670px-Create-a-Program-Step-15

گام چهارم: برای هرچیزی، توضیحاتی قرار دهید

سعی کنید تا جایی که امکان دارد برای دستورات خود، توضیحاتی قرار دهید. استفاده از توضیحات باعث می شود که کاربرد دستورات را فراموش نکنید و سایر اعضای تیم شما بتوانند کد شما را درک کنند. در صورتی که یک تیم هستید و از کامنت ها استفاده نمی کنید منتظر بروز مشکلات فراوانی باشید!

  • شما می توانید از کامنت ها، برای غیر فعال کردن موقت قسمت هایی از کد نیز استفاده کنید.

بخش 4 از 6 : تست آلفا

670px-Create-a-Program-Step-16

گام اول: یک تیم بررسی جمع آوری کنید

یک تیم تست برای خود تشکیل دهید. در مرحله ی اول، تیم تست، باید کوچک باشد. یک گروه کوچک به شما کمک می کند که بر روی بازخورد ها متمرکز شوید و به شما توانایی ارتباط با تست کننده ها (تسترها) را به صورت یک به یک می دهد. هر بار که برنامه را به روز رسانی می کنید، آپدیت ها به دست تسترها می رسد و آن ها اقدام به بررسی آن می کنند.

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

670px-Create-a-Program-Step-17

گام دوم: برنامه ی خود را بارها و بارها امتحان کنید

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

670px-Create-a-Program-Step-18

گام سوم: خطاها را به ترتیب عیب یابی کنید

عیب یابی و خطا یابی برنامه ها بسیار مهم است. برنامه ها و کدها را از بالا به پایین عیب یابی کنید. سعی کنید بیشترین دقت را در هنگام نوشتن، داشته باشید تا عیب یابی برنامه، خیلی وقت شما را نگیرد.

670px-Create-a-Program-Step-19

گام چهارم: ویژگی های بیشتری را اضافه کنید

در مرحله ی آلفا، سعی کنید ویژگی های بیشتری را به برنامه ی خود اضافه کنید. در این مرحله، باید برنامه ی خود را به تکامل برسانید. در مرحله ی آلفا، برنامه باید تمام ویژگی های برنامه ی اجرایی را داشته باشد.

670px-Create-a-Program-Step-20

گام پنجم: تمام ویژگی های برنامه را امتحان کنید

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

670px-Create-a-Program-Step-21

گام ششم: زمانی که مرحله ی آلفا به پایان رسید، دستورات جدیدی اضافه نکنید

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

بخش 5 از 6 : تست بتا

670px-Create-a-Program-Step-22

گام اول: تعداد افراد گروه تست و عیب یابی را افزایش دهید

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

670px-Create-a-Program-Step-23

گام دوم: بررسی اتصال

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

670px-Create-a-Program-Step-24

گام سوم: نرم افزار خود را منتشر کنید

در نسخه ی بتا، ویژگی های جدیدی ایجاد نشده است بنابراین می توانید بیشترین تمرکز خود را بر روی رابط کاربری و زیباسازی ظاهر برنامه بگذارید. در این مرحله، طراحی رابط کاربری یک اولویت می باشد و باید اطمینان حاصل کرد که کاربران، هیچ مشکلی با رابط کاربری برنامه و کار کردن با نرم افزار نخواهند داشت.

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

670px-Create-a-Program-Step-25

گام چهارم: به شکار باگ ها ادامه دهید

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

بخش 6 از 6 : انتشار نسخه ی نهایی نرم افزار

670px-Create-a-Program-Step-26

گام اول: نرم افزار خود را به فروش بگذارید

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

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

670px-Create-a-Program-Step-27

گام دوم: برای نرم افزار خود یک وبسایت بسازید

مسلما برای اینکه بتوانید نرم افزار خود را به فروش برسانید و خدماتی به کاربران ارائه دهید به یک وبسایت نیاز دارید. قرار دادن منابع آموزشی و مستنداتی که طریقه ی کار با نرم افزار را آموزش دهد، بسیار مفید خواهد بود.

670px-Create-a-Program-Step-28

گام سوم: یک سرویس پشتیبانی راه اندازی کنید

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

670px-Create-a-Program-Step-29

گام چهارم: نرم افزار خود را به روز رسانی نمایید

به طور معمول، تمامی نرم افزارها پس از انتشار اولیه، به صورت مداوم به روز رسانی می شوند. با ارائه ی آپدیت های جدید می توانید امکانات بیشتری به برنامه اضافه کنید، مشکلات نرم افزار را کمتر کنید و حتی طراحی آن را بهتر نمایید.

منبع: wikihow

ارسال نظر