1 / 18

تيم ‌ هاي نرم افزاري

تيم ‌ هاي نرم افزاري. فصل 21 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان. ت ي م ها ي نرم افزار ي. ساختار مناسب برا ي ي ک ت ي م بستگ ي به نوع سازمان، نوع پروژه، تعداد افراد، توانا يي ها ي اعضا ي ت ي م ها و نوع و سخت ي کار دارد.

gates
Download Presentation

تيم ‌ هاي نرم افزاري

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. تيم‌هاي نرم افزاري فصل 21 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان Artificial Intelligent Systems Laboratory

  2. تيم هاي نرم افزاري • ساختار مناسب براييک تيم بستگي به نوع سازمان، نوع پروژه، تعداد افراد، توانايي هاي اعضاي تيم ها و نوع و سختي کار دارد. • تيم هاي دموکراتيک ِ غير متمرکز (DD) • بهترين روش براي حل مسائل دشوار • آسيب پذير • ليدر ندارد • وظايف زمان اجراي كوتاه دارد • تصميم گيري به وسيله افراد اجرا مي‌شود. • ارتباط افقي بين اعضاي تيم وجود دارد. Artificial Intelligent Systems Laboratory

  3. تيم هاي نرم افزاري • تيم هاي تحت کنترل غير متمرکز (CD) • ليدر دارد. • هماهنگ كننده دارد. • حل مسئله توسط گروه است. • ارتباط افقي است. • ارتباط عمودي بين اعضا نيز وجود دارد. • تيم هاي کنترل شده متمرکز(CC) • ارتباط افقي است. Artificial Intelligent Systems Laboratory

  4. افراد : تيم هاي نرم افزاري • 4 نوع دسته بندي سازمان ها • مدل بسته (close paradigm) : داراي ساختارهاي سنتي (شبيه CC) براي توليد نرم افزارهايي مناسب است که تجربه توليد آنها در گذشته وجود دارد. • مدل تصادفي(random paradigm): تيم بر افراد و نوآوري آنها تکيه دارد. هنگامي که نياز به نوآوري وجود دارد از اين نوع تيم ها استفاده ميشود اما کارايي پاييني دارند. • مدل باز (open paradigm): سعي ميکند خصوصيات نوع بسته و نوع تصادفي را دارا باشد، فعاليت ها با همکاري انجام مي شوند. براي توسعه سيستم هاي پيچيده مناسب هستند. • مدل همگام (synchronous paradigm): بر تقسيم کار بين افراد تيم تاکيد دارد و هر عضو تيم بروي اندازه کوچکي از کار، فعاليت ميکند. Artificial Intelligent Systems Laboratory

  5. افراد : ارتباط ميان اعضاي تيم ها • تکنيک هاي همکاري و ارتباط در پروژه ها : • روشهاي رسمي و غير شخصي :شامل بر مستندات مهندسي نرم افزار، برنامه هاي پروژه و گزارشهاي موجود • رسمي و بين اشخاص: تمرکز بر فعاليت هايQA دارد مانند : جلسات بازبيني و مرور • غير رسمي و بين اشخاص : جلسات گروهي براي بحث و تبادل نظر و حل مسائل • ارتباطات الکترونيکي : مانند پست الکترونيک، بولتن هاي الکترونيک، ويدئو کنفرانس و .. • گردهمايي هاي بين افراد : شامل بر بحث هاي غير رسمي ميان افراد گروه و افراد خارج از پروژه Artificial Intelligent Systems Laboratory

  6. انتخاب تيم • در انتخاب تيم‌هاي نرم افزاري بايد به مسائل زير توجه شود:‌ • سختي مسئله • اندازه برنامه در قالب Line Of Code يا Function Point • استحكام تيم • درجه استقلال اجزاء مسئله • كيفيت و قابليت اطمينان مورد نياز • استحكام تاريخ تحويل • ارتباطات مورد نياز براي انجام پروژه Artificial Intelligent Systems Laboratory

  7. راهبر تيم • مدل MOI : • انگيزش : توانايي ايجاد انگيزه در افراد فني براي نمايش توانايي‌ها در بهترين فرم • سازمان : توانايي شكل دادن فرايند موجود يا ايجاد فرايند جديد به گونه‌اي كه مفاهيم اوليه بتواند به محصول نهايي تبديل شود. • ايده ها و نوآوري‌ها : توانايي انگيزش افراد براي خلق و ايجد احساس خلاقيت در افراد با وجود كار در محدوده‌هاي پروژه Artificial Intelligent Systems Laboratory

  8. استراتژي‌هاي مختلف سيستم هاي نرم افزاري • بسته : يك ساختار سلسله مراتبي ( شبيه تيم‌هاي CC) • تصادفي: ساختار ضعيف و وابستگي به افراد تيم • باز: ساختاري براي دستيابي به كنترل موجود در روش بسته و خلاقيت موجود در روش تصادفي • همگام : تقسيم بندي مسئله به بخش‌هاي جدا و اختصاص هر تيم به بخشي از مسئله با ميزان كم ارتباطات بين تيم‌ها Artificial Intelligent Systems Laboratory

  9. مواردي كه در تيم ايجاد مشكل مي‌كنند • فضاي نامناسب كاري كه در آن اعضاي تيم انرژي خود را هدر داده و تمركز خود را بر كاري كه بايد انجام شود از دست مي‌دهند. • نيروي زيادي كه در اثر فاكتور‌هاي انساني، سازماني و يا فناوري از بين مي‌رود و بين اعضاي تيم سايش ايجاد مي‌كند. • مدل فرايندي ضعيف و ناصحيح كه از رسيدن به هدف جلوگيري مي‌كند. • تعريف مبهم از نقش ها كه موجب ايجاد عدم مسئوليت پذيري مي‌گردد. • مواجه شدن مستمر با شكست كه موجب از دست دادن اطمينان و كاهش اعتماد به نفس مي‌گردد. Artificial Intelligent Systems Laboratory

  10. تيم ‌هاي Agile • اعضاي تيم بايد به يكديگر اطمينان داشته باشند. • خودسازماندهي تيم در حين پيشرفت پروژه براي بيشينه سازي استفاده از استعداد‌هاي افراد • تيم خود سازمانده : • ساختار انطباق پذير • استفاده از اجزاء ساختار‌هاي باز، تصادفي و همگام • خودمختاري قابل توجه Artificial Intelligent Systems Laboratory

  11. تيم‌هاي Agile • تيم‌هاي داراي خودمختاري قابل توجهي براي انجام تصميمات مديريتي و فني مي‌باشند. • طرح ريزي به كمترين مقدار خود رسيده و تنها شامل نياز‌مندي‌هاي سازماني و استاندارد‌هاي سازمان مي‌گردد. • مي‌توان جلسات روزانه (10 تا 20 دقيقه‌اي) برگزار نمود و اعمال هر روز را هماهنگ نمود. Artificial Intelligent Systems Laboratory

  12. افراد : ارتباط ميان اعضاي تيم ها • تکنيک هاي همکاري و ارتباط در پروژه ها : • روشهاي رسمي و غير شخصي :شامل بر مستندات مهندسي نرم افزار، برنامه هاي پروژه و گزارشهاي موجود • رسمي و بين اشخاص: تمرکز بر فعاليت هايQA دارد مانند : جلسات بازبيني و مرور • غير رسمي و بين اشخاص : جلسات گروهي براي بحث و تبادل نظر و حل مسائل • ارتباطات الکترونيکي : مانند پست الکترونيک، بولتن هاي الکترونيک، ويدئو کنفرانس و .. • گردهمايي هاي بين افراد : شامل بر بحث هاي غير رسمي ميان افراد گروه و افراد خارج از پروژه Artificial Intelligent Systems Laboratory

  13. بررسي تکنيک هاي همکاري و ارتباط درجه ارتباط Artificial Intelligent Systems Laboratory

  14. تعريف مسئله • مشخص كردن حوزه مسئله : براي محدود كردن مسئله • حوزه شامل : • موضوع (Context) • اهداف (Information Objectives) • عملكرد (Functional Performance) • تجزيه مسئله :‌ ايجاد تقسيم بندي كاركردي Artificial Intelligent Systems Laboratory

  15. فرآيند • تعريف، توسعه و پشتيباني در توسعه تمامي سيستم هاي نرم افزار مشترک هستند. مسئله انتخاب يک مدل فرآيند مناسب با پروژه مربوطه است. • مدير پروژه بايد در رابطه با مدل فرآيند توسعه پروژه تصميم گيري نمايد. Artificial Intelligent Systems Laboratory

  16. پروژه • براي مديريت موفق پروژه هاي نرم افزاري بايد متوجه شويم که چه مسائلي به درستي پيش رفته و کدام يک نا مطلوب پيش رفته اند. • تعدادي از نشانه هاي ظهور مخاطره در پروژه هاي نرم افزاري : • اعضاي تيم توسعه نيازهاي مشتري را درک نکنند. • محدوده محصول به درستي تعريف نشده باشد. • تغييرات به درستي کنترل نشوند و ... Artificial Intelligent Systems Laboratory

  17. اصول W5HH • 7 سوال که “بوهم” براييافتن اهداف و خصوصيات پروژه طرح نموده است : • Why is the system being developed ? چرا سيستم بايد توليد شود؟ • What will be done , by when? چه کاري و تا چه زماني بايد انجام شود؟ • Who is responsible for a function ? چه کسي مسئول يک وظيفه است؟ • Where are they organizationally located ? آنها ( اعضاي تيم توسعه) در چه محلي مستقر و ساماندهي شده اند ؟ Artificial Intelligent Systems Laboratory

  18. اصول W5HH • How will the job be done technically and managerially ? کارها از نظر فني و مديريتي چگونه انجام خواهند شد؟ • How much of each resource is needed ? چه مقدار از هر منبعي مورد نياز مي باشد ؟ Artificial Intelligent Systems Laboratory

More Related