316 research outputs found
Iterative criteria-based approach to engineering the requirements of software development methodologies
Software engineering endeavours are typically based on and governed by the requirements of the target software; requirements identification is therefore an integral part of software development methodologies. Similarly, engineering a software development methodology (SDM) involves the identification of the requirements of the target methodology. Methodology engineering approaches pay special attention to this issue; however, they make little use of existing methodologies as sources of insight into methodology requirements. The authors propose an iterative method for eliciting and specifying the requirements of a SDM using existing methodologies as supplementary resources. The method is performed as the analysis phase of a methodology engineering process aimed at the ultimate design and implementation of a target methodology. An initial set of requirements is first identified through analysing the characteristics of the development situation at hand and/or via delineating the general features desirable in the target methodology. These initial requirements are used as evaluation criteria; refined through iterative application to a select set of relevant methodologies. The finalised criteria highlight the qualities that the target methodology is expected to possess, and are therefore used as a basis for de. ning the final set of requirements. In an example, the authors demonstrate how the proposed elicitation process can be used for identifying the requirements of a general object-oriented SDM. Owing to its basis in knowledge gained from existing methodologies and practices, the proposed method can help methodology engineers produce a set of requirements that is not only more complete in span, but also more concrete and rigorous
A SPEMOntology for Software Processes Reusing
Reusing the best practices and know-how capitalized from existing software process models is a promising solution to model high quality software processes. This paper presents a part of AoSP (Architecture oriented Software Process) for software processes reuse based on software architectures. The solution is proposed after the study of existing works on software process reusing. AoSP approach deals with the engineering "for" and "by" reusing software processes, it exploits the progress of two research fields that promote reusing in order to improve the software process reusing: domain ontologies and software architectures. AoSP exploits a domain ontology to reuse software process know-how, it allows retrieving, describing and deploring software process architectures. This article details the engineering "for" reusing SPs step of AoSP, it explains how the software process architectures are described and discusses the software process ontology conceptualization and software process knowledge acquisition
Towards a Formalization of a Framework to Express and Reason about Software Engineering Methods
Software Engineering is considered a knowledge-intensive discipline, in which knowledge creation, collection and sharing is an uninterrupted process. However, a large part of this knowledge exists in a tacit form and depends on practitioners. Therefore defining a mechanism to transform tacit knowledge into explicit one is of upmost importance. This paper presents a formalization approach to represent Software Engineering practitioners' tacit knowledge, which is related to their ways of working, as a set of explicit statements. The formalization is based on KUALI-BEH, which is a normative kernel extension of ESSENCE formal specification, and consists of three parts: an ontology to share a common representation of knowledge as a set of concepts; a Situational Method Engineering based algebra that represents well-defined method properties and operations; and a knowledge representation of the ontology and algebra using Description Logics. The main objectives of this initial formalization are to improve communication among humans and machines, computational inference and reuse of knowledge
Software Process Modeling with Eclipse Process Framework
The software development industry is constantly evolving. The rise of the agile methodologies in the late 1990s, and new development tools and technologies require growing attention for everybody working within this industry. The organizations have, however, had a mixture of various processes and different process languages since a standard software development process language has not been available.
A promising process meta-model called Software & Systems Process Engineering Meta- Model (SPEM) 2.0 has been released recently. This is applied by tools such as Eclipse Process Framework Composer, which is designed for implementing and maintaining processes and method content. Its aim is to support a broad variety of project types and development styles.
This thesis presents the concepts of software processes, models, traditional and agile approaches, method engineering, and software process improvement. Some of the most well-known methodologies (RUP, OpenUP, OpenMethod, XP and Scrum) are also introduced with a comparison provided between them. The main focus is on the Eclipse Process Framework and SPEM 2.0, their capabilities, usage and modeling.
As a proof of concept, I present a case study of modeling OpenMethod with EPF Composer and SPEM 2.0. The results show that the new meta-model and tool have made it possible to easily manage method content, publish versions with customized content, and connect project tools (such as MS Project) with the process content. The software process modeling also acts as a process improvement activity.Ohjelmistoprosessin mallinnus Eclipse Process Frameworkilla
ja SPEM 2.0 metamallilla
Ohjelmistot ja ohjelmistoteollisuus kehittyvät jatkuvasti. Ketterien menetelmien tulo 1990-luvun loppupuolella, uudet kehitystyökalut ja teknologiat vaativat yhä enemmän huomiota alalla työskenteleviltä ihmisiltä. Organisaatioilla on kuitenkin ollut sekalainen kirjo prosesseja ja erilaisia prosessikuvauskieliä, koska standardia kuvauskieltä ei ole ollut saatavilla.
Prosessimetamalli SPEM 2.0 julkaistiin hiljattain. Tätä mallia hyödyntää mm. Eclipse Process Framework Composer (EPFC) –työkalu, joka on suunniteltu prosessien ja menetelmäsisällön kehittämiseen ja ylläpitoon. Työkalun tavoitteena on tukea useita erilaisia projektityyppejä ja kehitystyylejä.
Tässä työssä esitellään seuraavat aiheet ja käsitteet: ohjelmistoprosessit, mallit, perinteiset ja ketterät lähestymistavat, metoditekniikkaa sekä prosessien kehittäminen. Lisäksi tutustutaan muutamiin tunnetuimmista metodologioista (RUP, OpenUP, OpenMethod, XP ja Scrum) ja vertaillaan näitä. Työssä tutkitaan tarkemmin Eclipse Process Framework Composer –työkalua, SPEM 2.0 metamallia, näiden ominaisuuksia, käyttöä sekä mallintamista.
Esitän tutkimustulokset ja tutkimuksenkulun OpenMethodin mallintamisesta EPFC –työkalulla sekä SPEM 2.0 -metamallilla. Tulokset osoittavat, että uusi metamalli ja työkalu helpottavat prosessin ja menetelmäsisällön hallintaa, mahdollistavat räätälöityjen julkaisujen teon sisällöstä, sekä yhdistävät prosessin projektityökaluihin kuten MS Projectiin. Mallinnus voidaan lisäksi ymmärtää osana prosessin kehittämistä.Siirretty Doriast
Towards an interoperable metamodel suite: size assessment as one input
In recent years, many metamodels have been introduced in the software engi- neering literature and standards. These metamodels vary in their focus across, for example, process, product, organizational and measurement aspects of software development and have typically been developed independently of each other with shared concepts being only accidental. There is thus an increasing concern in the standards communities that possible conicts of structure and semantics between these various metamodels will hinder their widespread adoption. The complexity of these metamodels has also increased significantly and is another barrier in their appreciation. This complexity is compounded when more than one metamodel is used in the lifecycle of a software project. Therefore there is a need to have interoperable metamodels. As a first step towards engendering interoperability and/or possible mergers between metamodels, we examine the size and complexity of various meta- models. To do this, we have used the Rossi and Brinkkemper metrics-based approach to evaluate the size and complexity of several standard metamodels including UML 2.3, BPMN 2.0, ODM, SMM and OSM. The size and complexity of these metamodels is also compared with the previous version of UML, BPMN and Activity diagrams. The comparatively large sizes of BPMN 2.0 and UML 2.3 suggest that future integration with these metamodels might be more difficult than with the other metamodels under study (especially ODM, SSM and OSM)
BPMNt : a proposal for flexible process tailoring representation in BPMN /
Business Process Model and Notation (BPMN) is a de-facto standard for business process modeling, which focuses on the representation of the process behavior. However, it can also succeed in representing the behavior of software processes, since they are a type of business process. Although BPMN has been extensively used for modeling processes in different domains, its standard specification does not have any mechanism to support users in activities related to process adaptation (tailoring). Moreover, researches extending BPMN are based on complex consolidated models, which hamper the analysis and maintenance of individual variant process models and are not appropriate for application domains in which process variations are difficult to predict, such as in software development processes. Thus, our objective was to provide a BPMN-compliant extension and associated mechanisms for specifying flexible process tailoring on models produced with this language while ensuring the correctness of adapted process models and explicitly capturing change traces. We have focused our research on the domains of Software Process Engineering (SPE) and Business Process Management (BPM). At last, we evaluated the applicability of the proposal for representing realistic tailoring scenarios in both domains.BPMN (Business Process Model and Notation) é um padrão para modelagem de processos de negócio, que tem seu foco na representação do comportamento de processos. No entanto, ele pode também ser usado para representar o comportamento de processos de software, já que eles são um tipo de processo de negócio. Embora BPMN tem sido extensivamente usado para modelar processos em diferentes domínios, sua especificação padrão não possui nenhum mecanismo para apoiar usuários em atividades relacionadas à adaptação de processos. Pesquisas que estendem o padrão são baseadas em modelos complexos, que dificultam a análise e manutenção de modelos variantes, e não são apropriadas para domínios de aplicação onde variações de processo são difíceis de predizer, como em processos de desenvolvimento de software. Assim, nosso objetivo foi fornecer uma extensão para BPMN, chamada BPMNt, e mecanismos de suporte para especificar, de modo flexível, adaptações em processos modelados com esta linguagem. BPMNt deve também garantir a corretude de modelos adaptados e explicitamente capturar rastros de mudanças realizadas. Essa pesquisa teve como foco os domínios de Engenharia de Processos de Software e Gerenciamento de Processos de Negócio. Por fim, nós avaliamos a aplicabilidade da proposta para representar cenários de adaptação reais em ambos os domínios
Utilising the Software Engineering Methods and Theory framework to critically evaluate software engineering practice in the South African banking industry
A research report submitted to the Faculty of Engineering and The Built Environment of the University of Witwatersrand, Johannesburg
In partial fulfilment of the requirements for the Degree of Master of Science in Engineering
September 2015In recent years, software has become the cornerstone of banking and new business products are
directly dependant on software. The delivery cycles for new features is now related to market share.
This drive to use software as a vehicle for competitive advantage has created an environment in
which software development of new business systems are increasingly on the critical path of many
projects. An organisation’s portfolio of software intensive projects is situated within this complexity
and organisations attempt to mitigate the risks associated with these complexities by implementing
software development processes and practices. A key problem facing the modern bank is how to
define and build a software development process that caters for both the traditional and
increasingly agile genres of software development characteristics in a consistent and manageable
way.
The banks attempt to address this problem through continuous methodology and process
improvements. Comparing and assessing non-standardised software engineering lifecycle models
without a common framework is a complex and subjective task. A standardised language is
important for simplifying the task for developing new methods and practices or for analysing and
documenting existing practices.
The Software Engineering Methods and Theory (SEMAT) initiative has developed a standardised
kernel of essential concepts, together with a language that describes the essence of software
engineering. This kernel, called the Essence, has recently become an Object Management Group
(OMG) standard. The Essence kernel, together with its language, can be used as the underpinning
theory to analyse an existing method and help provide insights that can drive method
enhancements.
The research report proposes a simple, actionable analysis framework to assist organisations to
assess, review and develop their software engineering methods. The core concepts of the
methodology are identified and mapped to the Essence concepts. The governance model of the
Essence is mapped to the governance model of the industry model and a set of practices is identified
and documented in the Essence language. The mapping and resulting analysis can be used to test
the validity of the Essence theory in practice and identify areas for improvement in both the method
and the Essence standard.
The analysis framework has been applied to an operational software development lifecycle of a large
South African bank. A mapping of the Essence concepts to the governance model and method
documented in the lifecycle was completed. This mapping revealed that the Essence is a valid tool
and can be used to describe a method in practice. Furthermore it is useful as an analysis framework
to assess the governance model that manages and measures the progress of an endeavour in the
Bank.
The case study and resulting analysis demonstrate that the Essence standard can be used to analyse
a methodology and identify areas for improvement. The analysis also identified areas for
improvement in the Essence specification
Supporting Collaborative Development Using Process Models: A Tool Integration-Focused Approach
International audienceCollaboration in software engineering projects is usually intensive and requires adequate support by well-integrated tools. However, process-centered software engineering environ ments (PSEE) have traditionallybeen designed to exploit integration facilities in other tools, while offering themselves little to no such facilities.This is in line with the vision of the PSEE as the central orchestrator of project support tools. We argue that thisview has hindered the widespread adoption of process-based collaboration support tools by incurring too muchadoption and switching costs. We propose a new process-based collaboration support architecture, backed by aprocess metamodel, that can easily be integrated with existing tools. The proposed architecture revolves aroundthe central concepts of ‘deep links’ and ‘hooks’. Our approach is validated by analyzing a collection of open-source projects, and integration utilities based on the implemented process model server have been developed
Characterizing and evaluating the quality of software process modeling language: Comparison of ten representative model-based languages
Software organizations are very conscious that deployments of well-defined software processes improve software product development and its quality. Over last decade, many Software Process Modeling Languages (SPMLs) have been proposed to describe and manage software processes. However, each one presents advantages and disadvantages. The main challenge for an organization is to choose the best and most suitable SPML to meet its requirements. This paper proposes a Quality Model (QM) which has been defined conforms to QuEF (Quality Evaluation Framework). This QM allows to compare model-based SPMLs and it could be used by organizations to choose the most useful model-based SPML for their particular requirements. This paper also instances our QM to evaluate and compare 10 representative SPMLs of the various alternative approaches (metamodel-level approaches; SPML based on UML and approaches based on standards). Finally, this paper concludes there are many model-based proposals for SPM, but it is very difficult to establish with could be the commitment to follow. Some non-considered aspects until now have been identified (e.g., validation within enterprise environments, friendly support tools, mechanisms to carry out continuous improvement, mechanisms to establish business rules and elements for software process orchestrating).Ministerio de Economía y Competitividad TIN2016-76956-C3-2-R (POLOLAS
- …