UMD MSWE 609 - Evolving a Process for Inspecting OO Designs

Unformatted text preview:

1Detecting Defects in Object-OrientedDesigns: Using Reading Techniques toIncrease Software QualityUFRJCOPPEDepartment of Computer ScienceExperimental Software Engineering GroupFraunhofer Center - MarylandCurrent Research Team:Prof. Victor R. BasiliForrest Shull, Ph.D.Guilherme H. Travassos, D.Sc. (1)Jeffrey Carver, Graduate Research Assistant{basili,travassos,carver}@[email protected] work is partially supported by UMIACS and by NSF grant CCR9706151(1) On leave from the Federal University of Rio de Janeiro - COPPE/Computer Science andSystem Engineering Department, partially supported by CAPES - BrazilDCS/ESEGOO Reading TechniquesUFRJCOPPEEvolving a Process for Inspecting OODesignsOutline:y Reading Techniquesx Families of Reading Techniquesy Reading Techniques for OO Designx First Experiment at UMCP• Lessons Learned from the Initial Studyy The Road Aheadx Observational Studies• Lessons Learned from the Observational Studiesy Open Questions2DCS/ESEGOO Reading TechniquesUFRJCOPPEReading TechniquesWhy read?Software practitioners are taught how to write, buttypically not how to read, software documentsMany software processes assume that practitioners knowhow to effectively find the information they need (i.e. howto read) such documentse.g. inspection process: read a document to find defectsDCS/ESEGOO Reading TechniquesUFRJCOPPEReading TechniquesDomainKnowledgeSoftwareArtifactsOtherDomainGeneralRequirementsambiguityextraneousincorrect factomissioninconsistencyFor what?For what?to deal withto deal withcomplete,complete,consistent,consistent,unambiguous, and,unambiguous, and,correctcorrectdocuments across thedocuments across thesoftware processsoftware processSoftware Artifacts:Requirements Documents,Use-casesScenarios descriptionsDesign DiagramsSource Code…Increasing QualityIncreasing Quality!!3DCS/ESEGOO Reading TechniquesUFRJCOPPEReading TechniquesWhy read? looking for defects:understandingreusinganalyzingconstructingmaintainingtestingreasoningto:Defect General DescriptionOmissionNecessary information about the systemhas been omitted from the softwareartifact.Incorrect FactSome information in the software artifactcontradicts information in therequirements document or the generaldomain knowledge.InconsistencyInformation within one part of thesoftware artifact is inconsistent with otherinformation in the software artifact.Ambiguity Information within the software artifact isambiguous, i.e. any of a number ofinterpretations may be derived that shouldnot be the prerogative of the developerdoing the implementation.ExtraneousInformationInformation is provided that is not neededor used.DCS/ESEGOO Reading TechniquesUFRJCOPPEReading Techniquesz “Software reading techniques” attempt to increase theeffectiveness of inspections by providing proceduralguidelines that can be used by individual reviewers toexamine (or “read”) a given software artifact and identifydefectsz There is empirical evidence that software reading is apromising technique for increasing the effectiveness ofinspections on different types of software artifacts, notjust limited to source code.4DCS/ESEGOO Reading TechniquesUFRJCOPPEFamilies of Reading TechniquesReadingConstructionAnalysisReuseMaintenanceDefectDetectionTraceabilityUsabilityTest PlanDesignCodeProjectSourceCodeCodeLibraryWhite BoxFrameworkBlack BoxFrameworkDesignRequirements Code UserInterfaceSCR English Screen ShotScope-basedDefect-basedPerspective-based Usability-basedSystemWideTaskOrientedInconsistentIncorrectOmissionAmbiguityTester UserDeveloperNovice ErrorExpertPROBLEMSPACESOLUTIONSPACERequirementsUse-CasesTechnologyFamilyGeneral GoalSpecific GoalDocument(artifact)NotationFormTechniqueDCS/ESEGOO Reading TechniquesUFRJCOPPEReading Techniques for OO DesignReadingAnalysisDefectDetectionUsabilityDesignRequirements Code UserInterfaceSCR English Screen ShotDefect-basedPerspective-based Usability-basedInconsistentIncorrectOmissionAmbiguityTester UserDeveloperNoviceErrorExpertTechnologyFamilyGeneral GoalSpecific GoalDocument(artifact)NotationFormTechniquePROBLEMPROBLEMSPACESPACESOLUTIONSPACEOO DiagramsTraceabilityHorizontalVertical5DCS/ESEGOO Reading TechniquesUFRJCOPPEReading Techniques for OO DesignAbstractions of Information:tracing the semantic consistency of pairsof documentsProcedures:For detecting defects in design diagramsUses of Information:detect defectsGoal: To develop a family of reading techniques that can beused to read OO high level design artifacts against1. themselves, and2. requirements descriptions and use-caseswithin a domain in order to identify defects among them.DCS/ESEGOO Reading TechniquesUFRJCOPPEReading Techniques for OO DesignUML Artifacts:Fixed_Rate Loanrisk()principal_remaining()Variable_Rate Loanprincipal_remaining : numberrisk()principal_remaing()Lendername : textid : textcontact : textphone_number : numberBorrowername : textid : numberrisk : numberstatus : textrisk()set_status_good()set_status_late()set_status_default()borrower_status()set_status()Bundleactive time period : dateprofit : numberestimated risk : numbertotal : numberloan analyst : id_numberdiscount_rate : numberinvestor_name : textdate_sold : daterisk()calculate_profit()cost()Loan Arrangerrec_monthly_report()inv_request()generate reports()identify_report_format()verify_report()look_for_a_lender()look_for_a_loan()identify_loan_by_criteria()manually_select_loans()optimize_bundle()calculate_new_bundle()identify_asked_report()aggregate_bundles()aggregate_loans()aggregate_borrowers()aggregate_lenders()format_report()show_report()Loanamount : numberinterest rate : numbersettlement data : dateterm : datestatus : textoriginal_value : numberprincipal_original : numberrisk()set_status_default()set_status_late()set_status_good()discount_rate()borrowers()principal_remaining()11..*11..*1..*1..*1..*1..*1..*0..11..*0..1GoodLatemonthly report informing payment on time[ payment time <= due time ]receive a monthly reportDefaultmonthly report informing late payment[ payment time > due time + 10 ]monthly report informing late payment[ due time < payment time < due time + 10 ]monthly report informing late payment[ payment time > due time + 10 ]monthly report informing payment on time[ payment time <= due time ]Loan State DiagramFanny May : Loan ArrangerBorrower : BorrowerA Lender : Specified LenderLoan : Loanverify_report()new_loan(lender, borrowers)new_look_for_a_lender(lender)look_for_a_loan(loan)look_for_a_update_loan(lender, borrower)update_lender :


View Full Document

UMD MSWE 609 - Evolving a Process for Inspecting OO Designs

Download Evolving a Process for Inspecting OO Designs
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Evolving a Process for Inspecting OO Designs and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Evolving a Process for Inspecting OO Designs 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?