72 research outputs found
A clustering based technique for large scale prioritization during requirements elicitation
We consider the prioritization problem in cases where the number of requirements to prioritize is large using a clustering technique. Clustering is a method used to find classes of data elements with respect to their attributes. KMeans, one of the most popular clustering algorithms, was adopted in this research. To utilize k-means algorithm for solving requirements prioritization problems, weights of attributes of requirement sets from relevant project stakeholders are required as input parameters. This paper showed that, the output of running k-means algorithm on requirement sets varies depending on the weights provided by relevant stakeholders. The proposed approach was validated using a requirement dataset known as RALIC. The results suggested that, a synthetic method with scrambled centroids is effective for prioritizing requirements using k-means clustering
Why Do Developers Get Password Storage Wrong? A Qualitative Usability Study
Passwords are still a mainstay of various security systems, as well as the
cause of many usability issues. For end-users, many of these issues have been
studied extensively, highlighting problems and informing design decisions for
better policies and motivating research into alternatives. However, end-users
are not the only ones who have usability problems with passwords! Developers
who are tasked with writing the code by which passwords are stored must do so
securely. Yet history has shown that this complex task often fails due to human
error with catastrophic results. While an end-user who selects a bad password
can have dire consequences, the consequences of a developer who forgets to hash
and salt a password database can lead to far larger problems. In this paper we
present a first qualitative usability study with 20 computer science students
to discover how developers deal with password storage and to inform research
into aiding developers in the creation of secure password systems
Профилактика болезней периодонта на начальных этапах ортодонтического лечения
ПЕРИОДОНТА БОЛЕЗНИБРЕКЕТ-СИСТЕМЫСТОМАТОЛОГИЯ ЛЕЧЕБНО-ВОССТАНОВИТЕЛЬНАЯОРТОДОНТИЧЕСКАЯ СТОМАТОЛОГИЯГЕКСАЛИЗГИНГИВИ
Identifying Suitable Representation Techniques for the Prioritization of Requirements and Their Interdependencies for Multiple Software Product Lines
Software requirements typically do not exist independently of each
other, rather most requirements have some type of dependency on another
requirement [4]. For companies developing software products, which depend on
each other, in so-called multiple software product lines (SPLs), systematic
requirements management, including consideration for prioritization and inter‐
dependencies, is a time-consuming and convoluted task. Representation techniques for complex requirements can convey critical requirements interdependency
information to make prioritization of requirements quicker and more accurate [1].
Based on reviewing the foremost literature, this paper identifies the representation
techniques for requirements management which are most suitable for multiple
software product lines (SPLs
Requirements Engineering
Requirements Engineering (RE) aims to ensure that systems meet the needs of their stakeholders including users, sponsors, and customers. Often consid- ered as one of the earliest activities in software engineering, it has developed into a set of activities that touch almost every step of the software development process. In this chapter, we reflect on how the need for RE was first recognised and how its foundational concepts were developed. We present the seminal papers on four main activities of the RE process, namely (i) elicitation, (ii) modelling & analysis, (iii) as- surance, and (iv) management & evolution. We also discuss some current research challenges in the area, including security requirements engineering as well as RE for mobile and ubiquitous computing. Finally, we identify some open challenges and research gaps that require further exploration
Prioritization of Stakeholder Needs in Software Engineering - Understanding and Evaluation
In everyday life, humans confront situations where different decisions have to
be made. Such decisions can be non-trivial even though they often are
relatively simple, such as which bus to take or which flavor of a soft drink to
buy. When facing decisions of more complex nature, and when more is at stake,
they tend to get much harder. It is often possible to deal with such decisions
by prioritizing different alternatives to find the most suitable one.
In software engineering, decision-makers are often confronted with situations
where complex decisions have to be made, and where the concept of
prioritization can be utilized. Traditionally in software engineering,
discussions about prioritization have focused on the software product. However,
when defining or improving software processes, complex decisions also have to
be made. In fact, software products and software processes have many
characteristics in common which invite thoughts about using prioritization when
developing and evolving software processes as well. The results presented in
this thesis indicate that it is possible to share results and knowledge
regarding prioritization between the two areas.
In this thesis, the area of prioritization of software products is investigated
in detail and a number of studies where prioritizations are performed in both
process and product settings are presented. It is shown that it is possible to
use prioritization techniques commonly used in product development also when
prioritizing improvement issues in a software company. It is also shown that
priorities between stakeholders of a software process sometimes differ, just as
they do when developing software products. The thesis also presents an
experiment where different prioritization techniques are evaluated with regard
to ease of use, time consumption, and accuracy. Finally, an investigation of
the suitability of students as subjects when evaluating prioritization
techniques is presented
Evolving Prioritization for Software Product Management
The quality of a product is commonly defined by its ability to satisfy stakeholder needs and expectations. Therefore, it is important to find, select, and plan the content of a software product to maximize the value for internal and external stakeholders. This process is traditionally referred to as requirements engineering in the software industry, while it is often referred to as product management in industries with a larger market focus. As an increasing number of software products are delivered to a market instead of single customers, the need for product management in software companies is increasing. As a side effect, the need for mechanisms supporting decisions regarding the content of software products also increases. While decision-support within requirements engineering and product management is a broad area, requirements prioritization together with release planning and negotiation are considered as some of the most important decision activities. This is particularly true because these activities support decisions regarding the content of products, an
- …
