Unformatted text preview:

CMSC 735:A Quantitative Approach to Software Management and EngineeringVictor R. BasiliExperimental Software Engineering GroupInstitute for Advanced Computer StudiesDepartment of Computer ScienceUniversity of MarylandandFraunhofer Center for Experimental Software Engineering -Maryland© Copyright 1996 ESEG, UMDCMSC 735 A Quantitative Approach to Software Management and EngineeringOutlineIntroductionExperimentation, Modeling, Evolution of KnowledgeSoftware Models and MeasuresResource, Change, Defect, Process, Product Models and MetricsMeasurement and Organizational FrameworksGoal Driven Measurement, Evolutionary LearningExperimentationExperimental Methods, Threats to Validity, Building KnowledgeExample Studies© Copyright 1996 ESEG, UMDEvolving KnowledgeModel Building, Experimenting, and LearningUnderstanding a discipline involves building models,e.g., application domain, problem solving processesChecking our understanding is correct involves - testing our models - experimentationAnalyzing the results of the experiment involves learning, the encapsulation of knowledge and the ability to change and refine our models over timeThe understanding of a discipline evolves over timeKnowledge encapsulation allows us to deal with higher levels of abstractionThis is the paradigm that has been used in many fields, e.g., physics, medicine, manufacturing. © Copyright 1996 ESEG, UMDEvolving KnowledgeModel Building, Experimenting, and LearningWhat do these fields have in common?They evolved as disciplines when they began applying the cycle of model building, experimenting, and learningBegan with observation and the recording of what was observedEvolved to manipulating the variables and studying the effects of change in the variablesWhat are the differences of these fields?Differences are in the objects they study, the properties of those object, the properties of the system that contain them, the relationship of the object to the system, and the culture of theThis effectshow the models are builthow the experimentation gets donediscipline© Copyright 1996 ESEG, UMDEvolving KnowledgeModel Building, Experimenting, and LearningPhysics - understand and predict the behavior of the physical universe- researchers: theorists and experimentalists- has progressed because of the interplay between the groups Theorists build models to explain the universe - predict the results of events that can be measured- models based on theory about the essential variables and their interactiondata from prior experimentsExperimentalists observe, measure, experiment to- test or disprove a hypothesis or theory- explore a new domainBut at whatever point the cycle is entered there is a modeling, experimenting, learning and remodeling patternEarly experimentalists only observed, did not manipulate the objects Modern physicists have learned to manipulate the physical universe, e.g. particle physicists. © Copyright 1996 ESEG, UMDEvolving KnowledgeModel Building, Experimenting, and LearningMedicine- researcher and practitioner- clear relationship between the two- knowledge built by feedback from practitioner to researcherResearcher aims at understanding the workings of the human body to predict effects of various procedures and drugsPractitioner applies knowledge by manipulating processes on the body for the purpose of curing it Medicine began as an art form- evolved as a field when it began observation and model buildingExperimentation - from controlled experiments to case studies- human variance causes problems in interpreting results- data may be hard to acquireHowever, our knowledge of the human body has evolved over time © Copyright 1996 ESEG, UMDEvolving KnowledgeModel Building, Experimenting, and LearningManufacturing - domain researcher and manufacturing researcher- understand the process and the product characteristics - produce a product to meet a set of specificationsManufacturing evolved as a discipline when it began process improvementRelationship between process and product characteristics - well understoodProcess improvement based upon models of- problem domain and solution space- evolutionary paradigm of model building, experimenting, and learning- relationship between the threeModels are built with good predictive capabilities- same product generated, over and over, based upon a set of processes- understanding of relationship between process and product© Copyright 1996 ESEG, UMDEngineering Discipline RequirementsThe application of a successful engineering discipline requires:A combination of technical and managerial solutionsA well defined set of product needsto satisfy the customerto assist the developer in accomplishing those needsto create competencies for future businessA well defined set of processesto accomplish what needs to be accomplishedto control developmentto improve the businessA closed loop process that supports learning and feedbackKey technologies for supporting these needs include:modeling, measurement, reuse of processes, products, and other forms of knowledge relevant to the discipline© Copyright 1996 ESEG, UMDEngineering Discipline RequirementsUnderstand process and productwe must model the elements of the disciplineDefine process and product qualitieswe must define and model the characteristics of the elementsEvaluate successes and failureswe must evaluate whether the elements satisfy the models in practiceFeedback information for project controlwe must have a closed loop process to learnLearn from our experienceseach application of the discipline should provide information that allows us to evolve the disciplinePackage successful experienceswe must build models and other abstractions that represent our current knowledge © Copyright 1996 ESEG, UMDEngineering Discipline ElementsUnderstanding (Model Assumptions)There are factors that create similarities and differences amongprojectsone model does not work in all situationsThere is a direct relationship between process and productwe must choose the right processes to create the desired productcharacteristicsMeasurement is necessary and must be based on the appropriate goals and modelsappropriate measurement provides visibility and definitionEvaluation and feedback are necessary for project controlwe need a closed loop process for learning© Copyright 1996 ESEG, UMDEngineering Discipline ElementsPackaging Experience (Building Models) Experience needs to be packagedwe must build models in softwareExperiences must be evaluated for reuse


View Full Document

UMD CMSC 735 - Course Introduction

Download Course Introduction
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 Course Introduction 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 Course Introduction 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?