22
1 ار ز ف رم ا ن در ت ي ف ي ک ن ي م ض ت ار ز ف رم ا ن در ت ي ف ي ک ن ي م ض ت ی ح ل صا مان! ر" ن ش ه% ’ب ي ارد1386

تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

Embed Size (px)

DESCRIPTION

تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386. کيفيت. در فرهنگ لغات کيفيت دارای تعبير زير می باشد ”ويژگی ها و يا مشخصات يک چيز“ در مورد نرم افزار 2 نوع کيفيت مطرح می باشد: کيفيت طراحی که شامل نيازمنديها، توصيفات ، و طراحی سيستم می باشد. - PowerPoint PPT Presentation

Citation preview

Page 1: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

1

تضمين کيفيت در نرم افزارتضمين کيفيت در نرم افزار

پژمان صالحی

1386ارديبهشت

Page 2: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

2

کيفيتکيفيتدر فرهنگ لغات کيفيت دارای تعبير زير می باشددر فرهنگ لغات کيفيت دارای تعبير زير می باشد

“ويژگی ها و يا مشخصات يک چيز“”ويژگی ها و يا مشخصات يک چيز” نوع کيفيت مطرح می باشد: نوع کيفيت مطرح می باشد:22در مورد نرم افزار در مورد نرم افزار

که شامل نيازمنديها، توصيفات ، و طراحی سيستم می که شامل نيازمنديها، توصيفات ، و طراحی سيستم می کيفيت طراحیکيفيت طراحی باشد. باشد.

ک@ه بيشتر بر پياده سازی تاکيد دارد. ک@ه بيشتر بر پياده سازی تاکيد دارد.کيفيت همنواييکيفيت همنوايي رضايت مشتری = توليد محصول + کيفيت باال + تحويل طبق برنامه با رضايت مشتری = توليد محصول + کيفيت باال + تحويل طبق برنامه با

بودجه پيش بينی شدهبودجه پيش بينی شده

Page 3: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

3

کيفيت نرم افزارکيفيت نرم افزار

کيفي@ت نرم افزار شامل کارکردهای مورد انتظار کيفي@ت نرم افزار شامل کارکردهای مورد انتظار مستندات انتظار، مورد کاراي@@ي مستندات س@@يستم، انتظار، مورد کاراي@@ي س@@يستم،

اس@تاندارد توس@عه و کلي@ه انتظارات@ی ک@ه در داخل اس@تاندارد توس@عه و کلي@ه انتظارات@ی ک@ه در داخل تيم توسعه وجود دارد تيم توسعه وجود دارد

Page 4: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

4

هزينه کيفيتهزينه کيفيتهزينه های پيشگيریهزينه های پيشگيری

quality planningquality planningformal technical reviewsformal technical reviewstest equipmenttest equipmentTrainingTraining

هزينه های شکست داخلیهزينه های شکست داخلیreworkreworkrepairrepairfailure mode analysisfailure mode analysis

هزينه های شکست خارجیهزينه های شکست خارجیcomplaint resolutioncomplaint resolutionproduct return and replacementproduct return and replacementhelp line supporthelp line supportwarranty workwarranty work

Page 5: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

5

تضمين کيفيت تضمين کيفيت نرم افزارنرم افزار

مرور تکنيکی

آزمايش ومرور طرح

اندازه گيری

تحليل وگزارش گيری

تعريف فرآيند واستاداردهای آن

Page 6: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

6

SQASQAوظايف گروه وظايف گروه آماده سازی طرح آماده سازی طرحSQASQA

طرح بايد شاملطرح بايد شامل.ارزيابی هايي که بايد انجام گيرد.ارزيابی هايي که بايد انجام گيردمرورهايي که بايد انجام پذيردمرورهايي که بايد انجام پذيرداستانداردهايي که بايد در پرويه مورد توجه قرار گيزداستانداردهايي که بايد در پرويه مورد توجه قرار گيزدرويه هايي جهت رديابی و شناسايي خطارويه هايي جهت رديابی و شناسايي خطا مستنداتی که بايد توسط گروه مستنداتی که بايد توسط گروهSQASQAتوليد گردد توليد گردد .ميزان بازخوردی که به تيم نرم افزار منتقل می شود.ميزان بازخوردی که به تيم نرم افزار منتقل می شود

همکاری با تيم توسعه در زمينه تعريف فرآيند توليد همکاری با تيم توسعه در زمينه تعريف فرآيند توليدنرم افزارنرم افزار

گروه گروهSQASQA ،بايد فرآيند توسعه را به منظور پيروی از سياستهای سازمانی، بايد فرآيند توسعه را به منظور پيروی از سياستهای سازمانی استاندارهای داخلی در توسعه، و استاندارهای خارجی مرور کند.استاندارهای داخلی در توسعه، و استاندارهای خارجی مرور کند.

Page 7: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

7

SQASQA وظايف گروه وظايف گروه مرور فعاليتهای مهندسی نرم افزار برای اطمينان از مرور فعاليتهای مهندسی نرم افزار برای اطمينان از

پيروی اصولپيروی اصول.ميزان انحراف مستندات و رويه ها مش@خص می گردد.ميزان انحراف مستندات و رويه ها مش@خص می گردد

=انجام بازرسی در فرآيند توسعه نرم افزار به منظور= انجام بازرسی در فرآيند توسعه نرم افزار به منظورپيروی از اصول از پيش تعيين شده.پيروی از اصول از پيش تعيين شده.

.به صورت تصادفی يک سری از مستندات مورد بررسی قرار می گيرند.به صورت تصادفی يک سری از مستندات مورد بررسی قرار می گيرندبه صورت دوره ای گزارشاتی را برای مديريت پروژه ارائه شودبه صورت دوره ای گزارشاتی را برای مديريت پروژه ارائه شود

اطمينان از اينکه انحرافات موجود در فرآيند مستند ساز=ی اطمينان از اينکه انحرافات موجود در فرآيند مستند ساز=یشده و به آنها رسيدگی گردد.شده و به آنها رسيدگی گردد.

ثبت مواردی که به آنها رسيدگی نشده و گزارش آنها به ثبت مواردی که به آنها رسيدگی نشده و گزارش آنها بهمديريت ارشد.مديريت ارشد.

.موارد بايد پيگيری شوند تا از اجرای آنها اطمينان حاصل گردد.موارد بايد پيگيری شوند تا از اجرای آنها اطمينان حاصل گردد

Page 8: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

8

Why SQA Activities Pay Why SQA Activities Pay Off?Off?cost to findcost to find

and fix a defectand fix a defect100100

1010

loglogscalescale

11

Req.Req. DesignDesigncodecode

testtest systemsystemtesttest

fieldfielduseuse

0.750.75 1.001.001.501.50

3.003.00

10.0010.00

60.00-100.0060.00-100.00

Page 9: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

9

Reviews & InspectionsReviews & Inspections

... there is no particular reason... there is no particular reasonwhy your friend and colleaguewhy your friend and colleaguecannot also be your sternest critic.cannot also be your sternest critic.

Jerry WeinbergJerry Weinberg

Page 10: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

10

What Are Reviews?What Are Reviews?a meeting conducted by technical people a meeting conducted by technical people

for technical peoplefor technical peoplea technical assessment of a work a technical assessment of a work

product created during the software product created during the software engineering processengineering process

a software quality assurance mechanisma software quality assurance mechanisma training grounda training ground

Page 11: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

11

What Reviews Are NotWhat Reviews Are Not

A project summary or progress assessmentA project summary or progress assessmentA meeting intended solely to impart informationA meeting intended solely to impart informationA mechanism for political or personal reprisalA mechanism for political or personal reprisal!!

Page 12: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

12

The PlayersThe Playersreviewreviewleaderleader

producerproducer

recorderrecorder reviewerreviewer

standards bearer (SQA)standards bearer (SQA)

maintenance maintenance oracleoracle

user repuser rep

Page 13: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

13

Conducting the Conducting the ReviewReviewbe prepared—evaluate be prepared—evaluate

product before the reviewproduct before the review

review the product, not review the product, not the producerthe producer

keep your tone mild, ask keep your tone mild, ask questions instead of questions instead of making accusationsmaking accusations

stick to the review agendastick to the review agenda

raise issues, don't resolve themraise issues, don't resolve them

avoid discussions of style—stick to technical avoid discussions of style—stick to technical correctnesscorrectness

schedule reviews as project tasksschedule reviews as project tasks

record and report all review resultsrecord and report all review results

1.1.

2.2.

3.3.

4.4.

5.5.

6.6.

7.7.

8.8.

Page 14: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

14

Review Options MatrixReview Options Matrix

trained leadertrained leaderagenda establishedagenda establishedreviewers prepare in advancereviewers prepare in advanceproducer presents productproducer presents product““reader” presents productreader” presents productrecorder takes notesrecorder takes noteschecklists used to find errorschecklists used to find errorserrors categorized as founderrors categorized as foundissues list createdissues list createdteam must sign-off on resultteam must sign-off on result

IPR—informal peer review WT—WalkthroughIPR—informal peer review WT—WalkthroughIN—Inspection RRR—round robin reviewIN—Inspection RRR—round robin review

IPRIPR WTWT ININ RRRRRRnonomaybemaybemaybemaybemaybemaybenonomaybemaybenononononononono

yesyesyesyesyesyesyesyesnonoyesyesnonononoyesyesyesyes

yesyesyesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyes

yesyesyesyesyesyesnonononoyesyesnonononoyesyesmaybemaybe

**

*

Page 15: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

15

Sample-Driven Reviews (SDRs)Sample-Driven Reviews (SDRs)SDRs attempt to quantify those work products that are primary targets for SDRs attempt to quantify those work products that are primary targets for

full FTRsfull FTRs..To accomplish thisTo accomplish this… …

Inspect a fraction aInspect a fraction aii of each software work product, of each software work product, i. i. Record the number Record the number of faults, fof faults, fii found within a found within aii..

Develop a gross estimate of the number of faults within work product Develop a gross estimate of the number of faults within work product ii by by multiplying fmultiplying fii by 1/a by 1/aii..

Sort the work products in descending order according to the gross Sort the work products in descending order according to the gross estimate of the number of faults in eachestimate of the number of faults in each..

Focus available review resources on those work products that have the Focus available review resources on those work products that have the highest estimated number of faultshighest estimated number of faults..

Page 16: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

16

Metrics Derived from ReviewsMetrics Derived from Reviewsinspection time per page of documentationinspection time per page of documentationinspection time per KLOC or FPinspection time per KLOC or FP

errors uncovered per reviewer hourerrors uncovered per reviewer hourerrors uncovered per preparation hourerrors uncovered per preparation hour

errors uncovered per SE task (e.g., design)errors uncovered per SE task (e.g., design)number of minor errors (e.g., typos)number of minor errors (e.g., typos)

number of errors found during preparationnumber of errors found during preparation

number of major errorsnumber of major errors (e.g., nonconformance to req.) (e.g., nonconformance to req.)

inspection effort per KLOC or FPinspection effort per KLOC or FP

Page 17: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

17

Statistical Statistical SQASQA

ProductProduct& Process& Process

measurement

... an understanding of how to improve quality ...

Collect information on all defectsFind the causes of the defectsMove to provide fixes for the process

Page 18: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

18

Six-Sigma for Software Six-Sigma for Software EngineeringEngineering

The term “six sigma” is derived from six standard deviations—3.4 The term “six sigma” is derived from six standard deviations—3.4 instances (defects) per million occurrences—implying an instances (defects) per million occurrences—implying an

extremely high quality standardextremely high quality standard . .The Six Sigma methodology defines three core stepsThe Six Sigma methodology defines three core steps::

DefineDefine customer requirements and deliverables and project goals via customer requirements and deliverables and project goals via well-defined methods of customer communicationwell-defined methods of customer communication

MeasureMeasure the existing process and its output to determine current the existing process and its output to determine current quality performance (collect defect metrics)quality performance (collect defect metrics)

AnalyzeAnalyze defect metrics and determine the vital few causesdefect metrics and determine the vital few causes..ImproveImprove the process by eliminating the root causes of defects the process by eliminating the root causes of defects..Control the process to ensure that future work does not reintroduce

the causes of defects.

Page 19: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

19

Software ReliabilitySoftware ReliabilityA simple measure of reliability is A simple measure of reliability is mean-time-mean-time-

between-failurebetween-failure (MTBF), where (MTBF), where MTBF = MTTF + MTTRMTBF = MTTF + MTTR

The acronyms MTTF and MTTR are mean-time-to-failure and mean-time-to-repair, respectively.

Software availabilitySoftware availability is the probability that a is the probability that a program is operating according to requirements program is operating according to requirements

at a given point in time and is defined asat a given point in time and is defined asAvailability = [MTTF/(MTTF + MTTR)] x 100%

Page 20: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

20

Software SafetySoftware SafetySoftware safetySoftware safety is a software quality assurance is a software quality assurance

activity that focuses on the identification and activity that focuses on the identification and assessment of potential hazards that may affect assessment of potential hazards that may affect software negatively and cause an entire system software negatively and cause an entire system

to failto fail . .If hazards can be identified early in the software If hazards can be identified early in the software

process, software design features can be process, software design features can be specified that will either eliminate or control specified that will either eliminate or control

potential hazardspotential hazards..

Page 21: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

21

Mistake-ProofingMistake-ProofingPoka-yoke (mistake-proofing) devices—mechanisms

that lead to the prevention of a potential quality problem before it occurs

or the rapid detection of quality problems if they are introduced .

An effective poka-yoke device exhibits a set of common An effective poka-yoke device exhibits a set of common characteristicscharacteristics : :

It is simple and cheap.It is simple and cheap. If a device is too complicated or If a device is too complicated or expensive, it will not be cost effectiveexpensive, it will not be cost effective..

It is part of the process. It is part of the process. That is, the That is, the poka-yokepoka-yoke device is device is integrated into an engineering activityintegrated into an engineering activity..

It is located near the process task where the mistakes occur.It is located near the process task where the mistakes occur. Thus, it provides rapid feedback and error correctionThus, it provides rapid feedback and error correction..

Page 22: تضمين کيفيت در نرم افزار پژمان صالحی ارديبهشت 1386

22

ISO 9001:2000 StandardISO 9001:2000 StandardISO 9001:2000 is the quality assurance standard ISO 9001:2000 is the quality assurance standard

that applies to software engineeringthat applies to software engineering . .The standard contains 20 requirements that must The standard contains 20 requirements that must

be present for an effective quality assurance be present for an effective quality assurance systemsystem . .

The requirements delineated by ISO 9001:2000 The requirements delineated by ISO 9001:2000 address topics such asaddress topics such as

management responsibility, quality system, contract management responsibility, quality system, contract review, design control, document and data control, review, design control, document and data control,

product identification and traceability, process control, product identification and traceability, process control, inspection and testing, corrective and preventive action, inspection and testing, corrective and preventive action,

control of quality records, internal quality audits, training, control of quality records, internal quality audits, training, servicing, and statistical techniquesservicing, and statistical techniques..