Requirements engineering for complex systems
Mostra/ Apri
Creato da
Gallo, Teresa
Saccà, Domenico
Furfaro, Angelo
Garro, Alfredo
Crupi, Felice
Metadata
Mostra tutti i dati dell'itemDescrizione
Formato
/
Dottorato di Ricerca in Information and Comunication engineering for pervasive inetelligent enviroments Ciclo XXIX; Requirements Engineering (RE) is a part of Software Engineering and, in
general, of System Engineering. RE aims to help in building software which
satis es the user needs, eliciting, documenting, validating and maintaining the
requirements that a software has to adequately satisfy.
During its 30 years of RE history, its importance has been perceived
with various degrees, from being the most important activity, well formalized
and de ned in big complete documents which were the bible of the software
project, to the opposite side where it has been reduced to just an informal
activity, volatile, never formalized, not at all maintained, because ever changing.
The need for well managing requirements is extremely important, mainly
for complex systems which involve great investments of resources and/or cannot
be easily substituted.
A system can be complex because it is realized by the collaboration of a
numerous and heterogeneous set of stakeholders, as for example in a big industrial
research project, often co-funded with public resources, where usually
many partners, with di erent backgrounds and languages must cooperate for
reaching the project goals.
Furthermore, a system can be complex because it constitutes the IT system
of an Enterprise, which has been grown, along the time, by adding many pieces
of software, integrated in many and di erent ways; the IT system is often
distributed, ubiquitously interoperates on many computers, and behaves as a
whole big system, though developed by many software providers, at di erent
times, with di erent technologies and tools.
The complexity of these systems is highly considered for several critical
industrial domains where features of real-time and fault-tolerance are vital,
such as automotive, railway, avionics, satellite, health care and energy; in these
domains a great variety of systems are usually designed and developed by
organizing and integrating existing components that pool their resources and
capabilities to create a new system which is able to o er more functionalities
and performances than those o ered by the simple sum of its components. Typically, the design and management of such systems, best known as
System of Systems (SoS), have properties not immediately de ned, derived
and easily analyzed starting from the properties of their stand-alone parts. For
these reasons, SoS requires suitably engineered methods, tools and techniques,
for managing requirements and any other construction process phase, with the
aim to minimize whichever risk of fail.
However, every complex IT system, even though it does not deal with a
critical domain, but it supports the core business of an enterprise, must be well
governed to avoid the risk of becoming rapidly inadequate to its role. This risk
becomes high when many uncontrolled IT developments, aimed at supporting
requirements changes, accumulate. In fact, as the complexity grows up, the IT
system might become too expensive to maintain and then it should be retired
and substituted after some too short time, often with big and underestimated
di culties.
For these reasons, complex systems must be governed during their evolution,
both from the point of view of 'which application is where and why', and
from the point of view of the supported requirements, that is 'which need is
supported by each application and for whom'. This governance would facilitate
the knowledge, the management, the essentialness and the maintenance
of the complex systems, by allowing e cient support and a long-lasting system,
with the consequence of minimizing waste of costs and inadequacy of the
support for core business of the enterprise.
This work addresses mainly the issue of governing systems which are complex
because either they are the result of the collaboration of many di erent
stakeholders (e.g. are big co-funded R&D projects) or they are Enterprise
Information Systems (EIS) (e.g. IT system of medium/large enterprises).
In this direction, a new goal-oriented requirements methodology, named
GOReM, was de ned which has speci c features useful for the addressed issues.
In addition a new approach, ResDevOps, has been conceived, that allows
to re ne the government of the requirements of an EIS which is continuously
improved, and which increases and evolves along the time.
The thesis presents the framework of state of the art in which these activities
found their collocation, together with a set of case studies which were
developed inside some real projects, mainly big projects of R&D which have
seen involved the University of Calabria, but also some cases in real industrial
projects.
The main results were published and were included in international conference
proceedings and a manuscript is in press on an international journal.; Università della CalabriaSoggetto
Software engineering; Systems engineering
Relazione
ING-INF/05;