A Framework for Teaching Distributed Requirements Engineering in Latin American Universities

This work describes a framework for teaching of global software engineering (GSE) in university undergraduate programs. This framework proposes a method of teaching that incorporates adequate techniques of software requirements elicitation and validated tools of communication, critical aspects to global software development scenarios. The use of proposed framework allows teachers to simulate small software development companies formed by Latin American students, which build information systems. Students from three Latin American universities played the roles of engineers by applying an iterative development of a requirements specification in a global software project. The proposed framework involves the use of a specific purpose Wiki for asynchronous communication between the participants of the process. It is also a practice to improve the quality of software requirements that are formulated by the students. The additional motivation of students to participate in these practices, in conjunction with peers from other countries, is a significant additional factor that positively contributes to the learning process. The framework promotes skills for communication, negotiation, and other complementary competencies that are useful for working on GSE scenarios.

Requirement Engineering and Software Product Line Scoping Paradigm

Requirement Engineering (RE) is a part being created for programming structure during the software development lifecycle. Software product line development is a new topic area within the domain of software engineering. It also plays important role in decision making and it is ultimately helpful in rising business environment for productive programming headway. Decisions are central to engineering processes and they hold them together. It is argued that better decisions will lead to better engineering. To achieve better decisions requires that they are understood in detail. In order to address the issues, companies are moving towards Software Product Line Engineering (SPLE) which helps in providing large varieties of products with minimum development effort and cost. This paper proposed a new framework for software product line and compared with other models. The results can help to understand the needs in SPL testing, by identifying points that still require additional investigation. In our future scenario, we will combine this model in a controlled environment with industrial SPL projects which will be the new horizon for SPL process management testing strategies.

JREM: An Approach for Formalising Models in the Requirements Phase with JSON and NoSQL Databases

This paper presents an approach to reduce some of its current flaws in the requirements phase inside the software development process. It takes the software requirements of an application, makes a conceptual modeling about it and formalizes it within JSON documents. This formal model is lodged in a NoSQL database which is document-oriented, that is, MongoDB, because of its advantages in flexibility and efficiency. In addition, this paper underlines the contributions of the detailed approach and shows some applications and benefits for the future work in the field of automatic code generation using model-driven engineering tools.

Teaching Students Collaborative Requirements Engineering: Case Study of Red:Wire

This paper discusses the use of a template-based approach for documenting high-quality requirements as part of course projects in an undergraduate Software Engineering course. In order to ease some of the Requirements Engineering activities that are performed when defining requirements by using the template, a new CASE tool, RED:WIRE, was first developed and later tested by students attending the course. Two questionnaires were conceived around a study that aims to analyze the new tool’s learnability as well as other obtained results concerning its usability in particular and the Requirements Engineering skills developed by the students in general.

Requirements Engineering via Controlling Actors Definition for the Organizations of European Critical Infrastructure

The organizations of European and Czech critical infrastructure have specific position, mission, characteristics and behaviour in European Union and Czech state/business environments, regarding specific requirements for regional and global security environments. They must respect policy of national security and global rules, requirements and standards in all their inherent and outer processes of supply - customer chains and networks. A controlling is generalized capability to have control over situational policy. This paper aims and purposes are to introduce the controlling as quite new necessary process attribute providing for critical infrastructure is environment the capability and profit to achieve its commitment regarding to the effectiveness of the quality management system in meeting customer/ user requirements and also the continual improvement of critical infrastructure organization’s processes overall performance and efficiency, as well as its societal security via continual planning improvement via DYVELOP modelling.

Inadequate Requirements Engineering Process: A Key Factor for Poor Software Development in Developing Nations: A Case Study

Developing a reliable and sustainable software products is today a big challenge among up–coming software developers in Nigeria. The inability to develop a comprehensive problem statement needed to execute proper requirements engineering process is missing. The need to describe the ‘what’ of a system in one document, written in a natural language is a major step in the overall process of Software Engineering. Requirements Engineering is a process use to discover, analyze and validate system requirements. This process is needed in reducing software errors at the early stage of the development of software. The importance of each of the steps in Requirements Engineering is clearly explained in the context of using detailed problem statement from client/customer to get an overview of an existing system along with expectations from the new system. This paper elicits inadequate Requirements Engineering principle as the major cause of poor software development in developing nations using a case study of final year computer science students of a tertiary-education institution in Nigeria.

Requirements Management as a Competitive Factor in the it Mid Tier Business Concerning the Implementation of Erp-Software

The success of IT-projects concerning the implementation of business application Software is strongly depending upon the application of an efficient requirements management, to understand the business requirements and to realize them in the IT. But in fact, the Potentials of the requirements management are not fully exhausted by small and medium sized enterprises (SME) of the IT sector. To work out recommendations for action and furthermore a possible solution, allowing a better exhaust of potentials, it shall be examined in a scientific research project, which problems occur out of which causes. In the same place, the storage of knowledge from the requirements management, and its later reuse are important, to achieve sustainable improvements of the competitive of the IT-SMEs. Requirements Engineering is one of the most important topics in Product Management for Software to achieve the goal of optimizing the success of the software product.

A Systematic Review for the Latest Development in Requirement Engineering

Requirement engineering has been the subject of large volume of researches due to the significant role it plays in the software development life cycle. However, dynamicity of software industry is much faster than advances in requirements engineering approaches. Therefore, this paper aims to systematically review and evaluate the current research in requirement engineering and identify new research trends and direction in this field. In addition, various research methods associated with the Evaluation-based techniques and empirical study are highlighted for the requirements engineering field. Finally, challenges and recommendations on future directions research are presented based on the research team observations during this study.

Suitability of Requirements Abstraction Model (RAM) Requirements for High-Level System Testing

The Requirements Abstraction Model (RAM) helps in managing abstraction in requirements by organizing them at four levels (product, feature, function and component). The RAM is adaptable and can be tailored to meet the needs of the various organizations. Because software requirements are an important source of information for developing high-level tests, organizations willing to adopt the RAM model need to know the suitability of the RAM requirements for developing high-level tests. To investigate this suitability, test cases from twenty randomly selected requirements were developed, analyzed and graded. Requirements were selected from the requirements document of a Course Management System, a web based software system that supports teachers and students in performing course related tasks. This paper describes the results of the requirements document analysis. The results show that requirements at lower levels in the RAM are suitable for developing executable tests whereas it is hard to develop from requirements at higher levels.

Lessons from Applying XP Methodology to Business Requirements Engineering in Developing Countries Context

Most standard software development methodologies are often not applied to software projects in many developing countries of the world. The approach generally practice is close to what eXtreme Programming (XP) is likely promoting, just keep coding and testing as the requirement evolves. XP is an agile software process development methodology that has inherent capability for improving efficiency of Business Software Development (BSD). XP can facilitate Business-to-Development (B2D) relationship due to its customer-oriented advocate. From practitioner point of view, we applied XP to BSD and result shows that customer involvement has positive impact on productivity, but can as well frustrate the success of the project. In an effort to promote software engineering practice in developing countries of Africa, we present the experiment performed, lessons learned, problems encountered and solution adopted in applying XP methodology to BSD.

Requirements Management in a Distributed Agile Environment

The importance of good requirements engineering is well documented. Agile practices, promoting collaboration and communications, facilitate the elicitation and management of volatile requirements. However, current Agile practices work in a well-defined environment. It is necessary to have a co-located customer. With distributed development it is not always possible to realize this co-location. In this environment a suitable process, possibly supported by tools, is required to support changing requirements. This paper introduces the issues of concern when managing requirements in a distributed environment and describes work done at the Software Technology Research Centre as part of the NOMAD project.

Development of Non-functional Requirements for Decision Support Systems

Decision Support System (DSS) are interactive software systems that are built to assist the management of an organization in the decision making process when faced with nonroutine problems in a specific application domain. Non-functional requirements (NFRs) for a DSS deal with the desirable qualities and restrictions that the DSS functionalities must satisfy. Unlike the functional requirements, which are tangible functionalities provided by the DSS, NFRs are often hidden and transparent to DSS users but affect the quality of the provided functionalities. NFRs are often overlooked or added later to the system in an ad hoc manner, leading to a poor overall quality of the system. In this paper, we discuss the development of NFRs as part of the requirements engineering phase of the system development life cycle of DSSs. To help eliciting NFRs, we provide a comprehensive taxonomy of NFRs for DSSs.

Requirements Engineering for Enterprise Applications Development: Seven Challenges in Higher Education Environment

This paper describes the challenges on the requirements engineering for developing an enterprise applications in higher education environment. The development activities include software implementation, maintenance, and enhancement and support for online transaction processing and overnight batch processing. Generally, an enterprise application for higher education environment may include Student Information System (SIS), HR/Payroll system, Financial Systems etc. By the way, there are so many challenges in requirement engineering phases in order to provide two distinctive services that are production processing support and systems development.

Detecting Interactions between Behavioral Requirements with OWL and SWRL

High quality requirements analysis is one of the most crucial activities to ensure the success of a software project, so that requirements verification for software system becomes more and more important in Requirements Engineering (RE) and it is one of the most helpful strategies for improving the quality of software system. Related works show that requirement elicitation and analysis can be facilitated by ontological approaches and semantic web technologies. In this paper, we proposed a hybrid method which aims to verify requirements with structural and formal semantics to detect interactions. The proposed method is twofold: one is for modeling requirements with the semantic web language OWL, to construct a semantic context; the other is a set of interaction detection rules which are derived from scenario-based analysis and represented with semantic web rule language (SWRL). SWRL based rules are working with rule engines like Jess to reason in semantic context for requirements thus to detect interactions. The benefits of the proposed method lie in three aspects: the method (i) provides systematic steps for modeling requirements with an ontological approach, (ii) offers synergy of requirements elicitation and domain engineering for knowledge sharing, and (3)the proposed rules can systematically assist in requirements interaction detection.