250 likes | 377 Views
RUPinho. Qualidade de Software. César Delmas, Daniel Penaforte, Guilherme Carvalho, Hector Paulo, Thiago Cavalcanti {cadcn, dap4, ggc, hplo, trc}@cin.ufpe.br. Roteiro. Objetivo.
E N D
RUPinho Qualidade de Software César Delmas, Daniel Penaforte, Guilherme Carvalho, Hector Paulo, Thiago Cavalcanti {cadcn, dap4, ggc, hplo, trc}@cin.ufpe.br
Objetivo • Estruturação de um processo que possibilite pequenas empresas, trabalhar de maneira organizada do ponto de vista de planejamento, execução e controle.
Caracterização do ambiente • Características • Empresas de 5 a 20 funcionários • Menos de dois anos de atuação • Pouca experiência em processo de software • Problemas • Comunicação • Inadequação de documentação • Infra-estrutura inadequada
Origem • RUP (Rational Unified Process) • Orientado a objetos: UML • Fases: concepção, elaboração, construção e transição • 4P’s: pessoas, projeto, produto e processo • ProsCes (Processo do CESAR) • Baseado no RUP • Geração de artefatos • Orientado por Guias
Características • Agilidade • Informações certas, para as pessoas certas, nas horas certas. • Documentação reduzida • Redução tanto no número de documentos, quanto no escopo dos documentos adotados. • Baixo custo • Uso de ferramentas free
Etapas • Modelagem do Negócio • Planejamento e Gerenciamento de Projetos • Requisitos • Análise e Projeto • Implementação • Teste • Implantação • Controle da qualidade
Estrutura • Resumo do objetivo do fluxo • As principais atividades a serem realizadas • Os artefatos (obrigatórios e opcionais) recomendados e gerados no fluxo • Os templates e guias necessários para produzir esses artefatos
Modelagem do Negócio/Concepção • Objetivos • Conhecer o contexto. • Mudar o contexto trabalhado. • Atividades • Reuniões com representantes do cliente. • Identificar stakeholders • Identificar e priorizar processos derivado do negócio. • Artefatos • Modelo de Casos de Uso do Negócio/Acordo de Concepção
Planejamento e Gerenciamento de Projetos (1/4) • Objetivos • Prover um processo de planejamento, execução, monitoração e conclusão do projeto • Estabelecer um processo de gerenciamento de riscos • Garantir que o projeto seja executado conforme planejado, com o mínimo possível de impacto • Estabelecer e manter o processo de desenvolvimento adequado ao projeto, com base no processo de software organizacional
Planejamento e Gerenciamento de Projetos (2/4) • Atividades • Definir responsabilidades, atividades e recursos necessários para o desenvolvimento do projeto • Identificar e gerenciar riscos • Controlar o desenvolvimento baseado no Plano do Projeto • Definir ferramentas e infra-estrutura necessárias • Selecionar procedimentos e padrões a serem utilizados • Formalizar a aceitação da entrega ao cliente de artefatos desenvolvidos no projeto • Formalizar a conclusão do projeto
Planejamento e Gerenciamento de Projetos (3/4) • Artefatos • Formulário de Abertura de Projetos • Plano do Projeto • Planilha de Gerência de Riscos • Relatório de Conclusão de Projetos • Ferramentas • Planilha de Estimativa e Acompanhamento de Custos • Cronograma • Lista de e-mail do projeto • Site do Projeto • [dotProject]
Planejamento e Gerenciamento de Projetos (4/4) • Documentos Relacionados • Resumo sobre a técnica de estimativa por pontos de caso de uso • Manual do dotProject
Requisitos (1/2) • Objetivos • Obter uma concordância com o cliente sobre o que o sistema "deve fazer" • Delimitar o escopo do sistema • Prover a base para o planejamento do desenvolvimento do sistema
Requisitos (2/2) • Atividades • Reuniões com representantes do cliente a fim de obter um entendimento comum dos requisitos do sistema • Identificar atores, requisitos e/ou casos de uso • Especificar requisitos e/ou casos de uso • Modelar e implementar protótipo • Artefatos • Documento de Requisitos • Documento de Caso de Uso
Análise e Projeto (1/2) • Objetivos • Transformar os requisitos no projeto do sistema • Estabelecer uma arquitetura robusta • Adaptar o projeto ao ambiente de implementação • Atividades • Analisar e projetar sistema • [Detalhar classes e subsistemas] • Definir arquitetura do software
Análise e Projeto (2/2) • Artefatos • [Modelo de Análise e Projeto] • [Modelo de Dados] • [Documento da Arquitetura] • Ferramentas • [Ferramenta CASE] • [Modelagem do Banco de Dados]
Implementação (1/2) • Objetivos • Implementar classes e objetos em termos de componentes • Testar os componentes desenvolvidos como unidades • Integrar os componentes produzidos em um sistema executável
Implementação (2/2) • Atividades • Estruturar o modelo de implementação • Planejar integração • Implementar componentes • Efetuar testes unitários • Efetuar revisões de código • Ferramentas • Open source
Testes (1/2) • Objetivos • Verificar a integração de todos os componentes de software • Verificar se todos os requisitos estão corretamente implementados • Identificar e garantir que defeitos sejam solucionados antes da disponibilização do sistema
Testes (2/2) • Atividades • Projetar testes • Efetuar testes de integração, de sistema e de desempenho • Artefatos • [Plano de Testes] • Ferramentas • Variam de acordo com ambiente
Implantação(1/2) • Objetivos • Distribuição do produto para o cliente. • Atividades • Preparar software para implantação • Disponibilizar o sistema em ambiente de produção • Disponibilizar help e suporte ao usuário • Migrar dados pré-existentes • [Planejar e conduzir beta-testes]
Implantação(2/2) • Artefatos • Plano de Implementação • Help • Relatório de Avaliação Final do Cliente • Documentos Relacionados • Plano de Implementação
Controle da qualidade • Produtividade • Conformidade do cronograma • Satisfação • Análises qualitativas e quantitativas • Aplicabilidade • Cobertura do processo • Coerência do esforço