Requirements in Engineering Projects - Fernandes, João M.; Machado, Ricardo J.; SpringerLink (Online service) (Cham : Springer International Publishing : Imprint: Springer, 2016)
This book focuses on various topics related to engineering and management of requirements, in particular elicitation, negotiation, prioritisation, and documentation (whether with natural languages or with graphical models). The book provides methods and techniques that help to characterise, in a systematic manner, the requirements of the intended engineering system.  It was written with the goal of being adopted as the main text for courses on requirements engineering, or as a strong reference to the topics of requirements in courses with a broader scope. It can also be used in vocational courses, for professionals interested in the software and information systems domain.   Readers who have finished this book will be able to: - establish and plan a requirements engineering process within the development of complex engineering systems; - define and identify the types of relevant requirements in engineering projects; - choose and apply the most appropriate techniques to elicit the requirements of a given system; - conduct and manage negotiation and prioritisation processes for the requirements of a given engineering system; - document the requirements of the system under development, either in natural language or with graphical and formal models.   Each chapter includes a set of exercises.
1 Presentation of the book -- 1.1 Introduction -- 1.2 Objectives of the book -- 1.3 Structure of the book -- 1.4 Taxonomical issues -- 1.5 About the authors -- 2 Software engineering -- 2.1 Contributions for requirements engineering -- 2.2 Characterisation of the discipline -- 2.3 Software -- 2.3.1 Definition of software -- 2.3.2 Software systems and products -- 2.3.3 Domains -- 2.4 Models for the development process -- 2.4.1 Waterfall -- 2.4.2 Incremental and iterative -- 2.4.3 Transformational -- 2.4.4 Spiral -- 2.5 Summary -- Further reading -- Exercises -- 3 Requirements -- 3.1 Definition of requirement -- 3.2 Functional requirements -- 3.3 Non-functional requirements -- 3.3.1 Appearance -- 3.3.2 Usability -- 3.3.3 Performance -- 3.3.4 Operational -- 3.3.5 Maintenance and support -- 3.3.6 Security -- 3.3.7 Cultural and political -- 3.3.8 Legal -- 3.4 User and system requirements -- 3.5 Related concepts -- 3.6 Summary -- Further reading -- Exercises -- 4 Requirements engineering -- 4.1 Definition of requirements engineering -- 4.2 Activities -- 4.3 Challenges and problems -- 4.4 Summary -- Further reading -- Exercises -- 5 Requirements elicitation -- 5.1 Process -- 5.2 Identification of the stakeholders -- 5.3 Techniques -- 5.3.1 Individuals -- 5.3.2 Groups of persons -- 5.3.3 Artefacts -- 5.4 Summary -- Further reading -- Exercises -- 6 Requirements negotiation and prioritisation -- 6.1 Requirements negotiation -- 6.1.1 Negotiation process -- 6.1.2 Postures and strategies -- 6.2 Requirements prioritisation -- 6.2.1 Criteria and scales -- 6.2.2 Techniques -- 6.3 Summary -- Further reading -- Exercises -- 7 Writing in a natural language -- 7.1 Guidelines for writing -- 7.1.1 Issues to consider -- 7.1.2 Issues to avoid -- 7.2 Template for the requirements document -- 7.3 Ambiguity -- 7.4 Summary -- Further reading -- Exercises -- 8 Modelling -- 8.1 Definition of model -- 8.2 Model dimensions -- 8.3 Modelling ontology -- 8.3.1 System and model -- 8.3.2 Specification -- 8.3.3 Language -- 8.3.4 Mental models -- 8.3.5 Model of computation.-8.3.6 Reverse engineering perspective -- 8.3.7 Analogies -- 8.4 Models for requirements -- 8.4.1 Domain models -- 8.4.2 Use case models -- 8.4.3 Class models -- 8.4.4 Sequence models -- 8.4.5 State models -- 8.4.6 Activity models -- 8.5 Summary -- Further reading -- Exercises -- Glossary -- References -- Index.
Keywords: Engineering design; Industrial Management; Operations research; Engineering Design; Industrial Management; Operations Research and Decision Theory