Spelling suggestions: "subject:"reutilizacao"" "subject:"utilizacao""
31 |
Compreensão visual de frameworks através da introspeção de exemplos / Visual understanding of frameworks through instrospection of examplesCampo, Marcelo Ricardo January 1997 (has links)
Os frameworks orientado a objetos oferecem um grande potencial para aumentar a produtividade e a qualidade no desenvolvimento de software. Um framework e uma infra-estrutura ou esqueleto de uma família de aplicações pertencentes a um domínio determinado. Basicamente, aplicações especificas são construídas especializando as classes do framework para fornecer a implementação de alguns métodos, enquanto a maior parte da funcionalidade da aplicação e herdada. Esta característica permite a reutilização tanto do código quanto o projeto das aplicações do domínio, o qual representa um beneficio muito significativo a respeito de outras tecnologias de reutilização. Entretanto, começar a utilizar um framework para construir aplicações especificas e complicado para um usuário que não seja o projetista do framework. Compreender um framework é frequentemente muito mais difícil que compreender bibliotecas de componentes que podem ser reutilizados independentemente. Neste caso, e suficiente compreender sua interface externa. No caso dos frameworks, para aproveitar ao Máximo as possibilidades de reutilização que oferece, e necessário compreender o projeto interno de suas classes, como essas classes colaboram entre si, bem como a forma na qual instancias dessas classes colaboram em tempo de execução. Compreender estes aspectos uma tarefa reconhecidamente complexa e demorada, sendo este e um dos fatores mais limitantes da tecnologia para ser de utilidade efetiva na produção de software. Neste trabalho, apresenta-se uma abordagem reflexiva para a construção de ferramentas de apoio a compreensão de frameworks. Esta abordagem e suportada por Luthier, um framework projetado, e implementado em Smalltalk-80, para a construção de ferramentas de analise dinâmica e visualização de programas orientados a objetos. Luthier introduz três contribuições importantes: Utilização de técnicas de reflexão computacional baseadas no conceito de gerenciadores de meta-objetos, o qual suporta a implementação de metaarquiteturas de meta-objetos especializadas para a análise de aplicações. Controle interativo do grau de detalhe das visualizações (zoom semântico) através do suporte explícito de escalas de abstração. As escalas de abstração são controladas por objetos denominados abstratores. Um abstrator permite encapsular em objetos específicos algoritmos de derivação de abstracões, filtragem e seleção de informação, bem como o controle do nível de detalhe mostrado pelas visualizações. Esta separação de funcionalidade permite implementar complexas funcionalidades de análise de programas, sem a necessidade de modificar as classes que implementam visualizações ou a representação da informação. Suporte de uma estratégia de análise orientada pela visualização da arquitetura. Esta abordagem divide o processo de compreensão em duas fases iterativa: 1) compreensão dos principais aspectos estruturais do framework a partir de da recuperação e visualização da arquitetura,; 2) análise detalhada do comportamento de instâncias envolvidas em pontos específicos da arquitetura, os quais são selecionados pelo usuário a partir da visualização arquitetônica. Luthier fornece suporte flexível para construção de ferramentas de visualização dinamicamente adaptáveis para diferentes funcionalidades de análise, através de quatro subframeworks: LuthierMOPs. o qual fornece o suporte adaptável de meta-objetos para captura de informação das aplicações analisadas; LuthierBooks que fornece suporte genérico de gerenciamento de hiperdocumentos para a representação da informação capturada e gerenciamento de livros persistentes de projeto; LuthierAbstractors, que prove suporte genérico para a derivação de abstrações da informação coletada e escalas de abstração dinamicamente variáveis; e LuthierViews, extensão do framework MVC para a construção de visualizações da informação coletada, com capacidades de manipulação direta e zooming utilizando visualizações alternativas, as quais podem ser dinamicamente selecionadas pelo usuário. Com o suporte fornecido por Luthier, uma ferramenta, especialmente projetada para apoiar a compreensão de frameworks a partir da analise de exemplos, foi desenvolvida. Esta ferramenta fornece um conjunto de visualizações estruturais, com capacidade de animação de fluxo de controle do framework, bem como visualizações alternativas de subsistemas e padrões de projeto. Estas abstrações são reconhecidas através da análise da informação coletada dos exemplos analisados. Através das visualizações providas, o usuário pode explorar um dado framework através de mecanismos de navegação entre diferentes representações visuais, bem como filtragem e consulta acerca de informação relevante a ser visualizada. Este mecanismos são integrados com mecanismos de zoom semântico que habilitam a visualização da informação em diferentes níveis de abstração. Através da representação de hiperdocumento, a ferramenta suporta a construção manual, bem como a geração automática em alguns casos, de livros persistentes de documentação, com capacidade de edição, de importação de diagramas produzidos pelas visualizações, e de navegação sobre diferentes livros e o código fonte do framework. Esta características habilita a geração de documentação durante o processo de compreensão, facilidade não disponível, habitualmente, nas ferramentas de compreensão desenvolvidas até hoje. A capacidade de Luthier para a construção de ferramentas foi testada com a construção de outras ferramentas, como por exemplo, depuradores visuais e de coleta de métricas. A viabilidade e eficácia da abordagem foi testada através de experimentos, os quais mostraram que grupos utilizando a ferramenta de apoio produziram aplicações com maior nível de reutilização do framework que grupos de usuários não utilizando a ferramenta. / Object-oriented frameworks are a powerful reuse technique for building applications in a given domain. A framework works as a template or skeleton for building applications, being composed of a set of classes abstracting the general characteristics of an application domain. Building a specific application requires the specialization of some classes that provide the implementation of methods that will complete the necessary behaviour, while the global control structure is given by the framework. Frameworks offer a great potential to increase the productivity and quality in software development. However, starting to use a framework to build a specific application is complicated for any user other than a framework designer. Understanding a framework is frequently much harder than understanding libraries of components that can be reused independently. To adequately reuse isolated classes of a class library, it is sufficient to understand their external interface. In case of a framework, in contrast, to take full advantage of the services provided, it is necessary to understand the way its classes collaborate, as well as the internal design of some of them. These classes code the complex behaviour of a network of instances dynamically created. Therefore, it is often needed not only to understand how the classes are organized in static inheritance hierarchies, but also how instances collaborate at runtime. This work presents a reflective approach for the construction of tools for framework comprehension. This approach is supported by Luthier, a framework designed, and implemented in Smalltalk-80, which provides a flexible support for building tools for the dynamic analysis and visualization of object-oriented programs. Luthier introduces three important contributions: The use of computational reflection techniques, based on the concept of meta-object managers, which support the implementation of specialized meta-object-based metaarchitectures for the dynamic analysis of applications Support for building visualizations with different levels of abstraction under interactive control of the user (semantic zoom) through the explicit support of abstraction scales. Abstraction scales are controlled by objects called abstractors, which allow the encapsulation, in specific objects, of algorithms for abstraction derivation, filtering and information selection, as well as the interactive control of the detail level to be shown by visualizations. This separation of concerns enables the implementation of complex program analysis functionalities without the need of modifying classes implementing visualizations or information representation. Support for an architecture-driven analysis strategy. This approach divides the understanding process in two iterative phases: I) comprehension of the global structural and behavioural aspects of the framework from the recovery and visualization of its architecture.; 2) detailed analysis of specific instances involved in particular points of the architecture, selected by the user form the architectural view. Luthier provides a flexible support for the construction of visualization tools dynamically adaptable to different analysis functionalities through four sub-frameworks: LuthierMOPs, which provides an adaptable support of meta-objects for information gathering from the analyzed applications; LuthierBooks, which provides generic support for hyperdocument management to represent captured information and management of persistent design books: LuthierAbstractors, which provides generic support for the derivation of abstractions and dynamically variable abstraction-scales: and LuthierViews. extension of the MVC framework for the construction visualizations of the captured information, with capabilities of direct manipulation and zooming using alternative visualizations, dynamically selected by the user. With the support provided by Luthier a tool, specially designed to support framework comprehension from analysis of examples, was developed. This tool provides a set of structural visualizations with control-flow animation capabilities, as well as alternative visualizations of subsystems and design patterns, recognized through the analysis of information gathered from examples. Through these visualizations the user can explore a given framework by using mechanisms for navigating among different visual representations, as well as information filtering and queries about relevant information to be visualized. These functionalities are fully integrated with semantic zoom mechanisms that enable information visualization at different levels of abstraction. With the hyperdocument support, the tool allows for manual construction, as well as automatic generation in some cases, of persistent documentation books. These books offers editing capabilities, importation of diagrams from visualizations, as well as navigation through different books and through the source code of the analyzed framework.. These characteristics allows the support of additional documentation generation during the comprehension process, facility which is not normally available in current understanding tools. The capabilities for tool construction supported by Luthier were tested through the development of different tools, such as, visual debuggers and metrics collectors. The viability of the approach was tested through experiments. These experiments suggest that users using the understanding tool produce applications with a greater re-use level than groups of users not using it.
|
32 |
A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusionsZirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
|
33 |
Sistemas de informação de escritórios : um modelo para especificações temporais / Office information systems: a model for temporal specificationsEdelweiss, Nina January 1994 (has links)
Sistemas de Informação de Escritórios são tipos particulares de sistemas de informação. São sistemas sócio-técnicos, muito complexos, com grande influência humana. O tempo tem grande importância no tratamento das informações, tanto na representação de informações temporais explícitas como em restrições de ordem temporal e em características que são alteradas com a evolução da aplicação. Neste trabalho é apresentado um modelo de dados para ser utilizado como método de especificação de requisitos de sistemas de informação de escritórios. 0 desenvolvimento de especificações é uma tarefa bastante complexa, devendo possibilitar a representação de todas as características da aplicação, tanto as estáticas como as comportamentais. A especificação de uma aplicação geralmente é muito extensa, sendo dispendido um tempo considerável em sua elaboração. Um aspecto importante no desenvolvimento de especificações é a verificação da corretude destas, devido a complexidade que apresentam. Uma maneira de gerar especificações mais corretas e em menor espaço de tempo é através da reutilização de especificações anteriormente construídas e já validadas através de implementações. Neste trabalho optou-se por utilizar um modelo de dados orientado a objetos para especificar os sistemas de informação de escritórios. A utilização do paradigma de orientação a objetos na modelagem permite a definição de uma biblioteca de classes de objetos, classes estas identificadas em diversas especificações realizadas em um determinado domínio de aplicação. As classes constantes desta biblioteca podem ser reutilizadas de maneira bastante eficiente em especificações posteriores. A representação das características dinâmicas de uma aplicação, tais como a evolução dos objetos dentro do escritório, requer a possibilidade de representação de propriedades temporais. O modelo de dados utilizado na especificação deve permitir a representação de aspectos temporais tanto para definição de dados definidos em um domínio temporal como para representar a evolução dos valores assumidos pelos objetos durante sua existência. A possibilidade de representação dos aspectos temporais é um dos principais pontos desenvolvidos na elaboração do modelo de dados apresentado neste trabalho. O modelo apresentado denomina-se TF-ORM (Temporal Fuctionality in Objects with Roles Model), sendo uma extensão do modelo F-ORM (Functionality in Objects with Roles Model) [DEA 91a,b,c]. Foram incorporadas a este modelo os necessários aspectos temporais e foram ampliadas características básicas para captar melhor as particularidades do domínio de sistemas de informação de escritórios, principalmente no que à concerne representação de alguma parcela de trabalho humano. O modelo resultante, TF-ORM, um modelo de dados orientado a objetos, temporal, que utiliza o conceito de papéis para representar os diferentes comportamentos de um objeto. A possibilidade de recuperação de informações de um banco de dados que implemente o modelo de dados proposto foi também considerada. Neste trabalho é apresentada uma linguagem de recuperação de informações (linguagem de consulta) para o modelo de dados TF-ORM. Especial atenção é dada as consultas temporais. Como no modelo proposto são armazenados tanto o tempo de transação como o de validade, a linguagem de recuperação pode ser utilizada para recuperar informações referentes ao estado atual do banco de dados (informações atualmente válidas), a respeito de estados passados e futuros (informações válidas no passado e que serão válidas em estados futuros, de acordo com o atual conhecimento dos dados) e referentes a histórias passadas do banco de dados (informações que se acreditava como válidas em algum momento do passado). É apresentado em estudo de caso completo com o objetivo de validar o modelo de dados proposto e sua eficiência na especificação deste tipo de sistema de informação. O trabalho apresenta ainda a descrição de um ambiente de apoio a especificações que faz use de uma biblioteca de classes. Através deste ambiente, a especificação de uma aplicação é construída gradualmente, estando disponíveis opções de listagem das partes já definidas e de informações da biblioteca de classes para serem reutilizadas. As especificações geradas através deste ambiente apresentam pouca possibilidade de erro, uma vez que são efetuados vários procedimentos de verificação das informações fornecidas. / Office Information Systems constitute special kinds of information systems - very complex socio-technical systems, with large human influence. Time is very important in the information representation, not only for explicit temporal information but also for restrictions on temporal ordering of activities to be executed and to record the temporal evolution of property values. In this work a data model to be used as a requirement specification method for office infoimations systems is presented. Specification development is a complex task. All the possible characteristics of an application, static and behavioral, shall be represented. An applications' specification is usually not a trivial task, and a big amount of time is used to develop it. Specifications are usually very complex and the possibility of verifying the correctness is an important aspect to be considered. The reuse of specifications is a way to obtain a better rate of correctness spending less time, using parts of specifications that were already validated through previous implementations. An object-oriented data model is used in this work to specify office information systems. The use of the object-oriented paradigm allows the definition of a class library containing classes identified in several specifications constructed in a specific application domain. The reuse of classes of such a library in new specifications gives efficiency to the process. To represent the dynamic characteristics of an application, such as the documents evolution within the office, it is necessary to be able to represent temporal properties. The data model used in the specification shall allow the representation of these temporal aspects not only to model data defined in a temporal domain but also to represent the objects values evolution during an objects existence. The representaion of temporal aspects is one of the main issues developed in the data model defined in this work. The data model is called TF-ORM (Temporal Fuctionality in Objects with Roles Model), and is an extention to the F-ORM (Functionality in Objects with Roles Model) model [DEA 91 a,b,c]. To this model the necessary temporal aspects were added and the basic characteristics were enlarged to better capture the particular aspects of the office habilitation systems domain, specially concerning the representation of some parts of human work. The resulting model. TF-ORM, is an object-oriented temporal data model and uses the concept of roles to represent an objects different behaviors. The possibility of retrieving information from a database specified through this data model is also considered and a query language for the TF-ORM data model is presented. Special attention is given to the retrieval of temporal information. The TFORM data model stores both the transaction and the valid time associated to dynamic properties and allows the retrieving of information fettering the databases' actual state (actually valid information), information refering the databases' past and future states (valid information in the past and information that will be valid in the future according to the actual data knowledge) and information about the databases' past history (information that was believed to be true in some moment in the past). A complete case study is presented to validate the TF-ORM data model and its efficiency as a specification method for office information systems. An environment to support specifications using TF-ORM is described. This environment uses a class library. The use of this environment allows stepwise construction of a specification, with the access to listings of the already defined parts and to the information of the class library to be reused. The contructed specifications present a small rate of errors, due to several verification procedures embedded in the environment.
|
34 |
Software Profile RAS : estendendo a padronização do Reusable Asset Specification e construindo um repositório de ativosMoura, Dionatan de Souza January 2013 (has links)
O reúso de software enfrenta inúmeras barreiras gerenciais, técnicas e culturais na sua adoção, e a definição da estrutura de ativos reutilizáveis de software é uma dessas barreiras técnicas. Para solucionar isso, o Reusable Asset Specification (RAS) é um padrão de facto proposto pela OMG. Uma especificação como o RAS define e padroniza um modelo de ativos (assets) reutilizáveis, e é a base para a construção e para o uso de um repositório de ativos que apoia a reutilização de software. No entanto, para ser adotado na prática, o RAS necessita resolver suas lacunas através da sua extensão e da definição de informações complementares. Essas lacunas estão detalhadas neste trabalho. Solucionando estas lacunas, o RAS torna-se útil para auxiliar efetivamente na padronização do empacotamento dos ativos reutilizáveis e para guiar a estrutura do repositório de reutilização de software. Alguns trabalhos anteriores já responderam parcialmente essa questão, porém eles atendiam propósitos muito específicos, não possuíam uma ferramenta de apoio ou não haviam sido avaliados em contexto real de (re)uso. Esse trabalho propõe o Software Profile RAS (SW-RAS), uma extensão do Profile de componentes do RAS, que propõe soluções para diversas de suas lacunas, incluindo informações úteis e artefatos relevantes apontados na literatura, baseados em outros modelos de ativos reutilizáveis, em outras extensões do RAS e na experiência do processo de reúso no desenvolvimento de software. Particularmente, o SW-RAS estende as categorias de classificação, solução, uso e ativos relacionados, cujos detalhes estão descritos no texto. Visando à experimentação da proposta através de um estudo de caso, desenvolveu-se o Lavoi, um repositório de ativos reutilizáveis baseado no SW-RAS, que foi avaliado num ambiente real de reutilização e desenvolvimento de software de uma grande companhia pública de TI. Uma descrição deste processo de avaliação em um contexto real é também apresentada neste trabalho. A principal contribuição desta dissertação é a proposta, a avaliação e a consolidação de uma extensão do RAS que atende várias de suas lacunas e é suportada por uma ferramenta de software livre. / The software reuse faces numerous managerial, technical and cultural barriers in its adoption, and the definition of the structure of reusable software assets is one of these technical barriers. To solve this, the Reusable Asset Specification (RAS) is a de facto standard proposed by OMG. A specification such as the RAS defines and standardizes a reusable asset model, and it is the foundation for the construction and for the use of an asset repository that supports the software reuse. However, for being adopted in the practice, the RAS needs to solve its lacks through its extension and the definition of complementary information. These lacks are detailed in this work. Solving these lacks, the RAS becomes useful to help effectively in the standardization of packaging reusable assets and to guide the structure of the software reuse repository. Some previous works have already partially answered this question, but they attended very specific purposes, did not have a support tool or have not been evaluated in a real context of (re)use. This work proposes the Software Profile RAS (SW-RAS), an extension of the component Profile of RAS, which proposes solutions for its various lacks, including useful information and relevant artifacts pointed out in the literature, based on other reusable asset models, on other RAS extensions and on the experience in the reuse process at software development. Particularly, the SW-RAS extends the categories of classification, solution, usage and related assets, whose details are described in the text. Aiming at the experimentation of the proposal through a case study, the Lavoi was developed, a reusable asset repository based on the SW-RAS, which is was evaluated in a real environment of reuse and software development of a large public IT company. A description of this evaluation process in real context is also presented in this work. The main contribution of this dissertation is the proposal, the evaluation and the consolidation of an extension of RAS that addresses several of its lacks and is supported by a free software tool.
|
35 |
A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusionsZirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
|
36 |
Sistemas de informação de escritórios : um modelo para especificações temporais / Office information systems: a model for temporal specificationsEdelweiss, Nina January 1994 (has links)
Sistemas de Informação de Escritórios são tipos particulares de sistemas de informação. São sistemas sócio-técnicos, muito complexos, com grande influência humana. O tempo tem grande importância no tratamento das informações, tanto na representação de informações temporais explícitas como em restrições de ordem temporal e em características que são alteradas com a evolução da aplicação. Neste trabalho é apresentado um modelo de dados para ser utilizado como método de especificação de requisitos de sistemas de informação de escritórios. 0 desenvolvimento de especificações é uma tarefa bastante complexa, devendo possibilitar a representação de todas as características da aplicação, tanto as estáticas como as comportamentais. A especificação de uma aplicação geralmente é muito extensa, sendo dispendido um tempo considerável em sua elaboração. Um aspecto importante no desenvolvimento de especificações é a verificação da corretude destas, devido a complexidade que apresentam. Uma maneira de gerar especificações mais corretas e em menor espaço de tempo é através da reutilização de especificações anteriormente construídas e já validadas através de implementações. Neste trabalho optou-se por utilizar um modelo de dados orientado a objetos para especificar os sistemas de informação de escritórios. A utilização do paradigma de orientação a objetos na modelagem permite a definição de uma biblioteca de classes de objetos, classes estas identificadas em diversas especificações realizadas em um determinado domínio de aplicação. As classes constantes desta biblioteca podem ser reutilizadas de maneira bastante eficiente em especificações posteriores. A representação das características dinâmicas de uma aplicação, tais como a evolução dos objetos dentro do escritório, requer a possibilidade de representação de propriedades temporais. O modelo de dados utilizado na especificação deve permitir a representação de aspectos temporais tanto para definição de dados definidos em um domínio temporal como para representar a evolução dos valores assumidos pelos objetos durante sua existência. A possibilidade de representação dos aspectos temporais é um dos principais pontos desenvolvidos na elaboração do modelo de dados apresentado neste trabalho. O modelo apresentado denomina-se TF-ORM (Temporal Fuctionality in Objects with Roles Model), sendo uma extensão do modelo F-ORM (Functionality in Objects with Roles Model) [DEA 91a,b,c]. Foram incorporadas a este modelo os necessários aspectos temporais e foram ampliadas características básicas para captar melhor as particularidades do domínio de sistemas de informação de escritórios, principalmente no que à concerne representação de alguma parcela de trabalho humano. O modelo resultante, TF-ORM, um modelo de dados orientado a objetos, temporal, que utiliza o conceito de papéis para representar os diferentes comportamentos de um objeto. A possibilidade de recuperação de informações de um banco de dados que implemente o modelo de dados proposto foi também considerada. Neste trabalho é apresentada uma linguagem de recuperação de informações (linguagem de consulta) para o modelo de dados TF-ORM. Especial atenção é dada as consultas temporais. Como no modelo proposto são armazenados tanto o tempo de transação como o de validade, a linguagem de recuperação pode ser utilizada para recuperar informações referentes ao estado atual do banco de dados (informações atualmente válidas), a respeito de estados passados e futuros (informações válidas no passado e que serão válidas em estados futuros, de acordo com o atual conhecimento dos dados) e referentes a histórias passadas do banco de dados (informações que se acreditava como válidas em algum momento do passado). É apresentado em estudo de caso completo com o objetivo de validar o modelo de dados proposto e sua eficiência na especificação deste tipo de sistema de informação. O trabalho apresenta ainda a descrição de um ambiente de apoio a especificações que faz use de uma biblioteca de classes. Através deste ambiente, a especificação de uma aplicação é construída gradualmente, estando disponíveis opções de listagem das partes já definidas e de informações da biblioteca de classes para serem reutilizadas. As especificações geradas através deste ambiente apresentam pouca possibilidade de erro, uma vez que são efetuados vários procedimentos de verificação das informações fornecidas. / Office Information Systems constitute special kinds of information systems - very complex socio-technical systems, with large human influence. Time is very important in the information representation, not only for explicit temporal information but also for restrictions on temporal ordering of activities to be executed and to record the temporal evolution of property values. In this work a data model to be used as a requirement specification method for office infoimations systems is presented. Specification development is a complex task. All the possible characteristics of an application, static and behavioral, shall be represented. An applications' specification is usually not a trivial task, and a big amount of time is used to develop it. Specifications are usually very complex and the possibility of verifying the correctness is an important aspect to be considered. The reuse of specifications is a way to obtain a better rate of correctness spending less time, using parts of specifications that were already validated through previous implementations. An object-oriented data model is used in this work to specify office information systems. The use of the object-oriented paradigm allows the definition of a class library containing classes identified in several specifications constructed in a specific application domain. The reuse of classes of such a library in new specifications gives efficiency to the process. To represent the dynamic characteristics of an application, such as the documents evolution within the office, it is necessary to be able to represent temporal properties. The data model used in the specification shall allow the representation of these temporal aspects not only to model data defined in a temporal domain but also to represent the objects values evolution during an objects existence. The representaion of temporal aspects is one of the main issues developed in the data model defined in this work. The data model is called TF-ORM (Temporal Fuctionality in Objects with Roles Model), and is an extention to the F-ORM (Functionality in Objects with Roles Model) model [DEA 91 a,b,c]. To this model the necessary temporal aspects were added and the basic characteristics were enlarged to better capture the particular aspects of the office habilitation systems domain, specially concerning the representation of some parts of human work. The resulting model. TF-ORM, is an object-oriented temporal data model and uses the concept of roles to represent an objects different behaviors. The possibility of retrieving information from a database specified through this data model is also considered and a query language for the TF-ORM data model is presented. Special attention is given to the retrieval of temporal information. The TFORM data model stores both the transaction and the valid time associated to dynamic properties and allows the retrieving of information fettering the databases' actual state (actually valid information), information refering the databases' past and future states (valid information in the past and information that will be valid in the future according to the actual data knowledge) and information about the databases' past history (information that was believed to be true in some moment in the past). A complete case study is presented to validate the TF-ORM data model and its efficiency as a specification method for office information systems. An environment to support specifications using TF-ORM is described. This environment uses a class library. The use of this environment allows stepwise construction of a specification, with the access to listings of the already defined parts and to the information of the class library to be reused. The contructed specifications present a small rate of errors, due to several verification procedures embedded in the environment.
|
37 |
Software Profile RAS : estendendo a padronização do Reusable Asset Specification e construindo um repositório de ativosMoura, Dionatan de Souza January 2013 (has links)
O reúso de software enfrenta inúmeras barreiras gerenciais, técnicas e culturais na sua adoção, e a definição da estrutura de ativos reutilizáveis de software é uma dessas barreiras técnicas. Para solucionar isso, o Reusable Asset Specification (RAS) é um padrão de facto proposto pela OMG. Uma especificação como o RAS define e padroniza um modelo de ativos (assets) reutilizáveis, e é a base para a construção e para o uso de um repositório de ativos que apoia a reutilização de software. No entanto, para ser adotado na prática, o RAS necessita resolver suas lacunas através da sua extensão e da definição de informações complementares. Essas lacunas estão detalhadas neste trabalho. Solucionando estas lacunas, o RAS torna-se útil para auxiliar efetivamente na padronização do empacotamento dos ativos reutilizáveis e para guiar a estrutura do repositório de reutilização de software. Alguns trabalhos anteriores já responderam parcialmente essa questão, porém eles atendiam propósitos muito específicos, não possuíam uma ferramenta de apoio ou não haviam sido avaliados em contexto real de (re)uso. Esse trabalho propõe o Software Profile RAS (SW-RAS), uma extensão do Profile de componentes do RAS, que propõe soluções para diversas de suas lacunas, incluindo informações úteis e artefatos relevantes apontados na literatura, baseados em outros modelos de ativos reutilizáveis, em outras extensões do RAS e na experiência do processo de reúso no desenvolvimento de software. Particularmente, o SW-RAS estende as categorias de classificação, solução, uso e ativos relacionados, cujos detalhes estão descritos no texto. Visando à experimentação da proposta através de um estudo de caso, desenvolveu-se o Lavoi, um repositório de ativos reutilizáveis baseado no SW-RAS, que foi avaliado num ambiente real de reutilização e desenvolvimento de software de uma grande companhia pública de TI. Uma descrição deste processo de avaliação em um contexto real é também apresentada neste trabalho. A principal contribuição desta dissertação é a proposta, a avaliação e a consolidação de uma extensão do RAS que atende várias de suas lacunas e é suportada por uma ferramenta de software livre. / The software reuse faces numerous managerial, technical and cultural barriers in its adoption, and the definition of the structure of reusable software assets is one of these technical barriers. To solve this, the Reusable Asset Specification (RAS) is a de facto standard proposed by OMG. A specification such as the RAS defines and standardizes a reusable asset model, and it is the foundation for the construction and for the use of an asset repository that supports the software reuse. However, for being adopted in the practice, the RAS needs to solve its lacks through its extension and the definition of complementary information. These lacks are detailed in this work. Solving these lacks, the RAS becomes useful to help effectively in the standardization of packaging reusable assets and to guide the structure of the software reuse repository. Some previous works have already partially answered this question, but they attended very specific purposes, did not have a support tool or have not been evaluated in a real context of (re)use. This work proposes the Software Profile RAS (SW-RAS), an extension of the component Profile of RAS, which proposes solutions for its various lacks, including useful information and relevant artifacts pointed out in the literature, based on other reusable asset models, on other RAS extensions and on the experience in the reuse process at software development. Particularly, the SW-RAS extends the categories of classification, solution, usage and related assets, whose details are described in the text. Aiming at the experimentation of the proposal through a case study, the Lavoi was developed, a reusable asset repository based on the SW-RAS, which is was evaluated in a real environment of reuse and software development of a large public IT company. A description of this evaluation process in real context is also presented in this work. The main contribution of this dissertation is the proposal, the evaluation and the consolidation of an extension of RAS that addresses several of its lacks and is supported by a free software tool.
|
38 |
A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusionsZirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
|
39 |
Sistemas de informação de escritórios : um modelo para especificações temporais / Office information systems: a model for temporal specificationsEdelweiss, Nina January 1994 (has links)
Sistemas de Informação de Escritórios são tipos particulares de sistemas de informação. São sistemas sócio-técnicos, muito complexos, com grande influência humana. O tempo tem grande importância no tratamento das informações, tanto na representação de informações temporais explícitas como em restrições de ordem temporal e em características que são alteradas com a evolução da aplicação. Neste trabalho é apresentado um modelo de dados para ser utilizado como método de especificação de requisitos de sistemas de informação de escritórios. 0 desenvolvimento de especificações é uma tarefa bastante complexa, devendo possibilitar a representação de todas as características da aplicação, tanto as estáticas como as comportamentais. A especificação de uma aplicação geralmente é muito extensa, sendo dispendido um tempo considerável em sua elaboração. Um aspecto importante no desenvolvimento de especificações é a verificação da corretude destas, devido a complexidade que apresentam. Uma maneira de gerar especificações mais corretas e em menor espaço de tempo é através da reutilização de especificações anteriormente construídas e já validadas através de implementações. Neste trabalho optou-se por utilizar um modelo de dados orientado a objetos para especificar os sistemas de informação de escritórios. A utilização do paradigma de orientação a objetos na modelagem permite a definição de uma biblioteca de classes de objetos, classes estas identificadas em diversas especificações realizadas em um determinado domínio de aplicação. As classes constantes desta biblioteca podem ser reutilizadas de maneira bastante eficiente em especificações posteriores. A representação das características dinâmicas de uma aplicação, tais como a evolução dos objetos dentro do escritório, requer a possibilidade de representação de propriedades temporais. O modelo de dados utilizado na especificação deve permitir a representação de aspectos temporais tanto para definição de dados definidos em um domínio temporal como para representar a evolução dos valores assumidos pelos objetos durante sua existência. A possibilidade de representação dos aspectos temporais é um dos principais pontos desenvolvidos na elaboração do modelo de dados apresentado neste trabalho. O modelo apresentado denomina-se TF-ORM (Temporal Fuctionality in Objects with Roles Model), sendo uma extensão do modelo F-ORM (Functionality in Objects with Roles Model) [DEA 91a,b,c]. Foram incorporadas a este modelo os necessários aspectos temporais e foram ampliadas características básicas para captar melhor as particularidades do domínio de sistemas de informação de escritórios, principalmente no que à concerne representação de alguma parcela de trabalho humano. O modelo resultante, TF-ORM, um modelo de dados orientado a objetos, temporal, que utiliza o conceito de papéis para representar os diferentes comportamentos de um objeto. A possibilidade de recuperação de informações de um banco de dados que implemente o modelo de dados proposto foi também considerada. Neste trabalho é apresentada uma linguagem de recuperação de informações (linguagem de consulta) para o modelo de dados TF-ORM. Especial atenção é dada as consultas temporais. Como no modelo proposto são armazenados tanto o tempo de transação como o de validade, a linguagem de recuperação pode ser utilizada para recuperar informações referentes ao estado atual do banco de dados (informações atualmente válidas), a respeito de estados passados e futuros (informações válidas no passado e que serão válidas em estados futuros, de acordo com o atual conhecimento dos dados) e referentes a histórias passadas do banco de dados (informações que se acreditava como válidas em algum momento do passado). É apresentado em estudo de caso completo com o objetivo de validar o modelo de dados proposto e sua eficiência na especificação deste tipo de sistema de informação. O trabalho apresenta ainda a descrição de um ambiente de apoio a especificações que faz use de uma biblioteca de classes. Através deste ambiente, a especificação de uma aplicação é construída gradualmente, estando disponíveis opções de listagem das partes já definidas e de informações da biblioteca de classes para serem reutilizadas. As especificações geradas através deste ambiente apresentam pouca possibilidade de erro, uma vez que são efetuados vários procedimentos de verificação das informações fornecidas. / Office Information Systems constitute special kinds of information systems - very complex socio-technical systems, with large human influence. Time is very important in the information representation, not only for explicit temporal information but also for restrictions on temporal ordering of activities to be executed and to record the temporal evolution of property values. In this work a data model to be used as a requirement specification method for office infoimations systems is presented. Specification development is a complex task. All the possible characteristics of an application, static and behavioral, shall be represented. An applications' specification is usually not a trivial task, and a big amount of time is used to develop it. Specifications are usually very complex and the possibility of verifying the correctness is an important aspect to be considered. The reuse of specifications is a way to obtain a better rate of correctness spending less time, using parts of specifications that were already validated through previous implementations. An object-oriented data model is used in this work to specify office information systems. The use of the object-oriented paradigm allows the definition of a class library containing classes identified in several specifications constructed in a specific application domain. The reuse of classes of such a library in new specifications gives efficiency to the process. To represent the dynamic characteristics of an application, such as the documents evolution within the office, it is necessary to be able to represent temporal properties. The data model used in the specification shall allow the representation of these temporal aspects not only to model data defined in a temporal domain but also to represent the objects values evolution during an objects existence. The representaion of temporal aspects is one of the main issues developed in the data model defined in this work. The data model is called TF-ORM (Temporal Fuctionality in Objects with Roles Model), and is an extention to the F-ORM (Functionality in Objects with Roles Model) model [DEA 91 a,b,c]. To this model the necessary temporal aspects were added and the basic characteristics were enlarged to better capture the particular aspects of the office habilitation systems domain, specially concerning the representation of some parts of human work. The resulting model. TF-ORM, is an object-oriented temporal data model and uses the concept of roles to represent an objects different behaviors. The possibility of retrieving information from a database specified through this data model is also considered and a query language for the TF-ORM data model is presented. Special attention is given to the retrieval of temporal information. The TFORM data model stores both the transaction and the valid time associated to dynamic properties and allows the retrieving of information fettering the databases' actual state (actually valid information), information refering the databases' past and future states (valid information in the past and information that will be valid in the future according to the actual data knowledge) and information about the databases' past history (information that was believed to be true in some moment in the past). A complete case study is presented to validate the TF-ORM data model and its efficiency as a specification method for office information systems. An environment to support specifications using TF-ORM is described. This environment uses a class library. The use of this environment allows stepwise construction of a specification, with the access to listings of the already defined parts and to the information of the class library to be reused. The contructed specifications present a small rate of errors, due to several verification procedures embedded in the environment.
|
40 |
Software Profile RAS : estendendo a padronização do Reusable Asset Specification e construindo um repositório de ativosMoura, Dionatan de Souza January 2013 (has links)
O reúso de software enfrenta inúmeras barreiras gerenciais, técnicas e culturais na sua adoção, e a definição da estrutura de ativos reutilizáveis de software é uma dessas barreiras técnicas. Para solucionar isso, o Reusable Asset Specification (RAS) é um padrão de facto proposto pela OMG. Uma especificação como o RAS define e padroniza um modelo de ativos (assets) reutilizáveis, e é a base para a construção e para o uso de um repositório de ativos que apoia a reutilização de software. No entanto, para ser adotado na prática, o RAS necessita resolver suas lacunas através da sua extensão e da definição de informações complementares. Essas lacunas estão detalhadas neste trabalho. Solucionando estas lacunas, o RAS torna-se útil para auxiliar efetivamente na padronização do empacotamento dos ativos reutilizáveis e para guiar a estrutura do repositório de reutilização de software. Alguns trabalhos anteriores já responderam parcialmente essa questão, porém eles atendiam propósitos muito específicos, não possuíam uma ferramenta de apoio ou não haviam sido avaliados em contexto real de (re)uso. Esse trabalho propõe o Software Profile RAS (SW-RAS), uma extensão do Profile de componentes do RAS, que propõe soluções para diversas de suas lacunas, incluindo informações úteis e artefatos relevantes apontados na literatura, baseados em outros modelos de ativos reutilizáveis, em outras extensões do RAS e na experiência do processo de reúso no desenvolvimento de software. Particularmente, o SW-RAS estende as categorias de classificação, solução, uso e ativos relacionados, cujos detalhes estão descritos no texto. Visando à experimentação da proposta através de um estudo de caso, desenvolveu-se o Lavoi, um repositório de ativos reutilizáveis baseado no SW-RAS, que foi avaliado num ambiente real de reutilização e desenvolvimento de software de uma grande companhia pública de TI. Uma descrição deste processo de avaliação em um contexto real é também apresentada neste trabalho. A principal contribuição desta dissertação é a proposta, a avaliação e a consolidação de uma extensão do RAS que atende várias de suas lacunas e é suportada por uma ferramenta de software livre. / The software reuse faces numerous managerial, technical and cultural barriers in its adoption, and the definition of the structure of reusable software assets is one of these technical barriers. To solve this, the Reusable Asset Specification (RAS) is a de facto standard proposed by OMG. A specification such as the RAS defines and standardizes a reusable asset model, and it is the foundation for the construction and for the use of an asset repository that supports the software reuse. However, for being adopted in the practice, the RAS needs to solve its lacks through its extension and the definition of complementary information. These lacks are detailed in this work. Solving these lacks, the RAS becomes useful to help effectively in the standardization of packaging reusable assets and to guide the structure of the software reuse repository. Some previous works have already partially answered this question, but they attended very specific purposes, did not have a support tool or have not been evaluated in a real context of (re)use. This work proposes the Software Profile RAS (SW-RAS), an extension of the component Profile of RAS, which proposes solutions for its various lacks, including useful information and relevant artifacts pointed out in the literature, based on other reusable asset models, on other RAS extensions and on the experience in the reuse process at software development. Particularly, the SW-RAS extends the categories of classification, solution, usage and related assets, whose details are described in the text. Aiming at the experimentation of the proposal through a case study, the Lavoi was developed, a reusable asset repository based on the SW-RAS, which is was evaluated in a real environment of reuse and software development of a large public IT company. A description of this evaluation process in real context is also presented in this work. The main contribution of this dissertation is the proposal, the evaluation and the consolidation of an extension of RAS that addresses several of its lacks and is supported by a free software tool.
|
Page generated in 0.0606 seconds