scholarly journals A Negotiation Framework for Managing the Requirements Changes

2013 ◽  
Vol 13 (Special-Issue) ◽  
pp. 75-87
Author(s):  
Yirui Zhang ◽  
Ying Jin ◽  
Jianxiu Bai ◽  
Jing Zhang

Abstract The consistent system requirements set is the basis of successful software projects. The requirements change is very usual in a software project, and it may cause inconsistency of the requirements set, and become the key factor that affects the quality of the requirements and the software. Aiming at the problem of requirements inconsistencies caused by the requirements change, this paper proposes a compromise-based negotiation framework to manage the requirements changes, illustrates the efficiency of the proposed method by a software engineering case, gives a contrast experiment with the current mainstream method, and finally gives a comparison with the related work and a conclusion. The experimental results show that the framework proposed in this paper is more flexible and accurate than the results of the current popular framework, so it is more suitable for the requirement changes management.

Author(s):  
Grigoris Antoniou

This paper discusses the significance of nonmonotonic reasoning, a method from the knowledge representation area, to mainstream software engineering. In particular, we discuss why the use of defaults in specifications is an adequate way of addressing some of the most important problems in requirements engineering, such as: The problem of identifying and dealing with inconsistencies; evolving system requirements; requirements prioritization; and the quality of specifications with respect to naturalness and compactness. We argue that these problems need to be addressed in a principled, formal way, and that default reasoning provides adequate mechanisms to deal with them.


Author(s):  
Nuthan Munaiah ◽  
Steven Kroh ◽  
Craig Cabrey ◽  
Meiyappan Nagappan

Software forges like GitHub host millions of repositories. Software engineering researchers have been able to take advantage of such a large corpora of potential study subjects with the help of tools like GHTorrent and Boa. However, the simplicity in querying comes with a caveat: there are limited means of separating the signal (e.g. repositories containing engineered software projects) from the noise (e.g. repositories containing home work assignments). The proportion of noise in a random sample of repositories could skew the study and may lead to researchers reaching unrealistic, potentially inaccurate, conclusions. We argue that it is imperative to have the ability to sieve out the noise in such large repository forges. We propose a framework, and present a reference implementation of the framework as a tool called reaper, to enable researchers to select GitHub repositories that contain evidence of an engineered software project. We identify software engineering practices (called dimensions) and propose means for validating their existence in a GitHub repository. We used reaper to measure the dimensions of 1,994,977 GitHub repositories. We then used the data set train classifiers capable of predicting if a given GitHub repository contains an engineered software project. The performance of the classifiers was evaluated using a set of 200 repositories with known ground truth classification. We also compared the performance of the classifiers to other approaches to classification (e.g. number of GitHub Stargazers) and found our classifiers to outperform existing approaches. We found stargazers-based classifier to exhibit high precision (96%) but an inversely proportional recall (27%). On the other hand, our best classifier exhibited a high precision (82%) and a high recall (83%). The stargazer-based criteria offers precision but fails to recall a significant potion of the population.


Author(s):  
Yves Wautelet ◽  
Christophe Schinckus ◽  
Manuel Kolp

This article presents an epistemological reading of knowledge evolution in software engineering (SE) both within a software project and into SE theoretical frameworks principally modeling languages and software development life cycles (SDLC). The article envisages SE as an artificial science and notably points to the use of iterative development as a more adequate framework for the enterprise applications. Iterative development has become popular in SE since it allows a more efficient knowledge acquisition process especially in user intensive applications by continuous organizational modeling and requirements acquisition, early implementation and testing, modularity,… SE is by nature a human activity: analysts, designers, developers and other project managers confront their visions of the software system they are building with users’ requirements. The study of software projects’ actors and stakeholders using Simon’s bounded rationality points to the use of an iterative development life cycle. The later, indeed, allows to better apprehend their rationality. Popper’s knowledge growth principle could at first seem suited for the analysis of the knowledge evolution in the SE field. However, this epistemology is better adapted to purely hard sciences as physics than to SE which also takes roots in human activities and by the way in social sciences. Consequently, we will nuance the vision using Lakatosian epistemology notably using his falsification principle criticism on SE as an evolving science. Finally the authors will point to adaptive rationality for a lecture of SE theorists and researchers’ rationality.


Author(s):  
Yves Wautelet ◽  
Christophe Schinckus ◽  
Manuel Kolp

This article presents an epistemological reading of knowledge evolution in software engineering (SE) both within a software project and into SE theoretical frameworks principally modeling languages and software development life cycles (SDLC). The article envisages SE as an artificial science and notably points to the use of iterative development as a more adequate framework for the enterprise applications. Iterative development has become popular in SE since it allows a more efficient knowledge acquisition process especially in user intensive applications by continuous organizational modeling and requirements acquisition, early implementation and testing, modularity,… SE is by nature a human activity: analysts, designers, developers and other project managers confront their visions of the software system they are building with users’ requirements. The study of software projects’ actors and stakeholders using Simon’s bounded rationality points to the use of an iterative development life cycle. The later, indeed, allows to better apprehend their rationality. Popper’s knowledge growth principle could at first seem suited for the analysis of the knowledge evolution in the SE field. However, this epistemology is better adapted to purely hard sciences as physics than to SE which also takes roots in human activities and by the way in social sciences. Consequently, we will nuance the vision using Lakatosian epistemology notably using his falsification principle criticism on SE as an evolving science. Finally the authors will point to adaptive rationality for a lecture of SE theorists and researchers’ rationality.


Author(s):  
Roy Gelbard ◽  
Jeffrey Kantor ◽  
Liran Edelist

This study proposes and prototypes a model that integrates these three aspects of software projects by automatically mapping SE objects and accounting–costing objects into PM objects. To validate the feasibility of the model and without loss of generality, it is demonstrated using former research platform focused on conversion of data flow diagrams (DFD), which are actually full enterprise set of use cases diagrams reflecting entire system-software project into Gantt charts.


2009 ◽  
pp. 1581-1602
Author(s):  
Iris Reinhartz-Berger ◽  
Arnon Sturm

UML has been largely adopted as a standard modeling language. The emergence of UML from different modeling languages that refer to various system aspects causes a wide variety of completeness and correctness problems in UML models. Several methods have been proposed for dealing with correctness issues, mainly providing internal consistency rules but ignoring correctness and completeness with respect to the system requirements and the domain constraints. In this article, we propose addressing both completeness and correctness problems of UML models by adopting a domain analysis approach called application-based domain modeling (ADOM). We present experimental results from our study which checks the quality of application models when utilizing ADOM on UML. The results advocate that the availability of the domain model helps achieve more complete models without reducing the comprehension of these models.


2016 ◽  
Vol 9 (1) ◽  
pp. 101
Author(s):  
Nedhal A. Al-Saiyd

<p><span style="font-size: 10.5pt; font-family: 'Times New Roman','serif'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;" lang="EN-US">Software is changed continuously in order to respond to different users and business needs. Requirements are changed dynamically to improve software usability and increase its value, but requirement volatility sometimes cause failures for many projects because of inadequate understanding of the changing causes and the consequences of these changes. This research highlights the importance of managing requirement changes, classify them, and control the impact risks of requirement volatility on software project. The proposed model is designed based on software requirements risks factors and how to reduce their impacts. Generally, requirements changing is considered as a difficult, costly and time-consumed task, and consequently it is too important to study the inter-relationships between the changes and their impacts on the other phases of software system. The good understanding of the changing causes and their consequences can improve and support requirements management process and also lead successfully to the predicted goals of changes. The high quality of the requirements influences the success of a software project during software development and maintenance processes.</span></p>


2018 ◽  
Vol 11 (4) ◽  
pp. 680
Author(s):  
Lucas Florêncio de Brito ◽  
Ricardo Argenton Ramos ◽  
Rosalvo Ferreira de Oliveira Neto ◽  
Brauliro Gonçalves Leal

One of the causes of bad software planning is the lack of qualified professionals and that in order to improve their quality it is necessary to improve the quality of teaching in the Software Engineering area. Educational games present themselves as a promising alternative as a method of teaching support, since they are able to teach while they entertain, motivating the student to learn, however, there is still a need to evaluate the real benefits of this didactic resource. Thus, this work evaluated qualitatively and quantitatively the game SimulES (Software Engineering Simulator), an educational cards game that simulates the software process development. Applying it to Computer Engineering students at UNIVASF in the Software Engineering II discipline, with the purpose of inferring its effectiveness in teaching software project management. The application of the game was done with 22 students in the semester of 2017.1 and to measure the quality of learning obtained through the game was applied a questionnaire that uses Kirkpatrick reaction concepts, ARCS Model, User Experience in Games and BLOOM Taxonomy. The result of the analysis by t Student test showed that the game's activities are fun, enjoyable and challenging, as well as being able to motivate students to learn software project management and contribute to learning that content.


2020 ◽  
Vol 6 (3) ◽  
pp. 27-34
Author(s):  
E.J. Robles Gómez ◽  
J.A. Flores Lara ◽  
J.C. Ontiveros Neri

El juego getKanban es una herramienta para enseñar la metodología Kanban y SCRUM de una manera divertida. Facilita la enseñanza de la gestión de proyectos de software a través de un juego de mesa, donde los jugadores aprenden a formular estrategias de gestión de proyectos y las implementan para elaborar proyectos de calidad en tiempo y forma. El presente artículo muestra los resultados de la implementación del juego en una institución educativa de nivel superior, con alumnos de Ingeniería en Sistemas Computacionales de octavo semestre. Se puede apreciar que al utilizar este juego ayuda de manera efectiva a la enseñanza de Kanban y SCRUM, para la gestión de proyectos de software. Por lo cual se recomienda poder implementar este tipo de juegos como estrategia didáctica para la enseñanza/aprendizaje de Ingeniería de Software aplicada a la Gestión de Proyectos de Desarrollo de Software. The game Kanban is a tool to teach the methodology in a fun way. It facilitates the teaching of software project management through where players learn to formulate strategies and implement them to develop quality projects on time Delivery. This article shows the results of the implementation of the game in an educational institution of higher level, with students of Computer Systems Engineering eighth semester. It can be seen that by using this game it helps in an effective way to teach Kanban for the management of software projects. Therefore, it is recommended to be able to implement this type of games as a didactic strategy for the teaching / learning of Software Engineering applied to the Management of Software Development Projects


Author(s):  
Pankaj Kamthan

The steady rise of open source software (OSS) (Raymond, 1999) over the last few decades has made a noticeable impact on many sectors of society where software has a role to play. As reflected from the frequency of media articles, traffic on mailing lists, and growing research literature, OSS has garnered much support in the software community. Indeed, from the early days of GNU software, to X Window System, to Linux and its utilities, and more recently the Apache Software Project, OSS has changed the way software is developed and used. As the deployment of OSS increases, the issue of its quality with respect to its stakeholders arises. We contend that the open source community collectively bears responsibility of producing “high-quality” OSS. Lack of quality raises various risks for organizations adopting OSS (Golden, 2004). This article discusses the manifestation of quality in open source software development (OSSD) from a traditional software engineering standpoint. The organization is as follows. We first outline the background and related work necessary for the discussion that follows, and state our position. This is followed by a detailed treatment of key software engineering practices that directly or indirectly impact the quality of OSS. Next, challenges and directions for future research are outlined and, finally, concluding remarks are given.


Sign in / Sign up

Export Citation Format

Share Document