DESIGN AND IMPLEMENTATION OF A SOFTWARE

9m ago
37 Views
0 Downloads
2.99 MB
157 Pages
Last View : 2d ago
Last Download : n/a
Upload by : Azalea Piercy
Share:
Transcription

DESIGN AND IMPLEMENTATION OF A SOFTWARE DEVELOPMENTPROCESS MEASUREMENT SYSTEMA THESIS SUBMITTED TOTHE GRADUATE SCHOOL OF NATURAL AND APPLIED SCIENCESOFTHE MIDDLE EAST TECHNICAL UNIVERSITYBYÖZGÜR ERALPIN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR DEGREE OFMASTER OF SCIENCEINTHE DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERINGJANUARY 2004

Approval of the Graduate School of Natural and Applied SciencesProf. Dr. Canan ÖzgenDirectorI certify that this thesis satisfies all the requirements as a thesis for thedegree of Master of Science.Prof. Dr. Mübeccel DemireklerHead of DepartmentThis is to certify that we have read this thesis and that in our opinion it isfully adequate, in scope and quality, as a thesis for the degree of Master ofScience.Prof. Dr. Semih BilgenSupervisorExamining Committee MembersProf. Dr. Uğur HalıcıProf. Dr. Semih BilgenAssoc. Prof. Dr. Onur DemirörsAsst. Prof. Dr. Cüneyt BazlamaçcıLevent Alkışlar (Ms.)ii

ABSTRACTDESIGN AND IMPLEMENTATION OF A SOFTWAREDEVELOPMENT PROCESS MEASUREMENT SYSTEMERALP, ÖzgürMSc. , Department of Electrical and Electronic EngineeringSupervisor: Prof. Dr. Semih BİLGENJanuary 2004, 142 pagesThis thesis study presents a software measurement program. Theliterature on software measurement is reviewed. Conditions for aneffective implementation are investigated. A specific measurement systemis designed and implemented in ASELSAN, Inc. This has involvedorganizational as well as technical work. A software tool has beendeveloped to assist in aggregating measurements obtained from variousCASE tools in use. Results of the implementation have started to beachieved. Lots of useful feedbacks have been returned to the organizationas a result of analyzing of the measurement data.Keywords: Software Measurement, Software Metric, PSM, GQMiii

ÖZYAZILIM GELİŞTİRME SÜRECİ İÇİN BİR ÖLÇÜM SİSTEMİTASARIMI VE GERÇEKLEŞTİRİLMESİERALP, ÖzgürYüksek Lisans, Elektrik ve Elektronik Mühendisliği BölümüTez Yöneticisi: Prof. Dr. Semih BİLGENOcak 2004, 142 sayfaBu tez çalışması, bir yazılım ölçüm programını sunmaktadır. Yazılımölçümü ile ilgili literatür incelenmiş, ve etkili bir uygulama için şartlararaştırılmıştır. ASELSAN AŞ özelinde bir ölçüm sistemi tasarlanmış veorganizasyonda uygulanmıştır. Bu, hem organizasyonel hem de teknikçalışmayı içermektedir. Kullanımdaki çeşitli CASE araçlarından eldeedilen ölçüm verilerinin analizini kolaylaştırmak amacı ile bir mprogramınınsonuçlarınaerişilmeye başlanmıştır. Verilerin analiz edilmesiyle, organizasyona birçokyararlı bilgi geri dönüşü gerçekleşmektedir.Anahtar Kelimeler: Yazılım Ölçüm, Metrik, PSM, GQMiv

ACKNOWLEDGEMENTSI would like to thank the following people: Prof. Dr. Semih Bilgen, for his help, professional advice provement stages of this thesis. This thesis would not becompleted without his guidance and support. The members of PAT-G team in MST Division of ASELSAN Inc.that are Levent Alkışlar, Ayşın Zaim, Özgü Özköse Erdoğan, GülizAykut, Aydan Doğru, Zühre Yılmazer, for their contributions onthis study. My parents, Avni and Semahat Eralp; my brother, Arda Eralp, fortheir great encouragement and continuous morale support.v

TABLE OF CONTENTABSTRACT .iiiÖZ. ivACKNOWLEDGEMENTS . vTABLE OF CONTENT. . viLIST OF FIGURES . ixLIST OF TABLES . xiLIST OF ABBREVIATIONS AND ACRONYMS. xvCHAPTER1.2.INTRODUCTION.11.1.Measurement Process .11.2.The Purpose and Scope of the Study.51.3.Basic Measures.61.4.Types of Metrics .81.5.Outline .9INITIATION STAGE .112.1.The Organizational Goals .112.2.How? .132.3.Applications At Industry .15vi

2.4.3.4.5.At the Organization .16ANALYSIS STAGE.193.1.Introduction to Analysis Stage .193.2.Identify Project Issues.213.3.Prioritize Issues .243.4.Mapping to Common Issues.273.5.Measurement Scope .30DESIGN STAGE .314.1.Introduction to the Design Stage .314.2.Issue Measure Mapping .334.3.Schedule Measures.374.4.Product Quality Measures .484.5.Resource and Cost Measures.534.6.Size and Stability Measures .594.7.Roles and Responsibilities .674.8.Tailoring .69BUILD STAGE.715.1.Introduction to Build Stage.715.1.1.Characterize Environment .735.1.2.Identify Measurement Opportunities .745.1.3.Specify Measurement Implementation Requirements .755.2.Measurement Plan For System41 Project.77vii

6.7.5.2.1.Introduction .775.2.2.Project Description .775.2.3.Measurement Roles and Responsibilities .775.2.4.Description of Project Issues.775.2.5.Measurement Specifications .805.2.6.Reporting Mechanisms and Periodicity.97IMPLEMENTATION STAGE .986.1.User’s Guide for The YazOlc-Yardim Tool .986.2.Historical Data Collection .996.2.1.Reports of Problem Report Status Measurement .996.2.2.Overview of the Problem Report Status Measurement.1036.2.3.Reports of Defects Measurement .1056.2.4.Overview of the Defects Measurement .1106.2.5.Review Status Measurement .1126.2.6.Overview of the Review Status Measurement .1136.2.7.Source File and Complexity Measurements.114DISCUSSION AND CONCLUSIONS .119REFERENCES .127APPENDICES .129A - YAZOLC-YARDIM .129B - MEASUREMENT REPORT .142viii

LIST OF FIGURESFigure1 - Measurement Process Life-Cycle . . 22 - Basic Measures 63 - Types of Metrics . . 84 - The Issue Identification Model . . 225 – Selecting Measures . 326 – Measurement Selection Mechanism . . 337 – The Three Components of a Measurement Program . 698 - Evolution of Project Issues 719 - Sub-Tasks of Build Stage . 7210 - An Overview of the Measurement Process . . 7911 - System11 Measurement Result . . 10012– System60 Measurement Result . 10113 – System20 Measurement Result . 10214 – Histograms of All Measurement Results . . 10315 – System20 Defects Measurement Results . . 10616 – System37 Defects Measurement Results . . 108ix

17 – DSP SCU Measurement Result . . 11318 – Control SCU Measurement Result . . 11619 – DSP SCU Measurement Result . . . 118x

LIST OF TABLESTable1 - The Goals and Issues Relations . . 142 - The Organizational Goals and Issue(s) . . 253 - Issue Prioritization . . . 264 - Goal and Common Issue Relation . . 275 – Common and Related Issues . . 296 – Prioritized Goals . . 297 – Measurement Categories and Related Questions . . 348 - Common Issue Mapping to Categories . . 359 - Related Issues and Measurement Categories . . 3510 - I-C-M Mapping . . 3611 - Schedule Measurement Candidates . . . . 3812– The Milestone Dates Measure . . . 4113 – The Requirements Status Measure . . 4214 – The Problem Report Status Measure . . . 4315 – The Review Status Measure . . . 4416 – The Change Request Status Measure . . . 4517 – The Component Status Measure . . . 46xi

18 – The Test Status Measure . . . 4719 – Product Quality Measurement Candidates . . . 4820 - The Defects Measure . . 5021 - The Technical Performance Measure . . . . 5122– The Cyclomatic Complexity Measure . . 5223 – Resource and Cost Measurement Candidates . . 5424 – The Effort Measure . . 5625 – The Staff Experience Measure . . 5726 – The Staff Turnover Measure . . . 5827 – Product Size and Stability Measurement Candidates . 6028 – The Database Size Measure . . 6229 – The Components Measure . . . 6330 - The Interfaces Measure . . 6431 - The Source File Measure . . . . . 6532– The Requirements Measure . . . 6633 – Data Sources in MST Division . . . 7534 – Common and Related Issues . . 7835 – Prioritized Goals . . . 7836 – Milestone Dates Specification . . . . 8037 – Requirements Status Specification . . 8138 – Problem Report Status Specification . . . 82xii

39 – Review Status Specification . . . . 8340 - Change Request Status Specification . 8441 - Component Status Specification . . . . 8542– Test Status Specification . . . . 8643 – Defects Specification . . . 8744 – Technical Performance Specification . . . 8845 – Cyclomatic Complexity Specification . . . 8946 – Effort Specification . . . 9047 – Staff Experience Specification . . 9148 – Staff Turnover Specification . . . 9249 – Database Size Specification . . . . 9350 - Components Specification . . . 9451 - Interfaces Specification . . . . 9552– Source File Specification . . . . 9653 – Requirements Specification . . . 97xiii

LIST OF ABBREVIATIONS AND ACRONYMSASELSAN Military Electronics Industry in TurkeyCASEComputer Aided Software EngineeringCMMCapability Maturity ModelCOTSCommercial Off-The-ShelfDSPDigital Signal ProcessingGQMGoal Question MetricGUIGraphical User InterfaceI-C-MIssue - Category - MeasureIECInternational Electrotechnical CommissionISOInternational Organizational for StandardizationKALDERTurkish Quality AssociationLOCLine of CodeMicrowave and System Technologies Division inMSTASELSAN Inc.NASANational Aeronautics and Space AdministrationPAT-GOne of Process Action Teams in YİE, called GPSMPractical Software MeasurementQAQuality Assurancexiv

QIPQuality Improvement ParadigmSCUSoftware Configuration UnitSDDSoftware Design DocumentSDPSoftware Development PlanSELSoftware Engineering LaboratorySIDDSoftware Interface Design DocumentSLOCSource Lines of CodeSRSSoftware Requirement SpecificationWBSWork Breakdown StructureYİESoftware Process Group in ASELSAN Inc.YMMSoftware Engineering Department in ASELSAN Inc.YTSoftware Test Department in ASELSAN Inc.xv

CHAPTER 1INTRODUCTION1.1.Measurement ProcessSoftware measurement plays an important role in whole softwaredevelopment activities. Paul Goodman, writer of Practical Implementationof Software Metrics, claims that the role of software metrics is to enableengineers and managers to survive in today’s business environment [9].Measures that are obtained as a result of measurement are the numbers usedto create the metrics, and the metrics are the numbers turned intoinformation. Managers need a basis for evaluating product quality andanalyzing issues or problems, and a foundation for quantitative control dition,measurement provides the insight a manager needs to make decisionscritical to project success [5]. Effective measurement programs help andsucceed them by enabling to develop achievable plans.1

In 1987 Gabriel Pall defined a process as the logical organization of people,materials, energy, equipment, and procedures into work activities designedto produce specified end results [6].The Figure 1 indicates measurement process life-cycle ([3],[5],[9]). The stagesvery resemble well-known software development life-cycle steps. This factshould not be surprising, because before starting implementation, analysisand design are fundamental stages in software engineering.Figure 1 - Measurement Process Life-CycleThe first stage of measurement process, called “Initiation”, is described inChapter 2 in detail. In this stage, the analyst, who can be a person or group,should understand all organizational goals clearly, since the analyst tailorsmeasurement process in direction of these goals. If the costume is not2

suitable, the organization can not put it on. Besides understanding, theanalyst should obtain organizational support and required equipments formeasurement program must be provided.According to the KALDER survey in Turkey about difficulties in softwaremeasurement, the most encountered difficulties are in data collectionprocess, organizational participation and support. The other difficulties arein analysis of the gathered data and the measurement plan [7].In the “Analysis” stage, which is described in Chapter 3 in detail, projectissues must be identified and prioritized. Also, the measurement scopeshould be well-defined according to project(s), and phase(s) of software lifecycle. Not excess, only adequate measures should be implemented toaddress those issues.In the “Design” stage, which is described in Chapter 4 in detail, selectingappropriate measures is very critical for the measurement process. Onlyrequired and applicable measures should be implemented based on theissues and objectives of the organization. The roles and responsibilities arealso identified in this stage.The measurement roles and responsibilities bring additional costs to budget.The source of data brings 2 %, analysis and packaging brings 7 %, andtechnical support brings 4 % additional costs over budget approximately [4].3

The output of the “Build” stage is a Measurement Plan. This plan is activelyused at rest of the measurement process. This stage is described at Chapter 5in details.The last stage of software measurement process, called “Implementation”, isdescribed at Chapter 6 in details. There are 3 sub-tasks in this stage. Collect Data: At first, the data or information should be takenfrom source (Access Data), then ensure that the accessed data isrelevant to requirements (Verify Data), finally normalize them touse in analysis (Normalize Data) [5]. Analyze Issues: This sub-task has some direct relations handstability, resources and cost, schedule and progress and productquality. Estimation produces projections of software size, effort,schedule and quality. Feasibility Analysis deals with the technicalaccuracy and realism of plans, estimates or assumptions.Performance Analysis determines if the project is meeting targetsand goals. Make Decision: It includes reporting, alternative selection andaction. Not every analysis result requires action [5]. The oneimportant point is that people are the most significant factor insoftware measurement success [11]. While making a decision, thispoint should not be disregarded.4

1.2.The Purpose and Scope of the StudyIn this thesis study, a software measurement program has been designed,and then implemented in order to provide a software development processmeasurement system at YMM Departments of MST Division in ASELSANInc. The objective of the study is to demonstrate the viability of softwaremeasurement process life-cycle in an existing organization.There are three key reasons for implementing a software measurementprogram [4]. Understanding: The fundamental requirement is to gatherinformation about what organization does and how it operates.Better understanding leads to better management of softwareprojects and improvements in process. It supports the managersmake correct decisions. Management: Measurement is intended to help the projectmanager, to make a reasonable decision, not to make an automaticdecision. Measurement also assists management processes such asplanning, estimating, tracking and validating. Guiding Improvement: The primary objective of any softwareengineering organization is to produce a high-quality productwithin schedule and budget. This goal can be achieved byimproving the software development process. Process improvementcan be accomplished by modifying managerial or technical5

processes. By measurement program, the organization can findweak points in its processes.Different levels within the same organization have different informationneeds. Executive managers usually make investment decisions with respectto software process technology and tools. Project managers make decisionsabout specific technologies and

SDD Software Design Document SDP Software Development Plan SEL Software Engineering Laboratory SIDD Software Interface Design Document SLOC Source Lines of Code SRS Software Requirement Specification WBS Work Breakdown Structure YİE Software Process Group in ASELSAN Inc. YMM