دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • دی

جلسه ۰۳-۰۲ : مدیریت حوزه در مهندسی نرم افزار

  • دسته‌بندی‌ها :
جلسه ۰۳-۰۲ : مدیریت حوزه در مهندسی نرم افزار
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      عرض سلام خدمت همراهان گرامی وب سایت آموزشی پی وی لرن. با موضوع آموزش مهندسی نرم افزار (Software Engineering) در خدمتتون خواهیم بود. در این بخش از مبحث مدیریت پروژه نرم افزار به تکنیک های تخمین پروژه در مهندسی نرم افزار و زمان بندی پروژه ، برآورد پروژه در مهندسی نرم افزار و … خواهیم پرداخت. در ابتدا با مدیریت حوزه آغاز می کنیم.

      مدیریت پروژه نرم افزار

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

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

      • برنامه ریزی پروژه
      • مدیریت حوزه
      • برآورد پروژه

      برنامه ریزی پروژه

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

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

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

      در طول مدیریت پروژه ، لازم است:

      • دامنه را تعریف کنید.
      • در مورد تصدیق و کنترل آن تصمیم بگیرید
      • برای سهولت در مدیریت ، پروژه را به قسمت های مختلف کوچک تر تقسیم کنید.
      • دامنه را تأیید کنید.
      • دامنه را با ثبت تغییرات در دامنه کنترل کنید.

      در ادامه با برآورد پروژه در مهندسی نرم افزار آشنا می شویم.

      برآورد پروژه در مهندسی نرم افزار

      برای یک مدیریت مؤثر ، برآورد دقیق از اقدامات مختلف ضروری است. با برآورد درست ، مدیران می توانند پروژه را به صورت کارآمدتر و مؤثرتر مدیریت و کنترل کنند.

      تخمین یا برآورد پروژه ممکن است موارد زیر را شامل شود:

      برآورد اندازه نرم افزار

      اندازه نرم افزار ممکن است از نظر (KLOC ((Kilo Line of Code یا با محاسبه تعداد نقاط عملکرد در نرم افزار محاسبه شود. خطوط کد به شیوه های رمزگذاری بستگی دارد و نقاط عملکرد بسته به نیاز کاربر یا نرم افزار، متفاوت است.

      برآورد تلاش

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

      برآورد زمان

      پس از برآورد اندازه و تلاش ، می توان زمان لازم برای تولید نرم افزار را تخمین زد. تلاش های مورد نیاز طبق مشخصات مورد نیاز و وابستگی متقابل اجزای مختلف نرم افزار به زیر گروه ها تقسیم می شوند. وظایف نرم افزاری با کار ، فعالیت یا رویدادهای کوچک تر توسط (Work Breakthrough Structure (WBS تقسیم می شوند. کارها به صورت روزانه یا در ماه های تقویم برنامه ریزی شده اند.

      مجموع مدت زمان لازم برای انجام کلیه کارها در ساعت ها یا روزها ، کل زمان سرمایه گذاری شده برای تکمیل پروژه است.

      در ادامه برآورد پروژه در مهندسی نرم افزار رو بررسی می کنیم.

      برآورد هزینه

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

      • اندازه نرم افزار
      • کیفیت نرم افزار
      • سخت افزار
      • نرم افزار یا ابزار اضافی ، مجوزها و غیره
      • افراد ماهر و دارای مهارت های خاص
      • مسئله ی جرکت
      • ارتباطات
      • آموزش و پشتیبانی

      از آن جا که تکنیک های تخمین پروژه در مهندسی نرم افزار برای ایجاد یک پروژه ی نرم افزاری مهم است بنابراین با مشخص شدن برآورد پروژه در مهندسی نرم افزار ، در ادامه تکنیک های تخمین پروژه در مهندسی نرم افزار رو خواهیم داشت.

      تکنیک های تخمین پروژه در مهندسی نرم افزار

      در مورد پارامترهای مختلف شامل تخمین پروژه مانند اندازه ، تلاش ، زمان و هزینه بحث کردیم.

      مدیر پروژه می تواند با استفاده از دو تکنیک کاملاً شناخته شده ، عوامل ذکر شده را تخمین بزند.

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

      تکنیک تجزیه (Decomposition Technique)

      این تکنیک نرم افزار را به عنوان محصولی از ترکیبات مختلف فرض می کند.

      دو مدل اصلی وجود دارد.

      • خط برآورد کد (Line of Code Estimation) که به نمایندگی از تعداد خط کدهای موجود در محصول نرم افزاری انجام می شود.
      • برآورد نقاط عملکرد (Function Points Estimation) به نمایندگی از تعداد نقاط عملکرد در محصول نرم افزاری انجام می شود.

      تکنیک برآورد تجربی

      این تکنیک از فرمول های تجربی مشتق شده برای برآورد استفاده می کند. فرمول ها مبتنی بر LOC یا FP هستند.

      مدل Putnam

      این مدل توسط Lawrence H. Putnam ساخته شده است ، که مبتنی بر توزیع فرکانس Norden (منحنی Rayleigh) است. مدل Putnam زمان و تلاش های مورد نیاز را با اندازه نرم افزار نقشه برداری می کند.

      COCOMO

      COCOMO مخفف Coststruct COD MOdel است که توسط باری Barry W. Boehm ساخته شده است. این محصولات نرم افزاری را به سه دسته ی نرم افزار تقسیم می کند: ارگانیک ، نیمه مجزا و تعبیه شده (organic, semi-detached و embedded).

      زمان بندی پروژه

      زمان بندی پروژه در یک پروژه، به نقشه راه کلیه فعالیت هایی که باید با ترتیب مشخص و در فاصله زمانی اختصاص یافته به هر فعالیت انجام شود، اشاره دارد. مدیران پروژه تمایل دارند وظایف مختلف و نقاط عطف پروژه را تعریف كنند و آن ها را مرتب می کنند تا عوامل مختلفی را در ذهن داشته باشند. مدیران به دنبال کارهایی هستند که در برنامه در مسیر بحرانی قرار دارند ، که برای تکمیل کردن آن ها، به روشی خاص (به دلیل وابستگی متقابل کار) و به طور دقیق در زمان اختصاص یافته ضروری است. ترتیب کارهایی که از مسیر بحرانی خارج می شوند ، احتمال کم تری دارند که بر تمام زمان بندی پروژه تاثیر بگذارد.

      برای زمان بندی یک پروژه ، لازم است:

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

      کلام پایانی

      متشکریم که تا این بخش از آموزش مهندسی نرم افزار و مبحث مدیریت پروژه نرم افزار با وب سایت آموزشی پی وی لرن همراه بودید. با برآورد پروژه در مهندسی نرم افزار به همراه تکنیک های تخمین پروژه در مهندسی نرم افزار آشنا شدیم. در بخش بعدی مبحث رو با مدیریت منابع آغاز می کنیم.

      QR:  جلسه ۰۳-۰۲ : مدیریت حوزه در مهندسی نرم افزار
      به اشتراک بگذارید