Motivação e Definições Iniciais

Tamanho: px
Começar a partir da página:

Download "Motivação e Definições Iniciais"

Transcrição

1 Organização Processo de Software Introdução Parte I Processo de Software Motivação e Definições Iniciais CMM e mpsbr Definições Modelos de Processo de Software Modelo Sequencial Linear Modelo de Prototipagem Modelo RAD Modelos Evolucionários: Espiral Desenvolvimento baseado em componentes Parte II Processo Unificado 2 Processo de Software Motivação e Definições Iniciais Processo de Software Definições (Sommerville) Processo de Software Conjuntos de atividades para especificação, projeto, implementação e teste de sistemas de software Modelo de Processo de Software Um modelo de processo de software é uma representação abstrata de um processo. Apresenta a descrição de um processo a partir de uma perspectiva particular. 4

2 Motivação Adicional Motivação Adicional Processos vem sendo propostos pela indústria, países e academia Análise Estruturada (Yourdon, Gane) Objectory (Jacobson) V-Model (Alemanha) Rational Unified Process - RUP XP - extreme Programming 5 Processos vem sendo propostos pela indústria, países e academia Rational Unified Process (A&D Workflow) NetBeans Release Management (in OPEN SOURCE SOFTWARE DEVELOPMENT PROCESS MODELING, Lonchamp, 2005) 6 Processo de Software Processo de construção de um prédio Atividades Processo de Software dados relatórios procedimentos restrições Modelo de Processo de Software Atividades Software Problema Solução Problema Solução 7 8

3 Processo de Software Processo de Software Paradoxo: Para todos os programas construídos há a necessidade de se entender os requisitos e o processo de negócio do contratante Na grande maioria das situações não há documentação de como a organização de desenvolvimento de software vai agir para atender a requisição Se a organização não sabe nem como trabalha, como vai descrever soluções para terceiros? Modelo e Processo de Software Processo de Sw: o que acontece na realidade Modelo de Processo de Sw: representação abstrata daquilo de como proceder ou do que ocorreu em um processo 9 10 Processo de Software Processo de Software 2ª definição para Processo de Software Todos os elementos do mundo real envolvidos no desenvolvimento e manutenção de um produto de software Inclui os recursos, ferramentas, atividades, artefatos e organização (Derniame, 1998 apud GDPA) Fases Genéricas do Processo de Sw Fase de Definição: o quê Engenheiro de Software tenta identificar: que informação deve ser processada, que função e desempenho são desejados, que comportamento deve ser esperado do sistema, que interfaces devem ser estabelecidas, quais restrições de projeto, quais critérios de validação Os requisitos-chave do sistema e do software são identificados 11 12

4 Processo de Software Fases Genéricas do Processo de Sw Fase de Desenvolvimento: como Definição de como os dados devem ser estruturados, como a função deve ser implementada dentro da arquitetura do software, como os detalhes procedimentais devem ser implementados, como as interfaces devem ser caracterizadas, como o projeto deve ser traduzido em linguagem de programação, e como o teste deve ser realizado Processo de Software Fases Genéricas do Processo de Sw Fase de Manutenção: modificações Tipos: Corretiva, Adaptativa, Perfectiva e Preventiva Reengenharia é um tipo de manutenção que normalmente implica ou deriva da reengenharia dos processos de negócios da organização usuária Motivação Crise do Software 30% dos projetos de software são cancelados antes de sua conclusão Do restante, 70% não atendem as expectativas Em média, os projetos ultrapassam em 189% seus orçamentos e em 220% seus cronogramas (The Standish Group, numa análise de 8000 projetos em 352 empresas) Motivação Causas para a Crise do Software Freqüentemente o problema não é tecnológico As ferramentas disponíveis são boas e bem documentadas Os profissionais são bem treinados, estão disponíveis em boa quantidade e definitivamente sabem utilizar as ferramentas disponíveis Problemas nos profissionais Baixa capacidade de comunicação e dificuldade para trabalho em grupo Gerente incapaz de obter feedback acerca do andamento Na maioria das situações, o processo de software é inexistente 15 16

5 Motivação Evolução do desenvolvimento de software (Antigamente) Atividade solitária, onde o sucesso era determinado por bons analistas/programadores com domínio da tecnologia envolvida O cliente possuía pouco domínio da tecnologia envolvida O software desenvolvido normalmente estava relacionado com as atividades-meio do cliente Exemplos: Folha de pagamento, Controle de Patrimônio Distribuição de dados e aplicações era limitada ao domínio físico de redes locais Desenvolvimento de software - um tipo de Arte Motivação Evolução do desenvolvimento de software (Hoje) Grande quantidade e variedade de profissionais Ex: Designers, DBA, Especialistas em web, Programação de sistemas distribuídos O cliente possui domínio acerca da tecnologia Software desenvolvido para atividades-fim Aplicações críticas para o negócio do cliente Exemplo: e-business Distribuição de dados e aplicações: Internet Desenvolvimento de software Exigência de abordagem metodológica por parte do cliente Empresas espalhadas em diferentes regiões Motivação Crescente importância de métodos para avaliação da qualidade de software baseados no processo Capability Maturity Model (SEI-CMM) e SPICE (ISO) Avalia uma organização segundo: capacidade de produzir resultados planejados maturidade, a qual indica o crescimento contínuo da capacidade; Qualidade na definição do processo é um dos elementoschave para que uma organização possa atingir melhores níveis de maturidade; Utilizado por governos e empresas para a contratação de serviços CMM CMM-SW, CMMi Processo de Software 19

6 Motivação Capability Maturity Model CMM Capability Maturity Model for Software Desenvolvido em 1987 pelo SEI - Software Engineering Institute, filiado à Universidade Carnegie Mellon. Avalia uma organização pela sua capacidade de produzir resultados planejados e pela sua maturidade, a qual indica o crescimento contínuo desta capacidade. 1991, segunda versão: Modelo de Capacidade da Maturidade do Processo Um dos requisitos para se obter maturidade no modelo SEI é o amplo suporte à gerência do processo CMM Nível Inicial Processo de desenvolvimento caótico; Falta de integração; Sucesso dos projetos se deve a esforços heróicos; Diante de uma crise, a organização abandona os procedimentos definidos e reverte à codificação e testes. Chega desse negócio de projeto! Estamos atrasados! Vamos COMEÇAR A PROGRAMAR!!! CMM Nível Repetível Gerência do projeto, segurança do produto e controle de mudanças já estabelecidos; A organização cumpre seus prazos e orçamentos; Sucesso através de administração de projetos básica, convencional; Se o gerente de projetos deixar essa organização, os projetos poderão cair por terra

7 CMM Nível Definido CMM Nível Gerenciado Estabelecimento de um Grupo de Processo de Engenharia de Software responsável por: focalizar e cobrir os esforços de melhoria do processo; manter a gerência informada do estado desses esforços facilitar a introdução de métodos e técnicas de engenharia de software. O processo foi codificado e institucionalizado Existe um processo formal definido que todos seguem Constante possibilidade de melhoria do processo; Falta de avaliação da eficiência Conjunto de métricas de qualidade e produtividade foi estabelecido; Banco de dados do processo com análises de recursos e experiências disponíveis para consulta; Ênfase na coleta de métricas para melhorar a qualidade tanto do processo quanto do produto CMM Nível Otimizado CMM A organização possui Know-how para identificar seus elementos de processo mais fracos e reforçá-los; Disponibilidade de dados para justificativa da aplicação da tecnologia; Coleta de dados automatizada (ou parcialmente); A gerência preocupa-se com a melhoria do processo ao invés de com os reparos nos produtos; Análise rigorosa da causa dos defeitos e prevenção de falhas. Considerações Cadanívelforma umaplataformanecessáriaparao próximo; Brasil: crescente número de organizações nos níveis 2 e 3; Para alcançar níveis elevados de maturidade, a organização deve preocupar-se com a gerência e o controle do processo; Compradores: Avaliação dos fornecedores Requisitos para exportação de software para governo EUA 27 28

8 Processo de Software CMM Certificação Evolução da maturidade CMM CMM Organizações maduras Organizações imaturas Papéis e responsabilidades bem definidos Existe base histórica A qualidade dos produtos e processos é monitorada O processo pode ser atualizado Existe comunicação entre o gerente e seu grupo Construir software consiste na aplicação de técnicas Processo improvisado Não existe base histórica Qualidade e funcionalidade do produto sacrificadas Não há rigor no processo a ser seguido Resolução de crises imediatas Construir software é arte Nível CMM Foco Áreas-chave de processo Inicial Pessoas competentes e heróis - Gerenciamento de requisitos Repetível - Planejamento do projeto Processos de - Visão geral e acompanhamento do projeto gerenciamento - Gerenciamento de subcontratados de projetos - Garantia da qualidade do software - Gerenciamento de configuração Definido Gerenciado Otimizado Processos de engenharia e apoio Qualidade do produto e do processo Melhoramento contínuo do processo - Definição do processo organização - Programa de treinamento - Gerenciamento de software integrado - Engenharia de produto de software - Coordenação intergrupos - Revisão conjunta - Gerenciamento quantitativo dos processos - Gerenciamento da qualidade de software - Prevenção de defeitos - Gerenciamento de mudanças tecnológicas - Gerenciamento de mudanças no processo 31 32

9 mpsbr mpsbr Processo de Software O mpsbr é um projeto estruturante que vai promover a qualificação de um grupo amplo de empresas compatível com os padrões de qualidade aceitos internacionalmente pela comunidade de software, a custos acessíveis para a grande maioria das empresas brasileiras, sendo adequado ao perfil e cultura das empresas de software do país. Página do Softex 34 mpsbr mpsbr A divisão em estágios, embora baseada nos níveis de maturidade do CMMISE/SWSM tem uma graduação diferente, com o objetivo de possibilitar uma implementação e avaliação mais gradual e adequada às pequenas e médias empresas. A possibilidade de se realizar avaliações considerando mais níveis permite uma visibilidade dos resultados de melhoria de processos com prazos mais curtos

10 Definições Definições Processo de Software Conjunto de todas as atividades realizadas no contexto de um projeto de desenvolvimento de software [GRUHN04] O conjunto de atividades necessárias para transformar os requisitos do usuário em software. [HUM89d] O uso de um processo de software bem definido (automatizado ou não) leva à redução dos custos de produção, bem como à melhoria da qualidade e integridade do software [GIM94]. 38 Processo de Software Acompanhamento do progresso de projetos Você entende meu problema e minhas necessidades? Você pode projetar um sistema que resolverá meu problema ou satisfará minhas necessidades? Quanto tempo você levará para desenvolver meu sistema? Quanto irá custar o desenvolvimento desse sistema? Processo de Software Entretanto... A definição de um processo não é bala de prata! A existência prática com processos bem definidos é necessária para a maturidade das organizações Porém, processos rigorosamente definidos mas não alinhados com os objetivos da organização são entraves burocráticos, e não fatores de produção 39 40

11 Definições Atividades guarda-chuva: transversais às demais etapas Acompanhamento e controle do projeto de software Revisões técnicas formais Garantia de qualidade de software Gestão de configuração de software Preparação e produção de documentos Gestão de reutilização Medição Gestão de Risco 41 Definições Caracterização Estrutura comum de processo Conjuntos de Tarefas Tarefas Marcos, produtos finais ou intermediários sujeitos a entrega Pontos de garantia de Qualidade de software Atividades guarda-chuva 42 Definições Definições Estrutura Comum de Processo É estabelecida definindo um pequeno número de atividades que são aplicáveis a todos os projetos de software, independente de seu tamanho ou complexidade Estrutura comum de processo Conjuntos de Tarefas Tarefas Marcos, produtos finais ou intermediários sujeitos a entrega Pontos de garantia de Qualidade de software Conjuntos de Tarefas Permite que as atividades da estrutura sejam adaptadas às características do projeto e às necessidades da equipe de projeto Estrutura comum de processo Conjuntos de Tarefas Tarefas Marcos, produtos finais ou intermediários sujeitos a entrega Pontos de garantia de Qualidade de software Atividades guarda-chuva Atividades guarda-chuva 43 44

12 Definições Atividades guardachuva Garantia de qualidade Gestão de configuração de software Medição Estrutura comum de processo Conjuntos de Tarefas Tarefas Marcos, produtos finais ou intermediários sujeitos a entrega Pontos de garantia de Qualidade de software Atividades guarda-chuva Modelos de Processo de Software 45 Modelos de Processo de Software Registro histórico da prática passada e roteiro para o futuro Todo processo pode ser caracterizado como um ciclo: Situação atual: o estado atual das coisas Definição do problema: identifica o problema específico a ser resolvido Desenvolvimento Técnico: resolve o problema Integração da solução: entrega os resultados Situação status Atual quo Definição problem do definition Problema solution Integração integration Desenvolvimento technical development Técnico Modelos de Processo de Software Modelos Genéricos Modelo Cascata (ou Modelo Sequencial Linear) Etapas separadas e distintas para especificação e desenvolvimento Prototipagem Modelo RAD Desenvolvimento formal de sistemas Um modelo de sistema matemático é transformado ou orienta a implementação Desenvolvimento orientado a reuso O sistema é construído a partir de componentes existentes Processos baseados em Iteração Incremental Espiral 47 48

13 Modelo de Processo vs Projetos Diferentes níveis de detalhe Organização Definição de metas Exemplos: diminuir a taxa de defeitos lucro maior que X Definição de Atividades COMO Definição de Artefatos COMO Com ainda + detalhe! Cascata Modelo Cascata Modelos de Processo de Software 52

14 Cascata Cascata O processo Cascata está associado às metodologias propostas nas décadas de Principais problemas Projetos reais raramente seguem o fluxo seqüencial Dificuldade em congelar os requisitos no início e em acomodar mudanças dinâmicas O cliente precisa ter paciência Notadamente as metodologias Estruturadas Yourdon Indicado somente quando os requisitos são bem conhecidos Pode ser usado em trabalhos acadêmicos com etapas bem definidas de levantamento bibliográfico Constantine Chris Gane Raramente é usado na prática, apenas quandos os requisitos são muito bem definidos Page-Jones Prototipagem Pressupostos Prototipagem O Cliente normalmente: define um conjunto de objetivos gerais para o software, Modelos de Processo de Software mas não identifica detalhadamente os requisitos de entrada, processamento ou saída 56

15 Prototipagem Prototipagem Ouvir o cliente Cliente avalia o protótipo Construir e/ou Revisar o protótipo Vantagens O progresso é visível e rápido nas primeiras iterações É um método indicado para validar requisitos de interação com o usuário Problemas O cliente vê o que parecer ser uma versão executável do software, ignorando que o protótipo funciona de maneira precária O desenvolvedor freqüentemente faz concessões na implementação a fim de conseguir rapidamente um protótipo executável RAD RAD Modelos de Processo de Software Desenvolvimento rápido de aplicação Incremental, com ciclo curto É uma adaptação de alta velocidade do modelo seqüencial linear, no qual a rapidez é obtida com componentes Fases Modelagem do negócio Modelagem dos dados Modelagem do processo Geração da aplicação Teste e entrega 60

16 Uma seqüência para cada módulo por equipe team #1 business modeling data modeling team #2 business modeling data modeling process modeling team #3 business modeling data modeling process modeling application generation process modeling application generation application generation testing & turnover testing & turnover testing & turnover RAD Principais desvantagens Nem todos os tipos de aplicação são apropriados para o RAD. Se o sistema não puder ser adequadamente modularizado, a construção e seleção de componentes será problemática Não é adequado quando são enfrentados riscos técnicos elevados Por exemplo, adoção profunda de uma nova tecnologia days Desenvolvimento Evolucionário Modelo Incremental Modelo Espiral Modelos de Processo de Software Desenvolvimento Evolucionário Para a maioria dos grandes sistemas, existe a necessidade de utilizar diferentes abordagens para diferentes partes do sistema Abordagem híbrida Iteração repetir partes do processo à medida que os requisitos do sistema evoluem Por exemplo, deve-se refazer (ou complementar) o projeto do sistema e sua implementação para incluir novos requisitos Cada ciclo desenvolve uma versão mais completa 64

17 Desenvolvimento Evolucionário Sommerville: Descrição geral Rascunho Outline description inicial Atividades Concurr ent Concorrentes activities Especificação Specification Desenvolvimento Development Validation Validação Versão Initial version inicial Intermediate Versões intermediárias versions Versão Final version final Desenvolvimento Evolucionário - Incremental Modelo Incremental Combina Cascata com Prototipagem Cada seqüência produz um incremento Exemplo: Processador de Texto 1o release: gestão básica de arquivos, edição e produção de documentos (núcleo do produto) 2o: capacidades mais sofisticadas de edição 3o: verificação sintática e gramatical 4o: capacidade avançada de disposição de página System/information engineering Desenvolvimento delivery Evolucionário of analysis design code test increment 2 increment 1 analysis design code test increment 3analysis design code test increment 4 1st increment delivery of 2nd increment delivery of 3rd increment analysis design code test delivery of 4th increment Desenvolvimento Evolucionário - Incremental Vantagens Os clientes não precisam esperar até que todo o sistema seja entregue, para então tirarem proveito dele. O primeiro estágio deve satisfazer os requisitos mais importantes e, assim, o software pode ser imediatamente usado Os clientes podem utilizar os primeiros incrementos como um protótipo e obter uma experiência que forneça os requisitos para estágios posteriores Existe um risco menor de fracasso completo do sistema calendar time 67 68

18 Desenvolvimento Evolucionário - Incremental Problemas Pode ser difícil mapear os requisitos para incrementos específicos É difícil identificar facilidades comuns que todos os incrementos exijam Desenvolvimento Evolucionário -Espiral Espiral Proposto Boehm (1988) O processo não é descrito como uma seqüência de atividades (com eventuais retornos) O processo é representado como uma espiral, onde cada loop representa uma fase do processo Desenvolvimento Evolucionário -Espiral O Processo Espiral é similar ao Incremental mas Desenvolvimento Evolucionário -Espiral Visão geral do processo Cada ciclo produz algo a ser avaliado não necessariamente código Gerência de Riscos embutida no processso Ao final de cada loop é perguntado Devemos continuar? 71 72

19 Desenvolvimento Evolucionário -Espiral Desenvolvimento Evolucionário -Espiral Setores da Espiral Definição de objetivos Especificação de objetivos para a fase Identificação e Redução dos Riscos Riscos são identificados e as atividades são levantadas para tratálos Desenvolvimento e Validação Um modelo de desenvolvimento para o sistema é escolhida Pode ser qualquer um dos modelos genéricos Planejamento O projeto é revisado Se a decisão for continuar, um novo loop da espiral é planejado Desenvolvimento orientado a reuso Desenvolvimento orientado a reuso Baseia-se na reutilização sistemática onde sistemas são integrados a partir de Componentes existentes (in-house) Componentes de prateleira [COTS (Commercial-offthe-shelf)] Estágios do processo Análise dos componentes Projeto de sistema com reuso Desenvolvimento e integração Processo promissor, mas existe pouca experiência 76

20 Desenvolvimento orientado a reuso Especificação de Requisitos Análise de Componentes Desenvolvimento orientado a reuso Catalysis: Reuso baseado em componentes Requirements Analysis Design Implementation Modificação de Requisitos Biz Problem New New New New Solution Modificação de Requisitos Assemble Assemble Assemble Assemble Projeto do Sistema com Reuso Desenvolvimento e Integração Reuse Process Validação Desenvolvimento orientado a reuso Catalysis: Reuso baseado em componentes Desenvolvimento orientado a reuso Catalysis: Reuso baseado em componentes Business context, problem definition, solution constraints Analyze, design, build, test cycles 79 Deliver solutions 80

21 Agenda Processo Unificado Introdução e Variações Processo Unificado (USDP) Definições RUP x USDP Características do Processo Unificado Descrição detalhada do Processo Unificado Processos Derivados Conclusões 82 Processo Unificado Processo Unificado Histórico e Definições RUP x USDP Características do Processo Unificado Definição principal O processo oficial definido para apoiar o uso da UML Necessidade a partir do sucesso da UML como padrão de fato para especificação de software 84

22 Processo Unificado Processo Unificado Histórico: UML Histórico: Processo Unificado Unified Modeling Language (UML) Linguagem visual para sistemas orientados a objetos Unified Method 0.8: 1995 Bases históricas do Processo Unificado Processo Espiral Iteratividade Gerência de riscos Padrão de fato e de direito UML foi proposta somente como uma linguagem, sem orientação de uso (i.e., sem um processo) Processo Unificado Processo Unificado Histórico: Processo Unificado O que é o Processo Unificado? Pode ter 2 respostas: Bases históricas do Processo Unificado Processo Objectory Modelo de Processo Padrão Produto comercial da IBM/Rational Proposto por Jacobson et al Processo direcionado pelos Casos de Uso 87 88

23 Processo Unificado: Introdução Definições: o que é Processo Unificado...Modelo de Processo Padrão Descrição de atividades que compõem um processo que adota UML Mais simples que a proposta da Rational Processo Unificado: Introdução Definições: O que é Processo Unificado...Produto comercial Desenvolvido e mantido pela Rational Integrado a suite de produtos Disponível em CD-ROM / Internet Conhecido como Rational Unified Process E-coach: treinamento a distância Para o treinamento online, clicar em Trials & Betas RUP em Português Versão não-oficial disponível em

24 Descrição do artefato Vision

25 Gabarito do artefato de Visão (projetos pequenos) Processo Unificado Estrutura do Processo Unificado Estrutura do Processo Unificado Processo Iterativo, baseado no modelo Espiral Iterativo: baseado em sucessivas versões Espiral: inclui análise de riscos 100

26 Processo Unificado O que é um processo iterativo na prática? Produção de sucessivas versões de artefatos Repetição de um ciclo, onde em cada volta são avaliados novos requisitos Processo Unificado Processo Centrado em Casos de Uso Modelo Temporal 1. ok 2. ok 101 Modelo de Componentes Modelo de Dados 3. falha 4. ok Modelo de Testes 102 Processo Unificado Estrutura do Processo Unificado Processo Unificado Estrutura do Processo Unificado componentes do processo agrupados logicamente em workflows tempo 103 Uma iteração 104

27 Fases/Etapas Milestones 105 Iniciação Iniciação

28 Elaboração 109 Construção 110 Workflows Transição 111

29 Workflow de Requisitos Workflow de Análise e Projeto Workflow de Implementação Workflow de Testes

30 Workflow de Implantação Descrição de Atividades 117 Realizar síntese arquitetural Analisar o Problema

31 Processo Unificado: detalhamento das etapas Processo Unificado: detalhamento das fases Iniciação Elaboração Construção Transição 122 Processo Unificado: detalhamento das fases Iniciação Objetivos Estabelecer escopo do projeto e condições de fronteira Descrever os casos de uso críticos do sistema Descrever pelo menos uma arquitetura candidata para os principais casos de uso Estimar o custo e cronograma para a Elaboração Estimar riscos (fontes de incerteza) Iniciação Elaboração Construção Transição Processo Unificado: detalhamento das fases Iniciação Atividades Descrever o escopo do projeto Capturar o contexto na forma de requisitos e restrições para determinar um critério de aceitação do produto final Planejar e preparar o Plano de Negócios Avaliação de riscos, staff, plano de projeto e relações entre custo, cronograma e lucro Preparar uma arquitetura candidada Avaliar alternativas de projeto (atividade pode ser suprimida se o sistema não possui novidades ou possui uma arquitetura bem conhecida) Preparar o ambiente de projeto (environment) Escolha de recursos físicos e humanos, e ferramentas de software Obs: Geralmente a concepção é completada em dois dias ou menos para sistemas pequenos Iniciação Elaboração Construção Transição

32 Processo Unificado: detalhamento das fases Iniciação Artefatos produzidos Iniciação Elaboração Construção Transição O documento de Visão, isto é, a visão geral dos requisitos principais do sistema, incluindo funcionalidades principais e restrições O modelo de caso de uso, listando todos os casos de uso e atores que podem ser identificados neste início (10% a 20% do total) Um glossário inicial do projeto Um plano de negócios inicial, contendo: Contexto do negócio, Critério de sucesso (projeção de lucro, reconhecimento do mercado, etc), Provisionamento Financeiro Análise de Riscos Inicial Um plano de projeto (para etapa de Elaboração) Um ou mais protótipos Processo Unificado: detalhamento das fases Objetivos do ciclo de vida Iniciação Milestone: Objetivos do ciclo de vida Iniciação Elaboração Construção Transição Acordo com stakeholder acerca da definição de escopo, e estimativas de custo e cronograma Entendimento dos requisitos (evidenciado pelos principais casos de uso) Estimativas reais de custo e cronograma, prioridades, riscos e processo Protótipo de Arquitetura do software Processo Unificado: detalhamento das fases Elaboração Objetivos Definir e validar uma arquitetura baseline Iniciação Elaboração Construção Transição Baseline - release estável que serve como ponto de partida e referência no desenvolvimento futuro Gerar uma Visão baseline Gerar um plano detalhado para a fase de construção Demonstrar que a arquitetura baseline irá atender a revisão no custo e tempo estimados Processo Unificado: detalhamento das fases Elaboração Atividades Iniciação Elaboração Construção Transição Elaborar a visão: entendimento sólido dos casos de uso mais críticos (que determinam as decisões arquiteturais e de planejamento) A arquitetura é elaborada e componentes de software são selecionados Componentes potenciais são avaliados segundo decisões make/buy/reuse para determinar custo e estimativa Lições obtidas podem servir para gerar o novo projeto da arquitetura do sistema

33 Processo Unificado: detalhamento das fases Elaboração Artefatos produzidos Um modelo de caso de uso (pelo menos 80% dos casos de uso) Requisitos suplementares que capturem requisitos não-funcionais e requisitos que não estão associados com um caso de uso específico Uma descrição da arquitetura de software Um protótipo arquitetural executável Uma lista revisada dos riscos e plano de negócios Um plano para as próximas iterações Um manual do usuário preliminar Iniciação Elaboração Construção Transição Processo Unificado: detalhamento das fases Arquitetura Elaboração Milestone: Arquitetura Perguntas: Iniciação Elaboração Construção Transição A visão do produto é estável? A arquitetura é estável? O plano para Construção está suficientemente detalhado e correto? Iterações x Releases O cliente está de acordo com a visão? A alocação de recusos está de acordo com o previsto? Processo Unificado: detalhamento das fases Construção Atividades: Gerenciamento de recursos Desenvolver e testar os componentes Avaliar e, eventualmente, prosseguir para a próxima iteração Artefatos Produto de software integrado na plataforma de hardware Manuais de usuário Descrição dos releases Concepção Elaboração Construção Transição Processo Unificado: detalhamento das fases Construção Milestone: Início da Capacidade Operacional O release está maduro e estável para ser usado? Todos os stakeholders estão prontos para a transição? O consumo de recursos é aceitável? Início da capacidade operacional Concepção Elaboração Construção Transição

34 Processo Unificado: detalhamento das fases Transição Objetivo geral: Garantir que o software estjea disponível para usuários finais Atividades Finalizar o material de apoio ao usuário final Testar o produto entregue Simular o ambiente do cliente (se possível) ou instalar o software no cliente Realizar um ajuste fino do produto com base no feedback Entregar o produto final para o usuário Concepção Elaboração Construção Transição Processo Unificado: detalhamento das fases Transição Artefatos Concepção Elaboração Construção Transição Release Notes É raro o produto que não possui instruções e modificações de último-minuto Material de treinamento e documentação Processo Unificado: Como Aplicar em Pequenos Projetos Idéias principais Iteratividade Andamento do projeto ao redor dos casos de uso Análise de riscos Processos Derivados 135

35 Processos Derivados Grande número de processos surgiram para customizar ou estender o Processo Unificado Experiências na indústria e academia Há uma verdadeira coqueluche em adaptações de RUP para empresas específicas Processos Derivados Praxis Processo Acadêmico, desenvolvido na UFMG RUP-Small Gary Pollice et al Unified Process for Education (UPEDU) Robillard & Kruchten Processos Derivados Diversos textos e ferramentas são voltadas à adaptação do RUP para contextos especializados: O que falta? Organizacional Tecnológico Metodológico 139

36 Estado da Arte Tecnologia do Processo de Software Edição, simulação, reutilização e execução automatizada de processos de software Aspectos de implementação de ambientes e ferramentas para gestão de processos Linguagens de Modelagem de Processos 141

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

Processo Unificado (RUP)

Processo Unificado (RUP) Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Qualidade de Software. Anderson Belgamo

Qualidade de Software. Anderson Belgamo Qualidade de Software Anderson Belgamo Qualidade de Software Software Processo Produto Processo de Software Pessoas com habilidades, treinamento e motivação Processo de Desenvolvimento Ferramentas e Equipamentos

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 3 http://www.ic.uff.br/~bianca/engsoft2/ Aula 3-29/04/2006 1 Monitoria Marina Albuquerque E-mail: monitoriaes2@yahoo.com.br Horário de Atendimento: Terça e quinta de 09:00

Leia mais

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais

A Disciplina Gerência de Projetos

A Disciplina Gerência de Projetos A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Edison A. M. Morais prof@edison.eti.br http://www.edison.eti.br Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI INTRODUÇÃO Aumento da Importância do Software Software está em tudo: Elemento crítico

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

Leia mais

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

Políticas de Qualidade em TI

Políticas de Qualidade em TI Políticas de Qualidade em TI Prof. www.edilms.eti.br edilms@yahoo.com Aula 03 CMMI Capability Maturity Model Integration Parte II Agenda sumária dos Processos em suas categorias e níveis de maturidade

Leia mais

QUALIDADE DE SOFTWARE AULA N.7

QUALIDADE DE SOFTWARE AULA N.7 QUALIDADE DE SOFTWARE AULA N.7 Curso: SISTEMAS DE INFORMAÇÃO Disciplina: Qualidade de Software Profa. : Kátia Lopes Silva 1 CMM: DEFINIÇÃO Capability Maturity Model Um modelo que descreve como as práticas

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi CAPABILITY MATURITY MODEL INTEGRATION Prof. Késsia R. C. Marchi Modelos de maturidade Um modelo de maturidade é um conjunto estruturado de elementos que descrevem características de processos efetivos.

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Análise de Pontos por Função

Análise de Pontos por Função Análise de Pontos por Função Uma Aplicação na Gerência de Subcontratação de Software Claudia Hazan, MSc. Certified Function Point Specialist Agenda! Introdução à Gerência de Subcontratação! Melhores Práticas:!

Leia mais

Qualidade de Processo de Software Normas ISO 12207 e 15504

Qualidade de Processo de Software Normas ISO 12207 e 15504 Especialização em Gerência de Projetos de Software Qualidade de Processo de Software Normas ISO 12207 e 15504 Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto

Leia mais

MASTER IN PROJECT MANAGEMENT

MASTER IN PROJECT MANAGEMENT MASTER IN PROJECT MANAGEMENT PROJETOS E COMUNICAÇÃO PROF. RICARDO SCHWACH MBA, PMP, COBIT, ITIL Atividade 1 Que modelos em gestão de projetos estão sendo adotados como referência nas organizações? Como

Leia mais

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira PLANEJAMENTO E GERENCIAMENTO DE PROJETOS Lílian Simão Oliveira Contexto Gerentes lutam com projetos assustadores e com prazos finais difíceis de serem cumpridos Sistemas não satisfazem aos usuários Gastos

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 01 Processo de Desenvolvimento de Software Edirlei Soares de Lima Processo de Software O processo de software consiste em um conjunto estruturado

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 .:: 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

Leia mais

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico.  Crise do Software Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e Engenharia de! Engenharia de e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do

Leia mais

Padrões de Qualidade de Software

Padrões de Qualidade de Software Universidade Federal do Vale do São Francisco Padrões de Qualidade de Software Engenharia de Software I Aula 4 Ricardo Argenton Ramos Agenda da Aula Introdução (Qualidade de Software) Padrões de Qualidade

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Processo de software I Ricardo de Sousa Britto rbritto@ufpi.edu.br + O que é Engenharia de Software n Definição dada pela IEEE [IEE93]: n Aplicação de uma abordagem sistemática,

Leia mais

PROFESSOR: CRISTIANO MARIOTTI

PROFESSOR: CRISTIANO MARIOTTI PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Construção 2 VISÃO GERAL Fase Construção. Visão Geral 3

Leia mais

Implantação de um Processo de Medições de Software

Implantação de um Processo de Medições de Software Departamento de Informática BFPUG Brazilian Function Point Users Group Implantação de um Processo de Medições de Software Claudia Hazan, MSc., CFPS claudinhah@yahoo.com Agenda Introdução Processo de Medições

Leia mais

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software Introdução à Engenharia de Gidevaldo Novais (gidevaldo.vic@ftc.br) Introdução à Engenharia de Objetivo Depois desta aula você terá uma noção geral do que é a engenharia de software e dos seus objetivos

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Processo de Desenvolvimento de Software Prof. Luiz Leão luizleao@gmail.com luizleao.com Introdução Conceitos Gerais de Processo de Desenvolvimento de Software (PDS). O que é? Para que serve? Problemas

Leia mais

Melhorias de Processos de Engenharia de Software

Melhorias de Processos de Engenharia de Software Melhorias de Processos de Engenharia de Software CMMI 1 Profa. Reane Franco Goulart O que é CMMI? O Capability Maturity Model Integration (CMMI) é uma abordagem de melhoria de processos que fornece às

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

PROJETO DE FÁBRICA DE SOFTWARE

PROJETO DE FÁBRICA DE SOFTWARE FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...

Leia mais

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto Gerais Processo Produto Propostas NBR ISO 9000:2005 define principios e vocabulário NBR ISO 9001:2000 define exigências para sistema de gerência de qualidade NBR ISO 9004:2000 apresenta linha diretivas

Leia mais

Modelos de Maturidade. Porque estudar um Modelo de Maturidade? Descrevem as características de processos efetivos;

Modelos de Maturidade. Porque estudar um Modelo de Maturidade? Descrevem as características de processos efetivos; Versão 1.1 - Última Revisão 16/08/2006 Porque estudar um Modelo de Maturidade? Segundo o Standish Group, entidade americana de consultoria empresarial, através de um estudo chamado "Chaos Report", para

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

CMMI: Capability Maturity Model Integration

CMMI: Capability Maturity Model Integration CMMI: Capability Maturity Model Integration Adriano J. Holanda http://holanda.xyz 21/10/2015 Adriano J. Holandahttp://holanda.xyz CMMI: Capability Maturity Model Integration CMMI: Capability Maturity Model

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Qualidade na gestão de projeto de desenvolvimento de software

Qualidade na gestão de projeto de desenvolvimento de software Qualidade na gestão de projeto de desenvolvimento de software [...] O que é a Qualidade? A qualidade é uma característica intrínseca e multifacetada de um produto (BASILI, et al, 1991; TAUSWORTHE, 1995).

Leia mais

CMM - Capability Maturity Model

CMM - Capability Maturity Model Tema da Aula Normas e Padrões de Qualidade em II CMM Prof. Cristiano R R Portella portella@widesoft.com.br CMM - Capability Maturity Model Desenvolvido pelo SEI (Instituto de Engenharia de ) Carnegie Mellon

Leia mais

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia Princípios da Engenharia de Software Aula 02 Prof.: Franklin M. Correia Na aula anterior... Introdução a Engenharia de Software O que é software? O que é Engenharia de Software? Conceitos importantes Tipos

Leia mais

O que é um processo de software?

O que é um processo de software? O que é um processo de software? Um conjunto de atividades realizadas por pessoas cujo objetivo é desenvolvimento ou evolução de software e sua documentação. Atividades genéricas em todos os processos:

Leia mais

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e fortes, que serão utilizados para a criação de um plano

Leia mais

C.M.M. Capability Maturity Model Modelo de Maturidade da Capacidade

C.M.M. Capability Maturity Model Modelo de Maturidade da Capacidade UNISUL Universidade do Sul de Santa Catarina. Campus da Grande Florianópolis Pedra Branca. CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE ALUNO: Volnei A. Caetano Palhoça 02 de Junho de 2000 C.M.M. Capability

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Laboratório de Tecnologia de Software LTS www.ufpa.br/lts Rede Paraense de Pesquisa em Tecnologias de Informação

Leia mais

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços

Leia mais

Rede TSQC / SOFTEX Workshop de Aquisição de software Guia de Aquisição MPS.BR

Rede TSQC / SOFTEX Workshop de Aquisição de software Guia de Aquisição MPS.BR Rede TSQC / SOFTEX Workshop de Aquisição de software Guia de Aquisição MPS.BR Danilo Scalet dscalet@yahoo.com.br Editor do Guia de Aquisição 1 2 1 MPS.BR: Desenvolvimento e Aprimoramento do Modelo Realidade

Leia mais

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR Modelos de gerência CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR Modelo de maturidade: CMM CMM (Capability Maturity Model) é um modelo subdividido em 5 estágios

Leia mais

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico.  Crise do Software Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e! e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do Processo de Desenvolvimento

Leia mais

Notas de Aula 02: Processos de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens

Leia mais

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias Planejamento e Gerenciamento de Software Tema 3. Gerência de Projetos Profa. Susana M. Iglesias Planejamento A primeira atividade do gerenciamento de projeto é Planejamento Depende de estimativas (Grado

Leia mais

1 Introdução 1.1. Motivação

1 Introdução 1.1. Motivação 9 1 Introdução 1.1. Motivação Ao longo das últimas décadas, observou-se um aumento enorme na complexidade dos sistemas de software desenvolvidos, no número de profissionais que trabalham nesta área, na

Leia mais

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos SOFTWARE PROCESSES Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Introduzir modelos de processo de software Descrever uma variedade de modelos de processo

Leia mais

Planejamento Iterativo

Planejamento Iterativo Planejamento Iterativo Planejando as Fases e Iterações Hermano Perrelli hermano@cin.ufpe.br 1 Revisando Processo iterativo Req A&P Imp I/T Imp Req A&P Imp I/T Imp Req A&P Imp I/T Imp Iteração 1 Iteração

Leia mais

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010 Engenharia de Software Aula 5 (Versão 2010-02) Melhores práticas para desenvolvimento de software Desenvolver de forma iterativa e gerenciar requisitos Professor Gabriel Baptista ( gabriel.baptista@uninove.br

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Modernização e Evolução do Acervo de Software Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Tópicos 1. Estudo Amplo sobre Modernização 2. Visão IBM Enterprise Modernization 3. Discussão - Aplicação

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Planejamento e Gerenciamento

Ciência da Computação ENGENHARIA DE SOFTWARE. Planejamento e Gerenciamento Ciência da Computação ENGENHARIA DE SOFTWARE Planejamento e Gerenciamento Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução; Pessoas, Produto, Processo e Projeto; Gerência de

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

Leia mais

FACULDADE SENAC GOIÂNIA

FACULDADE SENAC GOIÂNIA FACULDADE SENAC GOIÂNIA NORMA ISO 12.207 Curso: GTI Matéria: Auditoria e Qualidade de Software Professor: Elias Ferreira Acadêmico: Luan Bueno Almeida Goiânia, 2015 CERTIFICAÇÃO PARA O MERCADO BRASILEIRO

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com)

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com) CMMI Conceitos básicos 113 CMMI integra as disciplinas de engenharia de sistemas e de engenharia de software em um único framework de melhoria de processos. 114 No tocante às disciplinas de engenharia

Leia mais

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009) CMMI Governo do ES (CESPE 2009) Na versão 1.2 do CMMI, 111 os níveis de capacidade são definidos na abordagem de estágios. 112 os níveis de maturidade são definidos na abordagem contínua. 113 existem seis

Leia mais

Padrões de Qualidade de Software e Métricas de Software

Padrões de Qualidade de Software e Métricas de Software Universidade Federal do Vale do São Francisco Padrões de Qualidade de Software e Métricas de Software Engenharia de Software I Aula 3 e 4 Ricardo Argenton Ramos Agenda da Aula Introdução (Qualidade de

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Roteiro Qualidade de Software Produto de Software Processo de Software Modelo de Qualidade CMM Qualidade Qualidade de Software Na visão popular: Luxo Mais caro, complexo = maior

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Especialização em Engenharia de Software e Banco de Dados

Especialização em Engenharia de Software e Banco de Dados Especialização em Engenharia de Software e Banco de Dados Disciplina: Engenharia de Software Tópico: Modelos de Ciclo de Vida Prof. Rodolfo Miranda de Barros rodolfo@uel.br Ciclo de Vida A Engenharia de

Leia mais

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento Desenvolvimento Iterativo Esta abordagem ao desenvolvimento assegura que o sistema cresce de forma incremental assegura que a complexidade se mantém controlada permite ainda obter rápido feedback de várias

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SIG Aula N : 11 Tema: Como desenvolver e

Leia mais

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO Capítulo 12 REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 2003 by Prentice Hall OBJETIVOS De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar?

Leia mais

Delfraro Rodrigues Douglas M Gandini José Luiz CMM. Capability Maturity Model

Delfraro Rodrigues Douglas M Gandini José Luiz CMM. Capability Maturity Model Delfraro Rodrigues Douglas M Gandini José Luiz CMM Capability Maturity Model O que é o CMM? Modelo para avaliação da maturidade dos processos de software de uma organização Identificação das práticas chave

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais