Overview of Requirements Engineering Activities
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Writing and Reviewing Use-Case Descriptions
Bittner/Spence_06.fm Page 145 Tuesday, July 30, 2002 12:04 PM PART II WRITING AND REVIEWING USE-CASE DESCRIPTIONS Part I, Getting Started with Use-Case Modeling, introduced the basic con- cepts of use-case modeling, including defining the basic concepts and understanding how to use these concepts to define the vision, find actors and use cases, and to define the basic concepts the system will use. If we go no further, we have an overview of what the system will do, an under- standing of the stakeholders of the system, and an understanding of the ways the system provides value to those stakeholders. What we do not have, if we stop at this point, is an understanding of exactly what the system does. In short, we lack the details needed to actually develop and test the system. Some people, having only come this far, wonder what use-case model- ing is all about and question its value. If one only comes this far with use- case modeling, we are forced to agree; the real value of use-case modeling comes from the descriptions of the interactions of the actors and the system, and from the descriptions of what the system does in response to the actions of the actors. Surprisingly, and disappointingly, many teams stop after developing little more than simple outlines for their use cases and consider themselves done. These same teams encounter problems because their use cases are vague and lack detail, so they blame the use-case approach for having let them down. The failing in these cases is not with the approach, but with its application. -
Metamodeling Variability to Enable Requirements Reuse
Metamodeling Variability to Enable Requirements Reuse Begoña Moros 1, Cristina Vicente-Chicote 2, Ambrosio Toval 1 1Departamento de Informática y Sistemas Universidad de Murcia, 30100 Espinardo (Murcia), Spain {bmoros, atoval}@um.es 2 Departamento de Tecnologías de la Información y las Comunicaciones Universidad Politécnica de Cartagena, 30202 Cartagena (Murcia), Spain [email protected] Abstract. Model-Driven Software Development (MDSD) is recognized as a very promising approach to deal with software complexity. The Requirements Engineering community should be aware and take part of the Model-Driven revolution, enabling and promoting the integration of requirements into the MDSD life-cycle. As a first step to reach that goal, this paper proposes REMM, a Requirements Engineering MetaModel, which provides variability modeling mechanisms to enable requirements reuse. In addition, this paper also presents the REMM-Studio graphical requirements modeling tool, aimed at easing the definition of complex requirements models. This tool enables the specification of (1) catalogs of reusable requirements models (modeling for reuse facet of the tool), and (2) specific product requirements by reusing previously defined requirements models (modeling by reuse facet of the tool). Keywords: Model-Driven Software Development (MDSD), Requirements Engineering (RE), Requirements MetaModel (REMM), Requirements Reuse, Requirements Variability. 1 Introduction Model-Driven Software Development (MDSD) aims at raising the level of abstraction at which software is conceived, implemented, and evolved, in order to help managing the inherent complexity of modern software-based systems. As recently stated in a Forrester Research Inc. study “model-driven development will play a key role in the future of software development; it is a promising technique for helping application development managers address growing business complexity and demand ” [1]. -
Innovations in Natural Language Document Processing for Requirements Engineering
Calhoun: The NPS Institutional Archive Faculty and Researcher Publications Faculty and Researcher Publications 2008 Innovations in Natural Language Document Processing for Requirements Engineering Berzins, Valdis þÿB. Paech and C. Martell (Eds.): Monterey Workshop 2007, LNCS 5320, pp. 125 146, 2008. http://hdl.handle.net/10945/46073 Innovations in Natural Language Document Processing for Requirements Engineering Valdis Berzins, Craig Martell, Luqi, and Paige Adams Naval Postgraduate School, 1411 Cunningham Road, Monterey, California 93943 {berzins,cmartell,luqi,phadams}@nps.edu Abstract. This paper evaluates the potential contributions of natural language processing to requirements engineering. We present a selective history of the relationship between requirements engineering (RE) and natural-language processing (NLP), and briefly summarize relevant re- cent trends in NLP. The paper outlines basic issues in RE and how they relate to interactions between a NLP front end and system-development processes. We suggest some improvements to NLP that may be possible in the context of RE and conclude with an assessment of what should be done to improve likelihood of practical impact in this direction. Keywords: Requirements, Natural Language, Ambiguity, Gaps, Domain- Specific Methods. 1 Introduction A major challenge in requirements engineering is dealing with changes, especially in the context of systems of systems with correspondingly complex stakeholder communities and critical systems with stringent dependability requirements. Documentation driven development (DDD) is a recently developed approach for addressing these issues that seeks to simultaneously improve agility and de- pendability via computer assistance centered on a variety of documents [1,2]. The approach is based on a new view of documents as computationally active knowledge bases that support computer aid for many software engineering tasks from requirements engineering to system evolution, which is quite different from the traditional view of documents as passive pieces of paper. -
Practical Agile Requirements Engineering Presented to the 13Th Annual Systems Engineering Conference 10/25/2010 – 10/28/2010 Hyatt Regency Mission Bay, San Diego, CA
Defense, Space & Security Lean-Agile Software Practical Agile Requirements Engineering Presented to the 13th Annual Systems Engineering Conference 10/25/2010 – 10/28/2010 Hyatt Regency Mission Bay, San Diego, CA Presented by: Dick Carlson ([email protected]) Philip Matuzic ([email protected]) BOEING is a trademark of Boeing Management Company. Copyright © 2009 Boeing. All rights reserved. 1 Agenda Boeing Defense, Space & Security| Lean-Agile Software . Introduction . Classic Requirements engineering challenges . How Agile techniques address these challenges . Overview / background of Agile software practices . History and evolution of Agile software Requirements Engineering . Work products and work flow of Agile Requirements Engineering . Integration of Agile software Requirements Engineering in teams using Scrum . Current status of the work and next steps Copyright © 2010 Boeing. All rights reserved. 2 Introduction Boeing Defense, Space & Security| Lean-Agile Software . A large, software-centric program applied Agile techniques to requirements definition using the Scrum approach . This presentation shows how systems engineering effectively applies Agile practices to software requirements definition and management . An experience model created from the program illustrates how failures on a large software program evolved into significant process improvements by applying specific Agile practices and principles to practical requirements engineering Copyright © 2010 Boeing. All rights reserved. 3 Requirements Reality Boeing Defense, Space & Security| Lean-Agile Software “The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, machines, and other software systems. No other part of the work so cripples the resulting system if done wrong. -
Managing Requirements Engineering Risks: an Analysis and Synthesis of the Literature
Lars Mathiassen – Timo Saarinen – Tuure Tuunanen – Matti Rossi MANAGING REQUIREMENTS ENGINEERING RISKS: AN ANALYSIS AND SYNTHESIS OF THE LITERATURE W-379 HELSINKI SCHOOL OF ECONOMICS ISSN 1795-1828 WORKING PAPERS ISBN 951-791-895-X (Electronic working paper) W-379 2004 Lars Mathiassen* – Timo Saarinen** – Tuure Tuunanen** – Matti Rossi** MANAGING REQUIREMENTS ENGINEERING RISKS: AN ANALYSIS AND SYNTHESIS OF THE LITERATURE *Center for Process Innovation, Georgia State University **Helsinki School Economics, Department of Management, Information Systems Science November 2004 HELSINGIN KAUPPAKORKEAKOULU HELSINKI SCHOOL OF ECONOMICS WORKING PAPERS W-379 HELSINGIN KAUPPAKORKEAKOULU HELSINKI SCHOOL OF ECONOMICS PL 1210 FIN-00101 HELSINKI FINLAND © Lars Mathiassen, Timo Saarinen, Tuure Tuunanen, Matti Rossi and Helsinki School of Economics ISSN 1795-1828 ISBN 951-791-895-X (Electronic working paper) Helsinki School of Economics - HeSE print 2004 Managing Requirements Engineering Risks: An Analysis and Synthesis of the Literature Lars Mathiassen ([email protected]) Center for Process Innovation, Georgia State University P. O. Box 4015, Atlanta, GA 30303-4015, USA Phone: +1-404-651-0933, Fax: +1-404-463-9292 Timo Saarinen ([email protected]) Helsinki School Economics, Department of Management, Information Systems Science P. O. Box 1210, FIN-00101 Helsinki, Finland Phone: +358-9-431-38272, Fax: Fax: +358-9-431-38700 Tuure Tuunanen ([email protected]) Helsinki School Economics, Department of Management, Information Systems Science P. O. Box 1210, FIN-00101 Helsinki, Finland Phone: +358-40-544-5591, Fax: +358-9-431-38700 http://www.tuunanen.fi Matti Rossi ([email protected]) Helsinki School Economics, Department of Management, Information Systems Science P. -
Requirements Management Applied in an Agile Project Management Environment
Requirements Management applied in an agile Project Management environment Franco (Frank) Curtolo CEng, Principal Consultant, Program Planning Professionals Ltd, [email protected] Categorisation • Accessibility: PRACTITIONER • Application: GOOD PRACTICE • Topics: Agile Systems Engineering; Project Management Abstract This paper looks at how the Requirements Management process of Systems Engineering may benefit from some of the aspects derived from developing systems within an agile Project Management environment, using as example, the Scaled Agile Framework® of © Scaled Agile, Inc. The aim is to see if some of these agile techniques can enhance the Systems Engineering approach. Systems Engineering (SE) is well suited to develop large, complex products in a project environment where the requirements can be defined and fixed upfront. In fact, SE relies on an initial, well-defined End User’s need specified in for example, a User Requirements Specification (URS), to establish an initial requirements baseline which is used to drive the rest of the development process. However not all development projects happen that way. Sometimes the End User’s need is not clear, or cannot be well defined upfront, thus not allowing it to be captured in a fixed requirements baseline. Furthermore, the project environment may need to accommodate rapid change, both in the End Users’ need and in the technologies available to satisfy this need. In such a project environment, an agile development approach, as described in the Scaled Agile Framework® (SAFe®), may be more suitable since it allows for incremental delivery of the product and change to requirements. This can accommodate undefined End User needs, rapid change in requirements and allow for the introduction of innovation during the development and implementation stages. -
Requirements Engineering Objectives
Requirements Engineering Chapter 2 Requirements Engineering Processes Learning Objective ...to give a general introduction to the requirements engineering process. Different approaches to modeling requirements engineering processes are suggested and why human, social and organizational factors are important influences on those processes. Other concepts that are evaluated include process maturity, tools and process improvement. Frederick T Sheldon Assistant Professor of Computer Science University of Colorado at Colorado Springs CS 531 Software Requirements Analysis and Specification Chapter 2 From Requirements Engineering Processes and Techniques by G. Kotonya and I. Sommerville 1998 Slide 1 Objectives ⊗ To introduce the notion of processes and process models for requirements engineering ⊗ To explain the critical role of people in requirements engineering processes ⊗ To explain why process improvements is important and to suggest a process improvement model for requirements engineering CS 531 Software Requirements Analysis and Specification Chapter 2 From Requirements Engineering Processes and Techniques by G. Kotonya and I. Sommerville 1998 Slide 2 Processes ⊗ A process is an organized set of activities which transforms inputs to outputs ⊗ Process descriptions encapsulate knowledge and allow it to be reused ⊗ Examples of process descriptions • Instruction manual for a dishwasher • Cookery book • Procedures manual for a bank • Quality manual for software development CS 531 Software Requirements Analysis and Specification Chapter 2 From Requirements Engineering Processes and Techniques by G. Kotonya and I. Sommerville 1998 Slide 3 Design processes ⊗ Processes which involve creativity, interactions between a wide range of different people, engineering judgement and background knowledge and experience ⊗ Examples of design processes • Writing a book • Organizing a conference • Designing a processor chip • Requirements engineering CS 531 Software Requirements Analysis and Specification Chapter 2 From Requirements Engineering Processes and Techniques by G. -
Elicitation of Quality Agile User Stories Using QFD
Elicitation of Quality Agile User Stories Using QFD NDIA 20th Annual Systems Engineering Conference “Agile in Systems Engineering“ 10:15 – 10:40 AM October 25, 2017 Sabrina J. Ussery, Shahryar Sarkani, Thomas Holzer Dissertation Topic Department of Engineering Management and Systems Engineering School of Engineering and Applied Science The George Washington University 1176 G Street NW Washington, DC 20052 1 Agile Requirements Engineering (RE) The lack of standard Requirements Engineering (RE) practices in Agile negatively impacts system quality, contributing to 24% of the causes for challenged or failed projects. • The 2015 CHAOS Standish Group report indicates Agile projects are 3x more likely to succeed than Waterfall projects due to increased customer collaboration and customer satisfaction. [2] • The Agile community claims that they do not really tackle requirements in a structured way, which may bring problems to the software organization responsible for software built following an Agile method. [1] • Though more successful in some respects, the Image source: [2] lack of stand RE practices in Agile contributes to 24% of the reasons for challenged or failed projects due to poor requirements quality (i.e., unclear or volatile). [2] 2 What is Agile? 3 Agile RE: As Is Requirements Requirements engineering (RE) refers to the process of defining, documenting and maintainingEngineering requirements. [5] Requirements Requirements Development Management Elicitation Priorities Specification Traceability Analysis Specifications Validation Configuration -
Modeling System Requirements Using Use Cases and Petri Nets
ICSEA 2016 : The Eleventh International Conference on Software Engineering Advances Modeling System Requirements Using Use Cases and Petri Nets Radek Koˇc´ıand Vladim´ır Janouˇsek Brno University of Technology, Faculty of Information Technology, IT4Innovations Centre of Excellence Czech Republic email: {koci,janousek}@fit.vutbr.cz Abstract—The fundamental problem associated with software executable form, which can then be tested and debugged. All development is a correct identification, specification and sub- changes that result from validation process are hard to transfer sequent implementation of the system requirements. To specify back into the models. It is a problem because the models requirement, designers often create use case diagrams from become useless over the development time. Unified Modeling Language (UML). These models are then developed by further UML models. To validate requirements, Similar work based on ideas of model-driven develop- its executable form has to be obtained or the prototype has to be ment deals with gaps between different development stages developed. It can conclude in wrong requirement implementations and focuses on the usage of conceptual models during the and incorrect validation process. The approach presented in this simulation model development process—these techniques are work focuses on formal requirement modeling combining the called model continuity [8]. While it works with simulation classic models for requirements specification (use case diagrams) models during design stages, the approach proposed in this with models having a formal basis (Petri Nets). Created models can be used in all development stages including requirements paper focuses on live models that can be used in the deployed specification, verification, and implementation. -
Integrated Requirements Engineering: a Tutorial
focusrequirements engineering1 Integrated Requirements Engineering: A Tutorial Ian Sommerville, Lancaster University efore developing any system, you must understand what the sys- tem is supposed to do and how its use can support the goals of the individuals or business that will pay for that system. This in- B volves understanding the application domain (telecommunica- tions, railways, retail banking, games, and so on); the system’s operational constraints; the specific functionality required by the stakeholders (the peo- ple who directly or indirectly use the system or the information it provides); and essential system characteristics such as The fundamental process performance, security, and dependability. Re- The RE process varies immensely depend- quirements engineering is the name given to a ing on the type of application being devel- structured set of activities that help develop oped, the size and culture of the companies in- this understanding and that document the sys- volved, and the software acquisition processes tem specification for the stakeholders and en- used. For large military and aerospace sys- gineers involved in the system development. tems, there is normally a formal RE stage in This short tutorial introduces the funda- the systems engineering processes and an ex- mental activities of RE and discusses how it tensively documented set of system and soft- has evolved as part of the software engineering ware requirements. For small companies de- process. However, rather than focus on estab- veloping innovative software products, the RE lished RE techniques, I discuss how the chang- process might consist of brainstorming ses- ing nature of software engineering has led to sions, and the product “requirements” might new challenges for RE. -
Identify and Manage the Software Requirements Volatility Proposed Framework and Casestudy
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 7, No. 5, 2016 Identify and Manage the Software Requirements Volatility Proposed Framework and CaseStudy Khloud Abd Elwahab Mahmoud Abd EL Latif Sherif Kholeif MSc student /Information system Associate Professor of information Assistant Professor of information Department system department system Faculty of computers and Faculty of computers and Faculty of computers and information, Helwan University line information, Helwan University information, Helwan University 3: Cairo, Egypt Cairo, Egypt Cairo, Egypt Abstract—Management of software requirements volatility a framework focus on how to manage requirements volatility through development of life cycle is a very important stage. It during the software development life cycle and to limit the helps the team to control significant impact all over the project implications thereof. The remainder paper is structured as (cost, time and effort), and also it keeps the project on track, to follows: Section 2 presents the motivation to search for the finally satisfy the user which is the main success criteria for the requirements volatility topic. Section 3 explains the software project. requirements volatility definition, factors, causes, and the In this research paper, we have analysed the root causes of measures, and finally explains the impact of that on software requirements volatility through a proposed framework development process. Section 4 contains proposed framework presenting the requirements volatility causes and how to manage and presents a case study in explanation of the benefits of this requirements volatility during the software development life framework. Section 5 concludes our results and provides some cycle. Our proposed framework identifies requirement error types, open research directions causes of requirements volatility and how to manage these II. -
Software Development a Practical Approach!
Software Development A Practical Approach! Hans-Petter Halvorsen https://www.halvorsen.blog https://halvorsen.blog Software Development A Practical Approach! Hans-Petter Halvorsen Software Development A Practical Approach! Hans-Petter Halvorsen Copyright © 2020 ISBN: 978-82-691106-0-9 Publisher Identifier: 978-82-691106 https://halvorsen.blog ii Preface The main goal with this document: • To give you an overview of what software engineering is • To take you beyond programming to engineering software What is Software Development? It is a complex process to develop modern and professional software today. This document tries to give a brief overview of Software Development. This document tries to focus on a practical approach regarding Software Development. So why do we need System Engineering? Here are some key factors: • Understand Customer Requirements o What does the customer needs (because they may not know it!) o Transform Customer requirements into working software • Planning o How do we reach our goals? o Will we finish within deadline? o Resources o What can go wrong? • Implementation o What kind of platforms and architecture should be used? o Split your work into manageable pieces iii • Quality and Performance o Make sure the software fulfills the customers’ needs We will learn how to build good (i.e. high quality) software, which includes: • Requirements Specification • Technical Design • Good User Experience (UX) • Improved Code Quality and Implementation • Testing • System Documentation • User Documentation • etc. You will find additional resources on this web page: http://www.halvorsen.blog/documents/programming/software_engineering/ iv Information about the author: Hans-Petter Halvorsen The author currently works at the University of South-Eastern Norway.