Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

23
Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade

Transcript of Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Page 1: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Processos de Software

Ludimila Monjardim Casagrande1º Semestre - 2009

Desenvolvimento e Qualidade

Page 2: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Processo de Software Série de passos previsíveis para se chegar a

um resultado de qualidade, dentro do prazo e do custo previsto.

Um processo de software é um conjunto de atividades, métodos, práticas e transformações que guiam a produção de software.

Um processo eficaz deve considerar as relações entre as atividades, os artefatos, as ferramentas, os procedimentos necessários e a habilidade e treinamento do pessoal envolvido.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 2

Page 3: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Produto x Processo Produto:

Os resultados do processo. Exemplos:

o software, os manuais de usuário, a documentação, o treinamento.

Processo: As etapas/atividades de elaboração do

produto.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 3

Page 4: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Processos de Softwares Um processo pode ser decomposto em vários

processos: Processo de desenvolvimento; Processo de garantia da qualidade; Processo de gerência de projetos.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 4

Page 5: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Elementos dos processos:

Processo de Software

Atividades Pré-atividades Sub-atividades Artefatos

De Entrada (Insumos)

De Saída (Produtos)

Recursos Recursos Humanos Ferramentas de

Software Hardware

Procedimentos Métodos Técnicas Roteiros

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 5

Page 6: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Atividades de Desenvolvimento São as atividades diretamente relacionadas ao

processo de desenvolvimento do software, ou seja, que contribuem diretamente para o desenvolvimento do produto de software a ser entregue ao cliente.

Exemplos: especificação e análise de requisitos, projeto

e implementação.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 6

Page 7: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Atividades de Gerência de Projeto São aquelas relacionadas ao planejamento e

acompanhamento gerencial do projeto. Exemplos:

elaboração do plano do projeto, realização de estimativas, elaboração de cronogramas, análise dos riscos do projeto, definição da equipe, etc.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 7

Page 8: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Atividades de Garantia da Qualidade São aquelas relacionadas com a garantia da

qualidade do produto em desenvolvimento e do processo de software utilizado.

Exemplos: revisões e inspeções de produtos

(intermediários ou finais), definição de procedimentos padronizados, obediência a boas práticas.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 8

Page 9: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Modelos de Ciclos de Vida Os Modelos de Ciclo de Vida ou de Processo

podem ser: Sequenciais:

Modelo em Cascata Modelo em V

Incrementais: Modelo Incremental Modelo RAD

Evolutivos ou Evolucionários Modelo Espiral Prototipação

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 9

Page 10: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Escolha do Modelo de Processo Características da aplicação:

Domínio da aplicação; Tamanho; Complexidade.

Tecnologia: Paradigma de desenvolvimento; Linguagem de programação; Mecanismo de persistência.

Características da empresa; Características da equipe (pessoas).

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 10

Page 11: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Etapas do Processo O ciclo de vida de um software envolve, pelo

menos, as seguintes fases: Planejamento; Análise e Especificação de Requisitos; Projeto; Implementação; Testes; Entrega e Implantação; Operação; Manutenção.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 11

Page 12: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Planejamento Definição do escopo; Levantamento dos requisitos preliminares; Estimativas de recursos (hardware, software,

humanos), prazos, custos; Elaboração de uma proposta de desenvolvimento

Plano de Projeto; Em seguida: realizar o acompanhamento e revisar

o plano pelo menos ao final das grandes etapas.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 12

Page 13: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Análise e Especificação de Requisitos Refinamento do escopo; Detalhamento dos requisitos; Compreensão do domínio da aplicação; Identificação dos usuários finais e das

funcionalidades e comportamentos esperados; Modelagem, análise e especificação

(documentação) dos requisitos; Descrever “o que” o software deve fazer.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 13

Page 14: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Projeto Incorporação de requisitos tecnológicos; Definição da plataforma de implementação; Projeto da arquitetura do sistema:

estrutura de alto nível da aplicação; identificação dos principais componentes e interfaces

(internas, externas e com o usuário); Projeto detalhado; Refinamento dos detalhes até se chegar a um

modelo completo para codificação.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 14

Page 15: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Implementação Implantação do ambiente de desenvolvimento;

Codificação tradução do projeto em uma forma passível de execução pela máquina;

Concretização do projeto em um produto de software.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 15

Page 16: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Testes Testes de unidade ou unitários:

Cada unidade de software implementada deve ser testada e os resultados documentados;

Teste de métodos, procedimentos, funções, classes;

Testes de integração ou integrados: Os diversos componentes são integrados e testados;

Testes de sistema: O sistema como um todo é testado a partir de

interações via interface gráfica com o usuário.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 16

Page 17: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Entrega e Implantação O sistema é entregue e implantado no cliente; Configuração do ambiente de produção; Carga de dados; Treinamento de usuários finais; Testes de aceitação validação do sistema; Se o sistema estiver em conformidade com os

requisitos estabelecidos, ele é aceito e ocorre a entrada em produção.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 17

Page 18: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Operação O software é utilizado pelos usuários no

ambiente de produção; Testes mais refinados são realizados; Erros podem ser identificados e reportados; Melhorias podem ser solicitadas; A equipe de desenvolvimento provê suporte ao

cliente durante o período de operação assistida.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 18

Page 19: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Manutenção Erros identificados após a entrega são

corrigidos; O sistema é adaptado para atender às

necessidades dos clientes; Novas funcionalidades são adicionadas; Dependendo da solicitação de mudança, as

várias etapas do ciclo devem ser re-executadas.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 19

Page 20: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Qualidade de Software Diferentes perspectivas:

Usuário: satisfaz as necessidades, é eficiente, confiável, fácil de usar;

Desenvolvedor: organizado, bem documentado, fácil de manter (usabilidade, confiabilidade, eficiência, manutenibilidade, portabilidade, segurança, etc.);

Cliente: agrega valor ao negócio, garante produtividade.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 20

Page 21: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Qualidade de Software A qualidade do produto depende da qualidade

do processo. Como assegurar a qualidade?

Testes; Inspeções e validações; Adoção de boas práticas, de padrões e de

modelos de qualidade; Sistematização dos processos.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 21

Page 22: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Qualidade de Software Normas e modelos de qualidade:

NBR ISO 9000:2000; NBR ISO/IEC 12207; NBR ISO/IEC 15504; CMM; CMMI; MPS.BR.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 22

Page 23: Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.

Engenharia de Software ©2009 Ludimila Monjardim Casagrande 23

Leitura Recomendada Capítulos 1 e 2:

FALBO, R. A. Notas de Aula: Engenharia de Software. Disponível em http://www.inf.ufes.br/~falbo, 2005.