ToolManager: Uma Camada de Gerenciamento de Ferramentas CASE a um Ambiente Centrado no Processo

June 9, 2017 | Autor: A. Vasconcelos | Categoria: Software Engineering, Tools
Share Embed


Descrição do Produto

ToolManager: Uma Camada de Gerenciamento de Ferramentas CASE a um Ambiente Centrado no Processo Sandro Ronaldo Bezerra Oliveira Ana Cristina Rouiller Alexandre Marcos Lins de Vasconcelos Silvio Lemos Meira Universidade Federal de Pernambuco Centro de Informática Caixa Postal 7851, 50732-970, Recife, PE, Brasil Phone: (+55 81) 271-8430, Fax: (+55 81) 271-8438 e-mail: {srbo, acr, amlv, srlm}@cin.ufpe.br

RESUMO Historicamente, o aumento mais significativo de produtividade nos processos manufaturados e de construção ocorreu quando ferramentas poderosas foram incorporadas às habilidades humanas [10]. Similarmente, a produtividade dos projetos de engenharia é melhorada quando estes projetos estão suportados por sistemas CAD, que eliminam o trabalho tedioso dos desenhos e verificam os erros e omissões do projeto. Portanto, o suporte de ferramentas de automação na engenharia de software deve também conduzir à melhoria da produtividade do software. Desde o início dos anos 80, uma grande quantidade de ferramentas para o suporte ao desenvolvimento de software tem sido desenvolvida. O termo Computeraided Software Engineering (CASE) é atualmente utilizado para denominar esse suporte automatizado [1]. Por sua vez, Ambientes de Desenvolvimento de Software (ADS) são compostos de ferramentas. Estas ferramentas devem compartilhar informações sobre os vários projetos, pois os usuários necessitam utilizar em uma ferramenta informações geradas por outra ferramenta. Portanto, o ADS deve prover uma estrutura unificadora que integre suas ferramentas. Dessa forma, uma vez que as Ferramentas CASE se tornaram largamente disponíveis, uma camada de gerenciamento em torno da utilização dessas ferramentas a um ADS faz-se necessária a fim de juntas poderem trabalhar para melhor sustentar o processo de desenvolvimento de software [2]. Este artigo propõe a definição desta Camada de Gerenciamento de Ferramentas CASE tendo como base o Modelo de Referência NIST/ECMA. Nós analisamos as funcionalidades e atividades que devem ser incluídas nesta camada de gerenciamento. PALAVRAS-CHAVE: Processo de Desenvolvimento de Software; Ferramentas CASE; Ambientes Centrados no Processo; Gerenciamento de Projeto de Software. 1. Introdução O processo de desenvolvimento de software envolve atividades, pessoas, recursos e ferramentas necessárias para produzir software [11]. Para que possa ser avaliado e melhorado, esse processo necessita ser modelado, através de linguagens de

modelagem de processo. O modelo produzido deve ser seguido por todos os envolvidos no processo a fim de que a execução seja de acordo com o planejado e possa ser avaliada e gerenciada . Para apoiar a modelagem e a execução de processo, têm sido propostos ambientes de engenharia de software centrados no processos [7], os quais englobam, além das ferramentas de apoio ao desenvolvedor, ferramentas que permitem modelagem do processo de software e execução do mesmo. Desta forma, o ambiente "conhece" o processo a ser seguido e pode, assim, orientar os desenvolvedores na execução de suas tarefas, além de executar automaticamente tarefas repetitivas. Assim, nota-se a necessidade do desenvolvimento de uma camada gerenciadora de ferramentas a um ambiente centrado no processo, a fim de permitir o controle da ativação de ferramentas a serem utilizadas nesse ambiente segundo variantes da sua utilização. A dificuldade em modelar um processo que é executado basicamente por pessoas é bastante citada na literatura sobre o assunto. Porém, uma dificuldade especial diz respeito à fase de execução do processo, ou seja, quando o ADS dispõe do modelo de processo e necessita "executá-lo", orientando os desenvolvedores e ativando ferramentas específicas para a conclusão das tarefas do modelo [4]. Nesta fase, é necessário que os desenvolvedores tenham uma visão do processo para que possam desempenhar melhor seu trabalho e que a camada gerenciadora de ferramentas proporcione uma orientação ajustável à situação e à configuração do desenvolvedor. A forma de executar o processo tem grande influência sobre a qualidade do mesmo. Não é recomendável que a camada gerencie o processo "obrigando" os desenvolvedores a concluírem cada passo especificado no modelo de processo [3]. A proposta da camada gerenciadora de ferramentas em um ambiente centrado no processo que seja ajustável, aliado a uma interface adaptável e apropriada para o problema, poderia contribuir à qualidade e produtividade no que tange o desenvolvimento de software, visto que esta propõe fazer o gerenciamento das Ferramentas levando em consideração não somente as Atividades e os Fluxos a serem executados, mas os desenvolvedores que estarão interagindo com essa camada. A mesma poderá ser adotada em ambientes de gerenciamento de projeto de software centrados no processo, a fim de atender as necessidades da execução de processos por pessoas (desenvolvedores, gerentes de desenvolvimento, etc.). A definição desta camada é parte de um trabalho maior no que tange o desenvolvimento de um Ambiente de Gerenciamento de Projeto de Software Centrado no Processo. Este Ambiente, chamado ProjectSpace, terá a função em relação a Camada de Gerenciamento de solicitar a ativação das Ferramentas CASE segundo a execução de Atividades definidas no Plano do Processo. Além desta seção introdutória, o artigo apresenta outras três seções. Na seção 2, descrevemos, em suas linhas gerais, a definição e a arquitetura do Ambiente ProjectSpace. A seção 3 apresenta a definição, os componentes da Camada de Gerenciamento de Ferramentas CASE, denominada ToolManager, e o escopo de comunicação existente entre o ProjectSpace e a ToolManager em forma de um cenário a fim de caracterizar as mensagens passadas entre eles e entre os componentes internos da ToolManager. Finalmente, na seção 4 são apresentadas as considerações finais e perspectivas futuras em relação à camada de gerenciamento de ferramentas CASE a um ambiente centrado no processo.

2. ProjectSpace, o Ambiente de Gerenciamento de Projeto de Software Centrado no Processo O ProjectSpace é um projeto de iniciativa do Centro de Informática da UFPE em parceria com o CESAR e a Devex Tecnologia que objetiva a criação de um ambiente para monitoração e gerenciamento de projetos de software. Tem como principal motivação o fato de que gerenciando os projetos de software, registrando e acompanhando as suas execuções poderemos obter métricas para introduzir melhorias no processo de software. O ProjectSpace deve ser capaz de identificar, estabelecer, coordenar e monitorar todas as atividades, tarefas e recursos necessários para que um projeto possa produzir um produto e/ou serviço de acordo com seus requisitos. O gerenciamento de projeto objetiva assegurar que processos particulares sejam seguidos, coordenando e monitorando as atividades da engenharia de software. Porém, o gerenciamento de projetos de software ainda é pouco abordado e praticado. Equipes de desenvolvimento não conseguem medir o desempenho dos projetos, verificar pontos falhos, estipular melhorias, entre outros. Os ambientes tradicionais de engenharia de software têm suportado somente a engenharia de software, assumindo um processo implícito e tendo como foco principal o produto. Esta visão limita as organizações no que diz respeito à tomada de decisões, ao estabelecimento e arquivamento de metas organizacionais, à determinação de pontos para melhoria, à estipulação de prazos para entrega de produtos, à obtenção de uma certificação, etc. O reconhecimento da importância dos processos e o crescimento da cultura de processo têm levado as organizações à criação de ambientes de engenharia de software mais eficientes. Um exemplo são os PSEEs - Process-Centered Software Engineering Environment. Os PSEEs integram tanto os requisitos do produto, que são o foco da engenharia de software, como os requisitos do processo, que são o foco do gerenciamento do projeto e engenharia do processo. Um PSEE reconhece ambas as importâncias do processo de software e sua natureza dinâmica, suportando as atividades de definição de um processo para um projeto, e o subsequente monitoramento e suporte do processo durante sua execução. Porém, muitas dificuldades são inerentes ao gerenciamento de projeto de software, tais como: A dinamicidade do processo, com alterações constantes nos planos de projetos, redistribuição de atividades, inclusão/exclusão de atividades, adaptação de cronogramas, realocação de recursos, novos acordos com os clientes, entregas intermediárias não previstas, etc.; Adaptação ao ambiente, dependendo da disponibilidade de recursos, ferramentas, habilidades do pessoal ou equipe, etc.; Desenvolver software é uma atividade criativa e intelectual e por esse motivo difícil de controlar e medir; Muitas variáveis envolvidas como metodologias, modelos de ciclo de vida, técnicas, ferramentas, tecnologia, recursos, atividades, etc.; Cada processo de software é único.

2.1. Arquitetura do ProjectSpace O ProjectSpace é composto por dois ambientes cooperativos, formado por oito subsistemas principais, vide Figura 1: TimeSheet – fornece apoio no processo de disciplina pessoal realizando o registro e avaliação do tempo gasto com cada atividade; ResourceManager – Gerencia os recursos da organização tais como: espaço físico, pessoal, treinamentos, ferramentas, habilidades e funções individuais e de equipes, etc. Além de proporcionar uma previsão da liberação destes recursos; RequirementManager – Gerencia os requisitos dos sistemas de software de cada projeto efetuando o controle dos requisitos por sistema de software, associando os requisitos às aplicações (ou atividades) a serem desenvolvidas, promove uma visão da realização destes requisitos; ProcessManager – Gerencia os elementos do processo de software como: atividades, métodos, técnicas, modelos de ciclo de vida, padrões e normas de qualidade, classe de problemas do desenvolvimento, etc. Tem por função também auxiliar a confecção de planos padrão de projetos e dar uma visão de problemas gerais do processo de software; QualityManager – Gerencia os atributos de qualidade do processo de software efetuando o cadastramento de modelos e normas e mapeando a dimensão de processo para as atividades da organização. Deve propiciar uma avaliação parcial do processo de software, no que ser refere a gerência de projetos; PlanEngine – Gerencia os processos de desenvolvimento de software instanciados para um projeto específico. Deve ter funções como: auxílio na confecção do plano de projetos, acompanhamento da execução do plano, registro das versões e alterações do plano, registro das versões e alterações das atividades dos planos, visualização do andamento dos trabalhos, ativação das ferramentas CASE através do ToolManager, comunicação parcialmente automatizada, visualização das restrições do projeto e das atividades, registro de tempo gasto nas atividades de desenvolvimento, etc.; ToolManager – Gerencia e ativa as ferramentas CASE através do registro e controle das ferramentas CASE; DataAccessLayer – Realiza o acesso às informações armazenadas na base compartilhada por todos os subsistemas do ProjectSpace.

Quality Manager

Gerência de Qualidade Process Manager

Gerência de Projeto

Requirements Manager

Desenvolvedor

Resource Manager

Líder de Projeto

TimeSheet

Gerência Administrativa

Data Access Layer

PlanEngine

ToolManager DataBase Tool A

Tool B

Tool C

Figura 1: Arquitetura do ProjectSpace Como resultado de uma implementação bem sucedida poderemos ter entre outros: o escopo do trabalho do projeto definido; a viabilidade de alcançar as metas do projeto baseada na verificação dos recursos disponíveis e restrições; as tarefas e recursos necessários para completar o trabalho medidas e estimadas; as interfaces entre os elementos do projeto, e com outros projetos e unidades organizacionais identificada e monitorada; os planos para execução do projeto desenvolvidos e implementados; o progresso do projeto monitorado e registrado; as ações para corrigir os desvios do plano e prevenir a recorrência de problemas identificados no projeto; etc. Algumas métricas também são esperadas tais como: Quão bem distribuídos estão os recursos da organização (jornada de trabalho, espaço físico, licenças de ferramentas CASE, etc.); Quais as habilidades e funções mais comuns na organização; Qual a necessidade de um determinado treinamento; Quais as metodologias, os modelos de ciclo de vida, técnicas, recursos, ferramentas, etc. mais utilizados na organização; Quão maduro um indivíduo ou uma equipe está para utilizar determinada tecnologia; Quais os problemas que mais ocasionam atrasos em projetos; Em que fases há uma maior incidência de problemas nos projetos; Quais os problemas que mais levam a adaptação ou confecção de um novo plano de projeto; Quão bem é estipulado o término das atividades dos projetos; Quanto se realiza as atividades dentro dos prazos estabelecidos; Quanto se cumpre o que foi planejado; Quanto o projeto já evoluiu; Quais os problemas que mais ocorrem no desenvolvimento de sistemas de software; Quanto se cumpre as práticas básicas das normas em um dado projeto ou no desenvolvimento como um todo; etc.

3. ToolManager, a Camada de Gerenciamento A Camada de Gerenciamento de Ferramentas CASE, denominada ToolManager, é um nível contendo um conjunto de Ferramentas CASE que trabalham juntas a um conjunto comum de dados e protocolos [9], tendo sido concebida para integrar-se ao Ambiente ProjectSpace e, assim, ser capaz de gerenciar todas as questões inerentes ao uso, registro e controle dessas Ferramentas durante a execução das Atividades definidas em um Plano de Projeto, vide Figura 2. ProjectSpace

ToolManager Tool A

Tool B

Tool C

...

Figura 2: Relação entre o ProjectSpace e a ToolManager A ToolManager requer muitos níveis de gerenciamento que são usados para o controle e ativação de todas as ferramentas a fim de prover as diferentes formas de administração dos serviços requeridos no ProjectSpace. A camada, dessa forma, foi concebida tomando-se como base a estrutura que representa o Modelo de Referência NIST/ECMA [6] para Integração de Ferramentas CASE a fim de considerar alternativas de implementação e o entendimento da representação dos serviços e componentes a serem concebidos. A Figura 3 permite uma visualização dos componentes que perfazem a ToolManager. Segundo [5], esses componentes são formados por: 4 (quatro) Níveis de Gerenciamento, os quais são responsáveis pelo Controle dos Serviços que a camada se dispõe gerenciar (Apresentação, Controle, Atividade e Dados); 1 (um) Conjunto de Ferramentas que é responsável pelo gerenciamento das Ferramentas CASE quanto às suas utilizações pelo ProjectSpace; e 1 (um) Fluxo de Mensagens, que facilita a passagem de informações entre os diferentes níveis, facilitando assim a comunicação entre os mesmos. Gerenciador de Dados

Gerenciador de Apresentação

Gerenciador de Controle

Conjunto de Ferramentas Gerenciador de Atividade Fluxo de Mensagens

Figura 3: Visão Interna da ToolManager

3.1. Comunicação entre o ProjectSpace e a ToolManager O relacionamento existente entre o ProjectSpace e a ToolManager advêm da necessidade do ambiente em: controlar o registro das Ferramentas CASE definidas para uso durante a execução de seus planos de projeto; permitir que tais ferramentas possam ser ativadas segundo condições próprias entre elas; e gerar e acompanhar o progresso de execução das Atividades através do histórico de uso das ferramentas. Tal relacionamento pode ser visualizado na Figura 5, que define o limite entre o ProjectSpace e a ToolManager por uma comunicação que permite o entendimento dos eventos de iteração entre eles. Tais eventos resumem-se a: permitir o recebimento, na ToolManager, das informações sobre a Atividade a ser executada que caracterizam a ativação da Ferramenta CASE específica; enviar, a partir da ToolManager, ao ambiente a informação de como está, em função do histórico de uso das ferramentas, o desenvolvimento da Atividade desenvolvida; armazenar e manipular documentos gerados pelas ferramentas CASE em forma de Arquivo e Logs (históricos) quanto a sua utilização/manipulação gerados pela ToolManager sobre o que já foi executado ou não; registrar, a partir do ProjectSpace, as informações das Ferramentas CASE a serem utilizadas e suas Associações às respectivas Atividades as quais se destinam a execução; viabilizar o conjunto de Atividades definidas e registradas previamente no ambiente a fim de permitir a construção de uma estrutura contendo as condições de execução entre elas; permitir o acesso a uma Base de Dados comum. 3.2. Atores da ToolManager Conforme visto na arquitetura do ProjectSpace, a ToolManager terá a interação de dois atores, cada um com um papel bem específico: o Gerente, que é um ator que acompanha a execução do Plano do Projeto da organização (andamento da execução das Atividades) a partir do log (histórico) gerado pela ToolManager e efetua o registro das Ferramentas CASE que serão utilizadas pelo Projeto e suas Associações com as Atividades a fim de se determinar a que se destinam; e a própria ProjectSpace, que centraliza todas as informações inerentes às Atividades definidas no Plano de Projeto além de, através da necessidade de uso do Desenvolvedor, solicitar que uma Atividade deve ser desenvolvida e assim efetuar a Ativação de determinadas Ferramentas CASE segundo condições de execução. 3.3. Funcionalidades da ToolManager Para que todas as necessidades detectadas no processo de definição da comunicação entre o ProjectSpace e a ToolManager possam ser atendidas, a camada concebida tende a apresentar as seguintes funcionalidades básicas:

Registro, Remoção e Alteração das Ferramentas A camada deverá permitir que o Gerente do Projeto possa registrar, remover e alterar informações das Ferramentas que serão usadas para a Execução das Atividades de acordo com a classificação pelo seu funcionamento, definido em [8]. Registro das Ferramentas às Atividades Após o Registro das Informações das Ferramentas, a camada deverá prover ao Gerente a possibilidade de registrar as Ferramentas às Atividades que se destinam executar a fim de que se tenha um relacionamento lógico entre as Atividades e suas Ferramentas. Disponibilizar Visibilidade das Ferramentas Registradas Ferramentas registradas, a camada, agora, deve permitir que o desenvolvedor possa verificar as ferramentas alocadas para a Execução do Plano do Projeto e ter acesso direto a elas. Permitir a Execução da Atividade A ToolManager, mediante solicitação do desenvolvedor, deve permitir a Execução das Atividades através do uso das Ferramentas alocadas para o Plano. Para tal, a camada deve observar todos os fluxos, pré-requisitos e regras inerentes a efetivação do uso da Ferramenta, bem como a checagem de informações pré-definidas ou geradas ao longo da execução. Ativar Ferramentas A camada deve permitir a ativação das Ferramentas segundo condições para Execução das Atividades e o Log. mantido sobre o uso das Ferramentas. Ao final do uso das Ferramentas, o sistema deve certificar que o arquivo resultante foi gerado. Gerar Log de Uso das Ferramentas Ao final do uso das Ferramentas, a ToolManager deve gerar e manter um Histórico contendo as informações resultantes desta execução a fim de que este possa servir, a posteriori, como um arquivo de validação da Execução das Atividades. Acompanhar a Execução das Atividades do Plano do Projeto A ToolManager deve possibilitar ao Gerente o controle da Execução das Atividades definidas no Plano do Projeto, bem como a visualização das informações sobre as Atividades que já foram executadas e o uso das ferramentas. 3.4. Níveis de Gerenciamento da ToolManager Todas as funcionalidades descritas na seção anterior serão executadas utilizando-se dos Níveis de Gerenciamento da ToolManager, como visto na Figura 3, que estarão trabalhando em paralelo. Cada um desses níveis possui objetivos, a saber: Gerenciador de Apresentação: nível que controla toda funcionalidade inerente a interação dos atores com a camada através do uso da Interface Gráfica possibilitando desta forma verificar que Atividades já foram executadas segundo

o uso das ferramentas, permitir o registo de Ferramentas CASE alocadas para o Plano de Projeto e suas Associações às Atividades definidas no ambiente; Gerenciador de Controle: enfatiza a comunicação entre o ambiente e a ToolManager e um entendimento dos eventos de iteração entre os mesmos. Ele é responsável por: controlar o recebimento das Informações da Atividade a ser executada; enviar tais Informações ao Gerenciador de Atividade a fim de que este possa checar que Ferramentas serão necessárias para a execução dessa Atividade; enviar ao ambiente a informação da situação de execução da Atividade pelo Histórico de uso gerado; controlar a Ativação das Ferramentas a serem executadas; checar se ao final da utilização das Ferramentas, o arquivo (objeto resultante do uso das ferramentas) foi gerado; Gerenciador de Atividade: neste nível, a ToolManager deve ter um conhecimento sobre as Atividades do Processo, suas condições, suas restrições, seus pré-requisitos e as ferramentas necessárias para sustentar estas Atividades; Gerenciador de Dados: nível responsável por gerar, armazenar e manipular os logs (históricos) quanto a utilização/manipulação das ferramentas alocadas na ToolManager sobre as Atividades executadas ou não, as informações registradas sobre as Ferramentas e das suas associações às Atividades e os documentos gerados pelas Ferramentas; A seguir, na Figura 5, será definido um cenário a fim de permitir uma melhor visualização das comunicações existentes entre o ProjectSpace e a ToolManager e entre os vários Níveis de Gerenciamento da ToolManager descritos anteriormente. Neste cenário, usou-se uma linguagem informal composta dos objetos descritos na Figura 4.

: componentes da estrutura : condições da estrutura : repositório de dados da estrutura : atores da estrutura : fluxo de mensagens entre os componentes da estrutura

Figura 4: Objetos de Representação do Cenário

1. Solicita Registrar Ferramenta

Project Space

4. Ativid. a executar

Gerenciador de Apresentação

15. Controlar Execução das Atividades do Projeto

Desenvolvedor

Gerente

2. Envia Informação das Atividades

3. Registra Ferramenta e sua Associação

9. Checa Ferramentas Registradas

Repositório de Dados

5. Que Atividade será executada

10. Informa Ferramenta a ser Ativada 16. Log. de Execução das Atividades

Gerenciador de Dados

10. Ferramenta não pode ser Ativada

6. Solicita Ferramenta segundo Atividade

Condição

8. Checa Ferramenta segundo Atividade 12. Informa Atividade sendo Executada ou não

Gerenciador de Controle

Gerenciador de Atividade

14. Checa se o Arquivo foi gerado 11. Ativa Ferramentas

Ferramentas CASE 7. Checa Condição de Execução da Atividade

13. Registra Atividade Executada ou não 17. Checa Log. de Uso das Ferramentas

Figura 5: Comunicações entre o ProjectSpace e a ToolManager e entre os níveis da ToolManager

4. Considerações Finais A definição e desenvolvimento de uma Camada de Gerenciamento de Ferramentas CASE (ToolManager) em Engenharia de Software é uma prática importante ao gerenciamento não somente das Ferramentas CASE usadas, mas também em relação às Atividades e fluxos a serem executados durante o desenvolvimento de software em projetos e organizações. A ToolManager definida neste trabalho permite a utilização de um conjunto de Ferramentas CASE em um Ambiente de Engenharia de Software Centrado no Processo de forma que tais componentes (Ambiente + Camada de Gerenciamento das Ferramentas) trabalhando juntos a um conjunto comum de dados e protocolos sustentem o desenvolvimento do software. A camada está sendo projetada e desenvolvida de forma a se ter apoio automatizado ao uso de inúmeras Ferramentas CASE. Este apoio está baseado em necessidades advindas da sua utilização por Ambientes Centrados no Processo e restrições segundo o próprio fluxo de execução das Atividades quanto ao desenvolvimento de software. Como trabalhos futuros podemos enumerar alguns pontos, porém pode-se citar como de fundamental importância a adequação de um Interpretador de Atividade do Processo à camada de forma que o Ambiente ProjectSpace disponibilizasse à ToolManager apenas o Modelo do Processo definido em seu Plano e assim toda a execução seria de extrema e exclusiva responsabilidade da ToolManager e a realização de um estudo de caso para a avaliação das propostas feitas. Referências Bibliográficas [1]

FATEEV, Maxim, “O Meta Gerador de Ferramentas da Estação TABA”, Dissertação de Mestrado – COPPE/UFRJ, 1998.

[2]

JORGENSEN, Steven A., “Na Object-Oriented Approach to Tool Integration in na Integrated CASE Environment”, Electrical and Computer Enginnering M.S Thesis, University iof New Mexico, 1994.

[3]

OLIVEIRA, Sandro Ronaldo Bezerra, “Integrando Ferramentas em ambientes Centrados no Processo”, Orientador Alexandre Vasconcelos. Monografia de Disciplina, CIN-UFPE, 2001.

[4]

REIS, Carla Alessandra Lima, “Ambientes de Desenvolvimento de Software e seus Mecanismos de Execução de Processos de Software”, Orientador Daltro José Nunes. Exame de Qualificação do Doutorado, PPGC-UFRGS, 2000.

[5]

BROWN, Allan W.; FEITER, Peter H. & Wallnau, Kurt C., “Understanding Integration in a Software Development Environment”, Tech. Rept. CMU/SEI91-TR-31, Software Engineering Institute, Carnegie Mellon University, January, 1992.

[6]

Reference Model for Frameworks of Software Engineering Environments, 3rd Edition (NIST Special Publication 500-211/Technical Report ECMA TR/55). Prepared jointly by NIST and the European Computer Manufacturers Association (ECMA). Washington, DC: U.S. Government Printing Office, 1993.

[7]

BROWN, A., EARL, A., & MCDERMID, J. Software Engineering Environments: Automated Support for Software Engineering. London: McGraw-Hill, 1992.

[8]

FUGGETTA, Alfonso: A Classification of CASE Technology. Politecnico di Milano and CEFRIEL. The Institute of Electrical and Eletronics Engineers, Inc, 1993.

[9]

LENDING, Diane & CHERVANY, Norman L.: The Use of CASE Tools. Proceedings of the 1998 Conference on Computer personnel research. ACM. Pages 49-58, 1998.

[10] SOMMERVILLE, Ian: Software Engineering. 5th edition, Addison-Wesley, 1995. [11] PRESSMAN, Roger S.: Engenharia de Software. Tradução José Carlos Barbosa dos Santos; Revisão Técnica José Carlos Maldonado, Paulo Cesar Masiero, Rosely Sanches. São Paulo: Makron Books, 1995.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.