جزوه تایپ شده پایداری سازه ها
دکتر غلامپور تیموشنکو خلاصه کتاب پایداری سازه ها دکتر کاوه ازهری چاجس دکتر شیدایی پیام نور کارن خانلری مجید برقیان سیروس غلامپور
()، ً “[طرح ها]، ” : :
: ()
: ()
: ()
: ()
: (() )
: ()
: ()
: ()
: ()
: ()
(): ً، ً :
: ()
: ()
:(())
: (())
: ()
: ()
: ()
: ()
: ()
: (()
: ()
: ((+ + + ))
: 
: ()
: ()
: ()
: ()
: ()
: ()
: ()
: ()
: : ()
: ()
: ()
: ()
–“”، “” :
= = = = ()، ()، ()، :
= + :
= (+ )
() :
= ÷ × ÷ -: () () () () با پیچیدگی سیکلوماتیک بالا، بیشتر از ماژول هایی با پیچیدگی کمتر، مستعد خطا هستند. به همین دلیل، کشف خطاها در چنین ماژول هایی قبل از ادغام آن ها در یک سیستم، به تلاش بیشتری نیاز دارد. تلاش آزمایش را می توان با استفاده از واحدهای اندازه گیری شده از اندازه گیری های Halstead (بخش 23.3.5) برآورد کرد. با استفاده از تعاریف مربوط به حجم برنامه V و سطح برنامه PL، نیتجه کارهای Halstead e را می توان در روابط زیر خلاصه کرد:
PL = 1 ÷ (n1∕2)(N2∕n2)
e = V ÷ PL
درصد تلاش کلی آزمایش برای اختصاص به یک واحد k را می توان با استفاده از رابطه زیر برآورد کرد:
درصد تلاش آزمایش (k)= e(k) ÷ Σ e(i)
در رابطه فوق، جایی که e (k) برای ماژول k محاسبه می شود و جمع در مخرج، مجموع تلاش پایداری سازه ها در تمام ماژول های سیستم است.
آزمایش OO می تواند بسیار پیچیده باشد. واحدها می توانند به شما در هدف قرار دادن منابع آزمایش در موضوعات، فیلمنامه ها و بسته طبقاتی که احتمالاً بر اساس ویژگی های اندازه گیری شده هستند، کمک کنند. جزوه پایداری سازه ها طراحی OO ذکر شده در بخش 23.3.3، نشان دهنده کیفیت طراحی هستند. آن ها همچنین میزان تلاش کلی آزمایش مورد نیاز برای تمرین سیستم OO را نشان می دهند. بایندر مجموعه وسیعی از واحدهای طراحی را پیشنهاد می کند که تأثیر مستقیم بر “تست پذیری” سیستم OO دارند. این واحدها، جنبه های محصور سازی و وراثت را در نظر می گیرند.
عدم انسجام در روش ها (LCOM): هرچه ارزش LCOM بیشتر باشد، برای اطمینان از عدم ایجاد عوارض جانبی توسط روش ها، باید حالات بیشتری مورد آزمایش قرار گیرند.
درصد عمومی و تحت حفاظت (PAP): ویژگی های عمومی از طبقات دیگر به ارث رسیده است و بنابراین برای آن طبقات، قابل مشاهده هستند. ویژگی های محافظت شده برای روش های فرعی، قابل دسترسی هستند. این واحد، درصد ویژگی های طبقه عمومی یا محافظت شده را نشان می دهد. مقادیر بالای PAP احتمال عوارض جانبی را در بین ؛ ((: () (): -() (): -> یک طبقه ریشه به ارث می برد. در صورت امکان، باید از FIN> 1 اجتناب شود.
تعداد فرزندان (NOC) و عمق درخت وراثت (DIT): همانطور که در فصل 18 اشاره کردیم، روش های فوق طبقاتی، باید برای هر زیر طبقه، مجدداً آزمایش شوند.
5-23 واحدهای نگهداری
همه معیارهای نرم افزاری معرفی شده در این فصل را می توان برای توسعه نرم افزارهای جزوه پایداری سازه ها و نگهداری نرم افزارهای موجود استفاده کرد.
با این حال، واحدهایی نیز صراحتاً برای فعالیت های نگهداری طراحی شده اند. IEEE Std. 982.1 2005 [پایداری سازه ها ] یک شاخص بلوغ نرم افزار (SMI) را پیشنهاد می کند که نشانه ای از پایداری یک محصول نرم افزاری (بر اساس تغییراتی که برای هر انتشار محصول رخ می دهد) ارائه می دهد. به مطالب زیر توجه کنید:
MT = تعداد ماژول ها در نسخه فعلی
Fc = تعداد ماژول های تغییریافته در نسخه فعلی
Fa = تعداد ماژول های اضافه شده به نسخه فعلی
Fd = تعداد ماژول های نسخه قبلی که در نسخه فعلی حذف شده اند.
شاخص بلوغ نرم افزار به روش زیر محاسبه می شود:
SMI = MT − (Fa + Fc + Fd) ÷ MT
با نزدیک شدن SMI به 1.0، محصول شروع به تثبیت می کند. SMI همچنین ممکن است به عنوان واحدی برای برنامه ریزی فعالیت های نگهداری نرم افزار استفاده شود. میانگین زمان تولید یک محصول نرم افزاری را می توان با SMI ارتباط داد و مدل های تجربی برای نگهداری را می توان توسعه داد.
6-23 واحدهای فرآیند و پروژه
واحدهای فرآیند، در تمام پروژه ها و در بازه های زمانی طولانی جمع آوری می شوند و هدف آن ها ارائه مجموعه ای از شاخص های فرایند است، که منجر به بهبود طولانی مدت فرآیند نرم افزار می شود (فصل 28). معیارهای جزوه پایداری سازه ها به مدیر پروژه نرم افزاری این امکان را می دهد : () () () “” () () ().
-“” () ()، () () ()، () علاوه بر این، خطاهای کشف شده در طول هر اقدام مهندسی نرم افزار، پیگیری می شوند.همزمان با تبدیل نرم افزار از الزامات به طراحی، معیارهای فنی برای ارزیابی کیفیت طراحی و شاخص های مؤثر بر رویکرد تولید کد و آزمایش، جمع آوری می شوند.واحدهای پروژه، دو هدف را دنبال می کنند. برای به حداقل رساندن برنامه توسعه با اعمال تعدیلات لازم برای جلوگیری از تأخیرها و کاهش مشکلات و خطرات احتمالی، و ارزیابی کیفیت محصول به صورت مداوم و در صورت لزوم، اصلاح روش فنی برای بهبود کیفیت. با بهبود کیفیت، عیوب به حداقل می رسند و با کاهش تعداد نقص ها، میزان دوباره کاری مورد نیاز در طول پایداری سازه ها نیز کاهش می یابد. معیارهای فرآیند نرم افزاری می توانند مزایای قابل توجهی را به عنوان یک سازمان برای بهبود سطح کلی بلوغ فرآیند ارائه دهند. معیارهای فرآیند نرم افزاری می توانند مزایای قابل توجهی را به عنوان یک سازمان برای بهبود سطح کلی بلوغ فرآیند ارائه دهند.
گریدی یک “آداب معیارهای نرم افزاری” را پیشنهاد می کند که برای مدیران و متخصصین مسئول ایجاد برنامه اندازه گیری فرایند، مناسب است:
هنگام تفسیر داده های اندازه گیری، از عقل سلیم خود و حساسیت سازمانی استفاده کنید.
بازخوردی منظم برای افراد و تیم هایی که معیارها و واحدها را جمع آوری می کنند، ارائه دهید.
از واحدها برای ارزیابی افراد استفاده نکنید.
برای تعیین اهداف و واحدهای مشخصی که برای دستیابی به آن ها استفاده می شود، با متخصصان و تیم ها همکاری کنید.
هرگز از معیارها برای تهدید افراد یا تیم ها استفاده نکنید. داده های اندازه گیری نشان دهنده یک منطقه مشکل، نباید “منفی” تلقی شوند. این داده ها فقط یک شاخص برای بهبود فرایند هستند.
بدون در نظر گرفتن سایر واحدهای مهم، روی یک واحد مشخص وسواس نداشته باشید.
همانطور که کار یک سازمان با جمع آوری و استفاده از واحدهای فرآیند راحت تر می شود، استخراج از شاخص های ساده جای خود را به رویکرد دقیق تری می دهد که بهبود فرآیند نرم افزار آماری (SSPI) نامیده می شود. در اصل، SSPI از تجزیه و تحلیل جزوه بارگذاری سازه ها نرم افزار مورد استفاده برای جمع آوری اطلاعات در مورد تمام خطاها و نقایصی که هنگام توسعه و استفاده از یک برنامه، سیستم یا محصول، استفاده می کند.
“خانه امن: ایجاد یک روش اندازه گیری”
صحنه: دفتر داگ میلر، همزمان با شروع پروژه نرم افزاری SafeHome.
گفتگوکنندگان: داگ میلر، مدیر تیم مهندسی نرم افزار پایداری سازه ها و وینود رامان و جزوه پایداری سازه ها لازار، اعضای تیم مهندسی نرم افزار محصول.
مکالمه:
داگ: قبل از شروع کار روی این پروژه، دوست دارم شما مجموعه ای از واحدهای ساده رو تعریف و جمع آوری کنید. برای شروع، باید اهدافتون را مشخص کنید.
وینود (اخم): قبلاً چنین کاری نکرده بودیم.
جیمی (حرفش را قطع می کند): و بر اساس زمان تحویل، اصلاً وقتش رو هم نداریم.اصلاً واحدها چه فایدهای دارن؟
داگ (دستش را بالا می برد تا جلوی حمله را بگیرد): آروم باشید بچه ها. اتفاقاً چون قبلاً این کار رو نکردیم باید حتماً انجامش بدیم، و چیزی که دارم میگم، اصلاً وقت گیر نیست.حتی در وقتمون صرفه جویی هم می کنه.
وینود: چطور؟
داگ: ببینین، ما مهندسی نرم افزار داخلی بیشتری رو انجام می دیم چون محصولات ما هوشمندتر میشن، او ز همه چیز مطلع میشن و ما باید فرایندی رو که برای ساختن نرم افزار استفاده می کنیم، درک کنیم و اون رو ارتقا بدیم تا بهتر به ساخت نرم افزار بپردازیم. تنها راه انجام این کار اندازه گیریه.
جیمی: اما ما تحت فشار زمان هستیم، داگ. من اهل کاغذ بازی نیستم؛ ما باید از وقتمون برای انجام کارمون (): ؟
: : ؟
: : : ؟
(): : ()
(): : -: () (“” ). () مورد نیاز برای ساخت نرم افزار، تعداد خطوط کد تولید شده و سایر اندازه گیری های مستقیم، نسبتاً آسان خواهد بود. با این حال، ارزیابی کیفیت و عملکرد نرم افزار یا کارآیی یا قابلیت نگهداری آن دشوارتر است و فقط به طور غیر مستقیم قابل اندازه گیری است. ما دامنه واحدهای نرم افزار را به واحدهای فرایند، پروژه و محصول تقسیم کرده ایم و اشاره کردیم که واحدهای محصول که منحصر به فرد هستند، اغلب برای ایجاد واحدهای پروژه عمومی برای یک تیم نرم افزاری، ترکیب می شوند. سپس واحدهای پروژه برای ایجاد واحدهای فرایند عمومی برای سازمان نرم افزار به طور کلی، ادغام می شوند. اما چگونه یک سازمان، واحدهای به دست آمده از افراد یا پروژه های مختلف را ترکیب می کند؟ برای توضیح ، یک مثال ساده را در نظر بگیرید. تمام خطاهای کشف شده در طول فرآیند نرم افزار، در دو تیم مختلف پروژه، ثبت و دسته بندی می شوند. سپس اقدامات فردی برای توسعه اقدامات گروهی ترکیب می شوند. تیم A قبل از انتشار 342 خطا در طول فرآیند نرم افزار پیدا می کند. تیم B 184 خطا پیدا می کند. همه شرایط دیگر برابر هستند، کدام تیم در کشف خطاها در طول فرایند مؤثرتر بوده است؟ از آنجا که اندازه یا پیچیدگی پروژه ها را نمی دانید، نمی توانید به این سؤال پاسخ دهید. با این حال، اگر اندازه گیری ها و معیارها عادی سازی شوند، می توان واحدهای نرم افزاری را ایجاد کرد که امکان مقایسه با میانگین های سازمانی گسترده تر را فراهم می کند. واحدهای مبتنی بر اندازه نرم افزار، از طریق نرمال سازی کیفیت و/یا بهره وری با در نظر گرفتن اندازه نرم افزار تولید شده، به دست می آیند. سازمان نرم افزاری می تواند با ثبت اسنادی مختصر، جدول اندازه گیری های مبتنی بر اندازه، مانند آنچه در شکل () : ()
فهرست مطالب