530 likes | 1.02k Views
خصوصیات کیفی نرم افزار. واحد علوم و تحقيقات. مهندسي نرم افزار پيشرفته ) محسن زاده). 1. 2. 3. 4. 5. 6. مدل هاي كيفي. خصوصيات كيفي نرم افزار. مديريت كيفي نرم افزار. Tradeoff بين خصوصيات نرم افزاري. خصوصيات كيفي در مولفه هاي COTS. مقدمه. فهرست. 1. 2. 3. خصوصيت كاربردهاي بحراني:.
E N D
خصوصیات کیفی نرم افزار واحد علوم و تحقيقات مهندسي نرم افزار پيشرفته)محسن زاده)
1 2 3 4 5 6 مدل هاي كيفي خصوصيات كيفي نرم افزار مديريت كيفي نرم افزار Tradeoff بين خصوصيات نرم افزاري خصوصيات كيفي در مولفه هاي COTS مقدمه فهرست
1 2 3 خصوصيت كاربردهاي بحراني: چرخه عمر طولانی دارند و نیازمند بهبود تکاملی می باشند کاربردها نیاز به اجرای پیوسته هستند. کاربردها نیاز به تعامل با دستگاه های سخت افزاری هستند. عملکرد کاربرد بستگی به ویژگی های کیفی مانند دقت بالا ،قابلیت اطمینان ،ایمنی،قابلیت همگاری با بخش های دیگر دارد. 4
3 2 1 Quality Control Quality Planning Quality Assurance مديريت كيفيت نرم افزار : تعريف : هدف از اينكه سطوح كيفي مورد نياز در محصول نرم افزاري برآورده شود ،بصورتيكه استاندارد ها و رويه هاي تعريف شده در نظر گرفته شود. تضمين كيفيت برنامه ريزي كيفيت كنترل كيفيت
مدلFURPS: Usability Functionality FURPS Performance Supportability Supportability
Reliability Usability Efficiency Maintainability Portability مدلISO9126: Analysability Adaptability Suitability Timebased Efficiency Understandability Faulttolerance Installability Changeability Interoperability Lernability Maturity ResourcebasedEfficiency Functionality Accuracy Conformance Stability Recoverability Operability Compliance Replaceability Testability Security
خصوصيات كيفي قابل مشاهده در زمان اجرا غير قابل مشاهده در زمان اجرا مدلClements , Bass , Kazman: • Modifiability • Portability • Integritability • Reusability • Testability • Performance • Security • Availability • Functionality • Usability
زمان محصول نرم افزاري كيفيت هزينه مشخصات يك محصول نرم افزاري:
تاثير توسعه Component Baseبر خصوصيات كيفي نرم افزار
Component Base Development • توسعه CB مفهومي است كه توسعه دهندگان را قادر به ساختن سيستم ها نرم افزاري كه از بخش هاي قابل استفاده مجدد تشكيل شده اند ،مي كند. • مولفه يك جزء مستقل و قابل تعويض از سيستم مي باشد كه يك عملكرد مشخص را درفضاي يك معماري خوش تعريف برآورده مي سازد. • این توسعه منجر به تولید نرم افزار هایی می باشد کهقابليت اطمينان بالاترو قابليت تغييربيشتري را دارا میباشند.
تاثير CBD خصوصيات كيفي نرم افزار خصوصيات كيفي مي تواند به سه گروه مختلف تقسيم شود : بعضي از خصوصيات هستند كه CBD مستقيما روي آن تاثير دارد. ديگر خصوصيات لزوما توسط CBD تحت تاثير قرار نمي گيرند ،اما توسط ديگر خصوصياتي كه تحت تاثير CBD هستند تحت تاثير قرار مي گيرند. بعضي از خصوصيات نه بطور مستقيم و نه بطور غير مستقيم تحت تاثير قرار نمي گيرند.
مصالحه بين صفات كيفي • اغلب سیستم ها برای برآوردن نیازهای کاربران fail می شوندو بیشتر به دلیل نبودن کیفیت است و عمدتازمانیست که طراحان به دقت بر برآورد بعضی نباز هابدون توجه به تاثیر آن بر دیگر نیازمندی ها عمل می کنند. • گاهی بعضی از صفات ذاتا با یکدیگر در تضاد هستند و مورد دیگر اینکه ممکن است خصوصیات کیفی در دید افراد مختلف متفاوت باشد.مثلا مفهوم امنیت می تواند در دید یک نفر به معنای رمز کردن اطلاعات و در دید دیگری به معنای دیوار آتش باشد. مثلا فرض کنيد امنيت و تحمل خطا بصورت انحصاري قابل دستيابي باشند ولي اگر توأم با هم بخواهيم آنها را داشته باشيم بايد مصالحه انجام دهيم
مصالحه بين صفات كيفي • ممکناستهمهصفات کيفيتيرانتوانيمهمزمانفراهمآوريم،وليبايدببينيمکهکداميکازاينشرايطبرايماازاهميت بيشتريبرخورداراست. يعنيمثلاکارايياهميتبيشتريداردياقابليتاستفادهمجددوبهمينترتيب درموردبقيهصفاتکيفيتي. در شكل اينمفهومبرایسهويژگیکيفيتینشاندادهشدهاست.
Quality Attribute Workshop • Quality Attribute Workshopعبارت است از روشی که : • به معماران سیستم جهت دریافت حداکثر اطلاعات کیفی کمک می کند. • جهت تعریف ساختار سیستم کمک شایانی می کند. • راه جهت کشف (discover) ،مستند سازی (document) ،اولویت بندی(prioritize) هر چه سریع تر ویژگی های کیفی سیستم در طول چرخه حیات می باشد.
QAW Method Steps QAW presentation and Introduction Business/Mission Presentation Architecture Plan Presentation Identification of Architectural Drivers Scenario Brain Storming Scenario Consolidation Scenario Prioritization Scenario Refinement
QAW Method Steps • اطلاعات کسب شده از Quality Attribute WorkShopدر موارد زیر قابل استفاده می باشد : • جهت به روز رسانی دیدگاه معماری • تصویه و تصحیح نیازمندی های نرم افزار و سیستم • کمک به راهبرد و توسعه توابع اولیه سیستم • درک و روشن کردن درایورهای معماری سیستم • توصیف عملیات سیستم