Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Size: px
Start display at page:

Download "Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas..."

Transcription

1 Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled Software engineering is concerned with theories, methods and tools for professional software development Software engineering expenditure represents a significant fraction of GNP in all developed countries G. Antoniol 2002 Software Engineering - Why 1 G. Antoniol 2002 Software Engineering - Why 2 Software is Expensive [Boehm] Software Costs 100 % Hardware Development Maintenance Sofware development is human intensive There is no cost to produce a copy of a given software Software is flexible and can be changed to adapt to user ever changing needs G. Antoniol 2002 Software Engineering - Why 3 G. Antoniol 2002 Software Engineering - Why 4

2 Late Costly Unreliable Many software projects are behind schedule and have heavy cost overruns An information system for a US company planned in 9 months and at a cost of $250000; after 2.5 years and $ the job was not done, it was estimated that another $ would be needed [Mcfarlan]. An information system for a US company planned in 9 months and at a cost of $250000; after 2. US Air Force command-and-control: contract $400000, renegotiated to $700000, to $ final cost $ [Boehm]. US defense survey: more than 70 % of all equipment failure were due to software. Failure of the Arianne 5 and an early Apollo flight were due to software failure, many banks lost millions of dollars due to software inaccuracy. G. Antoniol 2002 Software Engineering - Why 5 Failure Software failure are different from mechanical or electrical system failure. Mechanical systems develop some problem (due to age) that did not exist earlier. Software never wears out due to age. Errors are introduced during software production. When a software fails the bug was there from the beginning may be in the environment. G. Antoniol 2002 Software Engineering - Why 6 Software Program: the author is the user (e.g., no documentation or testing, no design). Programming system product: used by people other than the developer of the system. This is industrial software it cost about 10 times as much as a corresponding program. IEEE Software Definition Software is the collection of computer programs, procedures, rules and associated documentation and data. Software means: industrial quality software. Software is much more than the code G. Antoniol 2002 Software Engineering - Why 7 G. Antoniol 2002 Software Engineering - Why 8

3 Software Products Generic products Stand-alone systems which are produced by a development organization and sold on the open market to any customer Most software expenditure is on generic products but most development effort is on bespoke systems Bespoke (customized) products Systems which are commissioned by a specific customer and developed specially by some contractor Software product attributes Maintainability It should be possible for the software to evolve to meet changing requirements Dependability The software should not cause physical or economic damage in the event of failure Efficiency The software should not make wasteful use of system resources Usability Software should have an appropriate user interface and documentation G. Antoniol 2002 Software Engineering - Why 9 G. Antoniol 2002 Software Engineering - Why 10 Importance of product characteristics The relative importance of these characteristics depends on the product and the environment in which it is to be used In some cases, some attributes may dominate In safety-critical real-time systems, key attributes may be dependability and efficiency Costs tend to rise exponentially if very high levels of any one attribute are required Professional responsibility Software engineers should not just be concerned with technical considerations. They have wider ethical, social and professional responsibilities. No clear rights and wrongs about many of these issues. Code Of Ethics G. Antoniol 2002 Software Engineering - Why 11 G. Antoniol 2002 Software Engineering - Why 12

4 Ethical Issues Software Engineering [IEEE90] Confidentiality Competence Intellectual property rights Computer misuse Software Engineering is the systematic approach to the development, operation, maintenance and retirement of software. Software Engineering means applications of a systematic, disciplined, quantifiable approach to development, operation, maintenance of software. G. Antoniol 2002 Software Engineering - Why 13 G. Antoniol 2002 Software Engineering - Why 14 Notice It implies a process since it points to different phases It stresses the need of a systematic and disciplined approach It highlights the importance of quantification Software Engineering [Boehm] Software Engineering is the application of science and mathematics by which the capabilities of computer equipments are made useful to man via computer programs, procedures, and associated documentation. Empirical studies and empirical methods are related to the 3 mentioned aspects G. Antoniol 2002 Software Engineering - Why 15 G. Antoniol 2002 Software Engineering - Why 16

5 Software Engineering Deals with the economics of software systems during the entire system life. Provide methodologies for developing software: usable/useful to man in a repeatable way in an economic way Cost Schedule and Quality An engineering discipline is drive by practical parameters: cost schedule quality They are conflicting requirements! G. Antoniol 2002 Software Engineering - Why 17 G. Antoniol 2002 Software Engineering - Why 18 Cost Is the cost of used resources: manpower, hardware, software and support resources. Manpower is predominant, software is still labor intensive. The cost is expressed in terms of personmonth. To obtain the project cost multiply the number of person-month by the unit cost per person-month, this includes all the overheads. Schedule Product time to market tends to be reduced. The cycle time from concept to delivery should be small. Often the window of opportunity is small (e.g., financial applications). New keywords: Rapid Application Development, COTS, Framework, G. Antoniol 2002 Software Engineering - Why 19 G. Antoniol 2002 Software Engineering - Why 20

6 Quality Quality Factors Quality is not clearly understood, there are three dimensions: product operation product transition product revision Maintainability Flexibility Testability Product revision Product transition Portability Reusability Interoperability Product operations Correctness Reliability Efficiency Integrity Usability G. Antoniol 2002 Software Engineering - Why 21 G. Antoniol 2002 Software Engineering - Why 22 Product Operations Correctness: to which extent the program satisfies its specification. Reliability: how well the software meets its requirements. Efficiency: response time, memory usage... Usability: the effort to learn to operate with the system Integrity: ability to withstand attacks to its security Product Revision Maintainability: effort required to locate and fix errors in an operating program. Flexibility: effort required to modify an operational program. Testability: effort required to test, to ensure that the system actually does what it is supposed to do. G. Antoniol 2002 Software Engineering - Why 23 G. Antoniol 2002 Software Engineering - Why 24

7 Product Transition Portability: effort required to transfer the software from one configuration to other configurations. Reusability: is the extent to which parts of the software can be reused in other related applications Interoperability: effort required to couple the system with other systems. Quality Criteria Among many indicators a de facto standard is the reliability related measure of the number of defect per unit of size, i.e LOC defect tracking is a key activity best software practice reduce to less than 1 defect per KLOC Defect is a anything which is non compliant with system requirements. G. Antoniol 2002 Software Engineering - Why 25 G. Antoniol 2002 Software Engineering - Why 26 Consistency Problem High quality, low cost in a short time are the goals: How can we ensure a consistent quality with a consistent productivity (i.e., cost and schedule)? Engineering process model Specification - set out the requirements and constraints on the system Design - Produce a paper model of the system Manufacture - build the system Test - check the system meets the required specifications Install - deliver the system to the customer and ensure it is operational G. Antoniol 2002 Software Engineering - Why 27 G. Antoniol 2002 Software Engineering - Why 28

8 The Software Engineering Approach Software Process Peculiarity Normally, specifications are incomplete/anomalous Develop methods and procedures for software development that can scale up for large system and that can be used to consistently produce high quality software at low cost and with a small cycle time. Very blurred distinction between specification, design and manufacture No physical realization of the system for testing Software does not wear out - maintenance does not mean component replacement G. Antoniol 2002 Software Engineering - Why 29 G. Antoniol 2002 Software Engineering - Why 30 Process A process is a particular methods of doing Something generally involving a sequence of steps Software process: the method of developing software Predictability Predictability of a process determines how accurately the outcome of following a process in a project can be predicted before the project is completed: cost and schedule estimate quality estimate G. Antoniol 2002 Software Engineering - Why 31 G. Antoniol 2002 Software Engineering - Why 32

9 Predictability Predictions are based on the past history Prediction are only probabilistic Predictability is essential to ensure consistency across many projects Predictability is essential to ensure repeatability G. Antoniol 2002 Software Engineering - Why 33 Statistical Control A process is under statistical control if following the same process produces similar results Statistical control means that most projects will be within a bound around the expected value Property of interest Projects G. Antoniol 2002 Software Engineering - Why 34 Software Process A set of activities Software Process Resources A set of ordering constraints (among activities) activity are performed in accordance with ordering constraints Product Idea Software Process Product the desired result is obtained low cost and high quality software G. Antoniol 2002 Software Engineering - Why 35 G. Antoniol 2002 Software Engineering - Why 36

10 Process Key Properties It must scale up (handle large software projects) It must produce good quality software It must be cost effective It must deliver products on time It must be predictable It must be repeatable The Problem of Scale Developing a very large system requires very different set of methods compared to developing a small system. Methods for small systems generally do not scale up. Counting people in a room or in a theater or conducting a census G. Antoniol 2002 Software Engineering - Why 37 G. Antoniol 2002 Software Engineering - Why 38 A Phased Approach Separate developed product from development process. Divide the entire process in a sequence of phases. Monitor each phase with objective methods: you cannot control what you cannot measure [Tom DeMarco] Large Projects Technology and methodology to develop the system. A formal approach to project management. A phased development process: requirements analysis; software design; coding; testing; G. Antoniol 2002 Software Engineering - Why 39 G. Antoniol 2002 Software Engineering - Why 40

11 High Level View The Problem of Scale Formal Inception Elaboration Construction Transition Project management Informal Small Project Informal Large Project Development methods Formal G. Antoniol 2002 Software Engineering - Why 41 G. Antoniol 2002 Software Engineering - Why 42 Organizations and Processes There are many non-software engineering processes running in an organization: business processes training processes social processes they influence software production but do not concern software engineering G. Antoniol 2002 Software Engineering - Why 43 Development Process Activities directly related to the software production requirement capture, design, coding testing Components of the development process for a particular phase are frequently called methodologies G. Antoniol 2002 Software Engineering - Why 44

12 Software Process The process that deals with the technical and management issues of software development is called software process There must be at least: development activities project management activities Different people may perform different activities Process Project Product A software process specifies a method of developing software A software project is a development project in which the software process is used A software product is an outcome of a software project obtained by applying a software process G. Antoniol 2002 Software Engineering - Why 45 G. Antoniol 2002 Software Engineering - Why 46 Process Project Product - Again A software process specifies an abstract set of activities A software project is the actual act of executing the activities for some specific user need A software product is any product delivered during the software project Process Project Product Software Process Project Project Project 1 k n Product 1 Product 2 Product k Product n G. Antoniol 2002 Software Engineering - Why 47 G. Antoniol 2002 Software Engineering - Why 48

13 Process Instantiation Software process specifies a sequence of activity at abstract level (not project specific) A project implements, in a tailored fashion, the abstract software process The project plan is a detailed roadmap, for the given project, that specifies: the specific activities to perform when perform the activities how perform the activities G. Antoniol 2002 Software Engineering - Why 49 Component Software Processes We need to develop a software system We need manage, to keep under control the development process We must handle change requests at any arbitrary point in time Beyond these activities (processes) there are other activities that are non-central: business processes, training processes, etc. G. Antoniol 2002 Software Engineering - Why 50 Component Software Processes Process management process Product engineering processes: development process project management process software configuration (control) process Process Management Process A software process is a dynamic entity The software process must adapt to new tools, technologies The software process must adapt to our increased understanding about software development process management process aims to improve software the software process i.e., produce better software at lower costs HOW..? G. Antoniol 2002 Software Engineering - Why 51 G. Antoniol 2002 Software Engineering - Why 52

14 Component Software Processes Software Process Effort Distribution Requirements 10 % Product Engineering Processes Process Management Process Design 20 % Coding 20 % Development Process Project Management Process Software Configuration Management Process Testing 50 % G. Antoniol 2002 Software Engineering - Why 53 G. Antoniol 2002 Software Engineering - Why 54 Programmer Activities Writing programs 13 % Reading programs and manuals Job communication (e.g. meetings) Other (including parsonal) 16 % 32 % 39 % Lesson Learnt Coding covers only a fraction of development costs Development covers only a fraction of entire life span cost We must focus on maintenance and testing to ensure cost effectiveness develop for maintainability develop for testability G. Antoniol 2002 Software Engineering - Why 55 G. Antoniol 2002 Software Engineering - Why 56

15 Defects Defects are injected at every stage Defect prevention is a key activity Early defect removal is mandatory to ensure cost effectiveness Requirement analysys 20 % Design 30 % Coding 50 % G. Antoniol 2002 Software Engineering - Why 57 Defects Removal Costs Requirements Design Code Development Acceptance Operation Test Test G. Antoniol 2002 Software Engineering - Why 58 Defects Prevention Prevent defect from being introduced Use the development process to learn (from previous projects) so that methods of performing activities, processes can effectively be improved Quality Improvement Paradigm (QIP) Software process operate in a closed-loop: the process must learnt from past experiences: each project must feed information back to software process for self-improvement Improvement process Assessment of the software process Evaluation of a software process improvement proposal Software development/evolution is highly human intensive it is very difficult to evaluate a change without human involvment G. Antoniol 2002 Software Engineering - Why 59 G. Antoniol 2002 Software Engineering - Why 60

16 Empirical studies Evaluate processes and human based activities Evaluate the use of software products and tools Experimentation provides a systematic, quantifiable, controlled way of evaluating human based activities Research Methods [Basili] The scientific method: observe the world, build an observation based model The engineering method: study the current solutions, propose and evaluate changes The empirical method: a model is proposed and evaluated via case studies or experiments The analytical method: a formal theory is proposed and then compared with empirical observations G. Antoniol 2002 Software Engineering - Why 61 G. Antoniol 2002 Software Engineering - Why 62 Empirical Study Cost Different people are involved with different activities/processes Development, maintenance, evolution may be performed in different environment companies by different people We do not develop the same software several times Qualitative Research Paradigms Qualitative studies: studying object in their natural setting We accept that there is a range of different ways of interpretation Aiming at discovering the causes noticed by the subjects in the study Subject is the person taking part in an experiment in order to evaluate an object. G. Antoniol 2002 Software Engineering - Why 63 G. Antoniol 2002 Software Engineering - Why 64

17 Quantitative Research Paradigms Quantitative studies: quantifying a relationship or compare two or more groups Identify cause effect relationship Setting up a formal experiment Case studies Qualitative vs Quantitative A quantitative study may be launched to evaluate the reduction of defects discovered in system testing due to the adoption of a new testing tool suite A qualitative study may attempt to address the different source of variations (e.g., unit testing, test management, ) G. Antoniol 2002 Software Engineering - Why 65 G. Antoniol 2002 Software Engineering - Why 66 Empirical Strategies Setting up formal experiments Studying real projects - also said case studies Performing surveys (e.g., is interviews) Survey Often an investigation performed in retrospect a tool or a technique has been in use for a while [Pfleeger] Data are gathered via interviews Interviews are done taking a representative sampling of the population The survey generalization limited to the population from which the sample was taken G. Antoniol 2002 Software Engineering - Why 67 G. Antoniol 2002 Software Engineering - Why 68

18 Survey Purposes Descriptive: to enable assertion about some population What the distribution is - We are not interested in why the observed distribution exists Explanatory Making explanatory claim on the population - why certain programmer prefer Java? Explorative A pre-study to ensure that important issues are not foreseen G. Antoniol 2002 Software Engineering - Why 69 Case Study Monitoring projects, activities or assignments. Data is collected for a specific purpose The level of control is lower in a case study than in an experiment In a case study the state variables only assume one value which is governed by the actual project under study G. Antoniol 2002 Software Engineering - Why 70 Case Study Arrangements Comparison against a company baseline A sister project is chosen as baseline If the method can be applied to individual components, apply it at random to some components Notice that the projects are not drawn at random from the population of all projects Experiment Experiment are carried out in a laboratory environment Subjects are assigned to different treatments at random Goal: manipulate one or more variables control all the other at fixed levels The effect of the manipulation is measured Quasi-experiment: we can not randomly assign subjects to different treatments G. Antoniol 2002 Software Engineering - Why 71 G. Antoniol 2002 Software Engineering - Why 72

19 State Variable Example Application domain: telecommunication, database, operating systems Programming language: C, Java, COBOL Process: iterative, incremental, waterfall Testing coverage criterion: statement, functionality Programmer experience: less that 5 years, 5 to 10 years G. Antoniol 2002 Software Engineering - Why 73 Risk and Cost Desktop survey: the change proposal is evaluated off-line There is no real change in the process People are not involved Laboratory the change proposal is evaluated in a laboratory setting (off line) A limited part of the process is executed in a controlled manner Development projects: the change proposal is evaluated in the real environment e.g., in a pilot project G. Antoniol 2002 Software Engineering - Why 74 Variable, Subject, Treatment Independent variables Fixed level Process Dependent variable Theory Experiment Principle [Trochim] Cause Construct Experiment goal Cause - effect Construct Effect Construct Dependent variables, or covariates, or response variables Independent variables, or variates, or factors this are manipulated Treatment: the particular level of a factor Treatments are applied to a combination of objects and subjects Object: an artifact e.g., a design document Subjects: the people that apply the treatment Test of trials: a combination of treatment, object, subject G. Antoniol 2002 Software Engineering - Why 75 Observation Treatment Treatment Outcome Construct Outcome Experiment Independent Variable Operation Dependent Variable G. Antoniol 2002 Software Engineering - Why 76

20 Experiment Idea Experiment Process Experiment Definition Experiment Planning Experiment Operation Experimental Data Analysis and Interpretation Descriptive Statistics Data Set Reduction Analysis & Interpretation Presentation & Package Conclusions Hypothesis Testing Conclusions G. Antoniol 2002 Software Engineering - Why 77 G. Antoniol 2002 Software Engineering - Why 78

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Engineering. Objectives. Designing, building and maintaining large software systems Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software

More information

Software Engineering. Software Engineering. Software Costs

Software Engineering. Software Engineering. Software Costs Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian

More information

CMSC 435: Software Engineering Course overview. Topics covered today

CMSC 435: Software Engineering Course overview. Topics covered today CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To

More information

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility An Introduction to Software Engineering Antinisca Di Marco adimarco@di.univaq.it Objectives To introduce software engineering and to explain its importance To set out the answers to key questions about

More information

Software Engineering. Introduc)on

Software Engineering. Introduc)on Software Engineering Introduc)on Software engineering The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned with

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville Introduction to Software Engineering Adopted from Software Engineering, by Ian Sommerville To discuss the factors that led to software failures and the phenomenon of the Software Crisis ; To introduce

More information

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

More information

The Role of Controlled Experiments in Software Engineering Research

The Role of Controlled Experiments in Software Engineering Research The Role of Controlled Experiments in Software Engineering Research Victor R. Basili 1 The Experimental Discipline in Software Engineering Empirical studies play an important role in the evolution of the

More information

An Introduction to Software Engineering

An Introduction to Software Engineering An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the

More information

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the

More information

An Introduction to Software Engineering

An Introduction to Software Engineering An Introduction to Software Engineering ACSC 383 Software Engineering Efthyvoulos C. Kyriacou (PhD) Assoc. Prof. Computer Science and Engineering Department Resources : Ian Sommervile Software engineering,

More information

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management International Journal of Soft Computing and Engineering (IJSCE) A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management Jayanthi.R, M Lilly Florence Abstract:

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Introduction Getting started with software engineering Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance

More information

Chapter 6 Experiment Process

Chapter 6 Experiment Process Chapter 6 Process ation is not simple; we have to prepare, conduct and analyze experiments properly. One of the main advantages of an experiment is the control of, for example, subjects, objects and instrumentation.

More information

Introduction to Software Engineering

Introduction to Software Engineering What is Software Engineering Introduction to Software Engineering Prof. Lyle N. Long lnl@psu.edu http://www.personal.psu.edu/lnl Sources of Material What is software? Software Engineering, 7 th Edition,

More information

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software engineering and to explain its importance To set out the answers

More information

Software Development Methodologies in Industry. By: Ahmad Deeb

Software Development Methodologies in Industry. By: Ahmad Deeb Software Development Methodologies in Industry By: Ahmad Deeb Methodologies Software Development Methodologies in Industry Presentation outline SDM definition Project and analysis approach Research methods

More information

Domain Analysis for the Reuse of Software Development Experiences 1

Domain Analysis for the Reuse of Software Development Experiences 1 Domain Analysis for the Reuse of Software Development Experiences 1 V. R. Basili*, L. C. Briand**, W. M. Thomas* * Department of Computer Science University of Maryland College Park, MD, 20742 USA ** CRIM

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

Empirical Software Engineering Introduction & Basic Concepts

Empirical Software Engineering Introduction & Basic Concepts Empirical Software Engineering Introduction & Basic Concepts Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

C. Wohlin, Is Prior Knowledge of a Programming Language Important for Software Quality?, Proceedings 1st International Symposium on Empirical C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.

More information

13 Empirical Research Methods in Web and Software Engineering 1

13 Empirical Research Methods in Web and Software Engineering 1 13 Empirical Research Methods in Web and Software Engineering 1 Claes Wohlin, Martin Höst, Kennet Henningsson Abstract. Web and software engineering are not only about technical solutions. It is to a large

More information

Software cost estimation

Software cost estimation Software cost estimation Sommerville Chapter 26 Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity assessment To explain why different

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction Chapter 1 Introduction Slide 1 Topics covered Professional software development What is meant by software engineering. Addendum to Sommerville s FAQs Software engineering ethics

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

Chapter 23 Software Cost Estimation

Chapter 23 Software Cost Estimation Chapter 23 Software Cost Estimation Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Software cost estimation Predicting the resources required for a software development process

More information

Darshan Institute of Engineering & Technology Unit : 7

Darshan Institute of Engineering & Technology Unit : 7 1) Explain quality control and also explain cost of quality. Quality Control Quality control involves the series of inspections, reviews, and tests used throughout the software process to ensure each work

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Holly. Anubhav. Patrick

Holly. Anubhav. Patrick Holly. Anubhav. Patrick Origins of Field Research Anthropology Ethnographic field work: The study of native cultures by learning the native language, observing and taking part in native life, originated

More information

Exploratory Testing Dynamics

Exploratory Testing Dynamics Exploratory Testing Dynamics Created by James and Jonathan Bach 1 v1.6 Copyright 2005-2006, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted and exploratory testing

More information

SWEBOK Certification Program. Software Engineering Management

SWEBOK Certification Program. Software Engineering Management SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted

More information

An Introduction to. Metrics. used during. Software Development

An Introduction to. Metrics. used during. Software Development An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

Qualitative Analysis Vs. Quantitative Analysis 06/16/2014 1

Qualitative Analysis Vs. Quantitative Analysis 06/16/2014 1 Qualitative Analysis Vs. Quantitative Analysis 06/16/2014 1 What s the Difference? Qualitative adjustments are purely relative (inferior, similar and superior). Quantitative adjustments use specific numbers

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

Non-Functional Requirements for COTS Software Components

Non-Functional Requirements for COTS Software Components Non-Functional Requirements for COTS Software Components Ljerka Beus-Dukic School of Computing and Mathematics University of Northumbria at Newcastle Ellison Building, Newcastle upon Tyne NE1 8ST, United

More information

Observing and describing the behavior of a subject without influencing it in any way.

Observing and describing the behavior of a subject without influencing it in any way. HOW TO CHOOSE FROM THE DIFFERENT RESEARCH METHODS* The design is the structure of any scientific work. It gives direction and systematizes the research. The method you choose will affect your results and

More information

Software cost estimation

Software cost estimation Software cost estimation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 26 Slide 1 Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for

More information

University of Calgary Schulich School of Engineering Department of Electrical and Computer Engineering

University of Calgary Schulich School of Engineering Department of Electrical and Computer Engineering University of Calgary Schulich School of Engineering Department of Electrical and Computer Engineering Research Area: Software Engineering Thesis Topics proposed by Dr. Dietmar Pfahl, Assistant Professor

More information

Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management

Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring

More information

Knowledge Infrastructure for Project Management 1

Knowledge Infrastructure for Project Management 1 Knowledge Infrastructure for Project Management 1 Pankaj Jalote Department of Computer Science and Engineering Indian Institute of Technology Kanpur Kanpur, India 208016 Jalote@iitk.ac.in Abstract In any

More information

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA) Software Project Quality Management Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA) ABSTRACT Quality Management is very important in Software Projects.

More information

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur Module 11 Software Project Planning Lesson 28 COCOMO Model Specific Instructional Objectives At the end of this lesson the student would be able to: Differentiate among organic, semidetached and embedded

More information

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Introduction Getting started with software engineering Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Why? the Therac-25 Failure 1985-1987 Therac-25 Radiation Treatment Machine

More information

Is ISO/IEC 15504 Applicable to Agile Methods?

Is ISO/IEC 15504 Applicable to Agile Methods? Is ISO/IEC 15504 Applicable to Agile Methods? Giuseppe Lami 1, Fabio Falcini 2 1 Consiglio Nazionale delle Ricerche, Istituto di Scienza e Tecnologie dell Informazione via Moruzzi, 1 I-56124 Pisa, Italy

More information

Monitoring & Evaluation for Results. Reconstructing Baseline Data for Monitoring & Evaluation -Data Collection Methods-

Monitoring & Evaluation for Results. Reconstructing Baseline Data for Monitoring & Evaluation -Data Collection Methods- Monitoring & Evaluation for Results Reconstructing Baseline Data for Monitoring & Evaluation -Data Collection Methods- 2007. The World Bank Group. All rights reserved. Baseline Data Baseline data are initial

More information

SE 367 Software Engineering Basics of Software Engineering

SE 367 Software Engineering Basics of Software Engineering Slide 1 SE 367 Software Engineering Basics of Software Engineering Slide 2 Introduction Getting started with software engineering Objectives To introduce software engineering and to explain its importance

More information

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

SOFTWARE REQUIREMENTS

SOFTWARE REQUIREMENTS SOFTWARE REQUIREMENTS http://www.tutorialspoint.com/software_engineering/software_requirements.htm Copyright tutorialspoint.com The software requirements are description of features and functionalities

More information

LEAN AGILE POCKET GUIDE

LEAN AGILE POCKET GUIDE SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies

More information

Contrastive Analysis of Software Development Methodologies

Contrastive Analysis of Software Development Methodologies Contrastive Analysis of Software Development Methodologies Ramesh Kumar [1], Dr. Rajesh Verma [2] [1] Research Scholar, School of Computer Scienc & IT, Singhania University, Rajasthan, INDIA [2] Research

More information

Ten steps to better requirements management.

Ten steps to better requirements management. White paper June 2009 Ten steps to better requirements management. Dominic Tavassoli, IBM Actionable enterprise architecture management Page 2 Contents 2 Introduction 2 Defining a good requirement 3 Ten

More information

NON-PROBABILITY SAMPLING TECHNIQUES

NON-PROBABILITY SAMPLING TECHNIQUES NON-PROBABILITY SAMPLING TECHNIQUES PRESENTED BY Name: WINNIE MUGERA Reg No: L50/62004/2013 RESEARCH METHODS LDP 603 UNIVERSITY OF NAIROBI Date: APRIL 2013 SAMPLING Sampling is the use of a subset of the

More information

The Mozart effect Methods of Scientific Research

The Mozart effect Methods of Scientific Research The Mozart effect Methods of Scientific Research Chapter 2 Experimental Research: p42 49 http://www.mozarteffect.com/ http://www.amazon.com/mozart-sonata-pianos-schubert-fantasia/dp/b0000cf330 http://www.youtube.com/watch?v=hhqn2qjhlcm

More information

GUIDELINES FOR REVIEWING QUANTITATIVE DESCRIPTIVE STUDIES

GUIDELINES FOR REVIEWING QUANTITATIVE DESCRIPTIVE STUDIES GUIDELINES FOR REVIEWING QUANTITATIVE DESCRIPTIVE STUDIES These guidelines are intended to promote quality and consistency in CLEAR reviews of selected studies that use statistical techniques and other

More information

Research Proposal Guidelines

Research Proposal Guidelines Department of Marketing Management MCOM & DCOM DEGREES Research Proposal Guidelines Compiled by Dr Roberts-Lombard A. RESEARCH PROPOSAL STRUCTURE 1. Introduction and Background to the research 2. Statement

More information

Software Metrics. Lord Kelvin, a physicist. George Miller, a psychologist

Software Metrics. Lord Kelvin, a physicist. George Miller, a psychologist Software Metrics 1. Lord Kelvin, a physicist 2. George Miller, a psychologist Software Metrics Product vs. process Most metrics are indirect: No way to measure property directly or Final product does not

More information

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of

More information

Arch 652 - Project Management New Jersey Institute of Technology School of Architecture

Arch 652 - Project Management New Jersey Institute of Technology School of Architecture Arch 652 - Project Management New Jersey Institute of Technology School of Architecture David Hawk, Professor, NJIT Spring, 2006 Phone: 973-596-3019 davidhawk@comcast.net Arch 652-Architectural Project

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Comparison of Research Designs Template

Comparison of Research Designs Template Comparison of Comparison of The following seven tables provide an annotated template to guide you through the comparison of research designs assignment in this course. These tables help you organize your

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

What Is a Case Study? series of related events) which the analyst believes exhibits (or exhibit) the operation of

What Is a Case Study? series of related events) which the analyst believes exhibits (or exhibit) the operation of What Is a Case Study? Mitchell (1983) defined a case study as a detailed examination of an event (or series of related events) which the analyst believes exhibits (or exhibit) the operation of some identified

More information

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type IF2261 Software Engineering Introduction Program Studi Teknik Informatika STEI ITB What is software? Definitions: Computer programs, procedures, and possibly associated documentation and data pertaining

More information

Prepared by the Policy, Performance and Quality Assurance Unit (Adults) Tamsin White

Prepared by the Policy, Performance and Quality Assurance Unit (Adults) Tamsin White Principles of Good Research & Research Proposal Guidee Prepared by the Policy, Performance and Quality Assurance Unit (Adults) Tamsin White March 2006 Principles of Good Research All research is different

More information

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile

More information

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different

More information

Example Software Development Process.

Example Software Development Process. Example Software Development Process. The example software development process is shown in Figure A. The boxes represent the software development process kernels. The Software Unit Testing, Software Component

More information

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Reaching CMM Levels 2 and 3 with the Rational Unified Process Reaching CMM Levels 2 and 3 with the Rational Unified Process Rational Software White Paper TP174 Table of Contents INTRODUCTION... 1 LEVEL-2, REPEATABLE... 3 Requirements Management... 3 Software Project

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

National Disability Authority Resource Allocation Feasibility Study Final Report January 2013

National Disability Authority Resource Allocation Feasibility Study Final Report January 2013 National Disability Authority Resource Allocation Feasibility Study January 2013 The National Disability Authority (NDA) has commissioned and funded this evaluation. Responsibility for the evaluation (including

More information

Introduction to Software Engineering. 8. Software Quality

Introduction to Software Engineering. 8. Software Quality Introduction to Software Engineering 8. Software Quality Roadmap > What is quality? > Quality Attributes > Quality Assurance: Planning and Reviewing > Quality System and Standards 2 Sources > Software

More information

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a

More information

Three year rotational plan for assessing student outcomes: MET

Three year rotational plan for assessing student outcomes: MET Three year rotational plan for assessing student outcomes: MET Year 2015 ABET a, b, c, d, e ABET a, b, c, d, e 2016 ABET f, g, h, i, j, k ABET f, g, h, i, j, k 2017 MET a - c MET a - c 2018 ABET a, b,

More information

Software cost estimation. Predicting the resources required for a software development process

Software cost estimation. Predicting the resources required for a software development process Software cost estimation Predicting the resources required for a software development process Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Objectives To introduce the fundamentals

More information

Developing an implementation research proposal. Session 2: Research design

Developing an implementation research proposal. Session 2: Research design Developing an implementation research proposal Session 2: Research design Learning objectives After completing this session, you will be able to: Develop a research design outlining your data collection

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Software Life Cycle Processes

Software Life Cycle Processes Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Maths Mastery in Primary Schools

Maths Mastery in Primary Schools Maths Mastery in Primary Schools Institute of Education, University of London John Jerrim Evaluation Summary Age range Year 7 Number of pupils c. 10,000 Number of schools 50 Design Primary Outcome Randomised

More information

IPDET Module 6: Descriptive, Normative, and Impact Evaluation Designs

IPDET Module 6: Descriptive, Normative, and Impact Evaluation Designs IPDET Module 6: Descriptive, Normative, and Impact Evaluation Designs Intervention or Policy Evaluation Questions Design Questions Elements Types Key Points Introduction What Is Evaluation Design? Connecting

More information

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34. Higher National Unit specification General information Unit code: HA4C 34 Superclass: CB Publication date: January 2016 Source: Scottish Qualifications Authority Version: 02 Unit purpose The purpose of

More information

A Rational Development Process

A Rational Development Process Paper published in: Crosstalk, 9 (7) July 1996, pp.11-16. A Rational Development Process Philippe Kruchten Vancouver, BC pbk@rational.com 1. Introduction This paper gives a high level description of the

More information

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919 Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned

More information

Optimal Replacement of Underground Distribution Cables

Optimal Replacement of Underground Distribution Cables 1 Optimal Replacement of Underground Distribution Cables Jeremy A. Bloom, Member, IEEE, Charles Feinstein, and Peter Morris Abstract This paper presents a general decision model that enables utilities

More information

Software Engineering: Analysis and Design - CSE3308

Software Engineering: Analysis and Design - CSE3308 CSE3308/DMS/2004/25 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Software Quality CSE3308 - Software Engineering: Analysis

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Managing Software Product Line

Managing Software Product Line * F 2 - Rules for Qualification of Developing and Managing Software Product Line F. Ahmed Electrical & Computer Engineering University of Western Ontario London Ontario, Canada, N5A5B9 sgraha5@uwo.ca L.F.

More information

Case Studies. Dewayne E Perry ENS 623 perry@mail.utexas.edu

Case Studies. Dewayne E Perry ENS 623 perry@mail.utexas.edu Case Studies Dewayne E Perry ENS 623 perry@mail.utexas.edu Adapted from Perry, Sim & Easterbrook,Case Studies for Software Engineering, ICSE 2004 Tutorial 1 What is a case study? A case study is an empirical

More information

Socio technical Systems. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 2 Slide 1

Socio technical Systems. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 2 Slide 1 Socio technical Systems Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 2 Slide 1 Objectives To explain what a socio technical system is and the distinction between this and a computer

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

An Intranet Redesign on a Tight Budget

An Intranet Redesign on a Tight Budget An Intranet Redesign on a Tight Budget Therese Griffin, Mgr. Marketing & Philanthropy Christy Season, Sr. Intranet Strategist 11.05.10 1 Please note: SCANA is not endorsing SharePoint over any other product.

More information

COMPETITIVE INTELLIGENCE

COMPETITIVE INTELLIGENCE COMPETITIVE INTELLIGENCE GOVOREANU Alexandru MORA Andreea ŞERBAN Anca Abstract: There are many challenges to face in this century. It s an era of information. Those who have the best information are going

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Software Engineering UNIT -1 OVERVIEW

Software Engineering UNIT -1 OVERVIEW UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for

More information

How do we know what we know?

How do we know what we know? Research Methods Family in the News Can you identify some main debates (controversies) for your topic? Do you think the authors positions in these debates (i.e., their values) affect their presentation

More information