فرآیند تولید نرمافزار
جمعه 2 تیر 1391 7:53 AM
فرآیند تولید نرم افزار که با عنوان «چرخه حیات تولید نرم افزار» نیز شناخته میشود، ساختاری است که روی توسعه و تولید محصولات نرم افزاری اعمال میشود. عبارتهای مشابهی چون «چرخه حیات نرم افزار» و «فرآیند نرم افزار» در این رابطه استفاده میشود. مدلهای گوناگونی نظیر فرآیندهای(خاص) وجود دارند که هر کدام خط مشی مختص(آن فرآیندها) برای انجام کارها و فعالیتهای متنوع در طول فرآیندها را مشخص میکنند. برخی عنوان میکنند که «طرح(مدل) چرخه حیات» یک عبارت بسیار عمومی است و «فرآیند تولید نرم افزار» خیلی عبارت اختصاصی تری است. برای مثال خیلی از فرآیندهای تولید نرم افزار ویژهای هستند که خود زیر مجموعه چرخه حیات حلزونی به شمار میروند.

از مهمترین کارها در تولید نرم افزار استخراج نیازمندیها یا تحلیل نیازمندیهای آن سیستم است. مشتریان عمومی معمولا تصور مفهومی، انتزاعی و مبهمی از نتیجه نهایی خواسته هایشان دارند و نمیدانند به درستی نرم افزار مورد نظرشان چه کاری باید انجام بدهد. در این مرحله نیازمندیهای ناتمام، پیچیده و مبهم، و حتی متضاد توسط مهندسان نرم افزار ماهر و مجرب شناسایی میشوند.در این برهه تکه نرم افزارهای آماده و تجربه شده وفعال ممکن است برای پایین آوردن ریسک(ومشکلات) نیازمندیها کمک می کنند. اول نیازمندیهای عمومی از کاربران جمع آوری می شد، و دامنه توسعه و تولید نرم افزار که باید تولید شود شناسایی و تحلیل می شود، و مستندات بصورت شفاف نوشته می شود.معمولا به این مستند، مستنددامنه یا محدوده سیستم اطلاق می شود.
برخی قابلیت ها ممکن است در ابتدای پروژه به خاطر مسائل مالی یا نیازمندیهای غیر شفاف و نامشخص خارج از محدوده پروژه باشند.اگر تولید و توسعه نرم افزار برون سپاری شود(به شرکت های خارجی محول شود)، این مستندات به عنوان مستندات قانونی و حقوقی در نظر گرفته می شود بنابراین در صورت اتفاق هرگونه دعوای حقوقی یا ابهام در مورد تعهدات داده شده به کاربر، این مسائل قابل شفاف سازی خواهد بود.
پیاده سازی آن قسمت از فرآیند تولید نرم افزار به شمار می رود که مهندسان نرم افزار در دنیای واقعی تمام کد های پروژه را می نویسند و به قول معروف برنامه نویسی می کنند.تست و آزمون نرم افزار بخش لاینفک و مهم از فرآیند تولید نرم افزار است . این قسمت از فرآیند ها کمک می کند تا مشکلات سیستم بصورت سریع شناسایی شوند. مستند سازی در تمام مراحل پروژه همچون : طراحی داخلی نرم افزار برای تعیین اهداف سیستم، نگهداری آینده و ارتقاء و بهبودی سیستم هرچند پروژه پایان یافته باشد انجام می شود. همچنین ممکن است این مستند سازی شامل نوشتن ساختار تکه های برنامه ظاهربرنامه کاربردی داخلی و خارجی هم باشند.این مطلب خیلی مهم است که همه چیز پروژه مستند سازی شود.
استقرار و تحویل سیستم پس از اینکه تست مناسب و درخوری را گذراند و برای انتشار، فروش یا هرنوع توزیع برای محیط کار نهایی تایید شد انجام خواهد شد. آموزش نرم افزار و پشتیبانی خیلی مهم است و خیلی از تولید کنندگان و توسعه دهندگان نرم افزارها اهمیت آن را درک نمی کنند.مهم نیست که چقدر زمان و برنامه ریزی توسط تیم تولید و توسعه نرم افزار برای ایجاد نرم افزار مصرف کرده اند اگر در آخر کار کاربری در سازمان نباشد تا آن نرم افزار را استفاده کند.مردم معمولا در برابر تغییرات مقاومت نشان می دهند و از ماجراجویی در محیط ناآشنا اجتناب می کنند، برای همین در فاز استقرار، این خیلی مهم است کلاسهای آموزشی برای کاربران جدید نرم افزار گذاشته شود.
نگهداری و ارتقاء نرم افزاری برای پوشش، مسائل پوشش داده نشده یا نیازمندیهای جدیدممکن است مدت خیلی زیادی حتی بیشتر از زمان اولیه تولید نرم افزار، زمان بگیرد. این مرحله ممکن است نیاز باشد تا کد های برنامه نویسی جدیدی که در طراحی اصلی برنامه نیز دیده نشده اضافه شود تا مسائل و مشکلات دیده نشده حل شوند یا ممکن است کاربر درخواست عملیات اصلی دیگری بکند و برنامه نویسی های جدیدی برای برآورده کردن نیازهای جدید انجام گیرد.اگر هزینه کار فاز نگهداری از ۲۵ درصد هزینه فاز قبلی (پیاده سازی)بیشتر باشد، این احتمال وجود دارد که کیفیت کلی فاز قبلی خیلی ضعیف بوده باشد.در این صورت مدیران پروژه باید گزینه ی ایجاد مجدد سیستم (یا بخشی از سیستم) را قبل از اینکه هزینه های نگهداری غیر قابل کنترل شود را مطرح کنند.
در سختگیرانه ترین حالت آبشاری، بعد از اینکه هر فاز کاملا پایان پذیرفت، به مرحله بعدی می رویم. بازبینی که اجازه ایجاد تغییرات در سیستم را بدهد( که ممکن است شامل تغییرات فرآیندهای کنترل رسمی باشد) فقط قبل از رفتن به مرحله بعد امکان پذیر است .همچنین بازبینی ممکن است جهت اطمینان از پایان قطعی این فاز (مرحله) بکار گرفته شود . فازی که معیارهای تکمیل آن کامل شده، معمولا با عنوان دروازه اطلاق می شود که نشان می دهد پروژه از فاز فعلی به فاز بعدی منتقل شده است .مدل آبشاری از بازبینی و تجدید نظر فازهای قبلی که کامل شده اند، ممانعت به عمل می آورد.این عدم انعطاف پذیری در مدل آبشاری محض، دست مایه انتقاد، پشتیبانی کنندگان مدلهای انعطاف پذیر است.
مدل حلزونی مبتنی بر ریسک، بر اختیارانتخاب گزینه ها و محدودیت ها در سفارشها برای پشتیبانی استفاده مجدد نرم افزار و اینکه کیفیت نرم افزار می تواند در ادغام اهداف ویژه در تولید نرم افزار کمک می کند، تاکید می کند.
مرحله اول تدوین و فرموله کردن یک برنامه برای رسیدن به اهداف با این محدودیتها، و پس از آن تلاش برای پیدا کردن و حذف تمام خطرات بالقوه(ریسک های بالقوه)از طریق تجزیه و تحلیل دقیق و در صورت لزوم، با ساخت نمونه اولیه است.اگر برخی ریسکها قابل حل نبودند در این صورت مشتریان باید تصمیم بگیرند که آیا می خواهند انجام پروژه را خاتمه دهند یا از ریسک های مورد نظر چشم پوشی کنند و به هر ترتیب ادامه دهند. در نهایت، نتایج ارزیابی شده و طراحی مرحله بعدی آغاز می شود.
چهار راه برای رسیدن به آرامش:
1.نگاه کردن به عقب و تشکر از خدا 2.نگاه کردن به جلو و اعتماد به خدا 3.نگاه کردن به اطراف و خدمت به خدا 4.نگاه کردن به درون و پیدا کردن خدا
پل ارتباطی : samsamdragon@gmail.com
تالارهای تحت مدیریت :
مطالب عمومی کامپیوتراخبار و تکنولوژی های جدیدسیستم های عاملنرم افزارسخت افزارشبکه