100 likes | 325 Views
تمرينات سری 1. درس معماری سيستم های بزرگ نرم افزاری افشين لامعی دانشجوی دکتری نرم افزار 86231905. سئوال: تعريف Metric ، Measurement و Indicator با ارائه منبع. Metric : يک مقياس است که بيان میکند يک بخش از نرم افزار يا توصيف آن تا چه مقدار از يک Property خاص را دارا است.
E N D
تمرينات سری 1 درس معماری سيستم های بزرگ نرم افزاری افشين لامعی دانشجوی دکتری نرم افزار 86231905
سئوال: تعريف Metric ، Measurement و Indicator با ارائه منبع • Metric : يک مقياس است که بيان میکند يک بخش از نرم افزار يا توصيف آن تا چه مقدار از يک Property خاص را دارا است. • منبع: Demarco, Tom: Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-17171-1. افشين لامعی، آزمايشگاه سيستم های هوشمند
... تعريف Metric ، Measurement و Indicator با ارائه منبع • Measurement : عمل يا فرآيند اندازه گيری، همچنين نتيجه به دست آمده که با مقدار عددی نمايش داده میشود. • Indicator : شاخصی که بر اساس آن نتيجه مقايسه و اندازه گيری انجام شده مشخص میشود. افشين لامعی، آزمايشگاه سيستم های هوشمند
مثالی از Metric http://www.sqa.net/softwarequalitymetrics.html افشين لامعی، آزمايشگاه سيستم های هوشمند
مثال از Indicator افشين لامعی، آزمايشگاه سيستم های هوشمند
سئوال: انواع سيستم های نرم افزاری • از منظر نحوه توليد: • بسته (Package) : سيستمی که در Software House توليد و به مشتريان مختلف فروخته میشود. مثل يک بسته حسابداری يا پورتال. • Tailor Made : سيستمی که به سفارش مشتری و خاص او توليد میشود. • از منظر دانش تيم توسعه: • New Concept : سيستمی که تيم توسعه شناخت پيشين نسبت به آن ندارد. • Scratch System : تيم توسعه دهنده از پيش شناخت دارد و بلافاصله میتواند شروع به توليد سيستم نمايد. افشين لامعی، آزمايشگاه سيستم های هوشمند
سئوال: انواع سيستم های نرم افزاری • از منظر کاربرد: • نرم افزارهای سيستمی • نرم افزارهای مهندسی • نرم افزارهای Real Time • نرم افزارهای Embedded • از منظر قيمت: • Freeware • Shareware • از منظر دسترسی به Source : • Open source • Closed Source افشين لامعی، آزمايشگاه سيستم های هوشمند
سئوال: Metric های سيستم های نرم افزاری • Number of Classes • Total number of classes in the selected scope • Number of Children • Total number of direct subclasses of a class. A class implementing an interface counts as a direct child of that interface • Number of Interfaces • Total number of interfaces in the selected scope • Depth of Inheritance Tree (DIT) • Distance from class Object in the inheritance hierarchy. • Number of Overridden Methods (NORM) • Total number of methods in the selected scope that are overridden from an ancestor class افشين لامعی، آزمايشگاه سيستم های هوشمند
سئوال: Metric های سيستم های نرم افزاری • Number of Methods (NOM) • Total number of methods defined in the selected scope • Number of Fields • Total number of fields defined in the selected scope • Lines of Code • since version 1.3.6 Lines of code has been changed and separated into:TLOC: Total lines of code that will counts non-blank and non-comment lines in a compilation unit. usefull for thoses interested in computed KLOC. MLOC: Method lines of code will counts and sum non-blank and non-comment lines inside method bodies • Specialization Index • Average of the specialization index, defined as NORM * DIT / NOM. This is a class level metric • McCabe Cyclomatic Complexity • Counts the number of flows through a piece of code. Each time a branch occurs (if, for, while, do, case, catch and the ?: ternary operator, as well as the && and || conditional logic operators in expressions) this metric is incremented by one. Calculated for methods only. For a full treatment of this metric see McCabe. • Weighted Methods per Class (WMC) • Sum of the McCabe Cyclomatic Complexity for all methods in a class • Lack of Cohesion of Methods (LCOM*) • A measure for the Cohesiveness of a class منبع: http://metrics.sourceforge.net افشين لامعی، آزمايشگاه سيستم های هوشمند
سئوال: مثالی برای هر يک از خصوصيات سيستم های بزرگ • سيستم يکپارچه نامه نگاری اداری (سينا) که برای پروژه هم انتخاب شده است: • کارکرد پيچيده و گسترده: مديريت کليه مکاتبات اداری درون استانی شرکت مخابرات شامل نامه های عادی و محرمانه، ارجاعات، وظايف، مديريت پيام ها و صندوق صوتی کارمندان و ... • انتظارات سطح بالا در نيازمندی های غيرکارکردی: Availability ، Security، Usability و ... • نياز به اطلاعات گسترده: کليه فرآيندها و مکاتبات مرسوم اداری، سطوح دسترسی به اطلاعات مکاتبه شده، ارجاعات مجاز، حق امضاها و ... در سطح استان • توزيع شدگی پردازش ها و اطلاعات: نرم افزار برای تمام کارمندان اداری در سطح استان نصب میشود و تمام تراکنش ها از محل های جغرافيايي مختلف به سرور مرکزی میرسد. حجم اطلاعات و تعداد کاربران همزمان سيستم بسيار بالا است. • عدم يکپارچگی سخت افزارها و سيستم ها: کلاينت های کارمندان دارای سخت افزارهایی با قدرت پردازش متفاوت و انواع سيستم عامل های ويندوزی هستند. افشين لامعی، آزمايشگاه سيستم های هوشمند