Processo de Desenvolvimento de Software



Documentos relacionados
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

3. Fase de Planejamento dos Ciclos de Construção do Software

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Unidade II MODELAGEM DE PROCESSOS

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

Engenharia de Software II

ANEXO 03 PROCESSO DE GARANTIA DA QUALIDADE PROCERGS

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Lançada pela Fundação Schlumberger em 2004, a Universidade para o Futuro cresceu para se tornar uma comunidade de 142 mulheres em 43 países.

Projeto de inovação do processo de monitoramento de safra da Conab

da Qualidade ISO 9001: 2000

UNIÃO EDUCACIONAL DO NORTE UNINORTE AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO

2 Engenharia de Software

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

Gestão de Pessoas - Ênfase em Recrutamento, Seleção e Integração de novos funcionários.

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

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

Paradigmas de Engenharia de Software

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s

AVALIAÇÃO DE DESEMPENHO

Atendimento de Demandas CTIC

POLÍTICA DE GESTÃO DE PESSOAS DA SUPERINTENDÊNCIA NACIONAL DE PREVIDÊNCIA COMPLEMENTAR PREVIC

Administração de Pessoas

PROCEDIMENTO OPERACIONAL

Engenharia de Software II

Workshop sobre Empreendedorismo

Prática em Banco de Dados MER Sistema SIGEM. Grupo: Marcos Felipe Paes Pessoa Renan do Carmo Reis

3 Qualidade de Software

DESENVOLVENDO O SISTEMA

MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO DIRETORIA DE ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE AQUISIÇÕES

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

Requisitos de Software

QUESTIONÁRIO DE AUTO-AVALIAÇÃO DE PROFESSOR. Professor: Data / / Disciplina:

Mauricio Barbosa e Castro

PLANO DA SITUAÇÃO DE APRENDIZAGEM CURSOS TÉCNICOS. 2. Tipo Estudo de Caso X Situação Problema Pesquisa Projeto

29/05/2012. Gestão de Projetos. Luciano Gonçalves de Carvalho FATEC. Agenda. Gerenciamento de Integração do Projeto Exercícios Referências FATEC

Gledson Pompeu 1. Cenário de TI nas organizações. ITIL IT Infrastructure Library. A solução, segundo o ITIL

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Roteiro de Diagnóstico Descritivo para o ESA I

Qualidade de Software

Guia Básico de Processos Corporativos do Sistema Indústria

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Etapas para a preparação de um plano de negócios

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

Conceitos e definições

ELABORAÇÃO DE PROJETOS

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

ESTATÍSTICA BÁSICA NO CURSO DE TÉCNICO INTEGRADO DE SEGURANÇA DO TRABALHO

Orientações para Secretarias de Educação

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

Boas práticas, vedações e orientações para contratação de serviços de desenvolvimento e manutenção de software (Fábrica de Software)

Engenharia de Software II

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

ESTRUTURA DE GERENCIAMENTO DO RISCO OPERACIONAL DO BANCO COOPERATIVO SICREDI E EMPRESAS CONTROLADAS

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Professor: Curso: Disciplina: Aula 4-5-6

ANEXO II REQUISITOS, ATRIBUIÇÕES E REMUNERAÇÕES DOS CARGOS

Diretrizes de Qualidade de Projetos

5. Criar mecanismos de incentivo para facilitar que as empresas atendam o PNRS.

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza

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

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

(MAPAS VIVOS DA UFCG) PPA-UFCG RELATÓRIO DE AUTO-AVALIAÇÃO DA UFCG CICLO ANEXO (PARTE 2) DIAGNÓSTICOS E RECOMENDAÇÕES

Síntese do Projeto Pedagógico do Curso de Sistemas de Informação PUC Minas/São Gabriel

CHAMADA PÚBLICA SIMPLIFICADA Nº 15/2013 SELEÇÃO DE PROFISSIONAIS PARA O PROJETO REGISTRO DE IDENTIDADE CIVIL REPLANEJAMENTO E NOVO PROJETO PILOTO

White-box test: Também conhecido como teste estrutural, tem por objetivo validar os dados derivados das funções do sistema.

Fundamentos de Teste de Software

Introdução. Toda organização executa basicamente dois tipos de atividade: Projeto; e. Operação (execução).

ATIVIDADES TÍPICAS DOS CARGOS DE NÍVEL SUPERIOR

Unidade I Conceitos BásicosB. Conceitos BásicosB

EXTRATO DA POLÍTICA DE GESTÃO DE RISCOS

agility made possible

O processo envolve quatro questões básicas:

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

Pesquisa Nacional por Amostra de Domicílios

RIO GRANDE DO NORTE LEI COMPLEMENTAR Nº 447, DE 29 DE NOVEMBRO DE 2010

Exclusivo: Secretária de Gestão do MPOG fala sobre expectativas do Governo Dilma

Arquivo original em Inglês: Management/Documents/Risk-IT-Brochure.pdf

NORMAS GERAIS DE ESTÁGIO DE PSICOPEDAGOGIA

Engenharia de Produção: Grande Área e Diretrizes Curriculares

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

Processo de Desenvolvimento de Software da Empresa de Planejamento e Logística PDS EPL. Versão 1.0

Gestão estratégica: pessoas, desenvolvimento e capacitação

Transcrição:

Processo de Desenvolvimento de Software Prof. Luiz Leão luizleao@gmail.com luizleao.com

Atividades em PDS Análise econômica e de requisitos (Análise). Especificação do Software (Especificação). Desenho ou Arquitetura do Sistema de Software (Projeto) Codificação (Implementação) Teste do Produto (Teste)

Atividade do PDS 1. Análise Investigar requisitos do usuário 2. Especificação Definir, claramente, as necessidade do sistema 3. Projeto Criar (ou adaptar) uma solução adequada Definição de tecnologias e arquitetura a serem adotadas

Atividade do PDS 4. Implementação Desenvolver a solução Proposta 5. Teste Garantir que a solução resolverá o problema em questão 6. Manutenção Modificar a solução sempre que novos requisitos forem identificados

Atividade do PDS Unidade II

Atividade do PDS Listagem de atividades mais comuns A adoção de cada uma delas depende das necessidades encontradas Atividades complementares: Implantação Homologação Documentação Treinamento Etc.

1. Análise Mito: O usuário não sabe o que quer Verdade: O cliente sabe o que quer, mas nem sempre o analista tem os instrumentos ou a expertise necessária para coletar os requisitos necessários para apontar uma solução O analista deve se tornar um especialista no negócio do cliente, conhecendo assim o domínio do problema

1. Análise Artigo: Engenharia de Software: Uma história de amor e ódio Kiko Reis http://www.async.com.br/~kiko/feiraufsc ar2003/0.php Sobre o Engenheiro de Software: A profissão moderna mais difícil, de longe. Requer bom planejamento e (paradoxalmente) experiência prévia.

1. Análise Fases: 1. Descoberta: Escutar e observar 2. Refinamento: Interrogar e esclarecer 3. Modelagem: Sugerir e verificar

1. Análise Com base nas informações coletadas, analisamos, previamente, a relação: Bolso do Cliente x Custo do Produto Métricas de software (Kloc, Ponto Função, etc.) são bem vindas para nortear a viabilidade do projeto

1. Análise Fatores geradores de custo do software: Processo (Treinamento, gestores,...) Pessoal Tempo Ferramentas Ambiente (Servidores, SGBD,...)

1. Análise Tempo: Inimigo x Amigo? Deve ser dimensionada a necessidade do cliente, com a capacidade de produção da equipe Menos Tempo Mais Custo Nem sempre o cliente está disposto a investir

1. Análise Artefatos de entrega (Saída): Informações necessárias para a elaboração do documento de especificação de requisitos, de preferência, em uma Minuta padrão para essa finalidade Ferramentas Questionário de entrevista Etc. Possíveis Falhas Induzir o cliente à utilizar uma solução, sem ter todas as perguntas respondidas, pode gerar um escopo de produto que não o atende

2. Especificação Última fase da tarefa de análise É necessário que seja escrito de forma não ambígua qual é o comportamento requerido Notações formais Documentos estruturados Exemplos Artefatos de Entrega (Saída) Especificação de requisitos que comunique ao projetista as características requeridas para o sistema, usando Casos de Uso Descritivos Diagramas de Casos de Uso

2. Especificação Possíveis Falhas Documentação insuficiente para o entendimento do problema Retrabalho Ocasiona atraso na execução das fases posteriores

3. Projeto Desenhar uma solução que seja fiel aos requisitos Com base na experiência acumulada (e técnicas padronizadas) Geralmente precisam inovar em um certo nível É possível que surjam várias soluções Recomenda-se o uso de alguma métrica para a escolha da melhor solução para o projeto

3. Projeto Fase de definição de diversas tecnologias: Linguagem de Programação Padrões de Projetos Materializados na adoção de frameworks IDE Banco de Dados Etc.

3. Projeto Artefatos de Entrega (Saída) Um documento de projeto que, de forma não ambígua e clara, comunica o projeto com a equipe que irá implementar o software. Recomenda-se que contenha: Concepção arquitetural Ferramentas a serem adotadas Frameworks Etc.

3. Projeto Artefatos de Entrega (Saída) (cont.) Diagramas Estruturais Diagrama de Classes Diagrama de Componentes Etc. Diagramas Comportamentais Diagrama de Atividades Diagrama de Sequência Diagrama de Máquina de Estados Etc. Modelagem de dados

3. Projeto Possíveis Falhas: Arquitetura do software difícil de ser replicada para a equipe Curva de aprendizagem desfavorável

4. Implementação Atividades relacionadas ao código-fonte do sistema: Escrever Documentar Debugar Preparar a aplicação para testes Unitário Usuário

4. Implementação Artefatos de Entrega (Saída) Código-fonte, de preferência, versionado Documentação do código-fonte Produto para teste

4. Implementação Possíveis Falhas: Implementação em desacordo com o requisito. Descumprimento de prazo Dimensionamento equivocado do esforço a ser colocado nas tarefas de implementação Déficit técnico

5. Teste Fase de verificação das funcionalidades implementadas Missão: Checar se a implementação corresponde ao projeto (e se funciona) Checar se a implementação atende aos requisitos Efetuadas as verificações, o Analista de Teste vai elaborar um Plano de Teste

5. Teste Plano de Teste: Conjunto de procedimentos, cuja finalidade é de validar os artefatos de software produzidos até então A definição da unidade a ser testada no plano fica sobre responsabilidade do Analista de Teste: Módulo Tela Requisito Etc.

5. Teste Artefato de Entrega (Saída): Plano de Teste Resultado da execução do plano de teste, sinalizando as unidades de teste que foram bem sucedidas e as que apresentaram problemas

5. Teste Artefato de Entrega (Saída): Plano de Teste Resultado da execução do plano de teste, sinalizando as unidades de teste que foram bem sucedidas e as que apresentaram problemas

5. Teste Possíveis Falhas: Relação Cobertura x Precisão: Há uma tendência de se analisar as unidades de teste de forma superficial, para acelerar a entrega, aumentando a cobertura do teste, diminuindo a sua precisão. Implementações equivocadas do software acabam passando despercebidos aos olhos do Analista de Teste, principalmente se tiverem uma natureza sutil

Exercícios 1. Qual a diferença entre um software e um sistema? Qual dos dois conceitos é mais amplo? Por quê? 2. O que você entende por processo de desenvolvimento de software e qual a sua importância para a qualidade dos produtos de software? 3. Qual a diferença entre processo e projeto de software? 4. O que é domínio da aplicação (ou do problema)? 5. Suponha que você iniciou suas atividades em uma empresa e lhe é solicitado desenvolver um software. Quais as suas primeiras providências, antes de colocar em prática suas habilidades de desenvolvedor?