Buscar

Aula 2 Engenharia de Software

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 38 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 38 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 38 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

Profª. M.Sc. Larissa Luz Gomes 
lariluz@yahoo.com.br 
 
 Aula 2 – Processo e Desenvolvimento de 
Software (PDS) 
Engenharia de Software 
Agenda 
 Introdução 
 Processo de Software 
 Elementos que compõem um processo de 
software 
 Ciclo de Vida do Software 
 Etapas do Ciclo de Vida do Software 
 
Introdução 
Introdução 
Uma das primeiras definições de Engenharia 
de Software foi proposta por Fritz Bauer e 
dizia: 
 
“O estabelecimento e uso de sólidos 
princípios de engenharia para que se possa 
obter economicamente um software que 
seja confiável e que funcione 
eficientemente em máquinas reais.” 
Ainda que outras definições tenham sido 
propostas, todas elas reforçam a exigência da 
disciplina de engenharia no desenvolvimento 
de software. 
 
E para implementar esta disciplina há a 
necessidade de criar um Processo de Software 
Introdução 
Em uma abordagem de Engenharia de 
Software, o Processo de Software, envolve 
diversas atividades que podem ser classificadas 
quanto ao seu propósito em: 
Atividade de Desenvolvimento 
Atividade de Gerência 
Atividade de Garantia de Qualidade 
Introdução 
Atividade de Desenvolvimento ou Técnica 
ou de Construção: 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. 
São exemplos de atividades de 
desenvolvimento: especificação e análise 
de requisitos, projeto e implementação. 
Introdução 
Atividade de Gerência: são aquelas 
relacionadas ao planejamento e 
acompanhamento gerencial do projeto, tais 
como realização de estimativas, elaboração de 
cronogramas, análise dos riscos do projeto 
entre outras. 
Introdução 
Atividade de Garantia de Qualidade: são 
aquelas relacionadas com a garantia da 
qualidade do produto em desenvolvimento e do 
processo de software utilizado, tais como 
revisões e inspeções de produtos 
(intermediários ou finais) do desenvolvimento. 
Introdução 
As atividades de desenvolvimento formam a 
espinha dorsal do desenvolvimento e, de maneira 
geral, são realizadas segundo uma ordem 
estabelecida no planejamento. 
As atividades de gerência e de controle da 
qualidade são, muitas vezes, ditas atividades de 
apoio, pois não estão ligadas diretamente à 
construção do produto final: o software a ser 
entregue para o cliente, incluindo toda a 
documentação necessária. 
Introdução 
Essas atividades, normalmente, são realizadas 
ao longo de todo o ciclo de vida, sempre que 
necessário ou em pontos pré-estabelecidos 
durante o planejamento, ditos marcos ou 
pontos de controle. 
Introdução 
Introdução 
Processo de Software 
É um conjunto de atividades, métodos, práticas e 
transformações que guiam pessoas na produção 
de software. 
Um processo eficaz deve, claramente, considerar 
as relações entre as atividades, os artefatos 
produzidos no desenvolvimento, as ferramentas e 
os procedimentos necessários e a habilidade, o 
treinamento e a motivação do pessoal envolvido. 
Processo de Software 
Elementos que compõem um 
Processo de Software 
Elementos de um Processo de 
Software 
Há vários aspectos a serem considerados na 
definição de um processo de software. 
O principal são as atividades-chave desse 
processo: análise e especificação de requisitos, 
projeto, implementação e testes, que são a base 
sobre a qual o processo de desenvolvimento deve 
ser construído. 
Processo de Software 
A definição de um processo envolve também a 
escolha de um modelo de ciclo de vida, o 
detalhamento (decomposição) de suas macro-
atividades, a escolha de métodos, técnicas e 
roteiros (procedimentos) para a sua realização e a 
definição de recursos e artefatos necessários e 
produzidos. 
Processo de Software 
O objetivo de se definir um Processo de Software 
é favorecer a produção de sistemas de alta 
qualidade, atingindo as necessidades dos usuários 
finais, dentro de um cronograma e um orçamento 
previsíveis. 
Processo de Software 
Ciclo de Vida de Software 
(CVS) 
Ciclo de Vida de Software 
(CVS) 
São os passos ou atividades que devem ser 
executados durante um projeto. 
Para a definição completa do processo, a cada 
atividade, devem ser associados: 
 técnicas 
 ferramentas e 
critérios de qualidade, entre outros. 
Formando uma base sólida para o 
desenvolvimento. 
Ciclo de Vida de Software 
(CVS) 
Adicionalmente, outras atividades tipicamente 
de cunho gerencial, devem ser definidas, entre 
elas atividade de gerência e de controle e 
garantia da qualidade. 
 O ciclo de vida de um sistema tem como 
função principal a definição de atividades a 
serem executadas em um projeto de 
desenvolvimento de sistemas e a introdução 
de pontos de verificação para o controle 
gerencial. 
 Todo analista deve possuir estas informações 
para poder iniciar, prosseguir e finalizar um 
ciclo de vida de um sistema. 
Ciclo de Vida de Software (CVS) 
 Os ciclos de vida são divididos de várias maneiras, dependendo do 
autor. Alguns levam em consideração a existência de apenas duas 
etapas no ciclos de vida, outros levam em consideração três, 
quatro ou até mais etapas. 
 O ciclo de vida definido tem como razão de escolha as seguintes 
visões: 
 prover de paralelismo/ simultaneidade de fases, ou seja, poder passar 
para a fase seguinte sem que a anterior esteja completa, não 
prejudicando o andamento do projeto; 
 possuir um feedback, um vez que cada fase possui um ponto de 
verificação, podendo o analista retroagir a uma ou mais fases 
anteriores para revisões de procedimentos; 
 basear-se em técnicas de análise orientada a objetos. 
Ciclo de Vida de Software (CVS) 
Ciclo de vida de Software (CVS) 
 Um Ciclo de Vida de Software (CVS) é o período de tempos 
que se inicia com a escolha de um modelo para a 
construção do produto de software e acaba com o 
software pronto para a utilização. 
 Um Modelo de Ciclo de Vida de Software (MCVS) 
representa as atividades, suas entradas e saídas 
(documentos, tabelas e formulários) e suas interações 
durante o ciclo de vida. 
 O CVS começa com a seleção de um MCVS. 
Ciclo de vida de Software 
(CVS) 
Etapas do Ciclo de Vida de 
Software 
Etapas do CVS 
De maneira geral, o ciclo de vida de um 
software envolve as seguintes etapas: 
Análise e especificação de Requisitos 
Projeto 
 Implementação 
Teste 
Entrega e Implantação 
Operação 
Manutenção 
 Este modelo de etapas foi inicialmente 
apresentado por Royce em 1970, mas a 
versão mais conhecida deve-se a B. Boehm 
em 1976. 
Etapas do Ciclo de Vida de 
Software 
Etapas do Ciclo de Vida de 
Software 
Etapas do Ciclo de Vida de 
Software 
 É a fase da (especificação de tarefas) 
 O resultado desta análise deve descrever de forma 
clara as funcionalidades do software, dados e 
informações a utilizar, resultados esperados, 
eficiência, etc. 
 Nesta etapa, são definidos de forma formal quais 
os dados e ficheiros que devem existir, qual a 
relação entre estes, quais as funcionalidade do 
programa e relação entre estas. 
Análise de Requisitos (Análise) 
 O processo de concepção define as 
características do software, nomeadamente: 
 Estruturas de dados necessárias 
 Detalhes dos procedimentos 
Concepção (Projeto) 
 A codificação, nesta etapa, é o processo de tradução dos 
documentos das fases anteriores para código. 
 
 NOTA: Este processo pode ser realizadoautomaticamente. 
Implementação 
 Os testes ao software são um elemento crítico 
para assegurar a qualidade do programa. 
 Nesta fase, deve-se analisar os seguintes pontos: 
 analisar se está sendo desenvolvido o produto de 
forma correta 
 Analisar o produto desenvolvido é o produto desejado 
 NOTA: Os testes não podem provar a ausência 
de defeitos, apenas podem mostrar a existência 
de defeitos 
Teste 
 O processo de alteração do software 
desenvolvido pode ser devido a: 
 erros encontrados 
 requisitos do cliente 
 adaptações devidas ao ambiente externo (ex. 
Mudança de Sistema Operativo). 
 
 NOTA: Em geral o custo da manutenção é muito 
superior ao custo inicial do desenvolvimento da aplicação 
Manutenção 
Dúvidas e Perguntas 
Próxima aula 
• Especificação de Requisitos

Outros materiais