Software Engineering Body of Knowledge (v3) (2014) (811503), страница 78
Текст из файла (страница 78)
The numbers ofthe format a/b ∈ R, where a, b are integers andb ≠ 0. The additive inverse of such a fraction issimply −a/b, and the multiplicative inverse is b/aprovided that a ≠ 0.Mathematical Foundations 14-211. Sets, Relations, Functions2. Basic Logic3. Proof Techniques4. Basic Counting5. Graphs and Trees6. Discrete Probability7. Finite State Machines8. Grammarsc2c1c1c6c10, c11c7c13c139. Numerical Precision, Accuracy, and Errors10. Number Theory11. Algebraic StructuresCheney and Kincaid 2007[2*]Rosen 2011[1*]MATRIX OF TOPICS VS.
REFERENCE MATERIALc2c414-22 SWEBOK® Guide V3.0REFERENCESACKNOWLEDGMENTS[1*] K. Rosen, Discrete Mathematics and ItsApplications, 7th ed., McGraw-Hill, 2011.The author thankfully acknowledges the contribution of Prof. Arun Kumar Chatterjee, Ex-Head,Department of Mathematics, Manipur University, India, and Prof. Devadatta Sinha, Ex-Head,Department of Computer Science and Engineering, University of Calcutta, India, in preparingthis chapter on Mathematical Foundations.[2*] E.W.
Cheney and D.R. Kincaid, NumericalMathematics and Computing, 6th ed.,Brooks/Cole, 2007.CHAPTER 15ENGINEERING FOUNDATIONSACRONYMSCADCMMIpdfpmfRCASDLCeffectively is a goal of all engineers in all engineering disciplines.Computer-Aided DesignCapability Maturity ModelIntegrationProbability Density FunctionProbability Mass FunctionRoot Cause AnalysisSoftware Development Life CycleBREAKDOWN OF TOPICS FORENGINEERING FOUNDATIONSThe breakdown of topics for the EngineeringFoundations KA is shown in Figure 15.1.1. Empirical Methods and ExperimentalTechniques[2*, c1]INTRODUCTIONIEEE defines engineering as “the application ofa systematic, disciplined, quantifiable approachto structures, machines, products, systems orprocesses” [1].
This chapter outlines some of theengineering foundational skills and techniquesthat are useful for a software engineer. The focusis on topics that support other KAs while minimizing duplication of subjects covered elsewherein this document.As the theory and practice of software engineering matures, it is increasingly apparent thatsoftware engineering is an engineering discipline that is based on knowledge and skills common to all engineering disciplines. This Engineering Foundations knowledge area (KA) isconcerned with the engineering foundations thatapply to software engineering and other engineering disciplines.
Topics in this KA includeempirical methods and experimental techniques;statistical analysis; measurement; engineeringdesign; modeling, prototyping, and simulation;standards; and root cause analysis. Applicationof this knowledge, as appropriate, will allowsoftware engineers to develop and maintainsoftware more efficiently and effectively. Completing their engineering work efficiently andAn engineering method for problem solvinginvolves proposing solutions or models of solutions and then conducting experiments or teststo study the proposed solutions or models.
Thus,engineers must understand how to create an experiment and then analyze the results of the experiment in order to evaluate the proposed solution.Empirical methods and experimental techniqueshelp the engineer to describe and understand variability in their observations, to identify the sourcesof variability, and to make decisions.Three different types of empirical studies commonly used in engineering efforts are designedexperiments, observational studies, and retrospective studies. Brief descriptions of the commonly used methods are given below.1.1. Designed ExperimentA designed or controlled experiment is an investigation of a testable hypothesis where one ormore independent variables are manipulated tomeasure their effect on one or more dependentvariables.
A precondition for conducting anexperiment is the existence of a clear hypothesis.It is important for an engineer to understand howto formulate clear hypotheses.15-115-2 SWEBOK® Guide V3.0Figure 15.1. Breakdown of Topics for the Engineering Foundations KADesigned experiments allow engineers todetermine in precise terms how the variables arerelated and, specifically, whether a cause-effectrelationship exists between them. Each combination of values of the independent variables isa treatment.
The simplest experiments have justtwo treatments representing two levels of a single independent variable (e.g., using a tool vs.not using a tool). More complex experimentaldesigns arise when more than two levels, morethan one independent variable, or any dependentvariables are used.1.2. Observational StudyAn observational or case study is an empiricalinquiry that makes observations of processesor phenomena within a real-life context. Whilean experiment deliberately ignores context, anobservational or case study includes context aspart of the observation.
A case study is most useful when the focus of the study is on how and whyquestions, when the behavior of those involved inthe study cannot be manipulated, and when contextual conditions are relevant and the boundariesbetween the phenomena and context are not clear.1.3. Retrospective StudyA retrospective study involves the analysis of historical data. Retrospective studies are also knownas historical studies. This type of study uses data(regarding some phenomenon) that has beenarchived over time.
This archived data is then analyzed in an attempt to find a relationship betweenvariables, to predict future events, or to identifytrends. The quality of the analysis results willdepend on the quality of the information containedin the archived data. Historical data may be incomplete, inconsistently measured, or incorrect.2. Statistical Analysis[2*, c9s1, c2s1] [3*, c10s3]In order to carry out their responsibilities, engineers must understand how different productand process characteristics vary. Engineers oftencome across situations where the relationshipbetween different variables needs to be studied.An important point to note is that most of thestudies are carried out on the basis of samplesand so the observed results need to be understoodwith respect to the full population. Engineersmust, therefore, develop an adequate understanding of statistical techniques for collecting reliabledata in terms of sampling and analysis to arrive atresults that can be generalized.
These techniquesare discussed below.2.1. Unit of Analysis (Sampling Units),Population, and SampleUnit of analysis. While carrying out any empirical study, observations need to be made on chosen units called the units of analysis or samplingunits. The unit of analysis must be identified andmust be appropriate for the analysis. For example, when a software product company wants tofind the perceived usability of a software product,the user or the software function may be the unitof analysis.Population.
The set of all respondents or items(possible sampling units) to be studied forms thepopulation. As an example, consider the case ofstudying the perceived usability of a softwareproduct. In this case, the set of all possible usersforms the population.While defining the population, care must beexercised to understand the study and targetpopulation. There are cases when the population studied and the population for which theEngineering Foundations 15-3results are being generalized may be different.For example, when the study population consistsof only past observations and generalizations arerequired for the future, the study population andthe target population may not be the same.Sample. A sample is a subset of the population.The most crucial issue towards the selection ofa sample is its representativeness, including size.The samples must be drawn in a manner so asto ensure that the draws are independent, andthe rules of drawing the samples must be predefined so that the probability of selecting a particular sampling unit is known beforehand.
Thismethod of selecting samples is called probabilitysampling.Random variable. In statistical terminology,the process of making observations or measurements on the sampling units being studied isreferred to as conducting the experiment. Forexample, if the experiment is to toss a coin 10times and then count the number of times thecoin lands on heads, each 10 tosses of the coinis a sampling unit and the number of heads for agiven sample is the observation or outcome forthe experiment. The outcome of an experiment isobtained in terms of real numbers and defines therandom variable being studied. Thus, the attributeof the items being measured at the outcome ofthe experiment represents the random variablebeing studied; the observation obtained from aparticular sampling unit is a particular realizationof the random variable. In the example of the cointoss, the random variable is the number of headsobserved for each experiment.
In statistical studies, attempts are made to understand populationcharacteristics on the basis of samples.The set of possible values of a random variablemay be finite or infinite but countable (e.g., theset of all integers or the set of all odd numbers).In such a case, the random variable is called a discrete random variable. In other cases, the randomvariable under consideration may take values ona continuous scale and is called a continuous random variable.Event. A subset of possible values of a randomvariable is called an event. Suppose X denotessome random variable; then, for example, wemay define different events such as X ³ x or X <x and so on.Distribution of a random variable.
The rangeand pattern of variation of a random variable isgiven by its distribution. When the distributionof a random variable is known, it is possible tocompute the chance of any event. Some distributions are found to occur commonly and are usedto model many random variables occurring inpractice in the context of engineering. A few ofthe more commonly occurring distributions aregiven below.• Binomial distribution: used to model randomvariables that count the number of successesin n trials carried out independently of eachother, where each trial results in success orfailure.