Modeling and Validation Victor R. Basili University of Maryland 27 September 1999.

Slides:



Advertisements
Similar presentations
Chapter 2 The Process of Experimentation
Advertisements

Why We Do Research Chapter 1. Ordinary Versus Systematic Biased Question: A question that leads to a specific response or excludes a certain group Nonscientific.
Animal, Plant & Soil Science
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
CS3773 Software Engineering Lecture 01 Introduction.
Experimental Evaluation in Computer Science: A Quantitative Study Paul Lukowicz, Ernst A. Heinz, Lutz Prechelt and Walter F. Tichy Journal of Systems and.
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
Workshop 1 Methodology 13 January Introduction Method can be defined as a systematic and orderly procedure or process for attaining some objective.
Taejin Jung, Ph.D. Week 1 : Research
CSE USC Fraunhofer USA Center for Experimental Software Engineering, Maryland February 6, Outline Motivation Examples of Existing.
Formulating the research design
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
POSC 202A: Lecture 1 Introductions Syllabus R Homework #1: Get R installed on your laptop; read chapters 1-2 in Daalgard, 1 in Zuur, See syllabus for Moore.
CPSC 871 John D. McGregor Processes – a first iteration Module 1 Session 1.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Unit 2: Engineering Design Process
Marketing Research  Def. - Formal communication link with the environment to provide accurate and useful information for better decision making.  Systematic.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
TEA Science Workshop #3 October 1, 2012 Kim Lott Utah State University.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Evaluation of software engineering. Software engineering research : Research in SE aims to achieve two main goals: 1) To increase the knowledge about.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
The student will demonstrate an understanding of how scientific inquiry and technological design, including mathematical analysis, can be used appropriately.
1 Issues in Assessment in Higher Education: Science Higher Education Forum on Scientific Competencies Medellin-Colombia Nov 2-4, 2005 Dr Hans Wagemaker.
Experimental Research Methods in Language Learning Chapter 1 Introduction and Overview.
An Examination of Science. What is Science Is a systematic approach for analyzing and organizing knowledge. Used by all scientists regardless of the field.
1 Introduction to Software Engineering Lecture 1.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
What is Science?. Competency Goal 1: The learner will design and conduct investigations to demonstrate an understanding of scientific inquiry.. –1.03.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
An Introduction to Software Engineering
Welcome Science 5 and Science 6 Implementation Workshop.
Unpacking the Elements of Scientific Reasoning Keisha Varma, Patricia Ross, Frances Lawrenz, Gill Roehrig, Douglas Huffman, Leah McGuire, Ying-Chih Chen,
Nursing research Is a systematic inquiry into a subject that uses various approach quantitative and qualitative methods) to answer questions and solve.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
A Brief Introduction to Psychology Goals of the science and how they are achieved.
Chapter 1 What is Biology? 1.1 Science and the Natural World.
Software Engineering I. Introduction to Software Engineering Software models Formal Specification using ASML (Abstract State Machines Language) Software.
What Is Science?. 1. Science is limited to studying only the natural world. 2. The natural world are those phenomena that can be investigated, discovered,
1 Guess the Covered Word Goal 1 EOC Review 2 Scientific Method A process that guides the search for answers to a question.
Choosing a Formal Method Mike Weissert COSC 481. Outline Introduction Reasons For Choosing Formality Application Characteristics Criteria For A Successful.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Applying Adaptive Software Development (ASD) Agile Modeling on Predictive Data Mining Applications: ASD-DM Methodology M. Alnoukari 1 Z.Alzoabi 2 S.Hanna.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
Profiling based unstructured process logs
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Classification of Research
Modeling and Simulation (An Introduction)
Software Engineering Process
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Introduction To System Analysis and Design PART 2
Qualitative vs. Quantitative research
Using Data in Undergraduate Science Classrooms
Nature of Science Understandings for HS
HCI in the software process
POSC 202A: Lecture 1 Introductions Syllabus R
Software Engineering Process
Human Computer Interaction Lecture 14 HCI in Software Process
Biological Science Applications in Agriculture
Software Engineering Process
Presentation transcript:

Modeling and Validation Victor R. Basili University of Maryland 27 September 1999

The Software Development Problem Problem: Build and evolve “no surprise” software for ever- expanding set of customers and applications Need: Gain intellectual control over software development Standard Solution: build models to encapsulate knowledge validate and elaborate the models via systematic observation, experimentation, and analysis

The Nature of the Software Discipline The Software Discipline is a synthetic science Software not visible SE is basically first-article development, not manufacturing Expectation for rapid change

Models Needed to Answer Questions What is the appropriate process for developing a system with a specific set of properties in a specific environment? What kinds of architectures are appropriate for particular types of functional change? Requires Models of: Software property tradeoffs Requirements and design decision rationales Decision making under uncertainty Human-computer tasks and collaborations Architectures Domains and product lines

Types of Software Models Product models Descriptions: requirements, architecture, design Properties: performance, reliability, usability, portability Process models Descriptions: activity networks, simulations, strategies (waterfall, evolutionary, spiral, incremental) Properties: cost, schedule, staffing levels, defect introduction and elimination Interested in relationships such as the cause effect relationship between process and products

Have Built Many Models Processes spiral incremental development, test techniques Products libraries for applications, generic architectures Resources local cost models, resource allocation models Changes and Defects defect prediction models, application specific defect types Quality reliability, ease of change models Product Progress actual vs. expected product size over time

Using Many Formalisms Mathematics functions, state machines, algebras, abstract data types Empirical models regression analysis, neural networks, pattern recognition Dynamic Models Petri nets, event simulators, continuous simulators Executable and non-executable notations programming languages, specification languages (Z, VDM)

Allowing Us to Characterize Describe/differentiate software processes and products Understand Explain associations/dependencies between processes and products Discover causal relationships Evaluate Assess the achievement of quality goals Assess the impact of technology on products Predict Estimate expected product quality and process resource consumption Motivate Describe what’s needed to control and manage software

Laboratories Needed to Validate Models Models form the basis of the discipline But they are hypotheses embedded in the learning cycle of observation, model building, and experimentation Need laboratories for observation and experimentation Laboratories where practitioners build software systems - observe them working in their environment - identify the real problems

The Laboratory Environment Strengths Symbiotic relationship between research and practice Practitioner need to control/manipulate project solutions based on empirical evidence Researcher need to experiment/validate theories Difficulties short term needs (practice) vs. long term goals (research) accessing and collecting data comparative studies, repeatability Need to solve the problem of creating effective laboratories

Conclusion Question: How do we build “no surprise” software? Requires: a software discipline that builds models to encapsulate knowledge based upon observation learns by validating the models via analysis and experimentation Assumes: collaboration between researcher and practitioner effective laboratories the kind of support that will allow this to happen