Precisely defined requirements are essential for a successful software development. Although dozens of requirements engineering methods and techniques are. PDF | Requirements engineering is the process of discovering the purpose and types of requirements, and the processes, activities, and techniques used. engineering activities and their relationships. #. To introduce techniques for requirements elicitation and analysis. #. To describe requirements validation and the.
|Language:||English, Arabic, Hindi|
|ePub File Size:||21.50 MB|
|PDF File Size:||15.30 MB|
|Distribution:||Free* [*Sign up for free]|
Requirements engineering processes timing constraints, constraints on the development process, standards, etc. .. Requirements validation techniques. Requirements Elicitation and Analysis (requirements capture or discovery) - finding out Requirements Engineering - Process . Three suggested techniques. Requirements Engineering Processes and Techniques Why this book was written Processes and Techniques by Gerald Kotonya, Ian Sommerville Free PDF.
I like the way this book starts with a frequently asked questions FAQ about requirements. In my experience requirements and the processes and techniques that are associated with eliciting and analyzing them are not clearly understood. Too often requirements spill into design, and this part of the book will show you what a requirement is and what it is not.
The requirements process models covered in this book are complete, and serve as a complete life cycle of a requirement from elicitation to analysis, validation and management. Some strong points about this approach include the need to test requirements, as well as to manage changes as they are refined.
Moreover, the authors' approach to constantly assuring traceability is a mature practice and the key, in my opinion, to effective requirements management. Part two of this book covers the requirements engineering techniques that are the "moving parts" of the processes. Some highlights of this part of the book include: definition of non-functional requirements another grossly misunderstood aspect of requirements management , interactive system specification approaches and transitioning to object-oriented design.
I also found the case study at the end of the book both useful and interesting. I think this book is an excellent starting point for understanding requirements engineering. It covers a wide range of methods and does not advocate any particular methodology, which makes it valuable for generalists who do not want to lock themselves into a single way of managing requirements. The processes provided are excellent and complete.
I recommend this as a first book on requirements engineering because of its unbiased and straightforward treatment of this discipline. Carr This book should not be the primary text used for a Systems Engineering course, yet it was. Download preview PDF. References 1. Albayrak, O. Bell, T. Brooks, F. Cheng, B.
In: Lyytinen, K. Design Requirements Workshop. LNBIP, vol. Davis, C. Goguen, J. The planning, requirement specifications and design were performed at Buenos Aires. Subsequently, the transition to the software factory took place in Pune, in order to start the development.
In this factory, the requirement specifications were assigned to developers, who fulfilled their doubts with the analysts. After the development, integration testing was made in Chennai; the testing team deliver the software to the destination country, where the software certification tests took place.
Resuming, in both projects it was used the cascade life cycle with the following seven phases: Conceptualization Phase involves analysis activities, feasibility activities, tools and infrastructure set up, configuration, scope and business requirements definition, and preliminary architecture design; Initiation Phase involves risk management and planning activities, project kick-off meeting, and training of the team; Analysis and Design Phase involves management activities to update project planning, test plan definition, analysis activities, architectural design, data model preparation, classes design, and test cases creation; Transition to Software Factory and Development Phase involves activities of transferring requirement specifications to software factory, code generation, unit test, user manual creation, and elaboration of installation and operation manuals.
Testing Phase involves the execution of integration tests and user acceptance tests; Implementation Phase involves project management activities, deliverables acceptance and closing meetings, training activities for end users, generation of support plan, implementation of deliverables in production environments, and knowledge management activities by creating knowledge transfer documentation for the support team; Post-Implementation Phase involves lessons learned meetings, release of project resources and post-implementation review.
The requirements process in the Venezuela project was performed along the first and third phase, and their activities are detailed below. In the Conceptualization Phase, the scope and business requirements definition activity involves: Elicitation and analysis of business requirements Creation of a business requirements record Creation of a traceability matrix Validation of business requirements through sessions Formal approval of business requirements During the Analysis and Design Phase, the analysis activity involves: Prioritization of business requirements Validation of requirement specifications through sessions Formal approval of requirement specifications After approval of requirement specifications, during sub-sequent phases, an activity of requirement specifications evolution was performed, despite being a waterfall model.
In both projects, every model and document was written in English, being the common language adopted due to language differences of all the stakeholders. Both projects used a set of predefined metrics provided by the insurance company, which were calculated based on the collected information of each activity.
Table 1 only shows the subset of metrics related to requirements. The estimation for the activities was based on the historical information of the company. The metrics related to requirements were estimated according to the complexity of the specification: Low, Medium, and High, also distinguishing them by analysts or developers with or without knowledge of the insurance domain.
The complexity of the specifications was established with the help of a functional point estimator. Based on the analysis of the calculated metrics, a proposal was elaborated to reduce rejections in the Brazil project. In the Venezuela project, 20 users from Caracas were involved, 13 analysts from Buenos Aires, 38 developers from Pune and 8 testes from Chennai. The first ones had an average of 18 pages, the Medium complexity ones had an average of 48 pages and the last ones 82 pages.
The value of the DFE01 metric presents substantial differences between the estimation and the actual times for creating specifications.
Table 2 also shows that the creation time of a specification made by an analyst with knowledge in the domain is clearly lower than the one created by the inexperienced one. Every developer made a previous reading of the assigned requirement specification to familiarize with it. Then, they clarified their doubts with the analyst during a session limited to those 2 hours of overlapping. The communication tools used were: Phone conference, Video conference and a QandA management tool.
Table 5 represents the estimated and effective times for the transition to the factory by type of specification and by analyst category TRATPT01 metric. The developers made on average That lack of domain knowledge and of the terminology resulted in losing a significant part of the synchronous time in clarifying basic concepts. Defects existing prior to inclusion of new feature: they are not related to the functionality introduced with the last promoted code. Errors of environment: they are defects due to limitations or characteristics of the environment, such as lack of memory, disk size, among others.
Data errors: they are a consequence of inconsistency of data. Errors due to test execution: they are due to deficient execution of the test cases, manual processing, not running, among others. Errors in promoting code to environments: they are due to errors in the promotion process, such as corrupt packages, wrong promotion sequence, among others.
Coding defects: they are a consequence of wrong code generation.
An Insight into Requirements Engineering Processes
Defects due to errors, changes or ambiguities in requirements: they are introduced in the requirement specifications, such as ambiguities, omissions, inconsistencies and changes to requirements, and are not identified in earlier phases of the development process.
Other defects: they are those defects not included in any other category, such as errors of permissions and users. Table 7 summarizes the threats that affected the Venezuela project, identifying the requirement metrics associated to those threats.
The largest variation in costs was due to the delay in the deadline. Due to the kind of contract with the supplier, it was necessary to extend the contracts of the whole team, which had a strong impact on the total cost.
The time extension indirectly arose due to the rejection of the requirement specifications during formal approval, the amount of developer questions, and transition times to the software factory. While the amount of defects by specifications seems to be low, the most time-consuming activities seem to come from the requirements stage.
There were no problems of rotation of team members, since specific strategies have been implemented for the retention of the staff. Moreover, there were penalties for suppliers in case the established attrition rate would increase a certain percentage. Individual goals of the distributed teams did not affect the project. The supplier of development and testing, selected for both projects, had been working with the company for several years. Therefore, the supplier knew in detail the regional strategy and the leadership of the insurance company and of other suppliers, and was aligned with the company strategies allowing him to make the right decisions in order to achieve the commitment and alignment of every team members with the shared project goals.
Management committee meetings were done monthly; in these meetings not only the project results were presented, but also the company and the suppliers exposed their concerns, risks and respective mitigation actions in order to align goals and priorities of the project teams. There were no problems regarding tools, such as video conference, shared desks, and management tools, since they were available to the team.
This means that no technical problems have appeared.
Although the number of requirement specifications was higher, the process to follow and the planning were similar. This project was planned with an estimated deadline of The project was initially proposed to start 8 months later than the beginning of the Venezuela project, but finally began 13 months later due to the need to implement appropriate mitigation actions.
Although, the software development process followed in Brazil was similar to the one in Venezuela, some activities were incorporated in the different phases to mitigate the possible occurrence of threats that had affected requirements in the Venezuela project.
The proposal was based on the use of natural language models: LEL, Current Scenarios and Future Scenarios, whose contributions were described on subsection 2. The highlights of these models are communication among stakeholders, reduction in ambiguities and inaccuracies by using LEL symbols in every created model, understanding of the problem through the Current Scenarios, and understanding of the interaction between the future software and its context through the Future Scenarios.
The definition and management of these models required additional activities in several phases of the development process described in section 3. Besides, a repository to share these models was incorporated in the Brazil project. In the preparation of infrastructure and tools activity within the Conceptualization Phase, a sub-activity was included for the selection, installation and configuration of knowledge management tools.
Additionally, in the Conceptualization Phase, the scope and business requirements definition activity was re-designed adding several new activities. Therefore, this activity involves the following sub-activities new sub-activities are marked in italics : Creation of Language Extended Lexicon Validation of LEL through sessions Creation of Current Scenarios Validation of Current Scenarios through sessions Storage of LEL and Current Scenarios in de knowledge management repository Formal approval of LEL Formal approval of Current Scenarios Elicitation and analysis of business requirements Creation of a business requirements record Creation of a traceability matrix Validation of business requirements through sessions Formal approval of business requirements Creation of Future Scenarios Validation of Future Scenarios through sessions Storage of Future Scenarios in de knowledge management repository Formal approval of Future Scenarios In the Initiation Phase, the project kick-off meeting activity included the presentation of the LEL and Scenarios models, and of the knowledge management repository to the stakeholders.
Training took place through meetings held in each of the locations. The main Current Scenarios were presented in detail, providing a high-level view of the essential characteristics of the business. Then, it was delved into the rest of those scenarios to give a correct view of the interaction of different areas, such as, claim and policy administration. It was presented the derivation towards Future Scenarios, which provided a global view of the system goals. During these sessions, the necessary information related to the LEL, to Current Scenarios and to Future Scenarios was provided, such as the location of these models within the repository of information and the access to them, among other information.
In the Analysis and Design Phase, the creation, validation and formal approval of the requirement specifications continued being performed, but these ones were created taking into account the vocabulary defined in the LEL and based on the created Future Scenarios.
These specifications were also stored in the knowledge management repository. During the following phases of the process, the activity of evolution of LEL, of Current Scenarios and of Future Scenarios was added, aligned with changes in business requirements or corrective changes due to a better understanding of the problem domain. Just like in the Venezuela project, there was a similar proportion of analysts and developers with no experience in the Insurance domain.
This was, in both projects, as consequence of the lack of available resources in the labor markets of Buenos Aires and Pune.
The amount of pages by specification was similar to the Venezuela project, with a similar composition regarding the complexity. All models were written in English, due to the diversity of languages that the teams had, and were also written using a unified terminology provided by the LEL model. The same time estimations were used in both projects. Comparing Tables 2 and 8, improvements in the time used for creating a specification may be observed.
Analyzing the duplication of time for specification approval, related to low complexity specifications created by expert analysts, has only been able to conclude that the estimation of 2 days was an optimistic one. It was feasible to equal the same number of questions for inexperienced and expert developers, except for highly complex specifications Table These defects were originated in 69 specifications, from a total of ones. As in Venezuela, inexperienced analysts have created the biggest amount of specifications with defects.
The rate of defect in requirements per specification was 0. This was mainly due to the number of users: 20 in Venezuela and 60 in Brazil, resulting in tougher tasks in elicitation, in validation of specifications, and then in the certification tests with users. In the Brazil project, there was a significant reduction in effective creation time respect to estimation creation time, mainly for those specifications created by non-experts. On the contrary, approval times for specifications created by inexpert analysts decreased in the Brazil project.
As shown in detail in Table 15 , the time used for the formal approval of the specifications was reduced in the Brazil project, except for low complexity specifications created by expert analysts. There was only a minimal reduction in the number of rejections of specifications created by inexperienced analysts, while an increment occurred for medium and high complexity specifications created by experts in comparison with the Venezuela project. As pointed out in case of approval time, the average values show that the number of rejections increased in one per type of specification.
However, it is important to observe that the rejections in the Brazil project were originated in changes or minor errors. The first is due to the limitation of overlapping hours between Buenos Aires and Chennai for synchronous communication. Moreover, in the Brazil project it was narrowed the gap between the number of questions asked by inexperienced developers face to those asked by experts.
Therefore, the defect rate per specification in Brazil was almost half of the Venezuela rate. Table 21 shows that the number of defects in specifications created by inexperienced analysts was highly reduced in the Brazil project against the Venezuela project. That is, there was a significant reduction in the percentage of the Brazil project against the one of the Venezuela project.
It is significant the reduction in time and cost deviation for Brazil project, as well as the reduction, almost by half, of the defect rate per specification during the software certification phase. On average, there was a slight reduction in the number of rejections during approval, as well as in the transition time, being more significant for inexperienced analysts.
Analysts, developers and testers were hired independently for each project at each location, since there was some overlap in the development of the two projects. The same process activities were done at the same locations, thus the teams at each location had the same culture.
Obviously, users of each project came from each software target country, with their own culture. The same type of development process was performed in both projects, despite the additional activities included in the Brazil project to help mitigate threats to requirements. The estimation of each activity time, depending on the complexity of the requirement specification, was done using function points with a common estimator, independent of the different locations, suppliers and projects.
The same metrics were applied in both projects, and measures were obtained in the same way. Estimated time and cost of the Brazil project did not include the creation and validation activities of the LEL, Current Scenarios and Future Scenarios, since the budget and planning was made before knowing the threats that had affected the Venezuela project. In summary, the values of the Brazil project in contrast with the Venezuela give evidence of: Improvement in quality communication, using the Language Extended Lexicon to standardize the vocabulary of the domain throughout the entire software process.
Both, Current Scenarios and Future Scenarios, also provided a communication medium, allowing a better understanding for the stakeholders, in addition those models were also written in the domain terminology. Such terminology was the regular used by users and other human resources, which know the insurance domain, while in the case of those without such knowledge, they had these clear terminology definitions through the LEL model.Surprisingly, however, requirements engineering has been largely neglected in the move towards process definition and standardisation.
ISO says nothing about processes to establish system requirements. We use the term 'engineer' in the book to mean anyone involved in requirements engineering irrespective of their technical background or job title. Lack of knowledge about the problem domain. As there is no one catch-all technique applicable to all types of system, requirements engineers need to know about a range of different techniques. K wora, and S.