Book file PDF easily for everyone and every device.
You can download and read online Requirements Engineering file PDF Book only if you are registered here.
And also you can download or read online all Book PDF file that related with Requirements Engineering book.
Happy reading Requirements Engineering Bookeveryone.
Download file Free Book PDF Requirements Engineering at Complete PDF Library.
This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats.
Here is The CompletePDF Book Library.
It's free to register here to get Book file PDF Requirements Engineering Pocket Guide.
Requirement Engineering is the process of defining, documenting and maintaining the requirements. It is a process of gathering and defining service provided.
Table of contents
- Three common mistakes in requirements engineering
- Requirement Engineering Process
- EMPIRICAL STUDY OF REQUIREMENTS ENGINEERING IN CROSS DOMAIN DEVELOPMENT
- Software Engineering | Requirement Engineering - javatpoint
Juan P. Mighetti 1. Graciela D. Hadad 2. Although it provides some competitive advantages, such as speeding up the software delivery, reducing cost, and taking advantage of more economic resources, this working model is a very complex one. Threats, such as geographic distance and cultural differences, may impact negatively on activities and artifacts of the software process. Untreated threats usually affect the quality of the requirements, propagating defects to subsequent development phases. Global software development threats were studied in a real major project, where no special treatment was put into practice to mitigate them.
Analyzing the serious consequences on that project, a proposal was developed using a Lexicon model and Scenarios in order to mitigate threats to requirements in this distributed working mode. The proposal was applied in a new real project of similar characteristics, and the comparison of results from both projects gives promising perspectives in terms of requirements quality and process time improvements.
The requirement specifications are the entrance door for the subsequent phases in the software development process. In this sense, the quality related to specifications is crucial in order to obtain a proper software product and to fulfill with the agreed deadlines and costs.
The requirements production is not a trivial or monolithic activity 1 and, thus, it should be encouraged following a defined process, which takes into account the circumstances of the project and the application context 2. A particular case is the global software development GSD , which is often affected by various threats, such as geographical and temporal distance, different cultures, different languages and communication difficulties, among other factors 3, 4, 5.
These latent threats usually impact negatively on the requirements 4. To understand the dimension of the requirements within the software process, it should be mentioned that the problems associated with the requirements engineering process are the main cause of failure of software projects 6. It is important to know the level of exposure to threats that the GSD project will deal with; this level will also depend on social aspects, domain knowledge of the involved team, trust between the different stakeholders, and common or individual interests competing.
Anticipate threats and take the appropriate mitigation measures could help to achieve the expected results 5.
Three common mistakes in requirements engineering
Therefore, a requirements process based on models written in natural language has been proposed, together with a knowledge management repository, with the purpose of tackle communications problems, distance and idiomatic differences, and lack of domain knowledge. This proposal was created taking into account the difficulties detected and quantified in a GSD project, where actions against threats, typical of the GSD model, were ignored.
The proposed process was applied in a real project within the same domain, and by comparing the results achieved on the quality of the requirements and on the timing of the involved activities, it was possible to identify the mitigations obtained over the threats affecting requirements. The following section describes a requirements process based on natural language models and the potential threats that can affect a GSD project.
In section 3, the threats identified in a real project of GSD after a post-mortem analysis are exposed.
Section 4 presents the mitigation proposal to requirements threats and the application in other project with similar characteristics, analyzing comparatively the mitigation achieved on these threats. Section 5 discusses similar works on GSD. Finally, conclusions and future works are presented. It is well known that requirements are an essential component for the generation of software, and a proper requirements stage is vital in any software process 7.
If a defect occurs during the requirements production, it will undoubtedly impact on subsequent phases of the software process, damaging the whole product 7. Additionally, the GSD has distinctive features that complicate the software development process and affect much more the requirements definition activities 8.
Requirement Engineering Process
Software globalization encourages more and more to seek cost-effective alternatives outside the boundaries of countries 9. These decisions are motivated by various causes with different benefits 10, 11, 12 , such as: possible costs reduction, increased flexibility and professional skills of the teams, rapid adaptability of the company to market changes to achieve short-term goals, competitiveness through cost reduction, hiring models flexibility, risk mitigation related to labor and taxes, and possibility of expansion into new markets.
This set of advantages comes with different threats that must be monitored to avoid negative effects, since these threats mainly affect the requirements 13 and conspire against time, cost and quality of projects. As mentioned by Davis et al. The unawareness of these threats and the lack of mitigation actions may affect the requirements and lead to loss of competitive advantages, staff demotivation, and poor software quality 5. In that sense, requirements engineering, as a discipline, seeks to systematize the requirements process, providing methods, techniques and tools that facilitate the elicitation, modeling, verification, validation and management of high quality requirements, transforming business requirements into software requirements The requirements engineering process must be adapted depending not only on the type of software to be built, but also the specific development environment.
A requirements strategy that focuses on increasing the commitment of stakeholders will obtain better requirement specifications 16 , and this commitment is mainly achieved through a proper communication between all stakeholders. Requirements engineering has a collective social ingredient due to the involvement of a variety of stakeholders in a project, who often have different skills, knowledge and vocabularies.
These differences cause the understanding of the problem to be a complex activity. In order to have a successful engineering requirements process, it is vital to have good communication among stakeholders and to understand deeply the context of the system to be built 17, That is the reason of following a requirements process based on natural languages models.
The Language Extended Lexicon LEL model and the Scenarios model have this communication feature, which provides advantages not only to the requirements process, but also to the entire software life cycle, being an easy understanding media between parties The LEL is a glossary that defines terms used in the application context Each term, called symbol , is identified with one or more names synonyms and defined by a notion denotation and a behavioral response connotation in this context. Both, the notion and the behavioral response, are described by means of one or more sentences driven by two principles: i circularity principle to maximize the use of LEL symbols while describing other LEL symbols , and ii minimum vocabulary to minimize the use of terms not belonging to the LEL.
Underlined terms in Fig. Scenarios are behavioral descriptions in a given context and at a particular timeframe 17 ; the behavior is defined by a set of episodes, performed by actors to achieve a specific goal, and by exceptions that obstruct such achievement. The context of the scenario is described by means of a geographical location, a temporal location and preconditions.
Episodes may be simple actions, conditional actions or optional ones, performed in sequential or non-sequential order. A episode may also reference to other scenario, called sub-scenario. Exceptions are described in terms of the cause of the disruption and the treatment or resolution of that disruption.
The exception treatment may be described by a simple action or a scenario, depending on the complexity of the treatment. In addition, the actors participating in episodes and the required resources used in episodes are also enumerated in the scenario. Two different sets of scenarios are created: i Current Scenarios, which describe the situations observed in the application context, and ii Future Scenarios, which describe expected situations that will take place in the context of use of the software to be built.
In this Figure, underlined terms are hyperlinks to the definitions of the LEL symbols, and treatments of the exceptions invoke other scenario. In general, every application context has a typical terminology, that is, words or phrases that have a particular meaning in that context. Misunderstanding this vocabulary may lead to defects in requirement specifications, which would result in re-work, repeating verifications and validations.
Thus, the LEL improves communication among the stakeholders, standardizing the user's vocabulary as the common terminology to be used, helping to build a good relationship with users, facilitating the validation of models written in natural language, and minimizing ambiguities in the created models, among other contributions A requirements engineering process based on natural language models consists of four phases 15 :.
Extract the software requirements from the Future Scenarios: create, verify and validate requirement specifications. It should be noticed that the creation of a model involves several activities: elicitation, modeling and managing requirements. Additionally, it is also important to remark that all the mentioned models use the terminology defined in the LEL, containing hyperlinks to the definitions of the corresponding LEL symbols, in order to reduce the inherent ambiguity of natural language descriptions.
Examples of these hyperlinks are depicted in Fig. This document presents an introduction, a summary of the involved business process and rules, a functional description of the solution for that business process, and a section involving non-functional requirements, which should be considered for a proper solution.
EMPIRICAL STUDY OF REQUIREMENTS ENGINEERING IN CROSS DOMAIN DEVELOPMENT
This schema was the one used by the insurance company in every software development project. Although it is considered that distributing work teams is a strategic decision that pursues advantages, such as cost reduction and higher competitiveness, this may lead to big investments and hard challenges Organizations that tackle this kind of work should have stipulated processes, adequate tools, appropriate means of communication, clear policies, among other aspects as well, in order to face the diverse threats that surround the GSD The main threats to GSD 3 , 4 , 5 , 12 , 19 are: i Inadequate communication, ii Language and cultural barriers, iii Geographical distance and time differences, and iv Problems with knowledge management.
Additionally, other threats derive from the combination of those mentioned above 13 being some of them not specific of GSD, however, they must be addressed Fig. Underestimating or not being aware of these threats may impact heavily on the quality of the requirements 13 , and when these threats get identified in distant phases they will greatly increase the costs of resolution Inadequate communication. Communication is an indispensable element that all actors have to daily deal with, during the whole software development process Particularly, the requirements stage will only be successful if there is an effective communication between the users and the analyst team, avoiding discrepancies in the understanding of the user necessities 7.
Software Engineering | Requirement Engineering - javatpoint
Some instruments that improve communication could be those informal and face-to-face ways of communications, which are highly used in projects that are located in only one place. Usually the communication between members of a team under the distributed model is through electronic means and in an asynchronous way.
The abuse of this form of communication is also harmful for the project, because it generates misunderstandings, re-works and ambiguities in the documents that are produced 5 , 4. Language and cultural barriers.
Culture may differ according to the following areas 4 : organizational, geographical, national culture, religion and power distance. Language is a critical factor that directly impacts on the elicitation and validation activities 4. This situation can occur both between users and analysts, or between analysts and developers or testers, or between other groups as well.
The meaning of some context specific terms and their relation with other technical terminology may differ in some languages or cultures, affecting the requirements quality. Geographical distance and time differences. Geographical distance among stakeholders becomes a challenge for the face-to-face or informal communication.
- Global Learning in the 21st Century.
- Quick Guide to College Majors and Careers (Jist Quick Guide)!
- Requirement Engineering.
- Requirement Engineering.
Temporal distance also attempts against synchronous communication, which is a useful tool to quickly overcome inconsistencies and ambiguities before they become bigger problems 4. The lack of a fluid communication not only affects the bonds among stakeholders, but also affects the right understanding of the application context and also of the user necessities 4. Knowledge management problems. The purpose of knowledge management is to absorb the whole knowledge of the organization in order to be used later on, including also the compiling of information of past and actual projects In the requirements stage, there is usually a large amount and variety of information coming from diverse sources of information, and these sources have to be available to all involved people.
This factor should be considered especially in a distributed model, where involved participants are geographically disperse and must have formal channels to access to the information to be shared; this helps to avoid tacit knowledge and the informal transmission of information 8. Lack of confidence and engagement. Trust is difficult to establish in distributed teams, where relationships and socialization are restricted due to geographical distance and time differences 5 , 4 , While profile creation and collaborative tools can help to mitigate this threat 12 , it is necessary a proper understanding between those involved in order to work as a team pursuing the same objective.
Lack of knowledge about the problem domain. Having knowledge about the application context is of vital importance in a project, because the lack of knowledge may lead to a round cycle of questions and answers, and continuous and frustrating validations, causing significant delays.
The interpretation of information by someone who has no knowledge about the context may be a difficult task Moreover, those who better know the application domain could be overwhelmed by questions 5. Technical or tools problems. Connectivity plays a major role when dealing with GSD. The support to teamwork through multi-language tools, groupware tools and shared repositories among other things, are basic elements to consider when approaching this kind of project Ambiguity, contradictions and lack of clarity in the specifications.
When specifying a requirement, ambiguity must be avoided. As the IEEE 22 standard indicates, there must be only one interpretation for each requirement, and this has to be simple and easy to understand. Having cultural and language differences, as well as a limited knowledge of the domain and abuse of asynchronous communication, may increase the probability of producing ambiguous, inaccurate or contradictory requirements.
Requirements with this kind of defects will impact on subsequent phases of the software project, damaging the quality of produced artifacts and the final software product 7.