Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Processos de Software Praxis – PRocesso para Aplicativos eXtensíveis InterativoS Allan Costa allancosta@ufpa.br Conteúdo O que é Engenharia de Software O que é um Processo? Introdução ao Praxis Trabalhos das próximas disciplinas Próximas aulas O que é Engenharia de Software? Sugestões? O que é Engenharia de Software? Explicação mais estruturada nas primeiras páginas do livro do Professor Wilson: Engenharia de Software – Fundamentos, Métodos e Padrões. O que é um Processo? Sugestões? O que é um Processo? “É um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações, usado para atingir uma meta” Processo de software Processos podem ser definidos para atividades como Desenvolvimento Manutenção Aquisição Contratação de software Objetivos de um processo Gerir os projetos Garantir a qualidade No desenvolvimento Na manutenção Desenhar os produtos Amadurecer os processos Exemplos de processos Processo Pessoal de Software (PSP) Processo de Software para Times (TSP) Processo Unificado (UP) RUP (Rational) EUP (Ambler) Praxis Dúvidas até agora? ? Praxis Praxis Processo para Aplicativos Extensíveis Interativos: processo de desenvolvimento de software; foco educacional; orientado a objetos; baseado em paradigmas de grande difusão: UML, CMM, UP, IEEE software standards. Praxis Objetivos de um processo educacional: exposição às técnicas mais relevantes; treinamento eficaz e eficiente. Públicos: cursos acadêmicos; programas de treinamento; organizações em via de melhoria de processos. Praxis Requisitos de um processo educacional: tempo de ciclo: tipicamente 6 meses a 1 ano; possibilidade de divisão do material entre módulos; padrões e práticas: exposição a paradigmas e padrões difundidos (UML, CMM, IEEE, ISO etc.); exposição a práticas industriais difundidas (JAD, inspeções etc.); Praxis – Interativo e incremental TEMPO Iteração 1 Req A&P Imp Tst Imp Iteração 2 Req A&P Imp Tst Imp Iteração 3 Req A&P Imp Tst Imp Conceitos importantes Fases Fluxos Técnicos Gerenciais Iteração Fases Divisão maior de um processo; Para fins gerenciais; Corresponde aos pontos principais de aceitação por parte do cliente. Fases Concepção decisão de desenvolver um produto; Elaboração dimensionamento firme; Construção entrega de produto completo Transição passagem ao ambiente de uso. Fases Concepção Elaboração Construção Transição Marcos principais escopo arquitetura operação entrega TEMPO Fluxos técnicos Requisitos Análise Desenho Implementação Testes Engenharia de sistemas Fluxos gerenciais Gestão de projetos: planeja e controla os projetos de software. Gestão da qualidade: verifica e assegura a qualidade; dos produtos e processos de software. Engenharia de processos: mantém, dá suporte e promove melhorias nos próprios processos de software Iteração AT - Ativação LR - Levantamento de Requisitos AR - Análise dos Requisitos DI - Desenho Implementável L1 – Liberação 1 L... - Liberação ... TA - Testes Alfa TB - Testes Beta OP - Operação Piloto Fases x Iterações IteraçãoFase Levantamento dos RequisitosElaboração Análise dos Requisitos AtivaçãoConcepção Fases x Iterações Liberação ... Testes Alfa Liberação 1 IteraçãoFase Testes BetaTransição Operação piloto Desenho ImplementávelConstrução Relação entre os conceitos Artefatos Documentos principalmente arquivos Word Modelos modelos Rational Rose códigos fonte códigos executáveis planilhas excel Relatórios principalmente planilhas excel Artefatos – Documentos permanentes Nome Sigla Descrição Proposta de Especificação do Software PESw Documento que delimita preliminarmente o escopo de um projeto, contendo um plano da fase de Elaboração. Especificação dos Requisitos do Software ERSw Documento que descreve, de forma detalhada, o conjunto de requisitos especificados para um produto de software. Plano de Desenvolvimento do Software PDSw Documento que descreve, de forma detalhada, os compromissos que o fornecedor assume em relação ao projeto, quanto a recursos, custos, prazos, riscos e outros aspectos gerenciais. Plano da Qualidade do Software PQSw Documento que descreve, de forma detalhada, os procedimentos de garantia da qualidade que serão adotados no projeto. Descrição do Desenho do Software DDSw Documento que descreve, de forma detalhada, os aspectos mais importantes do desenho do software. Descrição dos Testes do Software DTSw Documento que descreve, de forma detalhada, os planos e especificações dos testes que serão executados Manual do Usuário do Software MUSw Documento que serve de referência para uso do produto. Artefatos – Modelos permanentes Nome Sigla Descrição Cadastro dos Requisitos do Software CRSw Modelo que contém os requisitos levantados, assim como referências aos itens correspondentes dos modelos seguintes. Modelo de Análise do Software MASw Modelo que detalha os conceitos do domínio do problema resolver que sejam relevantes para a validação dos requisitos. Memória de Planejamento do Projeto do Software MPPSw Modelo que contém a informação necessária para o planejamento e acompanhamento de tamanhos, esforços, custos, prazos e riscos do projeto. Modelo de Desenho do Software MDSw Modelo que detalha a estrutura lógica e física do produto, em termos de seus componentes. Bateria de Testes de Regressão do Software BTRSw Conjunto dos scripts dos testes de regressão. Códigos Fontes do Software CFSw Conjunto dos códigos fontes produzidos. Códigos Executáveis do Software CESw Conjunto dos códigos executáveis produzidos. Artefatos – Relatório Nome Sigla Descrição Relatórios dos Testes do Software RTSw Conjunto dos relatórios que descrevem os resultados dos testes realizados. Relatórios de Revisão do Software RRSw Conjunto dos relatórios que descrevem as conclusões das revisões realizadas. Relatórios das Auditorias da Qualidade do Software RAQSw Conjunto dos relatórios que descrevem as conclusões das auditorias da qualidade realizadas. Relatórios de Acompanhamento do Projeto do Software RAPSw Conjunto dos relatórios de acompanhamento do projeto, que relatam esforços, custos, prazos e riscos do período relatado, comparados com o que foi planejado. Relatório Final do Projeto do Software RFPSw Relatório de balanço final do projeto. Principais artefatos MASw ERSw MDSw Código executável MPPSw RAPSw Plano de testes etc... Atividades – Diagrama simplificado Trabalhos futuros Próximas disciplinas EPSI Artefatos: PESw, ERSw, MASw, RIPSw Início: Concepção Término: Elaboração (AR) EPSII Artefatos: o resto todo Início: Elaboração (AR2) Término: Construção (TA) Próximas disciplinas GPSI GPSII Praxis X Merci Praxis é um processo de desenvolvimento de software Merci é um software desenvolvido utilizando o processo Praxis Os gabaritos são esqueletos a serem utilizados para desenvolver um novo software usando o Praxis Trabalhos futuros - Objetivo Aprender e vivenciar os benefícios de se utilizar os preceitos de Engenharia de Software e do processo Praxis NÃO é demonstrar que o software implementado funciona! Trabalhos futuros - Estrutura Turma dividida em grupos. Cada grupo desenvolve um tópico pré- definido EPSI – Levantamento e Análise de Requisitos do produto completo EPSII – somente uma parte dos requisitos analisados terá continuidade Trabalhos futuros - Estrutura Serão exercitados principalmente os fluxos técnicos Pouco exercício dos fluxos gerenciais e de qualidade Trabalhos futuros - Dicas Grandes. Muito grandes! Essencial: Entendimento de todos os artefatos por todos os membros dos grupos Participação de todos os membros do grupo Não deixar para a última hora! Trabalhos futuros - Dicas Utilizar as listas de conferência, ainda que sua entrega não faça parte do escopo do trabalho. Diferenças entre plural-singular, maiúsculas-minúsculas são erros. Trabalhos futuros - Correções Valor inicial = total Cada erro desconta determinada pontuação de acordo com gravidade Os erros mais fáceis de encontrar são considerados mais graves. Praxis é um processo didático. Portanto, erros de itens das listas de conferência são graves e serão CERTAMENTE avaliados. Trabalhos futuros - Correções É imprescindível a consistência absoluta entre os artefatos anexados e os elementos do modelo Próximas aulas UML Ferramentas Rational Rose Borland JBuilder Praxis (biblioteca) JUnit (arcabouço para testes de software) Dúvidas? ?