Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.
-
Upload
isabella-barros-barreto -
Category
Documents
-
view
219 -
download
0
Transcript of Processos de Software Ludimila Monjardim Casagrande 1º Semestre - 2009 Desenvolvimento e Qualidade.
Processos de Software
Ludimila Monjardim Casagrande1º 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.