تولید و توسعه نرم افزار

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

فرایند تولید و توسعه نرم افزار

یکی از مهمترین فرآیندهای مرتبط با توسعه نرم افزار، برآورد و تحلیل نیازهای سیستم هدف می باشد. مشتریان معمولاً تصوری مفهومی، انتزاعی و مبهم از آنچه می‌خواهند دارند، و اغلب نمی‌دانند نرم‌افزار آنها دقیقاً چه ویژگی‌هایی باید داشته باشد و به چه کارکردهایی نیاز دارد. در این مرحله الزامات مبهم، ناشناخته و حتی متناقض توسط مهندسان نرم افزار شناسایی می شوند. در این مرحله ممکن است یک نمونه کلی و نمونه اولیه که بیشتر یک نمونه مفهومی است آماده شود تا مشتری به درک کلی از محصول نهایی دست یابد. این کار بیشتر با هدف کاهش ریسک ها و شناسایی دقیق نیازمندی ها انجام می شود. در این مرحله ابتدا نیازهای عمومی مشتریان برای شناسایی و تجزیه و تحلیل دامنه توسعه و تولید نرم افزار ساخته شده جمع آوری می شود، سپس مستندات نوشته می شود. این اسناد معمولاً به عنوان بیانیه محدوده یا محدوده سیستم شناخته می شوند. برخی از ویژگی ها ممکن است در ابتدای پروژه به دلیل مسائل مالی یا الزامات نامشخص خارج از محدوده پروژه باشد. در صورتی که تولید و توسعه نرم افزار برون سپاری شود (یعنی به شرکت های دیگر واگذار شود)، این اسناد جزو اسناد قانونی محسوب می شوند. لذا در صورت بروز هرگونه اختلاف حقوقی و یا ابهام در خصوص تعهدات داده شده به کاربر، این موارد روشن خواهد شد.
یکی از مهمترین فرآیندهای مرتبط با توسعه نرم افزار، برآورد و تحلیل نیازهای سیستم هدف می باشد. مشتریان معمولاً تصوری مفهومی، انتزاعی و مبهم از آنچه می‌خواهند دارند، و اغلب نمی‌دانند نرم‌افزار آنها دقیقاً چه ویژگی‌هایی باید داشته باشد و به چه کارکردهایی نیاز دارد. در این مرحله الزامات مبهم، ناشناخته و حتی متناقض توسط مهندسان نرم افزار شناسایی می شوند. در این مرحله ممکن است یک نمونه کلی و نمونه اولیه که بیشتر یک نمونه مفهومی است آماده شود تا مشتری به درک کلی از محصول نهایی دست یابد. این کار بیشتر با هدف کاهش ریسک ها و شناسایی دقیق نیازمندی ها انجام می شود. در این مرحله ابتدا نیازهای عمومی مشتریان برای شناسایی و تجزیه و تحلیل دامنه توسعه و تولید نرم افزار ساخته شده جمع آوری می شود، سپس مستندات نوشته می شود. این اسناد معمولاً به عنوان بیانیه محدوده یا محدوده سیستم شناخته می شوند. برخی از ویژگی ها ممکن است در ابتدای پروژه به دلیل مسائل مالی یا الزامات نامشخص خارج از محدوده پروژه باشد. در صورتی که تولید و توسعه نرم افزار برون سپاری شود (یعنی به شرکت های دیگر واگذار شود)، این اسناد جزو اسناد قانونی محسوب می شوند. لذا در صورت بروز هرگونه اختلاف حقوقی و یا ابهام در خصوص تعهدات داده شده به کاربر، این موارد روشن خواهد شد.
استقرار و تحویل نرم افزار پس از انجام تست های مختلف کمی و کیفی انجام می شود که در واقع به فرآیند انتشار، فروش یا هر نوع توزیع برای محیط کار نهایی اشاره دارد. در مورد آزمایش کمی، شرکت ها به آزمایش آلفا و بتا متوسل می شوند که فرآیندی زمان بر است و گاهی اوقات ممکن است تا یک سال طول بکشد تا محصول نهایی برای بازار آماده شود. آموزش و پشتیبانی نرم افزار یکی دیگر از فرآیندهای مهم تولید نرم افزار است که متاسفانه برخی از شرکت های نرم افزاری به آن توجهی ندارند. مهم نیست که تیم توسعه نرم افزار چقدر زمان و برنامه ریزی برای ایجاد نرم افزار صرف می کند، اگر کاربر نهایی نتواند از نرم افزار استفاده کند، محصول ارزش زیادی ندارد. کاربران معمولاً در برابر تغییرات مقاومت می کنند و از ماجراجویی در محیط های ناآشنا اجتناب می کنند، بنابراین ارائه کلاس های آموزشی برای کاربران نرم افزار جدید در مرحله استقرار مهم است. نگهداری و ارتقاء نرم‌افزار برای پوشش مسائل کشف‌نشده یا نیازهای جدیدی که ممکن است ایجاد شود ممکن است زمان بسیار بیشتری را ببرد، حتی بیشتر از دوره توسعه نرم‌افزار اصلی. این مرحله ممکن است نیاز به افزودن کدهای برنامه نویسی جدیدی داشته باشد که در طراحی اصلی برنامه پیش بینی نشده است تا مسائل یا مشکلات دیده نشده را حل کند، یا کاربر ممکن است درخواست عملیات عمده دیگری کند یا برنامه ریزی جدیدی برای رفع نیازهای جدید انجام شود. اگر هزینه تعمیر و نگهداری مرحله تعمیر و نگهداری بیش از 25 درصد هزینه فاز قبلی (اجرا) باشد، احتمالاً کیفیت کلی فاز قبلی بسیار ضعیف بوده است. در این مورد، مدیران پروژه باید بازسازی سیستم (یا بخشی از سیستم) را قبل از غیرقابل کنترل شدن هزینه های نگهداری در نظر بگیرند.
×

سلام!

برای چت در واتس اپ بر روی گزینه پشتیبانی کلیک نمایید و یا درصورت تمایل می توانید به آدرس info@Hamishygun.com  ایمیل ارسال نمایید.

× چگونه می‌توانم به شما کمک کنم؟