فهرست مندرجات
چکیده ۱
مقدمه ۲
فصل اول: کلیات تحقیق ۴
۱-۱بیان مسئله ۵
۱-۲اهمیت و ضرورت تحقیق ۷
۱-۳ اهداف تحقیق ۷
۱-۴ پیشینه تحقیق.. ۶
۱-۵ روش کار تحقیق ۱۰
۱-۶ تعاریف. ۸
۱-۷ ساختار پایان نامه ۱۱
فصل دوم: آشنایی با ادبیات موضوع ۱۳
۲-۱ مقدمه ۱۱
۲-۲ مهندسی نرم¬افزار ۱۱
۲-۳ چرخه تکوین نرم¬افزار ۱۳
۲- ۳- ۱ چرخه حیات محصول ۱۴
۲- ۳- ۲ در صورت نبود چرخه حیات محصول ۱۴
۲-۳-۳ مراحل و فازهای چرخه حیات نرم¬افزار ۱۸
۲- ۳ – ۴ مدلهای چرخه حیات محصول ۱۹
۲- ۳- ۵ استانداردهای چرخه حیات نرم¬افزار ۲۰
۲ -۴ کیفیت ……………………………………………………………………………..۲۹ ۲
۲- ۴- ۱ مفهوم کیفیت………………………………………………………………………۴۰
۲- ۴- ۲ کیفیت نرم افزار ۴۰
۲- ۴- ۳ اهمیت کیفیت نرم¬افزار ۴۱
فصل سوم: متریک¬های نرم¬افزاری ۴۲
۳-۱مقدمه ۴۳
۳- ۲- ۱ انواع متریک¬ها ۴۴
۳- ۳ متدولوژی ۳۹
۳- ۴ انواع محصولات نرم¬افزاری ۵۰
۳-۵ روش¬های تولید نرم¬افزار ۴۵
۳- ۶ انواع ساختارهای تشکیلاتی ۴۶
۳- ۷ مستندات ۴۸
فصل چهارم: الگوی پیشنهادی ۶۰
۴- ۱ مقدمه ۶۱
۴- ۲ اندازه¬گیری ۶۲
۴- ۲– ۱ فرآیند اندازه¬گیری ۶۳
۴- ۳ اهداف الگوی پیشنهادی ۶۴
۴- ۳-۱ الگوی پیشنهادی ۶۵
۴- ۳- ۲ پیشنهاد سیکل متریک¬های نرم¬افزاری بر طبق چرخه برنامه¬ریزی/اجرا/ بررسی/ اقدام اصلاحی ۵۷
۴- ۳- ۳ استاندارد ۱۲۲۰۷ ISO/IEC به عنوان پایه الگو ۷۰
۴- ۳- ۴ ویژگیهای الگو ۷۷
فصل پنجم: نتایج و ارزیابی ۷۹
۵- ۱ مقدمه ۷۹
۵- ۲ متریک¬های مدیریت ۷۳
۵- ۳ متریک¬های ریسک ۷۳
۵- ۴ وزن¬دهی به زیر متریک¬های تعریف¬شده ۸۱
۵- ۵ روند ارزیابی، تحلیل و نمایش نتایج ۸۶
۵- ۵-۱ نمونه¬سازی سه پروژه جهت پایش متریک¬های پیشنهادی
۸۶۵- ۵- ۳ نتایج بدست آمده از سه پروژه در خصوص متریک¬های مدیریت ۹۸
۵- ۵- ۴ مقایسه سه پروژه در خصوص متریک¬های ریسک و مدیریت ۹۹
فصل ششم: بحث و نتیجه¬گیری ۱۰۰
۶-۱ مقدمه ۱۰۱
۶-۲ دستاورد پایان¬نامه ۱۰۱
۶-۳ پیشنهادات آتی ۱۰۲
پیوست الف ۱۰۳
پیوست ب ۱۱۶
پیوست ج ۱۳۴
فهرست¬نام¬ها ۱۵۹
منابع و ماخذ ۱۷۰
چکیده انگلیسی………………………………………………………………………………….۱۶۷
فهرست شکل ها
شکل۲-۱: فاز¬های چرخه تولید نرم¬افزار…………………………………………………………………………….۱۷
شکل۲-۲: ساختار استاندارد ایزو ۱۲۲۰۷:۲۰۰۸٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫۲۸
شکل ۳-۱: حوزه¬های دانش مدیریت پروژه……………………………………………………………………..۳۹
شکل۴-۱: بخش¬بندی یک فرآیند به فعالیت¬های برنامه¬ریزی/اجرا/بررسی/ اقدام اصلاحی……………………………….۵۶
شکل۴-۲: پیشنهاد سیکل متریک¬های نرم¬افزاری بر طبق مدل برنامه¬ریزی/اجرا/بررسی/ اقدام اصلاحی……………..۵۸
شکل۴-۳: سطح اول الگوی پیشنهادی…………………………………………………………………..۵۹
شکل۴-۴: سطح دوم الگوی پیشنهادی…………………………………………………………………………………۶۰
شکل۴-۵: سطح سوم الگوی پیشنهادی…………………………………………………………………………..۶۱
شکل۴-۶: وظایف، فعالیت اکتساب……………………………………………………………………………….۶۲
شکل۴-۷: وظایف، فعالیت عرضه……………………………………………………………………………..۶۳
فهرست جداول
جدول۲-۱: استاندارد¬های ایزو در مدیریت پروژه و کیفیت نرم¬افزار……………………………………………………۲۴
جدول۳-۱: انواع محصولات نرم¬افزاری و ویژگی¬هایشان…………………………………………………………………..۴۵
جدول۳-۲: روش¬های تولید نرم¬افزار و ویژگی¬هایشان……………………………………………………………………….۴۷
جدول۳-۳: انواع ساختار¬های تشکیلاتی و ویژگی¬هایشان………………………………………………………………….۴۹
جدول۵-۱: متریک¬های ریسک و وزن¬دهی به زیرمتریک¬هایش………………………………………………………….۷۷
جدول۵-۲: متریک¬های مدیریت و وزن¬دهی به زیر¬متریک¬هایش………………………………………………………..۷۸
جدول۵-۳: امتیازدهی به متریک ریسک پروژه ۱ ……………………………………………………………………………۸۲
جدول۵-۴: امتیازدهی به متریک ریسک پروژه ۲٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫۸۳
جدول۵-۵: امتیازدهی به متریک ریسک پروژه ۳٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫۸۴
جدول۵-۶: امتیازدهی به متریک مدیریت پروژه ۱٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫۸۶
جدول۵-۷: امتیازدهی به متریک مدیریت پروژه ۲٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫۸۸
جدول۵-۸: امتیازدهی به متریک مدیریت پروژه ۳٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫۹۰
فهرست نمودار ها
نمودار ۵-۱: مقایسه ۳ پروژه در امتیازدهی به متریک ریسک…………………………………………………………۸۵
نمودار۵-۲: مقایسه ۳ پروژه در امتیازدهی به متریک مدیریت………………………………………………………..۹۲
نمودار۵-۳: مقایسه ۳ پروژه در امتیازدهی به متریک¬های ریسک و مدیریت……………………………………۹۳
مديريت ريسك در تمام دوره حيات نرم افزار نقش پررنگي در موفقيت پروژه ها ايفا مي كند يكي از ضعفهايي كه درمديريت ريسك سبب كاهش توجه مهندسين نرم افزار و متعاقبا كاهش نظارت برريسك ها مي شود عدم وجود معيارهاي قابل اندازه گيري است ريسكهاي نرم افزاري نيز مانند هر عرصه ديگري كه نيازمند ارزيابي هستند بايد براساس كميت هاي عددي بيان شوند.
کیفیت نرمافزار، شاخص حیاتی و مهمی برای تولید نرمافزارها است که ضمن بالابردن
بهرهوری، به ایجاد نرمافزارهای قدرتمند و شکستناپذیر منجر میگردد. به طوری که میتوان گفت تضمین کیفیت مهمترین اصل و برنامه در تولید نرمافزارها است.
راهکاری که به منظور تضمین کیفیت نرمافزار و ارتقا آن پیشنهاد میگردد،مقولهی اندازهگیری است. ما حصل فرآیند اندازهگیری بدست آوردن مجموعهای از متریکها است.
متریکهای نرمافزاری، کاربردی پیوسته از تکنیکهای مبتنی بر اندازهگیری در فرآیند توسعه نرمافزار به منظور فراهم کردن به موقع اطلاعات مدیریتی معنادار به همراه بکارگیری این تکنیکها در بهبود فرآیند هستند. بنابراین نیازمند استخراج متریکهای مربوطه در راستای هدف مورد نظر هستیم.
از آنجا که مدیریت نرم افزار اساسی ترین مقوله در روند فرآیند توسعه نرم افزار است و افزایش کیفیت آنها با کاهش ریسک امکان پذیر است ، پس شناسایی متریک های ریسک از این جنبه بسیار حائز اهمیت است.
در این پایاننامه، با مد نظر قرار دادن اهمیت وجود متریکهای محصول نرمافزاری، با بهرهگیری از مدل فرآیندهای چرخه حیات نرمافزار استاندارد بینالمللیISO/IEC 12207و فرآیندگستره دانش مدیریت پروژه PMBOK الگویی به منظور تعیین متریک های ریسک محصولات نرم افزاری ارائه شده است . سپس از متریک های ریسک بدست آمده در ارزیابی محصول استفاده شده است
کلمات کلیدی: شاخص کلیدی عملکرد ، شاخص کلیدی ریسک ، استاندارد ISO 112207 ، گستره دانش مدیریت پروژهPMBOK
Abstract
Software quality is an important criteria in producing softwares which increases productivity and results in powerful and invincible softwares. We can say that quality assurance is the main principle and plan in software production.
Solution which is suggested for quality assurance and improvement of software is measurement. The result of measurement process is to acquire a set of metrics.
Software metrics are continuous usage of techniques based on measurement in software development process and products in order to provide timely and significant management information, with using these techniques in improvement of process and it’s products. Therefore we need derivation of respective metrics in order to achieve our goal.
Considering the importance of software metrics, utilization of international standard software life cycleprocess model(ISO/IEC 12207) and measurement process of Plan/Do/Check/Act in order to monitor software production cycle is presented in this thesis.
Further, presentation of sample submetrics for evaluating the risk and management metrics as essential elements for controlling software Development process and a function has been derived for controlling qualitative values into quantitative ones.
Keywords:Software Metrics, Measurement, Software Development Process,
ISO/IEC 12207
مقدمه
امروزه برای هر شرکتی که با موضوع فناوری اطلاعات و صنعت نرمافزار سروکار دارد، توسعه و بهبود کیفیت محصول نرمافزاری و افزایش کارایی و بهرهوری افراد درگیر با آن به امر مهمی تبدیل شده است. همزمان با قدرتمند شدن کامپیوترها، تقاضا برای نرمافزارهای قویتر نیز افزایش یافتهو به دلیل این که فناوری نقش بسیار حیاتی در پیشبرد کسبوکار ایفاد میکند، مشکلاتنرمافزار، مشکلات مهمی محسوب میشوند که بر روی عملکرد بسیاری از شرکتها تاثیر گذارند.امروزه، بسیاری از شرکتها دریافتند که اغلب مشکلاتنرمافزاری، تکنیکی هستند و مهندسی
نرمافزار متفاوت با سایر مهندسیها است؛ زیرا محصولات نرمافزاری فکری بوده اما محصولات سایر مهندسیها و دیگر علوم ملموس و فیزیکی هستند. در مرکزیت هر مهندسی، اندازهگیری وجود دارد که روشی بر پایه استانداردها یا قراردادهای شناخته شده است. اگر به اندازهگیری کارایی سیستم، میزان کارآمد بودن سازمان یا شرکت یا حتی دادههایی که مورد استفاده قرار میگیرند نپردازیم، مسلما امکان کنترل روند کار را نخواهیم داشت که در نتیجه، اعمالی که به منظور پیشرفت انجام میشوند تنها بر مبنای حدس و تخمین خواهند بود. چرا که تنها ثبت اطلاعات امروز است که امکان مقایسه را فراهم میآورد. همانطور که پاتریک هنری نیز با گفتهی خود، این مطلب را تایید میکند:
" هیچ راهی را برای قضاوت در آینده نمیشناسم، مگر با استفاده از گذشته".
اندازهگیری را میتوان در سرتاسر پروژه نرمافزاری به هدف بهبود بخشیدن فرآیند نرمافزاری، کنترل کیفیت، ارزیابی بهرهوری و کنترل پروژه به کار برد. استفاده از اندازهگیری به مهندس نرمافزار در ارزیابی محصولات فنی یاری رسانده و وی را قادر به تصمیمگیری تاکتیکی به موازات پیشرفت پروژه میسازد. در این میان، متریکهای نرمافزاری گستره وسیعی از اندازهگیریها را برای
نرمافزارهای کامپیوتری در بر میگیرند. میتوان چنین بیان نمود که تلاش جهت بهبود فرآیندهای یک سازمان، بدون ابزار مناسب اندازهگیری، متریکهای صحیح و استانداردهای عملکرد، کاری بیهوده است.
لذا ارائه الگویی مطابق با استانداردها که بتوان با استناد و استفاده از آن به کنترل و پایش محصول نرمافزاری پرداخته و راهی را جهت رفع مشکلات ناشی از عدم توجه به این مقوله مهم بیان نمود، ضروری است.
|