24 research outputs found
Developing Web Applications For Different Architectures: The MoWebA Approach
This study presents the Architecture Specific Model (ASM) defined by the MoWebA approach to improve the development of web applications for different architectures. MoWebA is a model-driven approach to web applications development. The article presents a general overview of MoWebA, including the methodological aspects related to its modeling and transformation processes, the process of defining the ASM, and an example of an ASM model.CONACYT – Consejo Nacional de Ciencia y TecnologíaPROCIENCI
The Impact of Ownership and Contribution Alignment on Code Technical Debt Accumulation
Software development organisations strive to maintain their effectiveness
while the complexity of the systems they develop continues to grow. To tackle
this challenge, organisations tend to be organised into small teams working
with components that can be developed separately. Here, organisations must
design their architecture and organisational structures in a way that enables
communication and minimises dependencies, and helps teams reduce code and
architectural degradation. Ensuring that each small independent team is
responsible for components they primarily contribute is one approach to
achieving this goal. This study aims at understanding the impact of ownership
and contribution alignment on accumulation of code technical debt and how
abrupt changes in team constellation affect teams' effectiveness in managing
TD. We conducted an embedded case study in a company developing a very large
software system, analysing ten components belonging to 1 team. During the
studied period, the team was split into two, and the components owned by them
were distributed between the two new teams. With high degrees of contribution
alignment, we noticed a negative correlation between contribution alignment and
TD Density before the team split. In 4 components, this correlation is
statistically significant. This means a higher contribution alignment degree
implies a lower TD Density. After the split, we observe a negative correlation
in 3 components. The positive correlation observed in the other 5 components
could be attributed to low contribution alignment, leading to difficulties in
managing TD. Our findings suggest that contribution alignment can be important
in controlling TD in software development organisations. Making teams
responsible for the quality of components they have more expertise over and
minimising dependencies between teams can help organisations mitigate the
growth of TD.Comment: Submitted to Transactions on Software Engineering (TSE
DSL4SPM: Domain-specific language for software process modeling
This paper presents a novel formal approach to software process modeling based on the
Software Process Engineering Metamodel (SPEM) for the syntactic aspect of a process model and a
domain-specific language (DSL) for the semantic aspect of the model. This approach provides a
conceptual framework for designing processes in a more abstract way and to enable process
implementation on various platforms. A Process-Centered Software Environment (PCSE) called
DSL4SPM (Domain-Specific Language for Software Process Modeling) is a plug-in tool which
satisfies the meta-requirements for Process Modeling Languages (PMLs). The key concept of the
DSL4SPM is the use of a toolbox, containing SPEM elements, to instantiate objects in a graphical
scene. The process model designer links these elements with relations, and defines the values of the
attributes required for both these and the objects, with the aim of arriving at a consolidated view of
the problem. An overview of the advantages of the approach is presented. With it, the process
manager is able to quickly and easily model a process from innovative perspectives, with the aim of
better understanding the risks associated with software development
Model-Driven Development of Aspect-Oriented Software Architectures
The work presented in this thesis of master is an approach that takes advantage of the Model-Driven Development approach for developing aspect-oriented software architectures. A complete MDD support for the PRISMA approach is defined by providing code generation, verification and reusability properties.Pérez Benedí, J. (2007). Model-Driven Development of Aspect-Oriented Software Architectures. http://hdl.handle.net/10251/12451Archivo delegad
Evolución Dinámica de Arquitecturas Software Orientadas a Aspectos
Se persigue dotar a los sistemas software altamente disponibles de la capacidad de alterar tanto su estructura como su comportamiento en tiempo de ejecución, afectando al mínimo número de subsistemas que lo forman. Esto se ha realizado a nivel de arquitecturas software y basándose en la separación de asuntos de intéres.Costa Soria, C. (2007). Evolución Dinámica de Arquitecturas Software Orientadas a Aspectos. http://hdl.handle.net/10251/12907Archivo delegad
Design and Implementation of a Software Architecture Knowledge Base
Viime vuosina ohjelmistoarkkitehtuurien tutkimuksessa on nostettu esiin arkkitehtuuritietämyksen käsite. Arkkitehtuuritietämys kattaa ohjelmiston arkkitehtuurin ja siihen vaikuttavat asiat laajasti, käsittäen perinteisen arkkitehtuurin kuten ohjelmakomponenttien ja niiden suhteiden lisäksi muun muassa suunnittelupäätökset ja arkkitehtuurin pohjalla olevat vaatimukset. Järjestelmää koskevan arkkitehtuuritietämyksen kerääminen auttaa järjestelmän kehitystä ja ylläpitoa, mutta sen kerääminen perinteisiin dokumentteihin voi olla ongelmallista. Tämän vuoksi tässä työssä kehitettiin selaimella käytettävä arkkitehtuuritietämyskanta tietämyksen tallentamiseen ja tarkasteluun. Tietämyskannan idea on, että sinne tallennetaan kaikki järjestelmän elinkaaren aikana syntyvä tieto sitä mukaa, kun se syntyy. Tallennettua tietoa voidaan sitten tarkastella eri sidosryhmien tarpeisiin toteutettujen näkymien avulla.
Tietämyskanta rakennettiin Polarion ALM -ohjelmiston elinkaaren hallintajärjestelmän päälle. Kantaan tallennettavan tiedon rakenteen määritti tätä varten kehitetty arkkitehtuuritietämyksen metamalli, joka yhdistää perinteisen arkkitehtuurin arkkitehtuuriarvioinnissa syntyvään tietoon ja yleiseen arkkitehtuuritietoon. Polarionin tiedon syöttö- ja tarkasteluominaisuuksia täydentämään tietämyskantaan toteutettiin arkkitehtuuriarvioinnissa käytettävä tiedon syöttötyökalu ja kolme erilaista ja eri tarkoituksiin sopivaa näkymää tallennettuun tietoon.
Tietämyskantaa arvioitiin tallentamalla sinne erään oppimisympäristön arkkitehtuuritietämystä ja pyytämällä järjestelmää tuntevia henkilöitä arvioimaan tiedon syöttötyökalua sekä tietämyksestä luotuja näkymiä. Tämä arviointi ei ollut kaikilta osin kovin kattavaa, mutta sen pohjalta voidaan sanoa, että tietämyskanta ja siihen toteutetut ominaisuudet ovat periaatteessa toimivia. Tietämyskantaa ei myöskään voi sanoa tämän työn perusteella valmiiksi, ja se vaatiikin vielä jatkokehitystä, jolle tämä työ tarjoaa hyvän pohjan
Contribution to Quality-driven Evolutionary Software Development process for Service-Oriented Architectures
The quality of software is a key element for the successful of a system. Currently, with the advance of the technology, consumers demand more and better services. Models for the development process have also to be adapted to new requirements. This is particular true in the case of service oriented systems (domain of this thesis), where an unpredictable number of users can access to one or several services.
This work proposes an improvement in the models for the software development process based on the theory of the evolutionary software development. The main objective is to maintain and improve the quality of software as long as possible and with the minimum effort and cost. Usually, this process is supported on methods known in the literature as agile software development methods.
Other key element in this thesis is the service oriented software architecture. Software architecture plays an important role in the quality of any software system. The Service oriented architecture adds the service flexibility, the services are autonomous and compact assets, and they can be improved and integrated with better facility.
The proposed model in this thesis for evolutionary software development makes emphasis in the quality of services. Therefore, some principles of evolutionary development are redefined and new processes are introduced, such as: architecture assessment, architecture recovery and architecture conformance.
Every new process will be evaluated with case studies considering quality aspects. They have been selected according to the market demand, they are: the performance, security and evolutionability. Other aspects could be considered of the same way than the three previous, but we believe that these quality attributes are enough to demonstrate the viability of our proposal