نمایش نتایج 1 تا 11 از 11

نام تاپیک: چرخه تولید نرم افزار و نکات حاکم بر آن

  1. #1

    چرخه تولید نرم افزار و نکات حاکم بر آن

    باسلام خدمت تمامی سروران عزیز
    چند خط نوشته در مورد مراحل ساخت نرم افزار و مسائل حاکم بر آن جمع آوری کردم، امیدوارم به درد بخوره !......
    در مسیر تکاملی توسعه نرم افزاری چرخه عمر متعددی متداول بوده است که اکنون نیز هر یک از آنها و یا ترکیبی از آنها مورد کاربرد میباشد . این چرخه ها شامل چرخه عمر آبشاری ، چرخه عمر مبتنی بر نمونه سازی ، چرخه عمر حلزونی و بالاخره تکنیکهای نسل چهارم که با بکارگیری ابزارهای متعدد در مراحل مختلف چرخه ، سرعت طراحی و پیاده سازی را چندین برابر کرده است. فعالیتهای اصلی که در مجموعه این چرخه ها قابل انتزاع است را می توان به سه مرحله اصلی تقسیم کرد:
    1- فاز تعریف
    2- فاز ایجاد
    3- فاز نگهداری

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

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

    و بالاخره فاز نگهداری که بر تغییراتی در نرم افزار تمرکز دارد که متناظر با تصحیح خطا و یا تطابق با تغییر محیط نرم افزار میباشد و یا اینکه ناشی از افزودن توانایی نرم افزار در تامین نیازمندی جدید مشتری دارد بنابر این سه نوع مختلف از تغییرات در این فاز قابل مشاهده است :
    • تصحیح نرم افزار
    • تطبیق نرم افزار
    • افزایش توانمندی نرم افزار

    تضمین کیفیت و مدیریت اعمال تغییرات
    دو نوع مدیریت در اجرای پروژه نرم افزاری وجود دارد که همانند چتری ناظر بر تمامی فعالیتهای ایجاد و توسعه نرم افزار است . این دو عبارتند از: تضمین کیفیت یاQuality Assurance و Configuration Management یا مدیریت اعمال تغییرات در نرم افزار.

    تضمین کیفیت ( Software Quality Assurance )
    با عنوان این مطلب که هدف از مدیریت پروژه نرم افزاری تهیه و تحویل نرم افزار با بهترین کیفیت ممکن می باشد، بحث تضمین کیفیت جایگاه ویژه خود را در این پروسه از ابتدا تا انتهای چرخه عمر پروژه به خود اختصاص داده است .
    طی یک بررسی که در سال 1989 توسط فینکلستین انجام گرفت نحوه توزیع خطا در سیستمهای اطلاعاتی بصورت زیر خلاصه گردیده است :
    56% عدم کفایت در تعیین نیازمندیها
    27% خطا در طراحی
    7% خطا در برنامه نویسی
    1% خطا در سایر مراحل

    چنانچه ملاحظه می شود حساسترین مرحله در بروز خطا در یک نرم افزار مربوط به قدم تحلیل نیازمندیها یا (Requirement Analysis) می باشد ، این نیازمندیها منحصر به نیازمندیهای اعلام شده توسط مشتری نمی باشد بلکه عدم رعایت سایر نیازمندیها و استانداردهای سیستم که مربوط به تیم پروژه است نیز شامل آن دسته می باشد .از اینرو تحلیل درست آن ، وابستگی عمیقی به سطح مهارت و تخصص و تجارب اعضای تیم دارد ، و همچنین چنانچه ملاحظه می گردد خطا در تمام مراحل چرخه پیدایش و توسعه سیستم بروز می نماید از اینرو مدیریت کیفیت و حصول اطمینان از کیفیت به تمام مراحل توسعه نرم افزار بایستی نظارت داشته باشد.
    به همین لحاظ فاکتورهایی جهت اندازه گیری کیفیت نرم افزار پیشنهاد گردیده اند ،بر اساس پیشنهاد McCall یازده فاکتور کیفی تعریف گردیده اند که در سه گروه طبقه بندی شده اند :
    طبقه اول مربوط به عملکرد محصول ، طبقه دوم مربوط به تغییر پذیری و طبقه سوم مربوط به توانایی اجرایی نرم افزار در یک محیط جدید است .
    این فاکتورها عبارتند از :
    الف)
    1. Correctness: یا صحت مربوط به تطبیق برنامه با مشخصات نیازمندیها می باشد.
    2. : Reliability توانایی عملکرد با دقت لازم
    3. Efficiency: توانایی عملکرد در محیط سخت افزاری که برای آن طراحی شده است.
    4. Integrality : پیش بینی موارد حفاظتی و امنیتی
    5. Usability : قابلیت اجرا توسط کاربران

    ب)
    6. Maintainability : قابلیت خطا یابی و رفع آن در برنامه
    7. Flexibility : قابلیت تغییر در برنامه
    8. Testability : قابلیت تست و ارزیابی برنامه

    ج)
    9. :Portabilityقابلیت انتقال برنامه از یک محیط سخت افزاری یا نرم افزاری به محیط دیگر
    10. :Reusability قابلیت استفاده از نرم افزار یا بخشی از آن در نرم افزار دیگر
    11. :Interoperability قابلیت تبادل اطلاعات بین برنامه و سایر سیستم ها

    مدیریت اعمال تغییرات در نرم افزار( Software Configuration Management )
    با توجه به این مطلب که در ادامه حیات سیستم به سبب تغییر محیط کاری ، نیازمندیهای جدید و سایر عوامل ، ممکن است نرم افزار دچار تغییراتی گردد از اینرو ثبت و اعمال تغییرات جدید و نگهداری سوابق قبلی سیستم از اهمیت ویژه ای برخوردار میگردد . به همین دلیل مدیریت اعمال تغییرات در نرم افزار بدین صورت تعریف گردیده است :
    هنر تشخیص ، سازماندهی و کنترل تغییرات و اصلاحات به نرم افزار در حال ایجاد ، توسط تیم برنامه نویسی که هدف آن بالا بردن ثمربخشی از طریق کاهش اشتباه می باشد .

  2. #2
    جالب بود ... مرجع؟

  3. #3
    نقل قول نوشته شده توسط Javan_Soft
    جالب بود ... مرجع؟
    در مورد مرجع باید بگم که مرجع دقیقی نداره این مطالب رو طی تنظیم Proposal هام در چند سال گذشته جمع آوری کردم......

  4. #4
    خیلی خوب بود چرا کاملش نکردید

  5. #5
    نقل قول نوشته شده توسط Javan_Soft
    خیلی خوب بود چرا کاملش نکردید
    باید بگم، در زمینه چرخه تولید یک نرم افزار، دیگه سوادم تموم شده :oops: اگه کسی دیگه اطلاعات بیشتری داره، به متن اضافه کنه تا شاید منبع خوبی از کار در بیاد :wink:

  6. #6
    کاربر دائمی آواتار sql_qassem
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران تهران -
    پست
    237
    به هر حال ممنونیم
    SQL
    8)

  7. #7
    بسمه تعالی
    با سلام
    خوب بود
    با تشکر

  8. #8
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    مطالب تا حدودی به Solution Architecture از کتابهای MCSD.NET نزدیکه.
    مبحثMSF حول همین بحث می گرده.

  9. #9
    مطالب جالبی بوده است.

  10. #10
    کاربر دائمی آواتار molana alavi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مازندران (فعلا تهران)
    پست
    150
    تعریف مقدماتی خوبی بود. متشکرم

  11. #11

    نقل قول: چرخه تولید نرم افزار و نکات حاکم بر آن

    مطلب بسیار جالبی بود ، تشکر.....

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •