970 resultados para software process


Relevância:

60.00% 60.00%

Publicador:

Resumo:

Process supervision is the activity focused on monitoring the process operation in order to deduce conditions to maintain the normality including when faults are present Depending on the number/distribution/heterogeneity of variables, behaviour situations, sub-processes, etc. from processes, human operators and engineers do not easily manipulate the information. This leads to the necessity of automation of supervision activities. Nevertheless, the difficulty to deal with the information complicates the design and development of software applications. We present an approach called "integrated supervision systems". It proposes multiple supervisors coordination to supervise multiple sub-processes whose interactions permit one to supervise the global process

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Requirements-relatedissues have been found the third most important risk factor in software projects and as the biggest reason for software project failures. This is not a surprise since; requirements engineering (RE) practices have been reported deficient inmore than 75% of all; enterprises. A problem analysis on small and low maturitysoftware organizations revealed two; central reasons for not starting process improvement efforts: lack of resources and uncertainty; about process improvementeffort paybacks.; In the constructive part of the study a basic RE method, BaRE, was developed to provide an; easy to adopt way to introduce basic systematic RE practices in small and low maturity; organizations. Based on diffusion of innovations literature, thirteen desirable characteristics; were identified for the solution and the method was implemented in five key components:; requirements document template, requirements development practices, requirements; management practices, tool support for requirements management, and training.; The empirical evaluation of the BaRE method was conducted in three industrial case studies. In; this evaluation, two companies established a completely new RE infrastructure following the; suggested practices while the third company conducted continued requirements document; template development based on the provided template and used it extensively in practice. The; real benefits of the adoption of the method were visible in the companies in four to six months; from the start of the evaluation project, and the two small companies in the project completed; their improvement efforts with an input equal to about one person month. The collected dataon; the case studies indicates that the companies implemented new practices with little adaptations; and little effort. Thus it can be concluded that the constructed BaRE method is indeed easy to; adopt and it can help introduce basic systematic RE practices in small organizations.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Työn tavoitteena on selvittää immateriaalioikeuksien merkitystä ja käytäntöä ohjelmistotuotantoprosessissa. Työn painopiste on ohjelmistojen tekijänoikeudellisten ja patenttioikeudellisten kysymysten tarkastelussa sekä niiden sitomisessa osaksi ohjelmistotuotantoprosessia. Tarkastelun lisäksi työn tarkoituksena on antaa käytännön ohjeita patentoinnin ja ohjelmistoprosessin yhteensovittamisesta. Tarkastelu on tehty suomalaisen tuotekehittelijän näkökulmasta. Pääpaino on Suomen käytännössä ja lainsäädännössä, mutta koska ohjelmistotuotteiden markkinat ovat maailmanlaajuiset, on tärkeää tietää miten tuote voidaan suojata kaikilla markkina-alueilla. Käytäntö eri markkina-alueilla vaihtelee merkittävästi. Tämän jälkeen immateriaalioikeuksia tarkastellaan itse ohjelmistoprosessin kannalta vaihe vaiheelta. Tarkastelua ei rajoiteta vain yhteen näkökulmaan, vaan ohjelmistoprosessia tarkastellaan immateriaalioikeuksien näkökulmasta ja immateriaalioikeuksia ohjelmistoprosessin näkökulmasta. Koska tarkastelu keskittyy itse prosessin teknisiin näkökohtiin, immateriaalioikeuksissa keskitytään patentointiin. Työ on tehty kirjallisuustyönä tarkastelemalla alan viimeisintä kirjallisuutta, tieteellisiä julkaisuja, lakien valmistelua sekä EU:n direktiivejä sekä ehdotuksia direktiiveiksi, Euroopan patenttiviraston valituslautakunnan päätöksiä ja oikeustapauksia. Työn tuloksena on kattava katsaus käytettävissä olevista tietokoneohjelmien suojamuodoista. Erityisesti työssä on keskitytty patentoinnin ja ohjelmistotuotantoprosessin vaiheisiin ja niiden yhteensovittamiseen. Tarkastelun tuloksena huomataan, että suurin osa vaiheista on yhteisiä, joten yhteensovittamisessa ei tarvitse tehdä merkittävää lisätyötä. Tämän ansiosta ohjelmistotuotantoprosessin ja patentoinnin yhteensovittaminen on edullista, vaikka omia patentteja ei olisi tarkoitus hankkiakaan. Tämä tiedostamalla ohjelmistoprosessia voidaan tehostaa. Vaikka omia patentteja ei olisikaan tarkoitus hankkia, patentoinnin huomioiminen kannattaa ottaa osaksi ohjelmistotuotantoprosessia kilpailijoiden patenttien havaitsemiseksi.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Sähkömies -taloushallinto-ohjelmisto on pienille sähköalan yrityksille suunnattu valmisohjelmisto. Se on tarkoitettu tehostamaan talous- ja materiaalihallinnon tehtäviä yrityksessä. Tämän työn tavoitteena oli suunnitella ja toteuttaa ostoreskontra –moduuli Sähkömies –taloushallinto-ohjelmistoon. Ostoreskontra -ominaisuuden lisääminen ohjelmistoon on saanut alkunsa useiden asiakkaiden palautteesta saada automatisoitua yrityksen ostoreskontra -toiminto. Samalla ohjelmistosta saadaan kilpailukykyisempi tuote sähköalalla. Työssä on ensiksi tutkittu ostoreskontran yleistä toimintamallia. Ohjelmiston kehitysprosessissa on sovellettu vesiputous –ohjelmistoprosessimallia. Ostoreskontra –moduulin vaatimukset on määritelty yhdessä avainasiakkaiden kanssa. Ohjelmiston toiminnallisuuden määrittelyssä on käytetty use case –menetelmää. Vaatimusmäärittelyyn ja toiminnalliseen määrittelyyn perustuen on suunniteltu tietokantataulut, käyttöliittymälomakkeet sekä tehty ohjelmamäärittelyt. Ohjelmiston toteutukseen on käytetty Visual Basic –sovelluskehitintä sekä Access 2000 –tietokanta-ohjelmistoa.Työn lopullista onnistumista on vielä aikaista arvioida, koska ohjelmiston ostoreskontra –moduulin sisältävää versiota ei ole vielä toimitettu asiakkaille. Lupaavaa palautetta on kuitenkin tullut projektissa tiiviisti mukana olleilta asiakkailta.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Työssä tutkitaan menetelmiä, käytäntöjä ja oliosuunnittelumalleja jotka johtavat ohjelmistojen koon pienentymiseen. Työssä tutkitaan konkreettisia keinoja ohjelmistojen koon optimointiin Symbian-alustalla. Työ keskityy C++ ohjelmistoihin jotka on suunniteltu toimimaan matkapuhelimissa ja muissa langattomissa laitteissa. Työssä esitellään, analysoidaan ja optimoidaan todellinen, loppukäyttäjille suunnattu, langaton sovellus. Käytetyt optimointimenetelmät sekä saadut tulokset esitellään ja analysoidaan. Esimerkkisovelluksen toteuttamisesta kertyvien kokemusten perusteella esitetään suosituksia langattomaan sovelluskehitykseen. Hyvän teknisen arkkitehtuurisuunnitelman todettiin olevan merkittävässä roolissa. C++ -kielen luokkaperinnän huomattiin yllättäen olevan suurin ohjelmatiedostojen kokoon vaikuttava tekijä Symbian-käyttöjärjestelmässä. Pienten ohjelmien tuottamisessa vaaditaan taitoa ja kurinalaisuutta. Ohjelmistokehittäjien asenteet ovat yleensä suurin este sille. Monet ihmiset eivät vain välitä kirjoittaminen ohjelmiensa koosta.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Työn tavoitteena oli selvittää erilaisten ohjelmistokehitysprosessien soveltuvuus maantieteellisesti hajallaan oleville kehitysryhmille. Aluksi selvitettiin yleisemmin käytössä olevat ohjelmistoprosessit ja niiden pääkohdat. Selvittäminen tehtiin kirjallisuuden ja internet-sivustojen perusteella. Saatuja tuloksia verrattiin CASE – yrityksen, Komartek Oyj:n, prosesseihin. Komartek Oyj:n prosessit selvitettiin haastatteluin sekä yrityksen sisäistä dokumentaatiota hyväksikäyttäen. Toisena tehtävänä työssä käytiin läpi hajautetun kehityksen aiheuttamia erityisvaatimuksia ohjelmistoprojekteille. Kirjallisuudesta löydettyjä vaatimuksia verrattiin jälleen Komartekin tämän hetkiseen kehitystyön hajautukseen ja selvitettiin myös lähitulevaisuuden näkymiä yrityksessä.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Työssä tutkitaan, kuinka Symbian käyttöjärjestelmälle voidaan tehdä siirrettäviä ohjelmia. Työssä käydään läpi menetelmiä, jotka helpottavat ohjelmistojen siirrettävyyttä uudelle alustalle. Uuteen älypuhelimeen voi tulla monia uusia komponentteja. Laite voi muuttua piiritasolla, käyttöjärjestelmästä voi tulla uusi versio sekä siirrettävästä ohjelmasta voi tulla uusi versio. Kaikki nämä vaikuttavat ohjelman siirrettävyyteen. Työssä tehtiin Java-rajapinnan siirto uudelle alustalle. Prosessin aikana löydettiin tärkeitä tekijöitä, jotka vaikuttavat ohjelmiston siirrettävyyteen. Siirrettävyys sinänsä pitäisi ottaa huomioon ohjelmistoprosessin jokaisessa vaiheessa. Älypuhelimista tulee jatkuvasti uusia versioita. Tämä tekee ohjelmien siirrettävyydestä hyvin tärkeän tekijän ohjelmistojen suunnittelussa. Hyvin suunniteltu ohjelma on helpompi ylläpitää, päivättää ja siirtää myöhemmin.

Relevância:

60.00% 60.00%

Publicador:

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La recherche en génie logiciel a depuis longtemps tenté de mieux comprendre le processus de développement logiciel, minimalement, pour en reproduire les bonnes pratiques, et idéalement, pour pouvoir le mécaniser. On peut identifier deux approches majeures pour caractériser le processus. La première approche, dite transformationnelle, perçoit le processus comme une séquence de transformations préservant certaines propriétés des données à l’entrée. Cette idée a été récemment reprise par l’architecture dirigée par les modèles de l’OMG. La deuxième approche consiste à répertorier et à codifier des solutions éprouvées à des problèmes récurrents. Les recherches sur les styles architecturaux, les patrons de conception, ou les cadres d’applications s’inscrivent dans cette approche. Notre travail de recherche reconnaît la complémentarité des deux approches, notamment pour l’étape de conception: dans le cadre du développement dirigé par les modèles, nous percevons l’étape de conception comme l’application de patrons de solutions aux modèles reçus en entrée. Il est coutume de définir l’étape de conception en termes de conception architecturale, et conception détaillée. La conception architecturale se préoccupe d’organiser un logiciel en composants répondant à un ensemble d’exigences non-fonctionnelles, alors que la conception détaillée se préoccupe, en quelque sorte, du contenu de ces composants. La conception architecturale s’appuie sur des styles architecturaux qui sont des principes d’organisation permettant d’optimiser certaines qualités, alors que la conception détaillée s’appuie sur des patrons de conception pour attribuer les responsabilités aux classes. Les styles architecturaux et les patrons de conception sont des artefacts qui codifient des solutions éprouvées à des problèmes récurrents de conception. Alors que ces artefacts sont bien documentés, la décision de les appliquer reste essentiellement manuelle. De plus, les outils proposés n’offrent pas un support adéquat pour les appliquer à des modèles existants. Dans cette thèse, nous nous attaquons à la conception détaillée, et plus particulièrement, à la transformation de modèles par application de patrons de conception, en partie parce que les patrons de conception sont moins complexes, et en partie parce que l’implémentation des styles architecturaux passe souvent par les patrons de conception. Ainsi, nous proposons une approche pour représenter et appliquer les patrons de conception. Notre approche se base sur la représentation explicite des problèmes résolus par ces patrons. En effet, la représentation explicite du problème résolu par un patron permet : (1) de mieux comprendre le patron, (2) de reconnaître l’opportunité d’appliquer le patron en détectant une instance de la représentation du problème dans les modèles du système considéré, et (3) d’automatiser l’application du patron en la représentant, de façon déclarative, par une transformation d’une instance du problème en une instance de la solution. Pour vérifier et valider notre approche, nous l’avons utilisée pour représenter et appliquer différents patrons de conception et nous avons effectué des tests pratiques sur des modèles générés à partir de logiciels libres.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Process supervision is the activity focused on monitoring the process operation in order to deduce conditions to maintain the normality including when faults are present Depending on the number/distribution/heterogeneity of variables, behaviour situations, sub-processes, etc. from processes, human operators and engineers do not easily manipulate the information. This leads to the necessity of automation of supervision activities. Nevertheless, the difficulty to deal with the information complicates the design and development of software applications. We present an approach called "integrated supervision systems". It proposes multiple supervisors coordination to supervise multiple sub-processes whose interactions permit one to supervise the global process

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Uma série de iniciativas para melhoria do processo de software surgiu recentemente visando melhorar a qualidade e a produtividade em organizações de desenvolvimento de software. Alguns modelos e normas têm buscado a implantação de melhorias no processo de desenvolvimento de software, o MPS.BR é um deles. Esse modelo de melhoria de processo é voltado para as micro, pequenas e médias empresas, de forma a atender as suas necessidades de negócio e foi o modelo escolhido para ser explorado nesse trabalho. Várias são as vantagens adquiridas com a implantação de um modelo de melhoria, umas delas é a definição de um processo sistemático de desenvolvimento de software, que auxilie tanto na qualidade e produtividade do processo quanto na qualidade do produto desenvolvido. Com um modelo de processo definido a organização pode contar com diversos benefícios associados à padronização, como, por exemplo, a otimização, a redução de custos com retrabalho, a redução de defeitos nos produtos, dentre outros. Mas não existem modelos prontos que possam ser aplicados diretamente a uma empresa específica de desenvolvimento de software e, por isso, é necessário modelar o processo, customizando-o, com o objetivo final de gerar um modelo que adequadamente represente o processo da organização. Uma das dificuldades para a implantação de modelos como o MPS.BR é a falta de metodologia que mostre como a implantação de melhoria deve ser feita e não apenas o que deve ser feito. Este trabalho propõe uma metodologia para a implementação do modelo MPS.BR baseada no modelo de implantação IDEAL, através de uma ferramenta específica, chamada WebAPSEE. A metodologia foi experimentada no CTIC - Centro de Tecnologia da Informação e Comunicação da UFPA que ao final do trabalho foi avaliado Nível G do MPS.BR.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Collaborative Systems are designed to support individuals in order to solve a problem together, or cooperatively (or collaboratively). Such systems have the advantage of not requiring the presence in the same location of the participants. The basis of any Collaborative System is communication, where users interact with each other in order to exchange information. Communication among individuals is accomplished through collaborative tools such as chat, email, document repository, etc.. Using these tools, companies can reduce operational costs, saving on travel and accommodation of its employees to attend meetings. The project members only need a computer with internet access to use collaborative tools. Project management is essential to the quality of the nal product. To perform a proper management, methodologies must be applied using methods, tools and procedures. There are some phases that are considered generic for all software process models, they are: de nition, development, maintenance and activity to support the software process. In this paper is described a platform for project management using the concepts and features of Collaborative Systems. The goal of this platform is to unify various collaborative tools (such as chat and document repository) in a project management system. Using the system, it becomes possible to manage projects, and the ability to maintain an active constant communication between members of each project

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En los últimos años hemos sido testigos de la creciente demanda de software para resolver problemas cada vez más complejos y de mayor valor agregado. Bajo estas circunstancias, nos podemos hacer la siguiente pregunta: ¿Está preparada la industria de software para entregar el software que se necesita en los próximos años, de acuerdo con las demandas del cliente? Hoy en día, muchos expertos creen que el éxito de esta industria dependerá de su capacidad para gestionar los proyectos, las personas y los recursos. En este sentido, la gestión de proyectos es un factor clave para el éxito de los proyectos software en todo el mundo. Además, considerando que las Pequeñas y Medianas Empresas de software (PYMEs) representan el 99,87% de las empresas españolas, es vital para este tipo de empresas la implementación de los procesos involucrados con la gestión de proyectos. Es cierto que existen muchos modelos que mejoran la eficacia de la gestión de proyectos, pero la mayoría de ellos se centra únicamente en dos procesos: la planificación del proyecto y la monitorización y control del proyecto, ninguno de los cuales a menudo es asequible para las PYMEs. Estos modelos se basan en el consenso de un grupo de trabajo designado para establecer cómo debe ser gestionado el proceso software. Los modelos son bastante útiles ya que proporcionan lineamientos generales sobre dónde empezar a mejorar la gestión de los proyectos, y en qué orden, a personas que no saben cómo hacerlo. Sin embargo, como se ha dicho anteriormente, la mayoría de estos modelos solamente funcionan en escenarios dentro de las grandes empresas. Por lo tanto, es necesario adaptar los modelos y herramientas para el contexto de PYMEs. Esta tesis doctoral presenta una solución complementaria basada en la aplicación de un metamodelo. Este metamodelo es creado para mejorar la calidad de los procesos de la gestión de proyectos a través de la incorporación de prácticas eficaces identificadas a través del análisis y estudio de los modelos y normas existentes relacionadas con la gestión de proyectos. viii ProMEP – Metamodelo para la gestión de proyectos Por lo tanto, el metamodelo PROMEP (Gestión de Proyectos basada en Prácticas Efectivas) permitirá establecer un proceso estándar de gestión de proyectos que puede adaptarse a los proyectos de cada empresa a través de dos pasos: En primer lugar, para obtener una fotografía instantánea (o base) de los procesos de gestión de proyectos de las PYMEs se creó un cuestionario de dos fases para identificar tanto las prácticas realizadas y como las no realizadas. El cuestionario propuesto se basa en el Modelo de Madurez y Capacidad Integrado para el Desarrollo v1.2 (CMMI-DEV v1.2). Como resultado adicional, se espera que la aplicación de este cuestionario ayude a las PYMEs a identificar aquellas prácticas que se llevan a cabo, pero no son documentadas, aquellas que necesitan más atención, y aquellas que no se realizan debido a la mala gestión o al desconocimiento. En segundo lugar, para apoyar fácilmente y eficazmente las tareas de gestión de proyectos software del metamodelo PROMEP, se diseñó una biblioteca de activos de proceso (PAL) para apoyar la definición de los procesos de gestión de proyectos y realizar una gestión cuantitativa de cada proyecto de las PYMEs. Ambos pasos se han implementado como una herramienta computacional que apoya nuestro enfoque de metamodelo. En concreto, la presente investigación propone la construcción del metamodelo PROMEP para aquellas PYMEs que desarrollan productos software de tal forma que les permita planificar, monitorizar y controlar sus proyectos software, identificar los riesgos y tomar las medidas correctivas necesarias, establecer y mantener un conjunto de activos de proceso, definir un mecanismo cuantitativo para predecir el rendimiento de los procesos, y obtener información de mejora. Por lo tanto, nuestro estudio sugiere un metamodelo alternativo para lograr mayores niveles de rendimiento en los entornos de PYMEs. Así, el objetivo principal de esta tesis es ayudar a reducir los excesos de trabajo y el tiempo de entrega, y aumentar así la calidad del software producido en este tipo de organizaciones. Abstract In recent years we have been witnessing the increasing demand for software to solve more and more complex tasks and greater added value. Under these circumstances, we can ourselves the following question: Is the software industry prepared to deliver the software that is needed in the coming years, according to client demands? Nowadays, many experts believe that the industry’ success will depend on its capacity to manage the projects, people and resources. In this sense, project management is a key factor for software project success around the world. Moreover, taking into account that small and medium-sized software enterprises (SMSe) are the 99.87% of the Spanish enterprises, it is vital for this type of enterprises to implement the processes involved in project management. It is true that there are many models that improve the project management effectiveness, but most of them are focused only on two processes: project planning and project monitoring and control, neither of which is affordable for SMSe. Such models are based on the consensus of a designated working group on how software process should be managed. They are very useful in that they provide general guidelines on where to start improving the project management, and in which order, to people who do not know how to do it. However, as we said, the majority of these models have only worked in scenarios within large companies. So, it is necessary to adapt these models and tools to the context of SMSe. A complementary solution based on the implementation of a metamodel is presented in this thesis. This metamodel is created to improve the quality of project management processes through the incorporation of effective practices identified through the analysis and study of relevant models and standards related to project management. Thus, the PROMEP (PROject Management based on Effective Practices) metamodel will allow establishing a project management standard process to be tailored to each enterprise’s project through two steps: Firstly, to obtain a baseline snapshot of project management processes in SMSe a two-phase questionnaire was created to identify both performed and nonperformed practices. The x ProMEP – Metamodelo para la gestión de proyectos proposed questionnaire is based on Capability Maturity Model Integration for Development v1.2. As additional result, it is expected that the application of the questionnaire to the processes will help SMSe to identify those practices which are performed but not documented, which practices need more attention, and which are not implemented due to bad management or unawareness. Secondly, to easily an effectively support the software project management tasks in the PROMEP metamodel, a Process Asset Library (PAL) is designed to support the definition of project management processes and to achieve quantitative project management in SMSe. Both steps have been implemented as a computational tool that supports our metamodel approach. Concretely, the present research proposes the accomplishment of the PROMEP metamodel for those SMSe which develop software products and enable them to plan, supervise and control their software projects, identify risks and take corrective actions, establish and maintain a set of process assets, define quantitative models that predict the process performance, and provide improvement information. So, our study suggests an alternative metamodel to achieve higher performance levels in the SMSe environments. The main objective of this thesis is help to reduce software overruns and delivery time, and increase software quality in these types of organizations.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

El vertiginoso avance de la informática y las telecomunicaciones en las últimas décadas ha incidido invariablemente en la producción y la prestación de servicios, en la educación, en la industria, en la medicina, en las comunicaciones e inclusive en las relaciones interpersonales. No obstante estos avances, y a pesar de la creciente aportación del software al mundo actual, durante su desarrollo continuamente se incurre en el mismo tipo de problemas que provocan un retraso sistemático en los plazos de entrega, se exceda en presupuesto, se entregue con una alta tasa de errores y su utilidad sea inferior a la esperada. En gran medida, esta problemática es atribuible a defectos en los procesos utilizados para recoger, documentar, acordar y modificar los requisitos del sistema. Los requisitos son los cimientos sobre los cuáles se construye un producto software, y sin embargo, la incapacidad de gestionar sus cambios es una de las principales causas por las que un producto software se entrega fuera de tiempo, se exceda en coste y no cumpla con la calidad esperada por el cliente. El presente trabajo de investigación ha identificado la necesidad de contar con metodologías que ayuden a desplegar un proceso de Gestión de Requisitos en pequeños grupos y entornos de trabajo o en pequeñas y medianas empresas. Para efectos de esta tesis llamaremos Small-Settings a este tipo de organizaciones. El objetivo de este trabajo de tesis doctoral es desarrollar un metamodelo que permita, por un lado, la implementación y despliegue del proceso de Gestión de Requisitos de forma natural y a bajo coste y, por otro lado, el desarrollo de mecanismos para la mejora continua del mismo. Este metamodelo esta soportado por el desarrollo herramientas que permiten mantener una biblioteca de activos de proceso para la Gestión de Requisitos y a su vez contar con plantillas para implementar el proceso partiendo del uso de activos previamente definidos. El metamodelo contempla el desarrollo de prácticas y actividades para guiar, paso a paso, la implementación del proceso de Gestión de Requisitos para una Small-Setting utilizando un modelo de procesos como referencia y una biblioteca de activos de proceso como principal herramienta de apoyo. El mantener los activos de proceso bien organizados, indexados, y fácilmente asequibles, facilita la introducción de las mejores prácticas al interior de una organización. ABSTRACT The fast growth of computer science and telecommunication in recent decades has invariably affected the provision of products and services in education, industry, healthcare, communications and also interpersonal relationships. In spite of such progress and the active role of the software in the world, its development and production continually incurs in the same type of problems that cause systematic delivery delays, over budget, a high error rate and consequently its use is lower than expected. These problems are largely attributed to defects in the processes used to identify, document, organize, and track all system's requirements. It is generally accepted that requirements are the foundation upon which the software process is built, however, the inability to manage changes in requirements is one of the principal factors that contribute to delays on the software development process, which in turn, may cause customer dissatisfaction. The aim of the present research work has identified the need for appropriate methodologies to help on the requirement management process for those organizations that are categorised as small and medium size enterprises, small groups within large companies, or small projects. For the purposes of this work, these organizations are named Small-Settings. The main goal of this research work is to develop a metamodel to manage the requirement process using a Process Asset Library (PAL) and to provide predefined tools and actives to help on the implementation process. The metamodel includes the development of practices and activities to guide step by step the deployment of the requirement management process in Small-Settings. Keeping assets organized, indexed, and readily available are a main factor to the success of the organization process improvement effort and facilitate the introduction of best practices within the organization. The Process Asset Library (PAL) will become a repository of information used to keep and make available all process assets that are useful to those who are defining, implementing, and managing processes in the organization.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Los sistemas empotrados son cada día más comunes y complejos, de modo que encontrar procesos seguros, eficaces y baratos de desarrollo software dirigidos específicamente a esta clase de sistemas es más necesario que nunca. A diferencia de lo que ocurría hasta hace poco, en la actualidad los avances tecnológicos en el campo de los microprocesadores de los últimos tiempos permiten el desarrollo de equipos con prestaciones más que suficientes para ejecutar varios sistemas software en una única máquina. Además, hay sistemas empotrados con requisitos de seguridad (safety) de cuyo correcto funcionamiento depende la vida de muchas personas y/o grandes inversiones económicas. Estos sistemas software se diseñan e implementan de acuerdo con unos estándares de desarrollo software muy estrictos y exigentes. En algunos casos puede ser necesaria también la certificación del software. Para estos casos, los sistemas con criticidades mixtas pueden ser una alternativa muy valiosa. En esta clase de sistemas, aplicaciones con diferentes niveles de criticidad se ejecutan en el mismo computador. Sin embargo, a menudo es necesario certificar el sistema entero con el nivel de criticidad de la aplicación más crítica, lo que hace que los costes se disparen. La virtualización se ha postulado como una tecnología muy interesante para contener esos costes. Esta tecnología permite que un conjunto de máquinas virtuales o particiones ejecuten las aplicaciones con unos niveles de aislamiento tanto temporal como espacial muy altos. Esto, a su vez, permite que cada partición pueda ser certificada independientemente. Para el desarrollo de sistemas particionados con criticidades mixtas se necesita actualizar los modelos de desarrollo software tradicionales, pues estos no cubren ni las nuevas actividades ni los nuevos roles que se requieren en el desarrollo de estos sistemas. Por ejemplo, el integrador del sistema debe definir las particiones o el desarrollador de aplicaciones debe tener en cuenta las características de la partición donde su aplicación va a ejecutar. Tradicionalmente, en el desarrollo de sistemas empotrados, el modelo en V ha tenido una especial relevancia. Por ello, este modelo ha sido adaptado para tener en cuenta escenarios tales como el desarrollo en paralelo de aplicaciones o la incorporación de una nueva partición a un sistema ya existente. El objetivo de esta tesis doctoral es mejorar la tecnología actual de desarrollo de sistemas particionados con criticidades mixtas. Para ello, se ha diseñado e implementado un entorno dirigido específicamente a facilitar y mejorar los procesos de desarrollo de esta clase de sistemas. En concreto, se ha creado un algoritmo que genera el particionado del sistema automáticamente. En el entorno de desarrollo propuesto, se han integrado todas las actividades necesarias para desarrollo de un sistema particionado, incluidos los nuevos roles y actividades mencionados anteriormente. Además, el diseño del entorno de desarrollo se ha basado en la ingeniería guiada por modelos (Model-Driven Engineering), la cual promueve el uso de los modelos como elementos fundamentales en el proceso de desarrollo. Así pues, se proporcionan las herramientas necesarias para modelar y particionar el sistema, así como para validar los resultados y generar los artefactos necesarios para el compilado, construcción y despliegue del mismo. Además, en el diseño del entorno de desarrollo, la extensión e integración del mismo con herramientas de validación ha sido un factor clave. En concreto, se pueden incorporar al entorno de desarrollo nuevos requisitos no-funcionales, la generación de nuevos artefactos tales como documentación o diferentes lenguajes de programación, etc. Una parte clave del entorno de desarrollo es el algoritmo de particionado. Este algoritmo se ha diseñado para ser independiente de los requisitos de las aplicaciones así como para permitir al integrador del sistema implementar nuevos requisitos del sistema. Para lograr esta independencia, se han definido las restricciones al particionado. El algoritmo garantiza que dichas restricciones se cumplirán en el sistema particionado que resulte de su ejecución. Las restricciones al particionado se han diseñado con una capacidad expresiva suficiente para que, con un pequeño grupo de ellas, se puedan expresar la mayor parte de los requisitos no-funcionales más comunes. Las restricciones pueden ser definidas manualmente por el integrador del sistema o bien pueden ser generadas automáticamente por una herramienta a partir de los requisitos funcionales y no-funcionales de una aplicación. El algoritmo de particionado toma como entradas los modelos y las restricciones al particionado del sistema. Tras la ejecución y como resultado, se genera un modelo de despliegue en el que se definen las particiones que son necesarias para el particionado del sistema. A su vez, cada partición define qué aplicaciones deben ejecutar en ella así como los recursos que necesita la partición para ejecutar correctamente. El problema del particionado y las restricciones al particionado se modelan matemáticamente a través de grafos coloreados. En dichos grafos, un coloreado propio de los vértices representa un particionado del sistema correcto. El algoritmo se ha diseñado también para que, si es necesario, sea posible obtener particionados alternativos al inicialmente propuesto. El entorno de desarrollo, incluyendo el algoritmo de particionado, se ha probado con éxito en dos casos de uso industriales: el satélite UPMSat-2 y un demostrador del sistema de control de una turbina eólica. Además, el algoritmo se ha validado mediante la ejecución de numerosos escenarios sintéticos, incluyendo algunos muy complejos, de más de 500 aplicaciones. ABSTRACT The importance of embedded software is growing as it is required for a large number of systems. Devising cheap, efficient and reliable development processes for embedded systems is thus a notable challenge nowadays. Computer processing power is continuously increasing, and as a result, it is currently possible to integrate complex systems in a single processor, which was not feasible a few years ago.Embedded systems may have safety critical requirements. Its failure may result in personal or substantial economical loss. The development of these systems requires stringent development processes that are usually defined by suitable standards. In some cases their certification is also necessary. This scenario fosters the use of mixed-criticality systems in which applications of different criticality levels must coexist in a single system. In these cases, it is usually necessary to certify the whole system, including non-critical applications, which is costly. Virtualization emerges as an enabling technology used for dealing with this problem. The system is structured as a set of partitions, or virtual machines, that can be executed with temporal and spatial isolation. In this way, applications can be developed and certified independently. The development of MCPS (Mixed-Criticality Partitioned Systems) requires additional roles and activities that traditional systems do not require. The system integrator has to define system partitions. Application development has to consider the characteristics of the partition to which it is allocated. In addition, traditional software process models have to be adapted to this scenario. The V-model is commonly used in embedded systems development. It can be adapted to the development of MCPS by enabling the parallel development of applications or adding an additional partition to an existing system. The objective of this PhD is to improve the available technology for MCPS development by providing a framework tailored to the development of this type of system and by defining a flexible and efficient algorithm for automatically generating system partitionings. The goal of the framework is to integrate all the activities required for developing MCPS and to support the different roles involved in this process. The framework is based on MDE (Model-Driven Engineering), which emphasizes the use of models in the development process. The framework provides basic means for modeling the system, generating system partitions, validating the system and generating final artifacts. The framework has been designed to facilitate its extension and the integration of external validation tools. In particular, it can be extended by adding support for additional non-functional requirements and support for final artifacts, such as new programming languages or additional documentation. The framework includes a novel partitioning algorithm. It has been designed to be independent of the types of applications requirements and also to enable the system integrator to tailor the partitioning to the specific requirements of a system. This independence is achieved by defining partitioning constraints that must be met by the resulting partitioning. They have sufficient expressive capacity to state the most common constraints and can be defined manually by the system integrator or generated automatically based on functional and non-functional requirements of the applications. The partitioning algorithm uses system models and partitioning constraints as its inputs. It generates a deployment model that is composed by a set of partitions. Each partition is in turn composed of a set of allocated applications and assigned resources. The partitioning problem, including applications and constraints, is modeled as a colored graph. A valid partitioning is a proper vertex coloring. A specially designed algorithm generates this coloring and is able to provide alternative partitions if required. The framework, including the partitioning algorithm, has been successfully used in the development of two industrial use cases: the UPMSat-2 satellite and the control system of a wind-power turbine. The partitioning algorithm has been successfully validated by using a large number of synthetic loads, including complex scenarios with more that 500 applications.