SDLC چیست؟

چرخه حیات توسعه نرم افزار (Software Development Life Cycle) فرایندی برای توسعه نرم افزار با کیفیت است که توسط تیم های نرم افزاری استفاده می شود.

تعریف SDLC

SDLC فرآیند یک پروژه نرم‌افزاری، در یک سازمان نرم‌افزاری می‌باشد. این شامل یک برنامه مفصل برای شرح چگونگی توسعه، نگهداری، تغییر یک نرم‌افزار خاص است.

چرخه حیات روشی برای بهبود کیفیت نرم‌افزار و فرآیند کلی توسعه تعریف می‌کند.

چرخه حیات دارای 6 فاز است که به شرح زیر است:

در ادامه با این 6 فاز آشنا خواهیم شد.

فاز اول - برنامه ریزی و بررسی نیازمندی ها

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

البته در عموم این جلسات تیم فنی با کارفرما به مشکل خورده و حضور یک فرد که صحبت های طرفین را بفهمد و به زبان خودشان ترجمه کند الزامی است!

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

فاز دوم - تعیین نیازمندی ها

بعد از (یا همزمان با) بررسی نیازمندی ها فایل داکیومنتی نوشته می شود که به حاوی نیازمندی های پروژه و کارفرما به همراه ریزترین جزییات است. نگارش این داکیومنت با استفاده از SRS انجام می شود.

نکته حائز اهمیت این است که این داکیومنت مرجع رسمی و معتبری برای توسعه دهنده است که بداند باید چه امکاناتی را در پروژه لحاظ کند پس از اهمیت بالایی برخوردار است.

فاز سوم - طراحی ساختار پروژه

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

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

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

فاز چهارم - توسعه محصول

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

تا وقتی که سه فاز قبلی به درستی تکمیل نشده باشند آغاز فاز پروژه یکی از بدترین اشتباهاتی است که ممکن است یک توسعه دهنده مرتکب آن شود!

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

فاز پنجم - تست محصول

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

فاز ششم - عرضه محصول

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

چند نوع عرضه محصول داریم:

  1. آلفا: محصول توسط افراد داخلی سازمان و توسعه دهندگان و کارفرما تست می شود.
  2. بتا: محصول توسط عموم افراد تست می شود. در این مرحله نرم افزار به طور مداوم مانیتور شده تا باگ های احتمالی پیدا و رفع شود.
  3. نهایی: این عرضه نسخه نهایی محصول است که به بازار عرضه می شود.

جمع بندی

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

یک سوپرایز اینکه مطلب بعدی در مورد مدل های مرتبط با SDLC هست چون این 6 فاز رو به چندین روش می توان استفاده کرد، حتما پست بعدی رو مطالعه کنید.

 

منبع: www.tutorialspoint.com