Buscar

ER_02_ProcessoSW

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Engenharia de Requisitos 
Processo de Software 
Aula 2 
Josiane Brietzke Porto 
josibrietzke@unisinos.br 
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? 
conjunto de ferramentas, métodos e 
práticas utilizadas para produzir e manter 
software. 
conjunto de atividades relacionadas que 
levam à produção e manutenção de um 
produto de software (SOMMERVILLE, 
2011). 
Introdução 
• Objetivos? 
Cumprir o prazo do projeto 
Cumprir o custo do projeto 
Entregar um sistema de qualidade. 
Introdução 
• Principais condições? 
Pessoas treinadas 
e motivadas 
Ferramentas 
adequadas 
Processos 
definidos e seguidos 
Agenda 
• Introdução 
• Etapas genéricas 
• Atividades de apoio 
• Ferramentas de apoio 
• Modelos genéricos 
• Modelos de mercado 
• Modelos de melhoria 
Etapas genéricas 
• Na Engenharia de Software existem quatro 
atividades fundamentais (SOMMERVILLE, 
2011): 
Especificação de software 
• Definição das funcionalidades e das restrições 
Projeto e implementação de software 
• Produção do software para atender às especificações 
Validação de software 
• Validação do software a fim de garantir que atende às demandas 
do cliente 
Evolução de software 
• Evolução para atender às necessidades de mudança dos clientes 
Etapas genéricas 
• Essas atividades fundamentais incluem 
subatividades, além atividades de apoio ao 
processo de desenvolvimento de software 
(Sommerville, 2011). 
Etapas genéricas 
Análise Projeto Implementação 
Testes Implantação Manutenção 
Etapas genéricas - Análise 
• Quem faz? 
• Analista de Sistemas 
• O que faz? 
• Descobre o que o cliente precisa através de entrevistas, 
reuniões, leitura de documentos, entre outras técnicas 
• Quando? 
• No início, principalmente, podendo se estender por todo o 
projeto ou até a descontinuidade do produto 
• Qual o resultado? 
• Especificação do sistema 
Etapas genéricas - Projeto 
• Quem faz? 
• Projetista, Arquiteto ou Engenheiro de Software 
• O que faz? 
• Projeta a melhor forma de criar um software, que atenda as 
necessidades do cliente e usuário 
• Quando? 
• Logo após a etapa de análise ou parte da análise 
• Qual o resultado? 
• Projeto e diagramas 
Etapas genéricas - Implementação 
• Quem faz? 
• Programador ou Desenvolvedor 
• O que faz? 
• Codifica ou implementa o software, de acordo com o projeto e 
especificação 
• Quando? 
• Logo após o projeto do software ou parte do projeto 
• Qual o resultado? 
• Código-fonte 
Etapas genéricas - Testes 
• Quem faz? 
• Analista de Testes, Testador ou Engenheiro de Testes 
• O que faz? 
• Planeja e executa os testes no software, registrando os defeitos 
e problemas encontrados 
• Quando? 
• Logo após a implementação do software ou parte da 
implementação 
• Qual o resultado? 
• Registro dos defeitos 
Etapas genéricas - Implantação 
• Quem faz? 
• Analista de Suporte 
• O que faz? 
• Planeja a implantação, instala e configura o software para o uso 
no ambiente de produção do cliente 
• Quando? 
• Após todo o software ou parte dele ser aprovada nos testes 
• Qual o resultado? 
• Software ou parte dele pronto para uso em ambiente de 
produção 
Etapas genéricas - Manutenção 
• Quem faz? 
• Equipe de desenvolvimento e de suporte 
• O que faz? 
• Corrige, adapta ou cria novas funcionalidades no software 
• Quando? 
• Sempre que necessário ou de acordo com planejamento 
• Qual o resultado? 
• Nova versão do software 
Agenda 
• Introdução 
• Etapas genéricas 
• Atividades de apoio 
• Ferramentas de apoio 
• Modelos genéricos 
• Modelos de mercado 
• Modelos de melhoria 
Atividades de apoio 
Gerência de 
Projeto 
Gerência da 
Configuração 
Garantia da 
Qualidade 
Entre outras ... 
Atividades de Apoio – Gerência de 
Projeto 
• Quem faz? 
• Líder de projeto, Analista de projeto ou Gerente de projeto 
• O que faz? 
• Planeja e monitora a execução do projeto 
• Quando? 
• Desde o início até o final do projeto ou produto 
• Qual o resultado? 
• Planos e registros de acompanhamento do projeto 
Atividades de Apoio – Gerência de 
Configuração 
• Quem faz? 
• Analista de Configuração, Integrador, Auditor de Configuração 
Gerente de Configuração 
• O que faz? 
• Planeja, armazena e controla mudanças e versões dos produtos 
de trabalho ao longo do projeto ou produto e audita baselines 
• Quando? 
• Desde o início até o final do projeto ou produto 
• Qual o resultado? 
• Versões dos produtos de trabalho devidamente armazenadas e 
controladas 
Atividades de Apoio – Garantia da 
Qualidade 
• Quem faz? 
• Analista de qualidade, Auditor de qualidade ou Gerente de 
qualidade 
• O que faz? 
• Melhoria de processos de software e executa auditorias nos 
projetos 
• Quando? 
• Periodicamente e antes de entregas e marcos 
• Qual o resultado? 
• Relatórios e registros de não conformidades, novas versões do 
processo 
Agenda 
• Introdução 
• Etapas genéricas 
• Atividades de apoio 
• Ferramentas de apoio 
• Modelos genéricos 
• Modelos de mercado 
• Modelos de melhoria 
Ferramentas de Apoio 
• Softwares cujo objetivo é apoiar o 
desenvolvimento de software e o 
processo de evolução. 
Ferramentas de Apoio 
Tipos Ferramentas 
Planejamento Ferramentas de cronograma, estimativas, planilhas eletrônicas 
Edição Editores de texto, de imagem, de diagramas, processadores de texto 
Gestão de mudança Gerenciamento de requisitos e de mudanças 
Gestão da configuração Sistemas de controle de versão, ferramentas de desenvolvimento de 
software 
Prototipação Geradores de interface de usuário, simuladores 
Apoio ao método Geradores automáticos de código, dicionário de dados, editores de 
projeto 
Processamento de 
linguagem 
Compiladores, interpretadores 
Testes Geradores de massa de dados, de testes automatizados, comparadores 
de arquivos 
.... .... 
Agenda 
• Introdução 
• Etapas genéricas 
• Atividades de apoio 
• Ferramentas de apoio 
• Modelos genéricos 
• Modelos de mercado 
• Modelos de melhoria 
Modelos genéricos 
• Modelo de processo de software (SOMMERVILLE, 
2011): 
• representação abstrata e simplificada de um processo de 
software; 
• representa uma perspectiva específica de um processo, 
modelos de ciclo de vida; 
• diferentes abordagens de desenvolvimento de software; 
• Frameworks de processo que podem ser ampliados e 
adaptados para criar processos de Engenharia de 
Software mais específicos. 
Modelos genéricos 
• Modelo em Cascata (SOMMERVILLE, 
2011): 
• desenvolvimento linear e sequencial, 
sendo que uma nova etapa só inicia 
quanto a anterior estiver 
completamente encerrada. 
Modelos genéricos 
• Modelo em Cascata (SOMMERVILLE, 
2011): 
Modelos genéricos 
• Modelo Formal: 
• modelo matemático do sistema é 
transformado formalmente em uma 
implementação; 
• adequado a sistemas com exigências 
rigorosas de segurança, confiança e 
garantia. 
Modelos genéricos 
• Modelo Incremental (SOMMERVILLE, 
2011): 
• desenvolvimento particionado, a partir 
dos requisitos prioritários para o 
cliente, com entregas parciais; 
• sistema desenvolvido como uma série 
de versões (incrementos). 
Modelos genéricos 
• Modelo Incremental (SOMMERVILLE, 
2011): 
Modelos genéricos 
• Baseado em Reuso (SOMMERVILLE, 
2011): 
• sistema construído, a partir de 
componentes reusáveis já existentes; 
• Processode desenvolvimento 
concentra-se na integração desses 
componentes em um sistema. 
Modelos genéricos 
• Baseado em Reuso (SOMMERVILLE, 
2011): 
Especificação de 
requisitos 
Análise de 
componentes 
Alterações nos 
requisitos 
Projeto de sistema 
com reuso 
Desenvolvimento e 
integração 
Validação de 
sistema 
Modelos genéricos 
• Prototipação (SOMMERVILLE, 2011): 
• possibilita que o desenvolvedor crie 
um modelo do software que deve ser 
construído; 
• o modelo (protótipo) serve como um 
mecanismo para identificar os 
requisitos de software; 
Modelos genéricos 
• Prototipação (SOMMERVILLE, 2011): 
• apropriado quando o cliente define 
um conjunto de objetivos gerais para o 
software, mas não identifica requisitos 
de entrada, processamento e saída 
com detalhes. 
Modelos genéricos 
• Prototipação: 
fim 
início 
construção 
produto 
refinamento 
protótipo 
avaliação 
protótipo 
construção 
protótipo 
projeto 
rápido 
obtenção 
dos 
requisitos 
Modelos genéricos 
• Espiral (SOMMERVILLE, 2011): 
• processo representado como uma 
espiral e não como uma sequência de 
atividades com alguns retornos de 
uma para outra; 
• Cada volta na espiral representa uma 
fase no processo. 
Modelos genéricos 
• Espiral (SOMMERVILLE, 2011): 
Agenda 
• Introdução 
• Etapas genéricas 
• Atividades de apoio 
• Ferramentas de apoio 
• Modelos genéricos 
• Modelos de mercado 
• Modelos de melhoria 
Modelos de mercado 
• RUP – Rational Unified Process 
(SOMMERVILLE, 2011): 
• para desenvolvimento de software 
orientado a objeto através da UML; 
• constitui-se de quatro fases 
estreitamente relacionadas ao 
negócio. 
Modelos de mercado 
• RUP – Rational Unified Process 
Modelos de mercado 
• Métodos ágeis (SOMMERVILLE, 2011): 
• nasceram na década de 90 e possuem 
foco no software em si; 
• baseados na abordagem incremental para 
especificação, desenvolvimento e entrega 
do software; 
• adequados para requisitos que mudam 
rapidamente durante o processo. 
Modelos de mercado 
Modelos de mercado 
• XP - Extreme Programming 
(SOMMERVILLE, 2011): 
• método para pequenas e médias equipes; 
• desenvolvimento de software com 
requisitos vagos e em constante 
mudança. 
Modelos de mercado 
 
Modelos de mercado 
• Ciclo de um release em XP 
(SOMMERVILLE, 2011): 
 Selecionar histórias do 
usuário 
Dividir histórias 
em tarefas 
Planejar release 
Desenvolver, 
integrar ou testar 
software 
Liberar software 
Avaliar sistema 
Modelos de mercado 
• SCRUM (SOMMERVILLE, 2011): 
• método para gerenciamento ágil de 
projetos; 
• pode ser aplicado em qualquer contexto 
no qual um grupo de pessoas necessitem 
trabalhar juntas para atingir um objetivo 
comum. 
Modelos de mercado 
• SCRUM: 
Fonte: http://www.scrumalliance.org 
Agenda 
• Introdução 
• Etapas genéricas 
• Atividades de apoio 
• Ferramentas de apoio 
• Modelos genéricos 
• Modelos de mercado 
• Modelos de melhoria 
Modelos de melhoria 
• Todo processo pode e deve ser 
melhorado continuamente; 
• Uma norma ou modelo de melhoria 
não diz exatamente como fazer, mas 
sim o que deve ser feito; 
• Apresentam melhores práticas. 
Modelos de melhoria 
Engenharia de Requisitos 
• Referências 
• Sommerville, Ian. Engenharia de 
Software. São Paulo: Pearson Prentice 
Hall, 2011. 
• Lâminas Prof. Vinicius Costa de Souza.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes