CS421 King Abdulaziz Agile Requirements Engineering Issues & Challenges Paper

Question Description

Complete the search (named as “Agile Requirements Engineering Issues and Challenges”) in the attached files with these following points :

1) Define Criteria ( 3 or 4 criteria are enough).

2) Summarize each paper (at least 2 paragraph).

3) Write introduction (You can use some references other than the five attached papers ).

Unformatted Attachment Preview

future internet Article Agile Service Engineering in the Industrial Internet of Things Thomas Usländer * and Thomas Batz Fraunhofer IOSB, 76131 Karlsruhe, Germany; thomas.batz@iosb.fraunhofer.de * Correspondence: thomas.uslaender@iosb.fraunhofer.de; Tel.: +49-721-6091-480 Received: 29 August 2018; Accepted: 4 October 2018; Published: 9 October 2018 Abstract: The emerging Industrial Internet of Things (IIoT) will not only leverage new and potentially disruptive business models but will also change the way software applications will be analyzed and designed. Agility is a need in a systematic service engineering as well as a co-design of requirements and architectural artefacts. Functional and non-functional requirements of IT users (in smart manufacturing mostly from the disciplines of mechanical engineering and electrical engineering) need to be mapped to the capabilities and interaction patterns of emerging IIoT service platforms, not to forget the corresponding information models. The capabilities of such platforms are usually described, structured, and formalized by software architects and software engineers. However, their technical descriptions are far away from the thinking and the thematic terms of end-users. This complicates the transition from requirements analysis to system design, and hence the re-use of existing and the design of future platform capabilities. Current software engineering methodologies do not systematically cover these interlinked and two-sided aspects. The article describes in a comprehensive manner how to close this gap with the help of a service-oriented analysis and design methodology entitled SERVUS (also mentioned in ISO 19119 Annex D) and a corresponding Web-based Platform Engineering Information System (PEIS). Keywords: Service-oriented analysis and design; Industrial Internet of Things; Service Engineering 1. Introduction The Industrial Internet of Things (IIoT) enables innovative smart applications by interconnecting assets within and between factories using Internet technologies [1]. Furthermore, the IIoT is connoted with the risk of disruptive business models as well as privacy and security concerns. The IIoT endangers the classical value chains as the interconnection and data acquisition of huge amounts of “things” enables new ways of (big) data analytics and solution spaces. However, there is less discussion regarding the ways in which the IIoT will also dramatically change the way software will be developed in the future in the light of emerging powerful IIoT software and service platforms. The analysis and design of industrial software applications cannot be isolated any more from the existing and future capabilities of these IIoT platforms. This concerns the requirements of the users who request remote accessibility of data and services via the Internet to support new business models (as well as the architecture) which need to be compliant to the current and future standards and products of the IIoT. Analysis and design methodologies for software applications shall take IIoT platforms into account. The Industrial Internet Reference Architecture (IIRA) [2] describes the Industrial Internet as an “Internet of things, machines, computers and people, enabling intelligent industrial operations using advanced data analytics for transformational business outcomes”. Industrial Internet systems cover multiple application domains, e.g., energy, healthcare, manufacturing, public sector, transportation, and related industrial systems. The IIRA asserts that they “must be easily understandable and supported by widely applicable, standard-based, open and horizontal architecture frameworks and Future Internet 2018, 10, 100; doi:10.3390/fi10100100 www.mdpi.com/journal/futureinternet Future Internet 2018, 10, 100 2 of 18 reference architectures that can be implemented with interoperable and interchangeable building blocks”. The German initiative Industrie 4.0 basically complies with these objectives but focuses on industrial production. As a starting point, a Reference Architecture Model Industrie 4.0 (RAMI4.0) was published [3]. Today, software and service engineering is performed in an agile manner in order to increase flexibility during the software design and development and to have milestones to re-focus the process. However, agility needs to encompass the requirements analysis phase too. The reason is that only in rare cases are the requirements fully available and fixed when software design and developments starts. To the contrary, especially in the domain of factory automation systems, requirements analysis is an agile process including a multi-step dialogue between the user(s), the stakeholders, and the software architects who know about the technological capabilities and constraints, and the project and development managers who may also estimate the effort to realize the expectations of the user [4]. Such an iterative analysis and design process leads to multiple reconsiderations and/or refinements of the user requirements as all parties involved learn from each other. If multiple users of one or even multiple organizations are involved, such dialogues are usually led during requirements analysis workshops facilitated by experienced system analysts or architects, and carried out occasionally by means of Web-based collaborative video conferencing systems. This article describes a novel comprehensive methodology called SERVUS that, on the one hand, underpins this process, and on the other hand, accompanies and supports this process by a flexible documentation tool for all analysis and design artefacts in form of a Platform Engineering Information System (PEIS). SERVUS and PEIS explicitly take into account capabilities of IIoT service platforms as well as constraints of underlying production and manufacturing IT architectures, not to forget concerns about privacy and security. 1.1. Related Work Software engineering methodologies that analyze and document user requirements in the form of use cases are state-of-the-art. Use case models describe the behavior of a system whereby, according to Jacobson and Ng [5], “a use case is a sequence of actions performed by the system to yield an observable result that is typically of value for one or more actors or other stakeholders of the system”. Usually, use cases are modelled in graphical modeling languages such as the ISO/IEC 19505 Unified Modeling Language (UML) standard. Although quite illustrative, these UML models are often not precise enough if not associated with additional textual descriptions attached to the graphical symbols. However, if no further structure for the textual addition is prescribed, an interpretation of the use case idea is cumbersome. The idea to use semi-structured descriptions of use cases was first published by Cockburn in his book “Writing Effective Use Cases” [6]. With the trend towards service-oriented architectures (SOA) in the last two decades, various software engineering methodologies were developed that take SOA design principles into account. They are classified as service-oriented analysis and design (SOAD) methodologies which are basically service-oriented variants of model-driven architectures [4]. An overview and critical assessment is provided in Reference [7]. Typically, SOAD methodologies support the break-down from use cases to the specification of service requirements according to the constraints of service ecosystems. More recent comparison studies of software engineering methodologies were carried out, such as in Reference [8]. However, on the one hand, they all stayed on the conceptual level, and on the other hand, they all just focused on the top-down approach and ignored or at least neglected the fact that there may be already existing capabilities which may match the requirements. Today, IIoT platforms exploit the potential that was prepared by the SOA approach. In addition to the provision of powerful and scalable storage systems and processing frameworks to handle big data challenges [1], IIoT platforms also offer pre-defined generic and domain-specific support services. For requirements analysis activities, this means that service requirements have to be mapped to service capabilities of IIoT platforms. Finally, this trend led to the fundamental question of how Future Internet 2018, 10, 100 3 of 18 service descriptions may be matched on a semantic level. Several approaches in the research domain of semantic web services tried to solve this problem (e.g., Reference [9]), however, they could only provide partial solutions and none of them achieved practical relevance due to the inherent complexity of service matchmaking on a semantic level. In the last years, comprehensive modeling frameworks such as Arrowhead [10] were specified and implemented that stressed the importance of rigid and comprehensive formal modeling of use cases, business activities, and system configurations, e.g., using UML, BPMN (Business Process Model and Notation) or SysML (Systems Modeling Language). The framework also considers emerging system-of-systems environments and finally IIoT environments [11]. In contrast to the service engineering methodology presented in this article, the Arrowhead frameworks focuses on the support of service discovery, authorization, and orchestration in operational SOA-based systems with the pre-requisite that the service requirements and capabilities are provided according to the modeling templates of the Arrowhead framework. 1.2. Structure of the Article For the quick reader, the research results are summarized in Section 2. Section 3 describes the SERVUS methodology in more detail. Section 4 introduces the information system that supports the IIoT platform engineering, i.e., the Platform Engineering Information System (PEIS). Section 5 provides a discussion of the SERVUS methodology and the PEIS with respect to the best practices of Agile Modelling. The article concludes in Section 6 with a summary of the main concepts and a discussion about the next steps and the limitations of the methodology. 2. Results The article highlights the importance of systematic agile service engineering for the Industrial Internet of Things and Industrie 4.0 software applications. Up to now, there is no software engineering methodology that covers systematically and concurrently both sides of a software development process necessary in an IIoT context: (1) a user-driven approach analyzing use cases and requirements, and (2) a platform-driven approach analyzing existing and missing capabilities and technologies of IIoT platforms. Complementary to Reference [12], which describes a former status of this research and only highlights a portion of the methodology, this article summarizes the whole methodology including a tool support. For such applications, the functional and non-functional requirements of IT users (in Industrie 4.0 mostly from the disciplines of mechanical engineering and electrical engineering) need to be mapped to the capabilities and architecture patterns of emerging IIoT service platforms [13]. The capabilities of service platforms are usually described, structured, and formalized by software architects. An example is the three-tier architecture pattern of the IIRA and its functions structured into five functional domains (Control, Operations, Information, Application, and Business). Another example of such a platform comprises the services of the series of IEC 62541 OPC UA standards [14]. However, very often, such technical descriptions are far away from the expectations of the end-users and do not fit to their language and thematic terms. This complicates the transition from requirements analysis to system design, and hence the re-use of existing platform capabilities. The article describes how to close this gap with the help of a novel service-oriented development methodology entitled SERVUS and a corresponding Web-based collaborative tool that supports its documentation. SERVUS denotes a Design Methodology for Information Systems based upon Service-oriented Architectures and the Modelling of Use Cases and Capabilities as Resources [4]. SERVUS considers use case models as being core artefacts of requirement analysis. When designing industrial Internet applications, a use case expresses the functional, informational, and qualitative (i.e., non-functional) requirements of a user (i.e., an actor or a stakeholder) with respect to the system. Usually, use cases do not describe the user interactions themselves. It is essential for the use case description that the level of abstraction, the type of formalism as well as the language Future Internet 2018, 10, 100 4 of 18 Future Internet 2018, 10, x FOR PEER REVIEW 4 of 18 should be such that it is adequate to the domain of expertise of the users. In order to serve as a kind technical way, normally using in natural language. to However, reduce of contract with theachieved user, a use caseplain shalltext be both understandable the user in butorder also to precise enough. the ambiguities and impreciseness of descriptions in natural language, structured textual Very often this means that use cases shall be specified in a non-technical way, normally achieved using descriptions are in preferred. Use case descriptions are thento structured according to a given template, plain text natural language. However, in order reduce the ambiguities and impreciseness of e.g., an application form comprising identifier and description fields or thematic domain references descriptions in natural language, structured textual descriptions are preferred. Use case descriptions associated withstructured code lists.according to a given template, e.g., an application form comprising identifier and are then The SERVUS design methodology recommends such a semi-formal of use cases, description fields or thematic domain references associated with codedescription lists. basically following templates defined in Reference [6]. As an extension, this idea ofdescription a semi-structured The SERVUS design methodology recommends such a semi-formal of use cases, description of analysis and design artefacts is also used when mapping the use cases design basically following templates defined in Reference [6]. As an extension, this ideatoofother a semi-structured artefacts such as requirements and capabilities. description of analysis and design artefacts is also used when mapping the use cases to other design The SERVUS methodology was artefacts such as requirements and successfully capabilities. used in numerous cooperative and interdisciplinary software projects related various application domains of the and IIoTinter-disciplinary such as The SERVUS methodology was to successfully used in numerous cooperative environmental information systems [4], environmental risk management, and early warning systems software projects related to various application domains of the IIoT such as environmental information [15] assystems well as[4], industrial production/Industrie 4.0 [12]. As a result of the domain-independent environmental risk management, and early warning systems [15] as well as industrial character of the IIoT and its it may also be applied to of interrelated production/Industrie 4.0 emerging [12]. As a IIoT resultplatforms, of the domain-independent character the IIoT and its application domains such as smart cities or smart regions. The SERVUS methodology is referred to smart emerging IIoT platforms, it may also be applied to interrelated application domains such as by ISOcities 19119 as an example of a use case based-methodology for Geographic information Services or smart regions. The SERVUS methodology is referred to by ISO 19119 as an example of a use [16]. case based-methodology for Geographic information Services [16]. 3. SERVUS Methodology 3. SERVUS Methodology The architectural style of service-oriented computing has already been present in practice in The architectural style of service-oriented computing has already been present in practice in industrial software engineering for several years.years. However, although numerous methodologies for for industrial software engineering for several However, although numerous methodologies service-oriented analysis and design were described in the in literature [4], there not is yetnot a standard service-oriented analysis and design were described the literature [4], is there yet a standard methodology usableusable for thefor analysis and design of software applications based based upon service-oriented methodology the analysis and design of software applications upon service-oriented IIoT platforms. The deficiency today today is thatisthere no well-established methodology that explicitly IIoT platforms. The deficiency that is there is no well-established methodology that explicitly supports a co-design of requirements and architectural design artefacts [17], i.e., a methodology that: that: supports a co-design of requirements and architectural design artefacts [17], i.e., a methodology 1. provides a two-sided integrated and parallel view of the requirements and the expert knowledge provides a two-sided integrated and parallel view of the requirements and the expert knowledge 1. of thematic users with the services and information offerings of emerging IIoT platforms, and, and, of thematic users with the services and information offerings of emerging IIoT platforms, in addition, in addition, 2. obeys explicitly the guidelines and constraints of architectural frameworks such as RAMI4.0 or 2. obeys explicitly the guidelines and constraints of architectural frameworks such as RAMI4.0 or IIRA as side-conditions. IIRA as side-conditions. Van den Heuvel et al. [18] call these aspects the open-world assumption that must be met by Van den Heuvel et al. [18] call these aspects the open-world assumption that must be met by service networks. The “open-world” is characterized by “unforeseen clients, execution contexts and service networks. The “open-world” is characterized by “unforeseen clients, execution contexts usage” of services operating in “highly complex, distributed, unpredictable, and heterogeneous and usage” of services operating in “highly complex, distributed, unpredictable, and heterogeneous execution environments”. The SERVUS methodology tries to overcome these deficiencies. Its execution environments”. The SERVUS methodology tries to overcome these deficiencies. Its artefacts artefacts are organized according to the following three dimensions (Figure 1). are organized according to the following three dimensions (Figure 1). Figure 1. Dimensions of the SERVUS methodology. Figure 1. Dimensions of the SERVUS methodology. Future Internet 2018, 10, 100 5 of 18 Future Internet 2018, 10, x FOR PEER REVIEW 5 of 18 • D1: Analysis and design artefacts (i.e., the SERVUS meta-model, see Section 3.1)  D1: Analysis and design artefacts (i.e., the SERVUS meta-model, see Section 3.1) • D2: Analysis and design activities (see Section 3.2)  D2: Analysis and design activities (see Section 3.2) • D3: Architectural frameworks, i.e., relationship to reference architecture models (such as RAMI4.0  D3: Architectural frameworks, i.e., relationship to reference architecture models (such as and IIRA, see Section 3.3) RAMI4.0 and IIRA, see Section 3.3) 3.1. D1: Analysis and Design Artefacts 3.1. D1: Analysis and Design Artefacts 3.1.1. SERVUS Meta-Model 3.1.1. SERVUS Meta-Model The SERVUS meta-model comprises the following analysis and design artefacts (see Figure 2): The SERVUS meta-model comprises the following analysis and design artefacts (see Figure 2): • User story (US): description consisting of one or more sentences in the everyday or business  language User story description ofdoes one or orneeds more to sentences inofthe business …

Place this order or similar order and get an amazing discount. USE Discount code “GET20” for 20% discount