
eBook - ePub
Environment Modeling-Based Requirements Engineering for Software Intensive Systems
- 288 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
eBook - ePub
Environment Modeling-Based Requirements Engineering for Software Intensive Systems
About this book
Environment Modeling-Based Requirements Engineering for Software Intensive Systems provides a new and promising approach for engineering the requirements of software-intensive systems, presenting a systematic, promising approach to identifying, clarifying, modeling, deriving, and validating the requirements of software-intensive systems from well-modeled environment simulations. In addition, the book presents a new view of software capability, i.e. the effect-based software capability in terms of environment modeling.
- Provides novel and systematic methodologies for engineering the requirements of software-intensive systems
- Describes ontologies and easily-understandable notations for modeling software-intensive systems
- Analyzes the functional and non-functional requirements based on the properties of the software surroundings
- Provides an essential, practical guide and formalization tools for the task of identifying the requirements of software-intensive systems
- Gives system analysts and requirements engineers insight into how to recognize and structure the problems of developing software-intensive systems
Frequently asked questions
Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, weāve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere ā even offline. Perfect for commutes or when youāre on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Environment Modeling-Based Requirements Engineering for Software Intensive Systems by Zhi Jin in PDF and/or ePUB format, as well as other popular books in Computer Science & Software Development. We have over one million books available in our catalogue for you to explore.
Information
Part 1
Background
Introduction
The Internet has provided a global open infrastructure for the exchange various resources for people across the world. It has an increasingly essential role in connecting the cyber, physical, and social worlds. Computing devices, human society, and physical objects will soon be integrated together seamlessly, and software systems will orchestrate information, processes, decisions, and interactions in this Internet environment. With such developments, software-intensive information and embedded systems will realize increasingly innovative functionality and become more and more important in our daily lives. Many innovative applications are expected, such as smart houses, mobile online education, Internet of vehicles, etc.
Internetware (Mei and Lü, 2016) is a term coined to describe the emerging software paradigm for the Internet computing environment. It can be defined as a software system that consists of self-contained, autonomous entities situated in distributed nodes of the Internet and coordinators connecting these entities statically and dynamically in various kinds of interactive styles (passively and actively). Such a system is expected to be able to perceive the changes of an open and dynamic environment, respond to changes through architectural transformations, and exhibit context-aware, adaptive, and trustworthy behaviors in such an environment. These feature exactly the characteristics of those innovative applications.
How to establish and use sound engineering principles systematically in the development of such systems, to obtain systems economically that are reliable and efficient in a real application environment, is currently challenging the software engineering field.
As usual, the first challenge, among others, is in the requirements engineering stage. From the viewpoint of requirements engineering, some difficulties exist:
⢠Many such systems are software-based innovations in different domains. This means that they are normally personalized and can only be designed fully targeted.
⢠Many such systems are safety relevant or even safety critical and more pervasive. Thus they come with very high reliability or dependability demands.
⢠Many such systems interact closely with reality. Thus the complexity of the systems greatly increases along with the complexity of the reality with which the systems need to interact.
How to deliver the system specification systematically and effectively is an important issue in the current software-enabling innovation era.
This book entitled Environment Modeling Requirements Engineering for Software-Intensive Systems aims to deliver a systematic methodology for engineering the requirements of innovative software-intensive systems. This methodology is intended to identify the different aspects of such systems clearly when developing requirements. That will help requirements analysts to understand such innovation applications and produce the specification more systematically. Also, as indicated in the book's subtitle, Towards Internetware-Oriented Software Eco-systems, it is also expected that this methodology can enable the establishment of Internetware-based software ecosystems.
Part 1 will be devoted to an introduction of background knowledge about requirements and requirements engineering. It will discuss requirements engineering principles and its main concerns. It will also present some of the representative methodologies in requirements engineering that are related to the modeling and analysis of the software-intensive systems. Finally, the challenges we are facing are also discussed.
Chapter 1
Requirements and Requirements Engineeringā
Abstract
Requirements engineering refers to the process of defining, documenting, and maintaining requirements statements. Correct system development depends on a precise, correct, and complete system description or specification. How to obtain requirements statements and produce a correct and complete system specification is the main task of requirements engineering. This chapter explores the three dimensions of the requirements engineering: specifications, representation, and agreement among stakeholders.
Keywords
As-is system; Function point requirements; Problem; Solution; System requirements; To-be system
1.1. Requirements
Generally, the development of any artificial product relies on some physical and functional needs that a particular design of the product must be able to perform. These physical and functional needs contribute to the ārequirementsā of the artificial product. Software and software-intensive systems are kinds of artificial products. The development of software and software-intensive systems is triggered by some needs and desires.
What are requirements? According to Institute of Electrical and Electronics Engineers standard 610.12-1990 (IEEE-Std-610.12-1990), the term ārequirementsā for software refers to:
1. a condition or capability needed by a user to solve a problem or achieve an objective
2. a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents
3. a documented representation of a condition or capability, as in 1 or 2
From these statements, the explanation of the term ārequirementsā has two aspects: the first is that requirements refer to the need to solve an application problem with some constraints; the second is that requirements refer to the capabilities that the software has to provide and the constraints that need to be met in software development. The following two requirements statements illustrate these two aspects in the context of software development:
⢠[R1.1] The system should be reliable and trustworthy. Even when running on an open network environment, it should be able to protect itself from potentially malicious attacks.
⢠[R1.2] The system should be able to detect and prevent various viruses from invading and launch the emergency process when key components have been infected.
The two statements clearly demonstrate the difference between the two aspects of the term ārequirements.ā The first regards the commitment, promise, or purpose of the system to the outside world. It states the problem that needs to be solved and how well to solve it. The second identifies the functions that the system should possess. It specifies what the system will do.
Of course, these two aspects are not separate but rather are related to each other. Fig. 1.1 illustrates the relationship between them and how the relationship can be understood in different ways.
1.1.1. System Level Versus Function Level
One way to clarify the terminology is to distinguish the system-level requirements and the function pointālevel requirements. For these two example statements, the first can be categorized as the āsystem-level requirementsā whereas the second is the āfunction pointālevel requirements.ā The following are other examples that can be used to differentiate the two kinds of requirements statements:

Figure 1.1 Relationship between requirements of different levels. FP, Function point.
⢠[R1.3] The system should offer a user-friendly interface (system level requirements).
⢠[R1.4] The system should open the door if the personal identification number that the user enters into the keypad is correct (function point level requirements).
⢠[R1.5] The system sh...
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- About the Author
- Preface
- Acknowledgments
- Part 1. Background
- Part 2. Ontology and System-Interactive Environment Ontology
- Part 3. Environment Modeling-Based System Capability
- Part 4. Environment-Related Nonfunctionalities
- Index