.:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 Helton M. Adigneri João C. Peres 2009 Leandro C. Manso 1
1. Situando o projeto O foi feito? Na Metodologia: Estudo do RUP; Adaptação do RUP ao EPSI. Verificando as atividades mais apropriadas ao projeto. Aplicação da Metodologia, através de seus fases (concepção, elaboração, construção e transação) Estamos na fase de Construção. No Processo: Elaboração e construção dos processos da metodologia, segundo o RUP; Aplicação e distribuição dos processos; Levantamento de métricas para avaliação dos processos; Utilização de modelos consagrados como ISO, MPS.BR, afim de avaliar a qualidade e a maturidade do processo de desenvolvimento. Metodologia: Estudo do conjunto de processos para elaboração de um software. Processo: É a aplicação efetiva de um grupo de procedimentos (regras). 2 2
1. Modelagem e Codificação do EPSI Aplicação do RUP Workflows da fase de concepção já foram concluídos e documentados. (requisitos); Workflows da fase de elaboração também foram concluídos. (análise); Estamos finalizando os workflows da fase de construção. (projeto/codificação); Para finalizar, iremos construir workflows para fase de transação. Aplicação dos processos descritos no RUP geram os seguintes artefatos Artefatos construídos na fase de CONCEPÇÃO e ELABORAÇÃO: - Documento de requisitos; - Elaboração de contrato; - Diagrama de use case ; - Diagrama da Arquitetura inicial do sistema; - Diagrama de Colaboração; - Diagrama de Classes. Sabemos que os processos no RUP é incremental, ou seja, podemos dizer que a modelagem do sistema, vai ganhando mais complexidade e se aproximando do modelo real, conforme vamos avançando na construção das fases do RUP. 3 3
1. Modelagem e Codificação do EPSI A fase de Construção Esta fase, tem como objeto principal a codificação do projeto (geração de código fonte). Como a modelagem do projeto segue um modelo incremental, chegamos a um ótimo nível, nesta fase, para começar a codificar o sistema. Como estamos chegando na codificação propriamente dita? Para poder codificar, a nossa metodologia, prevê que temos alguns artefatos já construídos anteriormente. Vamos rever o histórico desta construção. 1. Levantamento e construção do documento de requisitos. Se fez os levantamentos das necessidades do cliente. Foi levado em conta os requisitos funcionais e não funcionais. O documento gerado é uma descrição textual. OBS.: O documento de requisitos e o contrato de produção de software, podem ser visualizados na integra, no seguinte endereço: http://www.din.uem.br/~hmadigneri/d1227/indextrabalho.html 4 4
1. Modelagem e Codificação do EPSI 2. Construção do Diagrama de Use Case Primeiramente foi modelado um diagrama de use case, com as funcionalidades mais básicas. (Diagrama de Use Case de Negócio). O documento de requisitos, foi necessário para a criação deste diagrama. Através dos requisitos levantados, foi possível mapear as funcionalidades básicas do sistema a ser construído. Feito o Diagrama de Use Case de Negócio (nível 0), podemos detalhar em um nível de abstração maior, as funcionalidades necessárias, através do Diagrama de Use Case do Domínio (nível 1). 5 5
1. Modelagem e Codificação do EPSI Diagrama de Use Case - Domínio 6 6
1. Modelagem e Codificação do EPSI Verificamos que já houve entendimento maior das funcionalidades e no nível de detalhamento da modelagem neste ponto do processo de desenvolvimento. 7 7
1. Modelagem e Codificação do EPSI 3. Descrição dos Use Case Além da modelagem dos Use Case, fizemos uma descrição textual dos mesmos, em um nível de informação mais detalhado. Vejamos como ficou a descrição para o Use Case, Fazer Inscrição no Evento: Neste ponto já se começa a pensar na implementação, em que vai implementar está funcionalidade. 8 8
1. Modelagem e Codificação do EPSI 4. Diagrama da Arquitetura Inicial do Sistema Representa como o sistema será particionado e onde será implementado determinadas funcionalidades. O objetivo principal é fornecer uma visão geral do sistema antes da construção propriamente dita, já pensando em reuso e plataformas, ainda em um nível inicial 5. Elaboração de um protótipo Para ajudar na compreensão do sistema, nas suas funcionalidades foi gerado um protótipo das possíveis tela do sistema. Este protótipo está disponível na integra no site: http://www.din.uem.br/~hmadigneri/d1227/arquivos/1_trabalho/prototipoepsi.html 9 9
1. Modelagem e Codificação do EPSI 6. Diagrama de Classe Observando o Diagrama de Use Case, neste ponto da modelagem, podemos elaborar classes para executar as funcionalidades dos casos de uso. Levantamos todas as Classes que serão implementadas posteriormente. Ao lado o Diagrama de Classes está incompleto, só as classes implementadas, neste ponto do trabalho, estão conectadas, por motivo de visibilidade. O Diagrama de Classes conceitual, poderá ser visto completo no site do projeto. 10 10
1. Modelagem e Codificação do EPSI 7. Diagrama de Colaboração Use Cases sugerem os eventos do sistema, os quais são mostrados explicitamente nos diagramas de colaboração do sistema. Auxilia na implementação das Classes, esclarecendo dúvidas, principalmente na sequencia dos relacionamentos dos objetos. Todos os Diagramas de Colaboração estão disponíveis no site do projeto. Diagrama de Colaboração: Atualizar Dados 11 11
1. Modelagem e Codificação do EPSI 8. Codificação Vimos todos os processos, até chegarmos a modelagem do Diagrama de Classes. Realmente ficou provado que estamos utilizando uma metodologia que descreve processos incrementais. Se baseando, principalmente no Diagrama de Classes, iniciamos a implementação do projeto EPSI. Sendo assim, vamos mostrar, pegando como exemplo uma classe modelada, como ocorre a geração de código (codificação). 12 12
1. Modelagem e Codificação do EPSI 8. Codificação do Caso de Uso - Gerenciar Palestra 13 13
1. Modelagem e Codificação do EPSI 8. Tela Principal do Sistema EPSI 14 14
Vimos como foi feito o processo de modelagem e codificação com base no RUP. Mas será que estamos explorando o máximo dos processos descritos na nossa metodologia? Como realizar o monitoramento dos custos, prazos, mão de obra, qualidade... uma vez que o RUP não contempla 100% destas atividades de monitoramento do processo utilizado no desenvolvimento. Estamos preocupados com a qualidade do processo de desenvolvimento em nossa fábrica de software. Como estamos fazendo o monitoramento dos processos do RUP: Grande parte dos processos realizados, do requisito à codificação, através das seguintes práticas: Métrica do Software Métrica da qualidade no processo Monitoramento das atividades atribuídas Monitoramento da Escala do Grau de Implementação Monitoramento das Ferramentas e da Metodologia Adotadas Monitoramento Dos Requisitos Praticas estas baseadas na ISO 9126/NBR 13596 e na MPS.BR, principalmente. 15 15
>> Monitoramento da métrica do software (UCP) A estimativa de tempo para realizar um determinado sistema depende da complexidade e tamanha do sistema a ser desenvolvido. Esta estimativa pode ser realizada a partir da aplicação de métricas, como por exemplo, a UCP - Use Case Points. A técnica se baseia no Diagrama de Caso de Uso, para realizar a métrica. Deve-se desenvolver um Diagrama de Caso de Uso em um nível intermediário (de análise) para calcular o UCP. O documento da métrica do software, está disponível, na integra no site do projeto EPSI. Feito a métrica do Software (UCP), podemos elaborar uma planilha, para realizar uma projeção (simulação) do tempo gasto, da mão de obra, para conclusão do projeto. Para se estimar o total de horas gasto no projeto (modelagem + codificação), Karner sugere a aplicação de 20 horas/homem por ponto de UCP. A qualificação da equipe de trabalho, influencia diretamente na métrica por UCP. 16 16
Planilha utilizada para realizar projeções de custos, recursos e horas baseada na métrica de software UCP, para o projeto EPSI. OBS.: Detalhes de como foi utilizando a métrica UCP, foi demonstrada anteriormente. Não adiante em nada ter a métrica do software e não saber utilizar os dados. Para isso foi elaborada esta planilha de simulação. 17 17
>> Monitoramento da Qualidade no Processo Será que os meus processo está atendendo as minhas necessidades? Analisando em pensando um pouco, observando tudo o que foi feito até agora, respondemos algumas perguntas para chegar a esta conclusão. Para isso, construímos uma planilha, com base na norma NBR 13596. Na planilha a seguir, a ultima coluna (que contem 0's e 1's) não pertence a norma original. Colocamos esta coluna, somente para termos um percentual da qualidade que os nossos processos estão dando neste momento do projeto. É uma forma de transforma algo qualitativo em quantitativo, somente para melhorar a leitura dos dados. 18 18
19 19
>> Monitoramento da Escala do Grau de Implementação Implementação baseado em Use-Cases Divisão das tarefas baseados em Use-Cases Planilha modelo está métrica, originalmente retirada do NPS.BR 20 20
>> Monitoramento da Escala do Grau de Implementação Se baseá-se no Diagrama de Caso de Uso para realizar este monitoramento, uma vez que a implementação e distribuição dos use cases para as equipes de desenvolvimento, são totalmente baseadas neste diagrama. Verificamos os Use Cases que temos que implementar nesta fase do projeto: 21 21
22 22
>> Monitoramento das Ferramentas Adotadas MONITORAMENTO DAS FERAMENTAS ADOTADAS CARACTERISTICAS INICIAIS DO PROJETO FERRAMENTA DotProjet NetBeans OBJETIVO CARACTERISTICAS POSTERIOR AO INICIO DO PROJ. ATENTE DOS REQUISITOS NOVA FERRAMENTA COMENTARIOS Ferramenta para o controle das atividades do projeto, gerenciamento das empresas, fornecedores e colaboradores SIM Ambiente de programação utilizado para programar em Java, J2EE, no caso. PARCIAL CUSTO TEMPO DE UTILIZAÇÃO NO PROJETO Open Source Todo o tempo. * UTILIZAÇÃO DE PLUG PARA PROGRAMAÇÃO EM PHP O ambiente continua o mesmo. Fase de Open Source implementação Ferramenta utilizada para modelagem do JUDE FOR UML projeto. SIM Fase de Open Source Modelagem UML Linguagem de Modelagem para o projeto SIM Fase de Open Source Modelagem MySql Ambiente de Gerenciamento de Banco de Dados SIM Fase de Open Source implementação JAVA J2EE Linguagem de Programação utilizada NÃO PHP É importante fazer o controle das tecnologias utilizadas nos projetos. ** Ling. Conhecida por mais integrantes Fase de da equipe. Open Source implementação 23 23
>> Monitoramento dos Requisitos É importante sabermos durante cada passo do projeto, se os requisitos levantados na fase de análise estão sendo atendidos e se houve alterações nos mesmos. Sempre que o cliente exigir um novo requisito no sistema, este requisito deverá ser anotado, monitorado e verificado, para sabermos até que ponto ele influencia no restante do projeto, e obviamente no custo e prazo do mesmo. Os o mapeamento e controle dos requisitos funcionais e não funcionais. Permite o controle da execução do contrato de construção de software, elaborado anteriormente. 24 24
25 25
26 26
27 27
>> Monitoramento das Atividades atribuídas e Gerenciamento do Projeto O monitoramento das atividades atribuídas, assim como todo o Gerenciamento do Projeto é feito com a ajuda o DotProject. O DotProject permite que controlamos, entre vários itens: - Data e Inicio do Projeto; - As fases da nossa metodologia; - O andamento do desenvolvimento dos processos da metodologia; - Os custos de cada fase do projeto e o custo total previsto; - As tarefas e os responsáveis em executá-las em determinado tempo; - Gerenciamos grupos de trabalho. 28 28
>> Monitoramento dos Riscos Deve-se fazer um documento para analisar os riscos em todas as fases, e não somente construir este documento, mas de fato, analisar cada risco, e medidas deveram ser tomadas se houver qualquer um dos riscos descriminados no documento. Fizemos o levantamento dos riscos, os tipos de risco, e o que fazer quando eles aparecerem em nosso projeto. O monitoramento é realizado consultando o documento do plano gerencial de risco, que criamos, durante o desenvolvimento dos processos de nossa metodologia. Segue abaixo o levantamento e o gerenciamento dos riscos. 29 29
Quais os Tipos de Risco e a Estratégica que adotamos, se ocorrer durante o desenvolvimento do EPSI. 30 30
Levantamos aqui, alguns riscos que podem ocorrer, a sua probabilidade de acontecer e seu efeito no projeto EPSI 31 31
Esta tabela, é o resumo do tipo de riscos que o projeto pode enfrentar (riscos de tecnologia, com pessoal, organizacional...) e o que acontecerá com o projeto se eles ocorrerem. 32 32
A tabela abaixo, mostra os riscos que o Projeto, o Produto e as Regras de Negócio pododerá sofrer durante o desenvolvimento. 33 33
A metodologia, os processos e seu monitoramento no projeto EPSI, se baseia-se nos seguintes recursos: ISO 9126 Referências: www.comqualidade.org.br http://www-usr.inf.ufsm.br/~oliveira/elc311/qualidadesw.html http://www.frameworkpinhao.pr.gov.br/ http://www-01.ibm.com/software/awdtools/rup/ http://pt.wikipedia.org/wiki/ibm_rational_unified_process 34 34