1psl – ufla - especializaçãojunier amorim – eng. computação sistema gerenciador de...
TRANSCRIPT
1PSL – UFLA - Especialização Junier Amorim – Eng. Computação
Sistema Gerenciador de Sistema Gerenciador de Componentes para ReusoComponentes para Reuso
- SGCR -- SGCR -
PSL – UFLA - Especialização 2 Junier Amorim – Eng. Computação
SumárioSumário
1. A equipe de trabalho2. Componente de Software3. Problemática encontrada em um ambiente de
desenvolvimento colaborativo4. O SGCR5. Testes6. Demonstração7. Conclusão8. Considerações finais
PSL – UFLA - Especialização 3 Junier Amorim – Eng. Computação
1. A equipe de trabalho1. A equipe de trabalho
PSL – UFLA - Especialização 4 Junier Amorim – Eng. Computação
1. A equipe de trabalho1. A equipe de trabalho Integrantes:
Orientador: Prof. Mário Luiz Orientando: Junier Amorim (Eng. Compt)
Funções desempenhadas: analista, projetista, arquiteto e programador.
Comunicação: Skype, MSN, e-mail e Moodle
Repositório: Googlecode
PSL – UFLA - Especialização 5 Junier Amorim – Eng. Computação
2. Componente de Software2. Componente de Software
PSL – UFLA - Especialização 6 Junier Amorim – Eng. Computação
2. Componente de Software2. Componente de Software O que é um componente?
Mais amplo do que classes (POO); É um provedor de serviços que não se
preocupa com o local onde está sendo executado (distribuído) ou com a linguagem de programação;
É uma entidade executável independente que pode ser construída a partir de um ou mais objetos executáveis;
[SZYPERSKI, 2002]
PSL – UFLA - Especialização 7 Junier Amorim – Eng. Computação
2. Componente de Software2. Componente de Software Necessidade de possuir interfaces bem
definidas; Possibilidade de visualizar o
funcionamento como uma “caixa-preta”;
PSL – UFLA - Especialização 8 Junier Amorim – Eng. Computação
2. Componente de Software2. Componente de Software
Por que reinventar ????? Prazos Custos Pessoal Qualidade
PSL – UFLA - Especialização 9 Junier Amorim – Eng. Computação
2. Componente de Software2. Componente de Software Solução: REUTILIZAR partes ou
a totalidade de um software na construção de outro;
Componentes podem ser reutilizados;
Engenharia de Software baseada em Componentes (ESBC): Engenharia de Software baseada no reuso mais intenso => Surgiu da frustração do pouco reuso na POO [Pressman, 2005];
Preocupação com a qualidade dos componentes gerados.
PSL – UFLA - Especialização 10 Junier Amorim – Eng. Computação
2. Componente de Software2. Componente de Software
PSL – UFLA - Especialização 11 Junier Amorim – Eng. Computação
3. Problemática encontrada em um 3. Problemática encontrada em um ambiente de desenvolvimento ambiente de desenvolvimento
colaborativocolaborativo
PSL – UFLA - Especialização 12 Junier Amorim – Eng. Computação
3. Problemática encontrada em um 3. Problemática encontrada em um ambiente de desenvolvimento colaborativoambiente de desenvolvimento colaborativo
O que o cliente quer é algo realmente novo ?
PSL – UFLA - Especialização 13 Junier Amorim – Eng. Computação
3. Problemática encontrada em um 3. Problemática encontrada em um ambiente de desenvolvimento colaborativoambiente de desenvolvimento colaborativo
Quando um programador demora muito tempo para encontrar uma solução implementada, ele termina por desenvolver uma solução própria
[PRESSMAN, 2005]
PSL – UFLA - Especialização 14 Junier Amorim – Eng. Computação
3. Problemática encontrada em um 3. Problemática encontrada em um ambiente de desenvolvimento colaborativoambiente de desenvolvimento colaborativo
A busca pelo componente deve gerar resultados rápidos, evitando a reconstrução de componentes.
PSL – UFLA - Especialização 16 Junier Amorim – Eng. Computação
4. O SGCR4. O SGCR
Sistema Gerenciador de Componentes para Reuso
Objetivo principal: agrupar, de maneira segura e eficiente, todas as informações (metadados) dos componentes armazenados em um sistema de controle de versão (Subversion), além de possibilitar a obtenção dos mesmos.
PSL – UFLA - Especialização 18 Junier Amorim – Eng. Computação
4. O SGCR4. O SGCR
Características do sistema: Flexibilidade e robustez Multiplataforma Controle de acesso Integração com o Subversion Fácil manutenção (arquitetura bem definida)
PSL – UFLA - Especialização 19 Junier Amorim – Eng. Computação
4. O SGCR4. O SGCR Servidor de
aplicação: Tomcat 6.0.10 (container JSP)
JAVA 1.6 BD:
PostgreSQL8.2 Framework
SVN: SVNKit Hibernate
(annotations)
MyFaces 1.1.5
SVNKit
PSL – UFLA - Especialização 20 Junier Amorim – Eng. Computação
4. O SGCR4. O SGCR
Arquitetura bem definida em camadas:
PSL – UFLA - Especialização 22 Junier Amorim – Eng. Computação
5. Testes5. Testes
Metodologia Implantação do sistema em ambiente
corporativo durante 15 dias Usuários (grupo controlado) reportaram bugs
e sugestões Sugestão documentada para versão futura
(interação com o Maven)
PSL – UFLA - Especialização 23 Junier Amorim – Eng. Computação
6. Demonstração6. Demonstração
Screenshots
PSL – UFLA - Especialização 25 Junier Amorim – Eng. Computação
7. Conclusão7. Conclusão Aplicabilidade comprovada do sistema; O reuso em série exige a organização e
documentação dos componentes gerados; Simplicidade e Utilidade; Reaproveitamento do sucesso do
Subversion; Arquitetura bem definida: possibilidade de
incorporar novas funcionalidades;
PSL – UFLA - Especialização 26 Junier Amorim – Eng. Computação
8. Considerações Finais8. Considerações Finais
PSL – UFLA - Especialização 27 Junier Amorim – Eng. Computação
8. Considerações Finais8. Considerações Finais Os recursos economizados com o reuso de
componentes são fundamentais para colocar um projeto dentro de um cronograma planejado;
Surge a necessidade do papel do Gerente de Configuração, que torna-se responsável pelo gerenciamento dos componentes produzidos e que estão em condições de serem reutilizados;
Um componente deve possuir uma estrutura bem definida, seguindo padrões de qualidade e boa documentação para ser considerado reutilizável.