Eng. soft

Categories: Trabalhos

0

Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Engenharia de Software baseada em componentes: uma abordagem prática em ambientes Web. Felipe Castañon de Oliveira Leonardo Lopes de Paula Monografia apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação p Orientador Prof. Fern Brasília 2009 Universidade de Bra 9 con de Albuquerque Ciências Exatas Departamento de Ciência da Computação Bacharelado em Ciência da Computação Coordenador: Prof. a Marcus Vinicius Lamar Banca examinadora composta por: prof.

Fernando Antonio de A Chacon de Albuquerque (Orientador) — CIC/Ung Prof. Fernanda Lima — CIC/urlB prof. Genaina Nunes Rodrigues — CIC/l_lna CIP — Catalogação Internacional na Publicação Oliveira, Felipe Castañon de. Engenharia de Software baseada em componentes: uma abordagem prática em ambientes Web. / Felipe Castañon de Oliveira, Leonardo Lopes de Paula. Brasília : UnB, 2009. 88 p. : il. ; 29,5 cm. Monografia (Graduação) — Universidade de Brasília, Brasaia, 2009. 1. Engenharia de Software, 2. Componentes, 3. Prof. Fernando Antonio de A. Chacon de Albuquerque (orientador) rof.

Fernanda Lima CIC/lJnB prof. Genaína Nunes Rodrigues CIC/l_JrlB Prof. a Marcus Vinicius Lamar Coordenador do Bacharelado em Brasilia, 04 de Dezembro de 2009 Agradecimentos Em especial a Deus. Aos nossos pais, a família, aos amigos e a todos os professores que nos ajudaram a percorrer e vencer esse caminho. Resumo Este trabalho visa apresentar o desenvolvimento de um sistema construído com a utilização de componentes de software e guiado por um processo bem definido. Um processo baseado na abordagem de reuso de componentes será estudado e utilizado em um estudo de caso.

Ao final, uma descrição da experiência adquirida com esse processo será feita, assim como os resultados obtidos durante sua execução. Palavras-chave: Engenharia de Software, Componentes, ESBC, Processo de Desenvolvimento de Software, Reuso Abstract This work presents the development of a system constructed with the use of software’s components and guided by a well defined process. A process based on the approach of reuse of components Will be studied and utilized in a case study. The last chapters describes the ex ired, iust as the results gg Características de componentes . senvolvimento orientado a componentes . . 2. 2 Processo de . 2. 3 Aspectos do desenvolvimento de componentes de software 2 3 1 Processo para especificação de requisitos de componentes 2. 3. 2 Tipos de arquitetura . Componentes arquiteturais em três camadas . de componentes . . 2. 3. 3 . 2. 3. 4 Teste . 2. 3. 5 Documentação de componentes . 3 Processos de desenvolvimento de software 3. 1 Fases do processo de desenvolvimento de software . 3. 1. 1 Especificação 3. 1 . 2 Projeto e implementação . 3. 1. 3 Validação e testes . Implantação e manutenção . Processos de desenvolvimento . 2. Processos em cascata Processos iterativos . ageis . 3. 14 .. 3. 2 . 3. 2. 2 3. 2. 3 processos 3. 3 Engenharia de Software Baseada em Componentes (CBSE) 3. 3. 1 Características da CBSE processos . Componentes . em V Catalysis 3. 3. 2 Diferença entre CBSE e outros . 3. 4 Exemplos de Processos Baseados em . 3. 4. 1 0 processo de desenvolvimento . 3. 4. 2 0 processo de desenvolvimento . 3. 4. 3 0 processo descrito por Cheesman e … 1123346889911 12131314141515151616171718 18 20 20 22 23 26 26 27 4 0 detalhamento do processo descrito por Cheesman e Daniels Tipos de Beans . 4. Definição dos requisitos .

Especificação do sistema . 4. 2. 1 Identificação dos componentes . 4. 2. 2 Levantamento das interações entre componentes . 4. 2. 3 Especificação dos componentes . 4. 3 Seleção de Componentes . . 4. 4 Montagem do Sistema 4. 5 Teste e Implantação Tecnologias para desenvolvimento de componentes 4. 2 5. 1 COM . 5. 1. 1 COM+ . 5. 1. 2 NET Entidades . . 5. 2 . 5. 2. 1 . 5. 2. 2 . 5. 2. 3 Bean/Container managed persistence . . 5. 2. 4 Callbacks e Listeners 5. 2. 5 Interceptors Seam . 5. 2. 6 Jboss . 6 Estudo de caso: Sistema de Alocação de Salas 6. Visão e escopo do sistema 6. Principais funcionalidades . . 6. 2. 1 Manter requerentes .. 6. 2. 3 Manter software . 6. 2. 2 Manter sala . 6. 2. 4 SOIiCit 4 gg sala . 6. 2. 3 Manter software 6. 2. 4 Solicitar software 6. 2. 5 Reservar negócio . . 6. 3 Modelagem conceitual do . 6. 4 Identificação das interfaces do sistema 6. 5 Modelagem de tipo de negócio componentes . 6. 6 Arquitetura de 29 31 32 34 35 36 37 37 37 38 38 39 40 41 4243 4345 45 4747 4848 48 50 50 52 54 55 57 57 59 59 59 62 62 64 66 67 68 68 70 70 7 Análise da utilização do processo 7. 1 Levantamento de requisitos omponentes – A modelagem . os componentes . interação dos componentes . 7. 2 Especificaçao dos 7. 2. 1 Identificação . 7. 2. 2 Definição da . 7. 2. 3 Especificação dos componentes projeto. projeto . 7. 2. 4A exceçao do . 7. 3 Definição da arquitetura do 7. 4 Codificação do s OF gg . 7. 3 Definição da arquitetura do projeto . 7. 4 Codificação dos componentes 7. 4. 1 Adaptações do processo . 742 Problemas encontrados e refatoraçao dos modelos 7. 4. 3 Documentação . 7. 5 Integração dos componentes e validação do sistema 7. 6 0 sistema desenvolvido. . 8 Conclusão Referências 4 76 Lista de Figuras 2. Processo de desenvolvimento baseado a . 3. 1 Processo de desenvolvimento componentes.. iterativo. 3. 2 Processo de desenvolvimento em V baseado em componentes.. . 3. 3 Fases do 4. 1 Os três processo. estágios do fluxo de especificação. Fase de montagem da aplicação.. 5. 1 Arquitetura EJB.. . 6. 1 6. 2 6. 3 6. 4 6. 5 6. 6 6. 7 6. 8 7. 1 7. 2 7. 3 7. 4 7. 5 7. 6 7. 7 7. 8 7. 9 7. 10 7. 11 7. 12 7. 13 Atores e casos de uso. Diagrama de caso de uso para solicitação de software. Diagrama de caso de uso para reservar de sala….. Modelagem Conceitual do Negócio..

Mapeamento do ManterRequerente.. Mapeamento do Manter Software. . Modelo do Tipo de Negócio.. Componentes. Arquitetura dos Diagrama de caso de uso para gestão de requerentes. Modelo do Tipo de Negocio.. . Primeira versão da arquitetura de componentes. Exemplo de descrição textual 6 gg . Primeira versão da arquitetura de componentes.. Exemplo de descrição textual na modelagem. Exceção personalizada do projeto.. Divisão dos Projetos…. ….. ….. …. padrão por componente.. . Exemplo de atualização da modelagem Javadoc utilizada.. software.. sala.. . Arquitetura .

Tela de pesquisar la de pesquisar reservas de . Tela de pesquisar requerente. Tela de visualizar sala. 7 1621 2428 35 39 4649 51 52 53 54 55 56 58 60 61 6364 65 66 69 71 7273 73 Capítulo 1 Introdução Este trabalho visa apresentar o desenvolvimento de uma aplicação baseada no reuso de componentes. Segundo Sommerville (1): “O componente é uma entidade executável independente. O código-fonte não está disponível, de modo que o componente não é compilado com outros componentes do sistema. Os componentes publicam suas interfaces e todas as interações são feitas por meio destas.

A interface e um componente é expressa em termos de operações parametrizadas e seu estado interno nunca é exposto”. Segundo Miguel Pacheco(2), “O desenvolvimento de software baseado em componentes é visto como uma abordagem que permite simultaneamente reduzir de software baseado em componentes é visto como uma abordagem que permite simultaneamente reduzir custos, minimizar o tempo necessário para o desenvolvimento de um projeto e aumentar sua qualidade”. A construção de componentes requer cuidado, pois seus requisitos devem ser especificados e compreendidos de maneira isolada do contexto e um sistema especifico.

Componentes devem prover interfaces que sejam claras para que um cliente possa utilizá-los sem conhecer seus códigos-fonte. A aplicação de um processo que enfatiza o reuso de componentes é o objetivo de estudo desse trabalho. 1. 1 Processo de desenvolvimento de software baseado em componentes um processo de desenvolvimento de software inclui, divididas em eventuais fases, as seguintes disciplinas: • Especificação e análise de requisitos; • Modelagem do sistema; • Implementação e teste de unidade; • Integração do sistema; • Validação do sistema; •

Suporte operacional e manutenção do sistema; • Desinstalação do sistema. 1 Como outros processos definidos para o desenvolvimento de software, processos baseados em componentes são divididos em fases que atendem às disciplinas citadas anteriormente. Entretanto, nos processos baseados em componentes, essas disciplinas são adaptadas para maximizar o reuso de componentes, podendo-se necessitar de atividades especialmente voltadas para isso(3)(4). A primeira atividade é o levantamento dos requisitos do sistema.

Após esta, deve-se identificar os componentes candidatos para inclusão no sistema. Com os componentes escolhidos, deve-se revalidar os requisitos com o objetivo de alterá-los, ou ada tá-los, aos componentes selecionados. No projeto do sistema será feita a arquitetura do sistema será feita a seleção dos componentes a serem utilizados. por fim, o desenvolvimento do sistema pode ser feito através da utilização dos componentes selecionados e sua adaptação para as necessidades do sistema. 1. O trabalho apresentado O objetivo do trabalho realizado é estudar e aplicar um processo de desenvolvimento baseado em componentes. Esse processo está detalhado e será aplicado ao estudo de caso scolhido. Em seguida, a experiência obtida nesse projeto será apresentada. O estudo de caso envolve o desenvolvimento de componentes para um sistema para alocação de salas em laboratórios de informática, sendo que esse desenvolvimento segue as atividades descritas no processo adotado e produz os respectivos artefatos.

Uma biblioteca de componentes será construída para esse tipo de sistema, com o objetivo de aplicar o processo para o desenvolvimento de software e quais são suas principais características. Conceitos, disciplinas, características, processos e tecnologias acerca da Engenharia de Software Baseada em Componentes (CSBE) serão apresentados ao decorrer do documento. Ao final da leitura, espera-se que esses conceitos tenham sido compreendidos e que uma análise prática, feita pelos autores, sirva como exemplo da aplicabilidade dos componentes.

Este trabalho está organizado da seguinte forma. O referencial teórico é apresentado em quatro capítulos que relacionam os principais tópicos investigados: Engenharia de Software baseada em componentes (Capitulo 2); processos de desenvolvimento de software baseados em reuso (Capitulo 3); detalhamento do processos escolhido (Capitulo 4); e uma visão as tecnologias utilizadas no desenvolvimento de componentes (Capitulo 5). Em seguida, dois capítulos descrevem o u utilizadas no desenvolvimento de componentes (Capitulo 5).

Em seguida, dois capítulos descrevem o uso deste referencial teórico em um estudo de caso prático: o sistema de alocação de salas em laboratórios de informática (Capitulo 6) e a análise sobre a experiência adquirida na Implantação desse processo (Capitulo 7). As considerações finais são apresentadas no Capitulo 8. 2 Capítulo 2 Componentes Este capitulo abordará diversas definições dadas ao termo omponente na área de Engenharia de Software. Para isso, serão apresentados conceitos sobre o que são componentes, segundo vários autores dessa área.

Em seguida, será apresentada a definição adotada ao longo do trabalho. 2. 1 Definições de componentes de software A primeira vez que se citou componentização para o desenvolvimento de software foi em 1968, durante uma conferência de Engenharia de Software nos Estados Unidos. Nela McIlory(5) apresenta uma proposta de produzir software reutilizável e propiciar aos desenvolvedores a possibilidade de escolher os componentes que querem utilizar segundo as suas ecessidades.

Em 1976, DeRemer(6) propõe um paradigma de desenvolvimento baseado na construção de módulos independentes e depois interligá-los. Na década de 80, surge o paradigma de orientação à objetos que fortaleceu esta visa pela possibilidade de reutilização. Com a necessidade de construir software de forma rápida e com qualidade, no final dos anos 90 surgiu a proposta de desenvolvimento reutilizando componentes. Uma das suas motivações foi a frustração dos projetistas de software com o desenvolvimento orientado a obietos, que não consegu- nível de reuso, como 0 DF 99

Projeto multidisciplinar apresentado como requisito para colação de grau no curso de tecnologia em logística

0

PROJETO MULTIDISCIPLINAR DE AUTOAPRENDIZAGEM II Projeto multidisciplinar apresentado como requisito para colação de grau no Curso de Tecnologia em Logística

Read More

Processo da produção na rede hoteleira

0

PROCESSO DE PRODUÇÃO Introdução O deslocamento de interesses para as áreas-fim das organizações tem motivado reinterpretações de conceitos, antes exclusivos

Read More