توسعه نرمافزار چیست؟
طبق تحقیقات IBM(توسعه نرمافزار) به مجموعه فعالیتهای علوم رایانهای، به روند ایجاد، طراحی، استقرار و پشتیبانی نرمافزار گفته می شود.
خود نرمافزار مجموعه دستورالعملها یا برنامههایی است که به کامپیوتر میگوید چه کاری انجام دهد. مستقل از سختافزار است و باعث میشود رایانهها قابل برنامه ریزی باشند. </>
قبل از تعریف و باز کردن مبحث توسعه اول از تعریف وب شروع می کنیم تا با تعاریف اولیه آشنا شوید.
وب سایت چیست ؟
به یک یا چند صفحه که داخل شبکه اینترنت باشند و کاربران بتوانند با اتصال به اینترنت به صفحات دسترسی
داشته باشند را وب سایت ، وبگاه ، تارنما ، تارگاه و وب می گویند .
وب سایت ها میتوانند کاربر های مختلفی داشته باشند
بطور مثال وب سایت خبری که درباره اخبار مطالب و محتوای خود را منتشر می کند .
یا سایت های شبکه اجتماعی که امکان ایجاد ارتباط بین افراد را فراهم می کند .
یا سایت فروشگاه اینترنتی که امکان خرید را برای شما فراهم می کند .
یا مثلا همین سایت hssco.ir که یک سایت شخصی و ارائه خدمات محصوب می شود .
توسعه وب سایت
توسعه وب خود از چندین قسمت تشکیل شده است.
- طراحی و توسعه سمت کاربر (FrontEnd-Design):
در این قسمت صفحات سایت که قرار است کاربر مشاهده کند طراحی می شود. طراحی وب سایت ها با کدها انجام می شود. گرچه اخیرا سیستم های سایت ساز زیادی بوجود آمده است اما با آن ها نمی توان طرح های بسیار عالی و دلخواه خود را ایجاد کرد.
زبان هایی که در این قسمت استفاده میشود HTML , java , CSS , js می باشد .
- توسعه سمت سرویس دهنده (BackEnd Development)
قسمت اصلی این روند این قسمت می باشد. درست است که کاربر طرح و ظاهر را می بیند و از این قسمت اطلاع چندانی ندارد. اما وقتی کاربری وارد وب سایت می شود حتما یک نیازی دارد که می خواد آن نیاز برآورده شود. ممکن است این نیاز یک خدمت گرفتن باشد یا خرید باشد یا ممکن است برای مطالعه یک مقاله وارد شده است یا ممکن است میخواهد بلیت سینما بگیرد یا میخواهد هتل رزرو کند و…
زبان هایی که در این قسمت استفاده می شود php , ASP.net می باشد.
در این مقاله قصد مقایسه و معرفی کامل زبان ها را ندارم و تا جایی توضیح میدهم که یک آشنایی جزئی به حساب آید و قصد ریز شدن و توضیح تک تک آنها را ندارم.
طراحی پایگاه داده
در پروژه های متوسط به بالا میتوان این بخش را مهمترین بخش توسعه وب دانست. زیرا اگر در تحلیل و طراحی این بخش مشکلی بوجود بیایید سیستم ، سامانه یا سایت ما دیگر آن پایداری را ندارد. در این قسمت باید تعیین کنیم که داده های وب سایت ما چگونه و درکجا ذخیره شود .
به ظاهر شاید کار آسانی به نظر برسد اما باید آنقدر هوشمند و هوشمندانه این سیستم را تحلیل و بررسی کنید که در داده های زیلد و بالا، سرعت آن کند نشده و بتواند جوابگوی کاربران باشد .
مدیریت سرور
یکی از قسمت هایی که می تواند جزو توسعه وب باشد انتخاب و مدیریت سرور می باشد که آیا مناسب است که از سرور اختصاصی استفاده شود یا هاست های اشتراکی پاسخگوی نیاز های ما هست و پیکر بندی این سرور ها و هاست ها تاثیر بسزایی می تواند در سرعت و بهینه بودن وب سایت ما داشته باشد.
توسعه نرمافزار فرآیندهای جمعی است که در ایجاد برنامههای نرم افزاری دخیل است و تمام مراحل را در طول چرخه عمر توسعه سیستمها (SDLC) تجسم میبخشد.
فرآیند تولید نرمافزار که به چرخه حیات تولید نرمافزار معروف است یکی از موضوعات مهم در تولید یک سیستم است که اکثرا در ایران مورد توجه قرار نمیگیرد این فرایند باعث میشود محصول نهایی ما نه تنها از لحاظ فنی بلکه از لحاظ علمی و مهندسی نیز به صورت صحیح طراحی شود.
فرایند توسعه نرمافزار به یک سری از فعالیتهای مهندسی نرمافزار اطلاق میشود که با هدف مدیریت چرخه حیات (life) یک سیستم نرمافزاری برنامه ریزی و طراحی میشود.
SDLC از طراحی نرمافزار برای تأمین نیازهای تجاری، توسعه نرمافزار برای برنامهریزی و هدف گذاری، تحلیل، تولید، آزمایش، استقرار و نگهداری سیستمهای نرمافزاری است.
در کل میتوان گفت مراحلی را که در طی توسعه و تولید نرمافزار سپری میشوند را چرخه حیات تولید وتوسعه نرم افزار (SDLC) میگویند.
چرخه حیات سیستم به دو نوع تقسیم میشود:
1. TLC یا چرخه حیات سیستمهای قدیمی
2. OODLC یا چرخه حیات سیستمهای شی گرا
مدل آبشار، روش SDLC اصلی، خطی و متوالی است، به طور کلی این مراحل را به ترتیب دنبال میکنید:
- شناسایی نرمافزار مورد نیاز
- تجزیه و تحلیل نیازهای نرمافزار
- مشخصات دقیق مورد نیاز نرمافزار
- طراحی نرمافزار
- برنامهنویسی
- آزمایش کردن
- نگهداری