الگوریتم نویسی و تعیین مراحل انجام یک پروژه نرم افزاری در Swift
باسلام و احترام فراوان
یک مبحث بسیار مهم در مهندسی نرم افزار بحث الگوریتم نویسی و تعیین مراحل انجام کار و دادن نظم و ترتیب در مراحل طراحی و ساخت یک پروژه نرم افزاری است .
قبل از اینکه سوال اصلی مو مطرح کنم نیاز دارم تا کمی مسئله را باز کنم تا پس از مطرح کردن سوال به درک و جواب بهتری برسیم...، ساخت یک پروژه یا برنامه نرم افزاری برای یک برنامه نویس و طراح مانند هر رشته مهندسی دیگه ای مانند برق ،معماری ،عمران و ... قبل از هرچیز نیاز به این داره که بعد از خلق و ایجاد عنوان ایده و هدف پروژه و ارزیابی های لازم در ادامه کار نیاز به یک الگو و نقشه کلی و جزئی برای انجام دقیق مراحل پروژه داره تا به نتیجه موردنظرش برسه بعنوان یک مثال باتوجه به فعالیتی که قبلا داشتم عرض میکنم .. ساخت یک پالایشگاه را درنظر بگیرید که برای تعیین مراحل انجام کار تا اتمام پروژه مانند مبحث الگوریتم میان و یک شروع و پایان تعریف میکنند و دراین بین مراحل ساخت را ریز به ریز و دسته بندی شده و با نظم و با انجام تست ها و عیب یابی های مختلف کارو پیش میبرند *** و تمامی اجزا را با هم ارتباطش میدن بدون اینکه درعملکرد هر زیر مجموعه خطا یا ناهماهنگی بوجود بیاد و یک پروژه واحد با هدف مشخص تولید میکنند** تااینکه بعد از زمان تعیین شده به مرحله بهره برداری میرسه و در آینده هروقت نیاز باشه باتوجه به اطلاعات قبلی اون رو توسعه میدهند مانند توسعه دهندگان و مهندسین نرم افزار !!!!!!
اینم فکر کنم بدنباشه بگم باتحقیقاتی که درمورد برنامه نویسان و توسعه دهندگان هندی داشتم متوجه شدم که فروش یک سال نرم افزار کشور هند برابر با فروش 10 سال نفت ایران است حالا با کمی تفاوت !! بعداز این موضوع درمورد دلیل موفقیتشون بیشتر تحقیق کردم متوجه این موضوع شدم که اصلا مهم نیست با چه زبانی برنامه نویسی میکنی مهم اینکه اصل اون زبان را درک کنی و الگوریتم یا نقشه پیاده سازی اون زبان را بایستی یاد بگیری که ما توی مباحث فنی برق اسمشو میذارم پیاده سازی دقیق نقشه و مونتاژ کردن اجزای بهم پیوسته تا رسیدن به خروجی مورد نظر!!!..... چون وقتی الگوریتم نویسی یا سرهم کردن کدها و هرچی در یک زبان را یاد بگیری براحتی باهر زبان برنامه نویسی میتونی سختترین پروژه ها را پیاده سازی کنی....
حالا سوال اصلی من اینکه من به عنوان یک توسعه دهنده برنامه نویسی سوئیفت چطور باید این اصول مهم الگوریتم و پیاده سازی نقشه کلی برای ساخت یک نرم افزار را یاد بگیرم و چطور باید دقیقا ترتیب و مراحل انجام کار را در برنامه نویسی از جزئی ترین تا کلی ترین را در ساخت یک نرم افزار پیاده سازی کنم ...چراکه هرچه قدر هم به زبان سوئیفت و پلتفرم ها و حتی تمامی Framework های اپل مسلط باشم اما نتونم اصل موضوع را درک کنم هرگز به یک برنامه نویس و طراح حرفه ای و خبره تبدیل نمیشم الانم مشکل من زبان برنامه نویسی یا درک اون یا فریمورک های اون نیست بلکه مونتاژ کردن اونه ...لطفا راهنمایی بفرمایید .
ازاینکه در پاسخ به سوالات کمال صبر و حوصله و لطف را دارید صمیمانه تشکر میکنم در آخر بگم که
***درکل انسان ها دو دسته اند یا برنامه نویسی را می فهمند یا نمی فهمند. برنامه نویسی مثل حرف زدن هست همه می توانند حرف بزنند ولی خوب حرف زدن مهم هست(برنامه نویس خوب بودن مهمه ؛ برنامه نویس خوب در هیچ شرایطی و هیچ جایی بیکار نمی ماند.برنامه نویسی شغلی مقدس است زیرا برنامه نویس در تمام لحظات نوشتن برنامه در حال فکر کردن می باشد( رسول خدا(ص) فرمود: فكره ساعه خير من عباده سنه؛ انديشيدن يك ساعت برتر است از عبادت هفتاد سال***
باتشکر
من زمانی که شروع به برنامه نویسی کردم روش کارم این بود که برنامه را دریافت می کردم و شروع به پیاده سازی می کردم و بصورت صفحه پیش می رفتم که وسط کار متوجه میشدم که بایستی اول کار یه سری زیر ساخت ها را رعایت می کردم و دوباره شروع می کردم به تغیر در برنامه و وقت زیادی ازم می گرفت ولی بعد از انجام دو سه پروژه به این نتیجه رسیدم که برای نوشتن هر برنامه هر چند کد نویسی قوی داشته باشی ولی اگه این مراحله را رعایت نکنم دچار مشکل میشوم
اول اینکه صاحب پروژه چه چیزی نیاز داره و چه خروجی می خواد
دوم اینکه پروژه را بصورت کامل تحلیل می کردم
سوم اینکه کل تحلیل را بصورت ui طراحی می کنم و به صاحب پروژه ارائه می دهم و بعد از نظر خواهی تغیرات را درست می کنم و شروع به پیاده سازی می کنم بعد از رعایت این مراحل پروژه خیلی سریع و تغیرات بسیار کمی پیاده سازی می شود
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .