Plano de projeto de software - SISCONI

738 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
738
No SlideShare
0
A partir de incorporações
0
Número de incorporações
138
Ações
Compartilhamentos
0
Downloads
39
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Plano de projeto de software - SISCONI

  1. 1. UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO Gerência de Projetos 2013.2 PLANO DO PROJETO DE SOFTWARE PARA PRODUTOS DA LACERTAE SW GRUPO 3 Felipe Oliveira Carvalho Ramon Batista Ramos Rodrigo Losano Fontes Calheiros Washington Cavalcante da Silva São Cristóvão – Sergipe 2014
  2. 2. Felipe Oliveira Carvalho Ramon Batista Ramos Rodrigo Losano Fontes Calheiros Washington Cavalcante da Silva PLANO DO PROJETO DE SOFTWARE PARA PRODUTOS DA LACERTAE SW Trabalho apresentado ao Prof. Dr. Rogério Patrício Chagas do Nascimento como parte avaliativa da disciplina Gerência de Projetos do Curso de Graduação em Sistemas de Informação da Universidade Federal de Sergipe – UFS. São Cristóvão – Sergipe 2014
  3. 3. Sumário 1. INTRODUÇÃO.................................................................................................................... 4 1.1 1.2 Funções principais do produto de software ............................................................ 4 1.3 Requisitos comportamentais ou de performance ................................................... 5 1.4 2. Âmbito do Projeto ...................................................................................................... 4 Gestão e Restrições Técnicas .................................................................................. 6 ESTIMATIVAS DO PROJETO ............................................................................................ 6 2.1 Dados históricos utilizados para as estimações ..................................................... 6 2.2 Técnicas de estimação e resultados ........................................................................ 7 2.3 Resultados ................................................................................................................. 8 2.4 Recursos do projeto .................................................................................................. 9 2.4.1 2.4.2 Recursos de Software .......................................................................................11 2.4.3 3. Recursos Humanos ............................................................................................ 9 Recursos de Hardware ......................................................................................12 ANÁLISE E GESTÃO DE RISCOS ...................................................................................12 3.1 3.2 Tabela de riscos ........................................................................................................14 3.3 4. Riscos do projeto......................................................................................................12 Redução e Gestão do Risco .....................................................................................16 PLANEJAMENTO TEMPORAL ........................................................................................21 4.1 4.2 5. Conjunto de Tarefas do Projeto ...............................................................................21 Diagrama de Gantt ....................................................................................................21 ORGANIZAÇÃO DO PESSOAL ........................................................................................23 5.1 Estrutura da equipe ..................................................................................................23 5.2 Mecanismos de comunicação..................................................................................25 5.3 Uso do Edu-blog como ferramenta de apoio ..........................................................25 6. PRECAUÇÕES TOMADAS PARA ASSEGURAR E CONTROLAR A QUALIDADE DO PRODUTO DE SOFTWARE .....................................................................................................25 7. ANEXOS............................................................................................................................27
  4. 4. 1. INTRODUÇÃO 1.1 Âmbito do Projeto O SISCONI (Sistema de Controle de Internação) foi desenvolvido em 2012 com o objetivo de auxiliar o processo de Internação do Hospital Universitário da Universidade Federal de Sergipe. Além de auxiliar esse processo, ele também atua como fonte de informações estatísticas e históricas para os processos de tomada de decisão na gerência do hospital. Com o SISCONI é possível agilizar o processo de internação, manter centralizadas as informações referentes aos leitos do hospital, manter um cadastro de pacientes e informações à respeito de suas internações. Permite também o remanejamento de leitos, além do controle de altas dadas pelos médicos aos pacientes internados. Através das Figuras 1.1 e 1.2 mostradas no anexo (seção 7) deste documento é possível observar respectivamente os diagramas de classe do domínio do projeto e o digrama do modelo lógico do banco de dados. Com estes digramas é possível obter uma abstração da estrutura do sistema. 1.2 Funções principais do produto de software O sistema desenvolvido é composto de diversas funcionalidades. Todas elas com maior ou menor importância dentro do projeto, mas que juntas formamo software necessário para a atividade do cliente. As principais funcionalidades com seus respectivos usuários serão detalhadas na Tabela 01 abaixo. Funcionalidade Usuários Cadastrar os dados de pacientes a serem Atendente internados
  5. 5. Localizar dados de pacientes; Atendente Atualizar dados de pacientes Atendente Verificar o histórico de internações de um Atendente paciente Cadastrar um leito Gestor Bloquear um leito Gestor Desbloquear um leito Gestor Liberar um leito Atendente Verificar a ocupação dos leitos Atendente Iniciar uma internação Atendente Agendar uma internação Atendente Dar alta a um paciente Remanejar uma internação Médico Gestor, Médico Encerrar uma internação Atendente Cancelar um agendamento de internação Atendente Efetuar login no sistema Gerar estatísticas de ocupação dos leitos Atendente, Médico, Gestor Gestor Tabela 01 – Funcionalidades e Usuários do SISCONI. 1.3 Requisitos comportamentais ou de performance Para que o SISCONI possa atender de forma eficiente aos seus usuários, o sistema deve:
  6. 6. 1. Ser fácil de usar, possuindo uma linguagem de acordo com o ambiente do negócio. 2. Ser capaz de estar funcionando a todo momento (próximo às 24 horas do dia). 3. Todos os possíveis usuários do SISCONI deverão ter acesso restrito às funcionalidades que lhe são cabíveis, mediante um código de acesso e uma senha. 4. As informações disponibilizadas pelo SISCONI deverão ser íntegras e passíveis de auditoria. 1.4 Gestão e Restrições Técnicas As restrições técnicas que definem o escopo do SISCONI são: 1. O Sistema de Gerenciamento de Banco de Dados utilizado pelo SISCONI será o MySQL. 2. A linguagem de programação a ser utilizada será a JAVA. 3. Todas as máquinas do Hospital Universitário devem possuir um browser web para o acesso ao SISCONI. 4. O funcionamento do SISCONI depende de uma infraestrutura de rede intranet entre os diversos computadores que o utilizarão. 2. ESTIMATIVAS DO PROJETO Serão descritas nesta seção, as etapas utilizadas para calcular o tempo total de execução deste projeto. Para isso, a métrica de Lorenz&Kidd será aplicada a fim de estimar o esforço em termos de dias por pessoa. 2.1 Dados históricos utilizados para as estimações
  7. 7. Este é o primeiro projeto desenvolvido pela equipe, não existindo assim, dados históricos para balizar as estimativas dos cálculos. 2.2 Técnicas de estimação e resultados Como descrito anteriormente, neste projeto será utilizada a métrica de Lorenz&Kidd para o cálculo do tempo de execução do projeto. Esta técnica leva em consideração as classes que serão construídas no projeto. Assim, as seguinte etapas serão utilizadas para essa estimação: 1. Com base no diagrama de classes de domínio, determinam-se as classes-chave do projeto. 2. Classifica-se o tipo de interface do produto e desenvolve-se um multiplicador para encontrar o número de classes de suporte. Para isso, são usadas as informações contidas na Tabela 02. Interface Multiplicador Interface não gráfica 2 Baseada em texto 2,25 GUI 2,5 GUI complexa 3 Tabela 02 - Interface x Multiplicador. 3. Calcula-se o produto entre o número de classes-chave pelo multiplicador selecionado na etapa anterior, encontrando assim o número de classes de suporte. 4. Calcula-se o total de classes do projeto (classes-chave + classes de suporte) 5. Determinam-se os dias por pessoa necessários para construção de uma única classe.
  8. 8. 6. Multiplica-se a quantidade total de classes (chave mais suporte) pelo fator encontrado na etapa anterior, encontrando assim a quantidade que uma pessoa levaria para a desenvolvimento do projeto, ou seja, o esforço estimado. 7. Por fim, calcula-se o tempo necessário (previsto) para o desenvolvimento do projeto. 2.3 Resultados Através da aplicação da técnica de Lorenz &Kidd, os seguintes cálculos e resultados foram obtidos: 1. Após a análise do diagrama de classes de domínio, o número de classes-chave encontrado foi de 8 classes. 2. Devido a sua natureza, a interface do sistema foi considerada apenas como GUI, recebendo como multiplicador o valor 2,5. 3. Foi determinado o número de classes de suporte, tendo como base o multiplicador escolhido na etapa anterior. Assim, multiplicando 8 x 2,5 obteve-se um total de 20 classes de suporte. 4. O número de total de classes (chave + suporte) é de 28 classes. 5. Como não há registros históricos anteriores, usa-se como base a sugestão da técnica de Lorenz &Kidd (15 a 20 dias/pessoa). Assim, determinou-se 15 dias/pessoa para o desenvolvimento de uma única classe. 6. Tendo como parâmetro 15 dias/pessoa para o desenvolvimento de uma classe, calcula-se 15 x 28, totalizando-se 420 dias/pessoa para a consecução do sistema. 7. Tendo em vista que o projeto é composto por 4 (quatro) integrantes, chega-se ao total de 105 dias para o desenvolvimento do projeto. Considerando as porcentagens de distribuição de componentes essenciais no projeto, sugeridas pelas diretrizes da Lacertae Software, os 105 dias estimados para o
  9. 9. desenvolvimento do projeto são distribuídos nas respectivas fases do projeto, mostradas na Tabela 03. Fase Estimativa Dias de Trabalho Planejamento 3% 105 x 3% = 3 dias Análise e Projeto 20% 105 x 20% = 21 dias Geração de Código 40% 105 x 40% = 42 dias Testes 37% 105 x 37% = 39 dias Tabela 03–Estimativa dos dias de trabalho por fase do projeto. O resultado obtido nessa estimativa aproximou-se a realidade do que ocorreu no projeto. Quando desenvolvido, o projeto foi executado em 240 dias, sendo que haviam duas pessoas no desenvolvimento. Isso dá um total 480 dias por pessoa. 2.4 Recursos do projeto Os recursos utilizados no projeto serão explanados nas sessões abaixo. Eles se subdividem em Recursos Humanos, Recursos de Software e Recursos de Hardware. 2.4.1 Recursos Humanos Com o objetivo de manter o bom relacionamento e a interatividade da equipe, será utilizada a Scrum como metodologia ágil de gerenciamento do projeto. Além disso será utilizada a XP como metodologia ágil de desenvolvimento que tem como característica principal a programação em pares. Com o objetivo de envolver todos os integrantes em todas as áreas da construção do software, o cronograma será dividido em quatro fases, onde todos passarão por todos os papéis, como segue nas Tabelas 04a a 04d abaixo. Sprint 1 Período: 13/01/2014 à 07/02/2014
  10. 10. Scrum Master Washington Silva Developer 1 Rodrigo Calheiros Developer 2 Felipe Carvalho Tester Ramon Ramos Tabela 04a–1ª Sprint de desenvolvimento. Sprint 2 Período: 10/02/2014 à 07/03/2014 Scrum Master Ramon Ramos Developer 1 Washington Silva Developer 2 Rodrigo Calheiros Tester Felipe Carvalho Tabela 04b–2ª Sprint de desenvolvimento. Sprint 3 Período: 10/03/2014 à 04/04/2014 Scrum Master Felipe Carvalho Developer 1 Ramon Ramos Developer 2 Washington Silva Tester Rodrigo Calheiros Tabela 04c–3ª Sprint de desenvolvimento. Sprint 4 Período: 07/04/2014 à 25/04/2014
  11. 11. Scrum Master Rodrigo Calheiros Developer 1 Felipe Carvalho Developer 2 Ramon Ramos Tester Washington Silva Tabela 04d –4ª Sprint de desenvolvimento. 2.4.2 Recursos de Software Para a construção do software serão utilizados alguns outros softwares que auxiliarão no processo de desenvolvimento. Dentro de um conjunto de softwares estão contidos editor de texto, servidor HTTP, máquina virtual, IDE de Desenvolvimento, entre outros. Apache Tomcat 7.0 - Servidor HTTP produzido pela Apache e distribuído como software livre. Java - Linguagem de programação utilizada no desenvolvimento do projeto. JRE - Máquina virtual Java. Eclipse Java EE IDE Kepler - IDE de codificação do software. Astah - Ambiente de modelagem dos diagramas UML. Microsoft Office Word –Editor de texto para a documentação do software. Open Project - Ambiente de gerenciamento e criação de cronogramas a serem executados durante o processo de desenvolvimento do software. Google Drive - Software de armazenamento em nuvem.
  12. 12. GIT- Sistema livre de controle de versão. GitHub - Armazenamento em nuvem do controle de versão implementado pelo GIT. 2.4.3 Recursos de Hardware Com o objetivo de centralizar os artefatos gerados no processo de desenvolvimento do software serão utilizados os serviços disponíveis na nuvem como Google Drive para o armazenamento da documentação do software, como também os diagramas gerados ao decorrer do desenvolvimento. O controle de versão será apoiado peloGitHub. Sendo assim, os computadores pessoais de cada membro da equipe seriam os únicos hardwares diretos necessários. 3. ANÁLISE E GESTÃO DE RISCOS Um risco é um problema em potencial, ou seja, um problema com certa probabilidade de acontecer que pode afetar de diversas formas o andamento do projeto. Todo projeto está sujeito a determinados riscos. Cada risco tem um percentual de chance de acontecer (sendo uns com maior e outros com menor possibilidade de ocorrência), e um determinado impacto sobre o projeto. É preciso conhecê-los e determinar as formas de minimizar a probabilidade de sua ocorrência, bem como o seu impacto, caso ele venha a acontecer. 3.1 Riscos do projeto Os riscos de um projeto podem ser distinguidos em riscos gerais (comuns a todo projeto) e riscos específicos (únicos de cada projeto). Os riscos gerais são listados na Tabela 05 abaixo
  13. 13. Risco Projeto Equipamento não disponível Requisitos incompletos Técnico Negócio Comum Especial X X X Uso de metodologias especiais X X Problemas na busca da confiabilidade requerida X X Retenção de pessoas chaves X X Subestimativas do esforço X X Tabela 05–Riscos gerais de um projeto de software. Avaliação global dos riscos: 1. O Gestor de Software dá suporte ao projeto? Sim. O gestor de software tem um papel importante para o bom andamento do projeto, e seu apoio tem sido fundamental durante a consecução do trabalho. 2. Os Clientes estão entusiasmados com o projeto e o produto? O cliente está muito interessado no produto pois a ferramenta automatizará o atual processo de controle dos leitos, o que evitará os frequentes erros incorridos pelo processo manual de trabalho. 3. Os Engenheiros de Software compreenderam bem os requisitos? Sim, os engenheiros compreendem bem os requisitos do projeto, pois estão participando desde o início do trabalho. 4. Os Clientes estiveram envolvidos na definição dos requisitos? Sim. Devido ao grande interesse no sistema, eles estiveram evolvidos durante a definição dos requisitos. 5. O âmbito do projeto é estável? Sim.
  14. 14. 6. Os engenheiros de Software têm as competências requeridas? Apesar de pouco experientes, os Engenheiros de Software tem como principal objetivo a busca por novas experiências e, consequentemente, o aumento de suas competências. 7. Os requisitos do projeto são estáveis? Os requisitos foram bem definidos no início do trabalho, porém algumas alterações foram solicitadas para melhor desenvolvimento do produto. A metodologia utilizada para o desenvolvimento do software visa lidar com essas mudanças de maneira que não impacte tanto no desenvolvimento do trabalho. 8. A Equipe de Desenvolvimento tem experiência na tecnologia a implementar? Não, poucos membros da equipe tem um boa experiência técnica profissional, já a maioria tem apenas experiência em desenvolvimento de trabalhos acadêmicos. 9. É adequado o número de pessoas da equipe de trabalho? Não. Apesar de o sistema não ser tão grande, é necessária a presença de mais uma pessoa na equipe, desde que esta seja experiente, devido à falta de experiência da equipe atual. 3.2 Tabela de riscos Para o desenvolvimento do software, alguns riscos foram identificados e classificados quanto a sua probabilidade e seu impacto no projeto. A Tabela 06 demostra os riscos com seus valores de probabilidade associados. Foi definido um ponto de corte abarcando os riscos moderados com probabilidade de ocorrência maior ou igual a 50%.
  15. 15. Nome do risco Probabilidade Impacto Desistência do cliente 10% Catastrófico Poucos programadores no 80% Crítico Requisitos mal compreendidos 60% Crítico Ausência de inspeções no processo de 50% Crítico 30% Crítico 80% Moderado 50% Moderado 50% Moderado 30% Moderado 20% Moderado Grande número de classes 20% Moderado Restrições governamentais 30% Marginal Grande volume de dados 25% Marginal Manutenção associada às tecnologias e 20% Marginal desenvolvimento software. Custos associados a um Produto defeituoso Ausência de ferramentas CASE adequadas para testes de software Dedicação integral dos desenvolvedores ao projeto Atraso na entrega Ponto de corte Disponibilidade do cliente para o desenvolvimento Falta de treinamento da equipe nas ferramentas de desenvolvimento
  16. 16. ferramentas livres Grande número de usuários 15% Marginal Ausência de integração das 50% Desprezível ferramentas de desenvolvimento Tabela 06–Tabela de riscos específicos. 3.3 Redução e Gestão do Risco Deve-se garantir a redução da probabilidade dos riscos identificados na seção anterior, bem como seu impacto em caso de ocorrência. Nas Tabelas 07a a 07h serão descritas as formas de redução além do plano de contingência necessário em caso de ocorrência. 1. Desistência do Cliente Probabilidade: 10% Impacto: Catastrófico Descrição: Insatisfação do cliente com o andamento do projeto ou desinteresse pode levá-lo a desistir do projeto. Estratégia de redução: Envolver o cliente em todas as fases do projeto, para que ele se sinta parte importante no processo de desenvolvimento, mostrando sempre a evolução do software. Plano de contingência:Fazer a prospecção de novos clientes durante o desenvolvimento do projeto Responsável: Washington Silva Status: Iniciado Tabela 07a–Estratégia de redução de riscos em caso de desistência do cliente.
  17. 17. 2. Poucos programadores no desenvolvimento Probabilidade: 80% Impacto: Crítico Descrição: O número de programadores no desenvolvimento do projeto deste software é pequeno. Estratégia de redução: Melhorar a produtividade dos programadores através de incentivos financeiros e pessoais ou contratar mais alguns programadores. Plano de contingência: Fazer com que os programadores alocados para o projeto participem somente deste projeto. Não iniciar projetos novos. Responsável: Felipe Carvalho Status: Iniciado Tabela 07b–Estratégia de redução de riscos em caso de haverem poucos programadores. 3. Requisitos mal compreendidos Probabilidade: 60% Impacto: Crítico Descrição: Diferentes stakeholderstêm em mente diferentes requisitos e podem expressá-los de maneiras distintas. Estratégia de redução: Combinar o uso das mais diversas técnicas de elicitação no processo de descoberta dos requisitos pelosstakeholders. Plano de contingência: Analisar com os stakeholders os artefatos oriundos da elicitação dos requisitos e encontrar os pontos comuns e os pontos conflitantes. Responsável: Ramon Ramos
  18. 18. Status: Em andamento Tabela 07c–Estratégia de redução de riscos em caso de ocorrência de requisitos mal compreendidos. 4. Ausência de inspeções no processo de software Probabilidade: 50% Impacto: Crítico Descrição: A inspeção de software pode não ser executada, geralmente, devido a atrasos no cronograma. Estratégia de redução: Não saltar etapas do processo de software estabelecido na Organização. O processo de software deve ser seguido. Plano de contingência: Intensificar os testes de sistema. Responsável: Ramon Ramos Status: Em andamento Tabela 07d–Estratégia de redução de riscos em caso de ausência de inspeções no processo de software. 5. Custos associados a um produto defeituoso Probabilidade: 30% Impacto: Crítico Descrição: Qualquer software possui erros. Com isso, as correções deles são custosas a depender de quando são encontrados. Além disso eles podem gerar grandes prejuízos a instituição usuária do software. Estratégia de redução: Enfatizar a fase de teste no processo de desenvolvimento de software. A equipe de teste deve testar exaustivamente o software sempre procurando pelos erros.
  19. 19. Plano de contingência: Focar a equipe desenvolvedora do software na resolução do erro. Responsável: Rodrigo Calheiros Status: Em andamento Tabela 07e–Estratégia de redução de riscos em caso de ocorrência de custos associados a um produto defeituoso. 6. Ausência de ferramentas CASE adequadas para testes de software Probabilidade: 80% Impacto: Moderado Descrição: O processo de gerar testes automatizados auxilia na produção de um software com mais qualidade. Neste contexto, a ausência de ferramentas CASE que dão suporte a essa atividade obriga a execução de testes manuais exaustivos. Estratégia de redução: Ter um enfoque na fase de testes, elaborando casos de teste que abranjam as possíveis entradas e combinações de entradas do software. Plano de contingência: Terceirizar o processo de testes do software. Responsável: Felipe Carvalho Status: Em andamento Tabela 07f–Estratégia de redução de riscos em caso de ausência de ferramentas CASE para testes de software. 7. Dedicação integral dos desenvolvedores ao projeto Probabilidade: 50% Impacto: Moderado
  20. 20. Descrição: A maioria dos integrantes não tem como se dedicar exclusivamente para o projeto, principalmente por questões de compatibilidade de horário com outros afazeres. Estratégia de redução: Tentar adequar o trabalho de cada um com o seu tempo disponível, sem que isto afete seu tempo de lazer. As atribuições de cada membro serão dividas de forma a não onerar o seu tempo de disponibilidade nem atrasar o andamento do projeto. Plano de contingência:Promover uma melhor remuneração e motivação aos desenvolvedores Responsável: Washington Silva Status: Em andamento Tabela 07g–Estratégia de redução de riscos em caso de ausência de dedicação integral dos desenvolvedores ao projeto. 8. Atraso na entrega Probabilidade: 50% Impacto: Moderado Descrição: É comum o atraso na entrega do software. Entretanto é algo que não deve acontecer. Esse é um risco que pode levar a descredibilidade da empresa desenvolvedora além de caracterizar uma quebra de contrato. Estratégia de redução: Planejar o desenvolvimento do software levando em conta todas as possíveis eventualidades, além de estimar com uma margem o tempo do desenvolvimento. Com esse planejamento a equipe deve seguir o cronograma e assim cumprir as atividades no tempo correto. Plano de contingência: Focar a equipe no projeto sem dispersar com outras atividades.
  21. 21. Responsável: Rodrigo Calheiros Status: Iniciado Tabela 07h–Estratégia de redução de riscos em caso de atraso na entrega. 4. PLANEJAMENTO TEMPORAL Nesta seção, são definidas as datas de execução das tarefas, bem como seus responsáveis. Para descrever esse aspecto temporal, foi elaborado o Diagrama de Gantt. 4.1 Conjunto de Tarefas do Projeto O modelo de ciclo de vida usado foi o processo iterativo incremental. Assim, as atividades de planejamento, levantamento de requisitos, análise, projeto, codificação e testes são executadas continuamente durante todo o ciclo de vida de desenvolvimento do software. 4.2 Diagrama de Gantt O cronograma extraído do diagrama de Gantté mostrado na Figura 01.
  22. 22. Figura 01 – Cronograma do diagrama de Gantt.
  23. 23. Uma visão mais detalhada do diagrama de Gantt pode ser vista no blogue da equipe FRRW Gerência: http://frrw-gerencia.blogspot.com.br/2014/01/diagrama-degantt-do-sisconi.html 5. ORGANIZAÇÃO DO PESSOAL Apesar da existência do gestor do projeto, toda decisão a respeito do trabalho é compartilhada com todos os envolvidos. Além disso, a equipe foi estruturada em papeis para melhor condução do projeto. 5.1 Estrutura da equipe O projeto será desenvolvido através de um processo iterativo e incremental. Dessa forma, foi preciso definir os papéis envolvidos no projeto, bem como o perfil necessário para o seu desempenho. Assim, os seguinte papeis e critérios foram especificados: Gerente de Projetos Será o responsável pela alocação de recursos, ajuste de prioridades, coordenação das interações entre clientes e usuários, e manter o foco da equipe na meta. O gerente de projeto também estabelece um conjunto de práticas que garantem a integridade e a qualidade dos artefatos do projeto. Para esse papel, algumas habilidades são de grande valia.Por exemplo experiência anterior em gerência de projetos, experiência em análise, gerenciamento de riscos, estimativas, planejamento e análise de decisões. Saber se apresentar e se comunicar de forma clara, ter a capacidade de liderança, bom relacionamento interpessoal e boa capacidade de gerenciamento de tempo também foram verificados. Arquiteto de Software
  24. 24. Este papel tem como objetivo liderar e coordenar as atividades e os artefatos técnicos no decorrer do projeto. Além disso, o arquiteto de software estabelece a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento dos elementos e as interfaces entre esses principais agrupamentos. Para esse papel, contam as habilidades como grande conhecimento geral, maturidade, visão e profunda experiência que permita identificar problemas rapidamente. Analista de Sistemas Terá a responsabilidade de liderar e coordenar a equipe na identificação de requisitos e na modelagem de casos de uso, delimitando o sistema e definindo sua funcionalidade. Como critério para escolha do integrante para este papel, qualidades como bom conhecimento do negócio e facilidade de comunicação foram observadas. Analista de Teste Será o responsável por identificar e definir os testes necessários, monitorar a abrangência dos testes e avaliar a qualidade obtida ao realizar os testes. Além disso, será responsável por desenvolver e testar componentes de acordo com os padrões adotados para o projeto, para fins de integração com subsistemas maiores. Para esse papel, foram observados as seguintes habilidades: boa habilidade analítica, atenção aos detalhes e tenacidade, entendimento de falhas de software comuns, conhecimento do domínio, conhecimento do sistema ou aplicativo em teste e experiência em vários esforços de teste. Com base nos papéis e habilidades descritas anteriormente, a alocação da equipe se dará como especificado na Tabela 08. Papel Gerente de Projetos Integrante Washington Silva
  25. 25. Analista de Sistemas Felipe Carvalho Arquiteto de Software Rodrigo Calheiros Analista de Testes Ramon Ramos Tabela 08–Equipe de desenvolvimento. 5.2 Mecanismos de comunicação Para a efetiva comunicação entre os participantes da equipe, diversas ferramentas foram abordadas. Dentre elas, é possível destacar: ● O e-mail foi a ferramenta mais utilizada, principalmente por sua onipresença entre os participantes. ● Ferramentas de colaboração como o Google Drive, que permitiu a confecção dos diversos documentos de trabalho, bem como a comunicação instantânea entre os participantes por meio do Google Hangout. ● Reuniões presenciais também serviram para tratar dúvidas e problemas relacionados com o projeto. 5.3 Uso do Edu-blog como ferramenta de apoio É uma ferramenta bastante simples e de acesso facilitado, que apoia a colaboração entre pessoas como fonte de disseminação de conhecimentos. A utilização do blog durante o desenvolvimento desse trabalho foi importante para o seu bom andamento. Um importante papel do blog foi compartilhar os conhecimentos por nós elencados, bem como compartilhar informações com outras equipes que serviram como base para a edição deste documento. 6. PRECAUÇÕES TOMADAS PARA ASSEGURAR E CONTROLAR A QUALIDADE DO PRODUTO DE SOFTWARE
  26. 26. A fim de assegurar a qualidade do software, algumas atividades foram desenvolvidas durante o projeto, sendo elas: Testes: Os testes de software foram elaborados e colocados em prática durante todo o ciclo de desenvolvimento do projeto. A contínua aplicação de testes permite que os defeitos sejam descobertos o mais cedo possível, causando assim um menor impacto nos custos de modificações do software. Isso se dá pelo fato de que quanto mais cedo um defeito é descoberto, mais fácil é de se consertá-lo. Seguimento e desenvolvidas controle durante do projeto todo o de software: ciclo de As atividades desenvolvimento são acompanhadas constantemente e todos os requisitos são validados com os clientes. Produção de documentação: Todas as informações obtidas nas etapas do desenvolvimento foram compiladas e documentadas. A produção de documentação fornece um parâmetro para avaliar o que foi feito na prática em comparação que foi descrito. Programação Pareada: É uma das técnicas de metodologias de desenvolvimento ágil como o XP. Através da programação pareada, um desenvolvedor escreve o código enquanto o outro analisa. Isso permite que o observador encontre erros que não foram percebidos por quem está escrevendo o código. Os papeis são trocados com frequência visando uma melhor produtividade.
  27. 27. 7. ANEXOS Figura 1.1 – Diagrama de Classes de domínio do SISCONI
  28. 28. Figura 1.2 – Diagrama lógico do banco de dados do SISCONI

×