ASSIGNMENT – 2
ADVANCE SOFTWARE ENGINEERING
Submitted by:
Arooba Abdullah
Raana Hafeez
Shehla Kanwal
MS SE 25
10 December 2018
Question 1. Identify and provide an overview of different Types of scientific
research methods.
Answer:
Scientific research may be defined as a systematic, controlled, empirical, and critical
investigation of hypothetical propositions about the presumed relations among observed
phenomena. The scientific method approaches learning as a series of small steps. The
scientific method has four primary components. The process begins with a basic
observation and description of a phenomenon. Observations lead researchers to have
questions about why certain phenomena occur. Researchers then put forth a hypothesis,
or prediction, of what will happen or what the outcome of certain phenomena will be.
Researchers then conduct specific types of experiments meant to prove or disprove this
prediction. This means that the scientific method is self-correcting in that changes in
thought or theory are appropriate when errors in previous research are uncovered.
Depending on the purpose of research, scientific research projects can be grouped into
three types:
Exploratory:
Exploratory research is often conducted in new areas of inquiry, where the
goals of the research are:
(1) To scope out the magnitude or extent of a particular phenomenon,
problem, or behavior
(2) To generate some initial ideas (or “hunches”) about that phenomenon
(3) To test the feasibility of undertaking a more extensive study regarding
that phenomenon.
This research may not lead to a very accurate understanding of the target
problem, but may be worthwhile in scoping out the nature and extent of the
problem and serve as a useful precursor to more in-depth research.
Descriptive:
Descriptive research is directed at making careful observations and detailed
documentation of a phenomenon of interest. These observations must be
based on the scientific method (i.e., must be replicable, precise, etc.), and
therefore, are more reliable than casual observations by untrained people.
Explanatory:
Explanatory research seeks explanations of observed phenomena,
problems, or behaviors. While descriptive research examines the what,
where, and when of a phenomenon, explanatory research seeks answers
to why and how types of questions. It attempts to “connect the dots” in
research, by identifying causal factors and outcomes of the target
phenomenon. Most academic or doctoral research belongs to the
explanation category, though some amount of exploratory and/or
descriptive research may also be needed during initial phases of academic
research. Seeking explanations for observed events requires strong
theoretical and interpretation skills, along with intuition, insights, and
personal experience. Those who can do it well are also the most prized
scientists in their disciplines.
Following are also types of scientific research:
Quantitative Research:
It is numerical, non-descriptive, applies statistics or mathematics and uses
numbers. It is an iterative process whereby evidence is evaluated. The
results are often presented in tables and graphs. It is conclusive. It
investigates the what, where and when of decision making.
Qualitative Research:
It is non-numerical, descriptive, applies reasoning and uses words. Its aim
is to get the meaning, feeling and describe the situation. Qualitative data
cannot be graphed. It is exploratory. It investigates the why and how of
decision making.
Mixed Research:
Mixed research- research that involves the mixing of quantitative and
qualitative methods or paradigm characteristics. Nature of data is mixture
of variables, words and images.
Question 2. What type of Research methods are suitable for Software Engineering.
Answer:
Depending on the purpose of the evaluation, whether it is techniques, methods or tools,
and depending on the conditions for the empirical investigation, following research
methods are most relevant to software engineering:
Experiments
Experiments are sometimes referred to as research-in-the small, since they are
concerned with a limited scope and most often are run in a laboratory setting. They
are often highly controlled and hence also occasionally referred to as controlled
experiment. When experimenting, subjects are assigned to different treatments at
random. The objective is to manipulate one or more variables and control all other
variables at fixed levels. The effect of the manipulation is measured, and based on
this a statistical analysis can be performed.
Survey
The survey is referred to as research-in-the-large (and past), since it is possible to
send a questionnaire to or interview a large number people covering whatever
target population we have. Thus, a survey is often an investigation performed in
retrospect, when e.g. a tool or technique, has been in use for a while. The primary
means of gathering qualitative or quantitative data are interviews or
questionnaires. These are done through taking a sample that is representative
from the population to be studied. The results from the survey are then analysed
to derive descriptive and explanatory conclusions. They are then generalised to
the population from which the sample was taken.
Case Studies
Case study research is sometimes referred to as research-in the-typical. It is
described in this way because a case study normally studies a real project and
hence the situation is “typical”. Case studies are used for monitoring projects,
activities or assignments. Data is collected for a specific purpose throughout the
study. Based on the data collection, statistical analyses can be carried out. The
case study is normally aimed at tracking a specific attribute or establishing
relationships between different attributes. The level of control is lower in a case
study than in an experiment. A case study is an observational study while the
experiment is a controlled study. The analysis methods include linear regression
and principal component analysis.
Post-mortem analysis
This type of analysis is also conducted on the past as indicated by the name.
However, it should be interpreted a little broader than literary as a post-mortem.
For example, a project does not have to be finished to launch a post-mortem
analysis. It would be possible to study any part of a project retrospectively using
this type of analysis. Thus, this type of analysis may, in the descriptive way used
by, be described as being research-in-the-past-and-typical. It can hence be viewed
as related to both the survey and the case study. The postmortem may be
conducted by looking at project documentation (e.g. archival analysis) or by
interviewing people, individually or as a group, who have participated in the object
that is being analysed in the post-mortem analysis.
Ethnographies
Ethnography research is a qualitative method where researchers observe and/or
interact with a study’s participants in their real-life environment. Ethnography was
popularised by anthropology, but is used across a wide range of social sciences.
Within the field of usability, user-centred design and service design, ethnography
is used to support a designer’s deeper understanding of the design problem –
including the relevant domain, audience(s), processes, goals and context(s) of
use. The aim of an ethnographic study within a usability project is to get ‘under the
skin’ of a design problem (and all its associated issues). It is hoped that by
achieving this, a designer will be able to truly understand the problem and therefore
design a far better solution.
Action Research
Action research is known by many other names, including participatory research,
collaborative inquiry, emancipatory research, action learning, and contextual
action research, but all are variations on a theme. Action research is “learning by
doing” - a group of people identify a problem, do something to resolve it, see how
successful their efforts were, and if not satisfied, try again. Action research aims
to contribute both to the practical concerns of people in an immediate problematic
situation and to further the goals of social science simultaneously. What separates
this type of research from general professional practices, consulting, or daily
problem-solving is the emphasis on scientific study, which is to say the researcher
studies the problem systematically and ensures the intervention is informed by
theoretical considerations. It also has a social dimension, the research takes place
in real-world situations, and aims to solve real problems. Finally, the initiating
researcher, unlike in other disciplines, makes no attempt to remain objective, but
openly acknowledges their bias to the other participants.
Question 3. Literature Review
Introduction:
In research paper ‘What Makes Good Research in Software Engineering?’ Mary Shaw
has communicated characteristics of research in software engineering. Software
engineering has not yet clearly acknowledged and explained either common research
processes or the ways the good research is recognized. Some of the successful
standards for software engineering research have been drawn mainly from Software
Architecture examples. Science and engineering research fields can be characterized in
terms of:
Kinds of questions worth investigating: what kind of questions are "interesting"?
The research methods to be adopted: What kinds of results help to answer these
questions, and what research methods can produce these results?
The criteria by which they results are evaluated: What kinds of evidence can
demonstrate the validity of a result, and how are good results distinguished from
the bad ones?
In paper ‘A Holistic Overview of Software Engineering Research Strategies’, Klaas-
Jan Stol and Brian Fitzgerald Lero have identified a holistic set of research methods and
indicated their strengths and weaknesses in relation to various research elements. The
importance of conducting empirical research has been increasingly highlighted in recent
years. To conduct empirical research, the software engineering research community has
adopted several research methods, approaches and techniques from other fields.
However, a broader range of approaches have been introduced, including qualitative
approaches such as grounded theory studies, ethnographies, and delphi studies.
Summary of articles:
According to Mary Shaw, Software engineering will benefit from a better understanding
of the research strategies That have been most successful. The model presented here
reflects the character of the discipline: it identifies the types of questions software
engineers find interesting, the types of results we produce in answering those questions,
and the types of evidence that we use to evaluate the results. Research questions are of
different kinds, and research strategies vary in response. The strategy of a research
project should select a result, an approach to obtaining the result, and a validation
strategy appropriate to the research question. More explicit awareness of these choices
may help software engineers design research projects and report their results; it may also
help readers read and evaluate the literature. The questions of interest change as the
field matures. One indication that ideas are maturing is a shift from qualitative and
empirical understanding to precise and quantitative models. This analysis has considered
individual research reports, but major results that influence practice rely on accumulation
of evidence from many projects. Each individual paper thus provides incremental
knowledge, and collections of related research projects and reports provide both
confirming and cumulative evidence.
According to Klaas-Jan Stol and Brian Fitzgerald Lero, Existing guidelines offer various
and limited sets of different research approaches, which are of varying levels of
granularity (case study v. exploratory/evaluative case study; experiment v.
controlled/quasi experiment, etc.), and thus represent a “mixed bag” of methods. We have
adopted a framework from the social sciences, which provides a holistic overview of
different research strategies. While existing overviews provide overviews of different
methods, they do not systematically explain how these methods relate to one another.
These strategies can be considered to be the architectures of research designs, which
have associated weaknesses and strengths due to their relation with the level of the
researcher’s ‘control’ (the obtrusiveness dimension) and the level of generalizability to
populations (the universal v. particular system dimension). Rather than speaking of an
“interview study” or a “case study,” which does not convey any information regarding the
generalizability or level of control that a researcher might have, we believe that this set of
research strategies can offer guidance to researchers in the software engineering
community in making an appropriate trade-off.
Conclusion:
‘What makes good research in Software Engineering’ is the title of the article. It can’t be
stated that it is suitable and strong as the article can be given a better title according to
topics discussed in the article like comparisons of research strategies with other science
fields and HCI. Abstract is clear providing the overview of all the topics discussed in the
research paper including comparisons, better research strategies, software engineering
research and its role. Purpose of the article is clear in the introduction but unnecessary
detail of the other sciences is given. More detail of factors making good research in
software engineering should have been provided. Research questions, results and
validations are discussed as three aspects of Software Engineering research and then
research strategies are created, and all the topics are well explained. However, all the
discussion is not relevant to the topic as unnecessary detail is given on variant topics like
HCI research, experimental research in software engineering. Author has cited
experimental research, technology maturation etc which is not directly relevant to the
topic. Moreover, comparisons of software engineering and other science disciplines are
overemphasized while main topic of the research is undervalued. It can be revised by
including specific details on software engineering research aspects and research
strategies. Question results and validation leads to research strategies. These topics
should be expanded that how to use these aspects for good research and which strategy
should be used under different circumstances. Author’s statements are clear according
to the topic but the author should have been more objective in discussions of topics.
Information on good research is provided in the article but unnecessary details and
irrelevant discussions affected the objective of the article.
The paper ‘A Holistic overview of Software Engineering Research strategies’ has
appropriate title as most common strategies are discussed and compared in this article.
Abstract is representative of the article but focus should have been on the main topic i.e.
Research Strategies. Purpose of the article is clear in the article but
unnecessary/irrelevant background knowledge is presented. All the facts are validated
with the help of examples. Examples are provided for all research methods with strengths
and weaknesses. Author has cited the relevant but at some points it seems like extra
references are provided in introduction and related work section. Ideas are not much
overemphasized or underemphasized but little extra knowledge is presented in many
sections like in most of the research methods. Compared strengths and weaknesses
should be expanded in this article, while irrelevant information in discussion and related
work should be omitted. Author presented all the knowledge in understandable and clear
form explaining background and related work, research methods and then providing
strengths and weaknesses.
References:
[1] http://www.web.ca/~robrien/papers/arfinal.html#_Toc26184651
[2] http://www.wohlin.eu/web05.pdf
[3] https://www.slideshare.net/sarfraznawaz/empirical-research-methods-for-
software-engineering
[4] http://www.innspub.net/types-of-scientific-research/
[5] https://cs.gmu.edu/~offutt/classes/see/papers/Easterbrook-
SelectingEmpiricalMethods2008.pdf