148 research outputs found
Ontological analysis of means-end links
The i* community has raised several main dialects and dozens of variations in the definition of the i* language. Differences may be found related not just to the representation of new concepts but to the very core of the i* language. In previous work we have tackled this issue mainly from a syntactic point of view, using metamodels and syntactic-based model interoperability frameworks. In this paper, we go one step beyond and consider the use of foundational ontologies in general, and UFO in particular, as a way to clarify the meaning of core i* constructs and as the basis to propose a normative definition. We focus here on one of the most characteristics i* constructs, namely means-end links.Postprint (published version
Finding and Resolving Security Misusability with Misusability Cases
Although widely used for both security and usability concerns, scenarios used in security design may not necessarily inform the design of usability, and vice- versa. One way of using scenarios to bridge security and usability involves explicitly describing how design deci- sions can lead to users inadvertently exploiting vulnera- bilities to carry out their production tasks. This paper describes how misusability cases, scenarios that describe how design decisions may lead to usability problems sub- sequently leading to system misuse, address this problem. We describe the related work upon which misusability cases are based before presenting the approach, and illus- trating its application using a case study example. Finally, we describe some findings from this approach that further inform the design of usable and secure systems
Stra2Bis : a model-driven method for aligning business strategy and business processes
MDA-based initiatives for software development have included computation-independent models to align information system models with business knowledge which is important in the development process. One source of business knowledge is the business strategy, which, traditionally, has had a long-term perspective; changes in the organisational structure and their high-level ends and means were less frequent and arguably not relevant for software development. However, organisations that aim to accelerate their software development cycles define their business strategy and reconfigure their structure on a short-term, continuous basis, fusing, splitting and creating as independent as possible organisation units. These changes directly affect the business processes and the design of software components of the organisation. Based on this approach to business strategy, we propose Stra2Bis, a method for designing strategically aligned business processes in an MDA-based context. Stra2Bis proposes a business strategy modelling step when redesigning business processes and three transformation guidelines to support the analysis of the alignment of processes with the organisational structure and the measurement of the units’ outcomes. We discussed the effect of the guidelines on the software design with five professionals who supported the proposal’s feasibility and usefulness
An empirical study on the use of i* by non-technical stakeholders: the case of strategic dependency diagrams
Early phases of information systems engineering include the understanding of the enterprise’s context and the construction of models at different levels of decomposition, required to design the system architecture. These time-consuming activities are usually conducted by relatively large teams, composed of groups of non-technical stakeholders playing mostly an informative role (i.e. not involved in documentation and even less in modelling), led by few experienced technical consultants performing most of the documenting and modelling effort. This paper evaluates the ability of non-technical stakeholders to create strategic dependency diagrams written with the i* language in the design of the context model of a system architecture, and find out which difficulties they may encounter and what the quality of the models they build is. A case study involving non-technical stakeholders from 11 organizational areas in an Ecuadorian university held under the supervision and coordination of the two authors acting as consultants. The non-technical stakeholders identified the majority of the dependencies that should appear in the case study’s context model, although they experienced some difficulties in declaring the type of dependency, representing such dependencies graphically and applying the description guidelines provided in the training. Managers were observed to make more mistakes than other more operational roles. From the observations of these results, a set of methodological advices were compiled for their use in future, similar endeavours. It is concluded that non-technical stakeholders can take an active role in the construction of the context model. This conclusion is relevant for both researchers and practitioners involved in technology transfer actions with use of i*.Peer ReviewedPostprint (author's final draft
Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems
Softwaresysteme werden heute z.B. aufgrund sich ändernder Geschäftsprozesse
oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und
speziell ihre Architektur muss diese Änderungen zur dauerhaften Nutzbarkeit
ermöglichen.Während der Software-Evolution können Änderungen zu einer
Verschlechterung der Architektur führen, der Architekturerosion. Dies
erschwert oder verhindert weitere Änderungen wegen Inkonsistenz oder
fehlendem Programmverstehen. Zur Erosionsvermeidung müssen Qualitätsziele
wie Weiterentwickelbarkeit, Performanz oder Usability sowie die
Nachvollziehbarkeit von Architekturentwurfsentscheidungen berücksichtigt
werden. Dies wird jedoch oft vernachlässigt.Existierende Entwurfsmethoden
unterstützen den Übergang von Qualitätzielen zu geeigneten
Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden
des Requirements Engineering und des Architekturentwurfs. Insbesondere gilt
dies für Weiterentwickelbarkeit und die Nachvollziehbarkeit von
Entwurfsentscheidungen durch explizite Modellabhängigkeiten.Diese Arbeit
präsentiert ein neues Konzept, genannt Goal Solution Scheme, das
Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch
explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen
entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird
speziell hinsichtlich Weiterentwickelbarkeit diskutiert und ist in ein
zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte
des Requirements Engineering und Architekturentwurfs verbessert und
integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen
regelbasierten Ansatz mit Techniken des Information Retrieval verbindet.
Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links
mit spezifischen Linktypen und Attributen für eine reichhaltige Semantik
sowie mit hoher Genauigkeit und Trefferquote.Die Realisierbarkeit des
Ansatzes wird an einer Fallstudie einer Software für mobile Serviceroboter
gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform
basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der
Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools
mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet
Regeln zur Linkerstellung an und bietet Validierungsfunktionen für Regeln
und Links.Today software systems are frequently faced with demands for changes, for
example, due to changing business processes or technologies. The software
and especially its architecture has to cope with those frequent changes to
permanently remain usable.During software evolution changes can lead to a
deterioration of the structure of software architectures called
architectural erosion, which hampers or even inhibits further changes
because of inconsistencies or lacking program comprehension. To support
changes and avoid erosion, especially quality goals, such as evolvability,
performance, or usability, and the traceability of design decisions have to
be considered during architectural design. This however often is
neglected.Existing design methods do not sufficiently support the
transition from the quality goals to appropriate architectural solutions
because there is still a gap between requirements engineering and
architectural design methods. Particularly support is lacking for the goal
evolvability and for the traceability of design decisions by explicit model
dependencies.This thesis presents a new concept called Goal Solution
Scheme, which provides a mapping from goals via architectural principles to
solution instruments by explicit dependencies. Thus it helps to select
appropriate architectural solutions according to their influence on quality
goals. The scheme is discussed especially regarding evolvability, and it is
embedded in a goal-oriented architectural design method, which enhances and
integrates established methods and concepts from requirements engineering
as well as architectural design. This is supplemented by a traceability
concept, which combines a rule-based approach with information retrieval
techniques for a (semi-) automated establishment of links with specific
link types and attributes for rich semantics and a high precision and
recall.The feasibility of the design approach has been evaluated in a case
study of a software platform for mobile robots. A prototype tool suite
called EMFTrace was implemented as an extensible platform based on Eclipse
technology to show the practicability of the thesis' concept. It integrates
design models from external CASE tools in a joint model repository by means
of XML technology, applies rules for link establishment, and provides
validation capabilities for rules and links
An i*-based Reengineering Framework for Requirements Engineering
Avui en dia, els sistemes d'informació són un actiu clau en les organitzacions i sovint els proporcionen un avantatges competitiu. Per a que això segueixi així, han de ser mantinguts i evolucionats d'acord amb els objectius estratègics de la organització. Aquesta evolució inclou els requeriments del sistema d'informació, la tecnologia emprada i els processos suportats. L'impacte dels canvis pot anar des de petites modificacions al desenvolupament d'un nou sistema d'informació i, per aquest motiu, l'evolució dels sistemes d'informació s'analitza durant la fase de requeriments, on es possible avaluar-ne la magnitud utilitzant menys recursos. Des d'aquest punt de vista, els mètodes de l'enginyeria de requeriments i els de la reenginyeria de processos sovint comparteixen els mateixos objectius i es pot considerar que la reenginyeria de processos es adequada tant per al desenvolupament com per al manteniment dels sistemes d'informació. El llenguatge i* està orientat a objectius i permet modelar els sistemes d'informació en termes d'actors i dependencies entre ells. El llenguatge i* s'utilitza en l'enginyeria de requeriments i en la reenginyeria de processos de negoci, però no existeixen gaires propostes comunes a ambdues disciplines. Amb l'objectiu d'utilitzar el llenguatge i* en la reenginyeria de processos, s'ha definit PRiM, un mètode basat en i* per a la reenginyeria de processos (Proces Reenginieering i*-based Method). PRiM assumeix que ja existeix un procés que s'utilitzarà com a punt de partida per l'especificació o l'evolució del nou sistema d'informació. El mètode PRiM consta de sis fases: 1) l'anàlisi dels processos i dels sistemes d'informació actuals, 2) la construcció del model i*, 3) la reenginyeria dels processos actuals, 4) la generació de models i* representant les diferents alternatives, 5) l'avaluació de les alternatives utilitzant mètriques estructurals i 6) l'especificació del nou sistema d'informació a partir del model i* escollit. En les sis fases de PRiM, s'utilitzen diferents mètodes i tècniques algunes creades expressament pel mètode i d'altres provinents de l'enginyeria de requeriments i la reenginyeria de processos. Tot i això, hi ha altres mètodes i tècniques que poden ser utilitzades enlloc d'aquestes i que poden ser mes convenients quan les condicions d'aplicació del mètode canvien. Per tal de permetre la selecció i inclusió d'altres tècniques, es proposa l'aplicació de l'enginyeria de mètodes (Method Engineering). Aquesta disciplina permet construir nous mètodes a partir de parts de mètodes ja existents, i s'ha utilitzat per definir un mètode marc per a la reenginyeria anomenat ReeF (Reengineering Framework). A ReeF, les sis fases de PRiM es presenten de forma genèrica per tal de permetre la selecció de la tècnica més apropiada per cada una de les fases, a partir de l'experiència de l'usuari com dels seus coneixements de l'aplicació. Com a exemple d'aplicació de ReeF, s'ha definit el mètode SARiM.Les contribucions principals de la tesis son dues. En primer lloc, els dos mètodes basats en i* definits (PRiM per a la reenginyeria de processos, i SARiM, per a la reenginyeria d'arquitectures software). En segon lloc, les diferents tècniques i* definides en PRiM i que poden ser utilitzades per construir models i*, generar alternatives i avaluar-les amb mètriques estructurals. Aquestes tècniques i mètodes s'han obtingut a partir de l'estudi de l'estat de l'art i s'han validat en diferents casos d'estudi formatius i en un cas d'estudi industrial. Com a suport, s'han desenvolupat dues eines: 1) REDEPEND-REACT, que permet la modelització gràfica de models i*, la generació d'alternatives i la definició de mètriques estructurals, i 2) J-PRiM, que dóna suport a les fases de PRiM mitjançant el tractament textual dels models i*.Information Systems are a crucial asset of the organizations and can provide competitive advantages to them. However, once the Information System is built, it has to be maintained and evolved, which includes changes on the requirements, the technology used, or the business processes supported. All these changes are diverse in nature and may require different treatments according to their impact, ranging from small improvements to the deployment of a new Information System. In both situations, changes are addressed at the requirements level, where decisions are analysed involving less resources. Because Requirements Engineering and Business Process Reengineering methods share common activities, and the design of the Information System with the business strategy has to be maintained during its evolution, a Business Process Reengineering approach is adequate for addressing Information Systems Development when there is an existing Information System to be used as starting point. The i* framework is a well-consolidated goal-oriented approach that allows to model Information Systems in a graphical way, in terms of actors and dependencies among them. The i* framework addresses Requirements Engineering and Business Process Reengineering but none of the i*-based existing approaches provides a complete framework for reengineering. In order to explore the applicability of i* for a reengineering framework, we have defined PRiM: a Process Reengineering i* Method, which assumes that there is an existing process that is the basis for the specification of the new Information System. PRiM is a six-phase method that combines techniques from the fields of Business Process Reengineering and Requirements Engineering and defines new techniques when needed. As a result PRiM addresses: 1) the analysis of the current process using socio-technical analysis techniques; 2) the construction of the i* model by differentiating the operationalization of the process form the strategic intentionality behind it; 3) the reengineering of the current process based on its analysis for improvements using goal acquisition techniques; 4) the generation of alternatives based on heuristics and patterns; 5) the evaluation of alternatives by defining structural metrics; and, 6) the specification of the new Information System from the selected i* model.There are several techniques from the Requirements Engineering and Business Process Reengineering fields, that can be used instead the ones selected in PRiM. Therefore, in order to not enforce the application of a certain technique we propose a more generic framework where to use and combine them. Method Engineering is the discipline that constructs new methods from parts of existing ones and, so, it is the approach adopted to define ReeF: a Reengineering Framework. In ReeF the six phases of PRiM are abstracted and generalized in order to allow selecting the most appropriate techniques for each of the phases, depending on the user expertise and the domain of application. As an example of the applicability of ReeF, the new method SARiM is defined. The main contributions of this work are twofold. On the one hand, two i*-based methods are defined: the PRiM method, which addresses process reengineering, and SARiM, which addresses software architecture reengineering. On the other hand, we provide several i*-based techniques to be used for constructing i* models, generating alternatives, and evaluating them using Structural Metrics. These methods and techniques are based on exhaustive review of existing work and their validation is done by means of several formative case studies and an industrial case study. Tool support has been developed for the approach: REDEPEND-REACT supporting the graphical modelling of i*, the generation of alternatives and the definition of Structural Metrics; and J-PRiM supporting all the phases of the PRiM method using a textual visualization of the i* models
- …