0% acharam este documento útil (0 voto)
3 visualizações34 páginas

Fundamentos da Engenharia de Software

A Engenharia de Software envolve processos, métodos e ferramentas para o desenvolvimento de software de alta qualidade, conduzido por engenheiros de software. O processo é flexível e adaptável, visando entregar produtos que atendam às necessidades dos usuários dentro do prazo e qualidade esperados. O documento também aborda as etapas de criação de projetos de sistemas de informação, destacando a importância do planejamento e da escolha de metodologias adequadas.

Enviado por

fds7503589
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações34 páginas

Fundamentos da Engenharia de Software

A Engenharia de Software envolve processos, métodos e ferramentas para o desenvolvimento de software de alta qualidade, conduzido por engenheiros de software. O processo é flexível e adaptável, visando entregar produtos que atendam às necessidades dos usuários dentro do prazo e qualidade esperados. O documento também aborda as etapas de criação de projetos de sistemas de informação, destacando a importância do planejamento e da escolha de metodologias adequadas.

Enviado por

fds7503589
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd

Engenharia de

Software
Engenharia de Software

O que é

• Processos, métodos e ferramentas que


permitem aos profissionais o
desenvolvimento de software com alta
qualidade
Quem realiza

• Engenheiros de software e demais


envolvidos
Engenharia de Software

Quais são as etapas


• Semelhante a qualquer produto bem sucedido:
aplica-se um processo adaptável e ágil que
conduza a um produto adequado atendendo as
necessidades de quem vai usá-lo
Qual é o artefato

• Depende do ponto de vista


• Da perspectiva do usuário são os dados
resultantes.
• Do ponto de vista do engenheiro são os dados +
o conjunto de programas + outros artefatos
Definição

• Engenharia de Software é “A aplicação de uma


abordagem sistemática, disciplinada e quantificável no
desenvolvimento, na operação e na manutenção de
software; isto é, a aplicação de engenharia ao software.
Processos de Software
Processo: conjunto de ações e tarefas desempenhadas para a
criação de um artefato.

Qualquer artefato?
E as variações de características do produto, complexidade,
custo, tamanho da equipe?
Processos de Software
Na Engenharia de Software um processo
não é uma prescrição rígida.

A intenção sempre deve ser entregar o


software dentro do prazo e qualidade
estimadas.

A abordagem é flexível para que as pessoas


adaptem e escolham as ações e
ferramentas conforme as características do
projeto.
Metodologia do Processo
Comunicação

Uma metodologia ou
framework do processo é um Planejamento
alicerce comum a todos os
projetos de desenvolvimento
de software
Modelagem

Construção

Entrega
Atividades de apoio a metodologia
de processo
• Controle e acompanhamento do projeto
• Administração de riscos
• Garantia de qualidade de software
• Revisões técnicas
• Medição
• Gerenciamento da configuração de software
• Gerenciamento da capacidade de reutilização
Mito ou verdade?

• O cronograma está atrasado então…


• Vou colocar mais programadores na equipe
• Decidimos terceirizar a produção do software, então…
• Posso relaxar
• Os requisitos de software mudam constantemente,
logo…
• As mudanças poderão ser facilmente assimiladas no decorrer
do projeto
• O software foi colocado em uso, então…
• Nosso trabalho terminou
Mito ou verdade?

• Enquanto o software não está pronto…


• Não consigo avaliar sua qualidade
• O único produto que posso entregar é…
• O software funcionando
• A Engenharia de Software nos obriga a criar uma
documentação extensa e volumosa, então…
• Vai nos atrasar
Exercício 1 – como fazer um projeto

• Tema 1 – Construção de um estádio de futebol


• Tema 2 – Construção de uma praça do bairro
• Tema 3 – Reforma do banheiro

Escreva
• Envolvidos
• Tarefas macro (aqueles que poderão ser fragmentadas
em tarefas menores)
• Como definir o custo
• Como definir o prazo
Processos de Software

• Quando se elabora um produto ou sistema, é


importante seguir uma série de passos previsíveis – um
roteiro que ajude a criar um resultado de alta qualidade
e dentro do prazo estabelecido.
• O roteiro é denominado Processo de Software
• A abordagem de Engenharia de Software moderna deve
ser ágil: demandar apenas atividades e artefatos
apropriados à equipe e ao projeto.
Fluxos de Processos de Software
Fluxos de Processos de Software
Como adaptar um Fluxo de Processos de Software
Passos para a criação de um projeto
de SI (Sistema de Informação)
1. Identificar a necessidade de criação do projeto
2. Iniciação do projeto
3. Solicitar o projeto
4. Planejamento
Passos para a criação de um projeto
de SI (Sistema de Informação)

Identificaçã
o da Solicitação
necessidade do projeto

Iniciação do Planejament
projeto o
Passos para a criação de um projeto
de SI (Sistema de Informação)
• Identificação
• Quando um administrador de empresa reconhece uma
necessidade em sua empresa que pode ser satisfeita por meio
da Tecnologia da Informação
• Exemplos:
• Atingir um novo tipo de cliente
• Melhorar interações com os fornecedores
• Acompanhar a evolução de determinada safra, etc
Passos para a criação de um projeto
de SI (Sistema de Informação)
• Iniciação
• É o ponto no qual os administradores das empresas criam e
avaliam metas e expectativas para o desenvolvimento de
novos sistemas.
• Etapas
• 1 – identificar o valor do negócio para o sistema
• 2 – realizar a análise de viabilidade para determinar a viabilidade
técnica, econômica e organizacional do sistema
Passos para a criação de um projeto
de SI (Sistema de Informação)
• Solicitação
• É elaborado um documento que descreve os motivos que
levam a empresa a construir um sistema e o valor esperado
que ele proporcione
• Para quem e como é feita a solicitação?
• Para uma empresa especializada em desenvolvimento de software ou
o departamento de TI
• Geralmente em forma de relatório.
Passos para a criação de um projeto
de SI (Sistema de Informação)
• Planejamento
• Diante da necessidade é formalizado o projeto após
esclarecer todas as possíveis dúvidas por parte do cliente.
• Então é criado pela empresa contratada (ou departamento de
TI) um plano de projeto.
Passos para a criação de um projeto
de SI (Sistema de Informação)
• Plano de Projeto

1. Eleger a metodologia de desenvolvimento do projeto


2. Definir (estimar) o período do projeto
3. Desenvolver o plano de trabalho (cronograma)
4. Definir equipe de projeto
5. Gerenciar o plano e a equipe de projeto
Criação do plano de projeto

1. Eleger a metodologia de desenvolvimento de projeto

• Cascata
• Iterativo
• Prototipagem
• Ágil
Criação do plano de projeto
1. Eleger a metodologia de
desenvolvimento de
projeto

• Cascata
Criação do plano de projeto
1. Eleger a metodologia de
desenvolvimento de projeto

• Iterativo
Criação do plano de projeto
1. Eleger a metodologia de
desenvolvimento de projeto

• Prototipagem
Criação do plano de projeto

1. Eleger a metodologia de desenvolvimento de projeto

• Ágil
• Grupos de metodologias centradas na programação
• Valoriza o profissional e não o processo
• Possui menos documentação
• Equipe reduzida
• O sistema é dividido em pequenas porções para ser desenvolvido e
entregue em poucas semanas
Criação do plano de projeto

1. Eleger a metodologia de desenvolvimento de projeto


Criação do plano de projeto

2. Definir (estimar) o período do projeto

• É o processo de atribuir valores projetados do esforço em


função do tempo
• Pode ser feita manualmente ou com auxílio de software
• Depende da complexidade do projeto
Criação do plano de projeto

3. Desenvolver o plano de trabalho (cronograma)

• Passos
• Identificar as tarefas
• Organizar as tarefas de maneira lógica
• Atribuir/estimar tempo de duração para a realização de cada tarefa
• Verificar se há dependências entre tarefas e, se houver, apresentar a
dependência
• Atribuir uma situação (status) para cada tarefa
Criação do plano de projeto

4. Definir a equipe de projeto

• Identificar, de acordo com o projeto:


• Perfil de analista
• Perfil de programadores
• Definir o nível de responsabilidade de cada profissional de TI e
representar num diagrama (diagrama de hierarquia)
• Definir a quantidade de profissionais que atuarão no projeto
• Atribuir para cada profissional uma ou mais tarefas de acordo
com o planejamento e o cronograma
Criação do plano de projeto

5. Gerenciar o plano e a equipe de projeto

• Atividades
• Verificar se todas as tarefas refletem o objetivo do projeto
• Verificar se todos os profissionais envolvidos no projeto estão cientes
daquilo que é para ser feito
• Validar datas e entregas com o cliente
• Transmitir informações sobre as tarefas e seus respectivos prazos de
entrega para a equipe
• Controlar prazos de execução das tarefas
• Realizar reuniões
DENNIS, Alan; WIXON, Barbara H.; ROTH, Roberta M..
Análise e projeto de sistemas. 5 ed. Rio de Janeiro:
LTC, 2014.

GANE, Chris; SARSON, Trish. Análise estruturada de


sistemas. Rio de Janeiro: LTC, 1983.

YORDON, Edward; COARD, Peter. Análise baseada em


objetos. São Paulo: Campus, 1992.

PRESSMAN, Roger S.. Engenharia de Software. São


Paulo: MCGRAW HILL, 2006.

SOMMERVILLE, Ian. Engenharia de Software. 8 ed.


São Paulo: Pearson Addison-Wesley, 2007.
Exercício 2 – Leitura e discussão -
grupos
1. Em relação a abordagem espiral, comente a regra
80/20.
2. Por que o modelo espiral de ciclo de vida de software
pode não exigir especificações rigorosas de software?
3. Por que a prototipagem assegura que o novo sistema
satisfaça as necessidades do usuário?
4. Como determinar qual é o melhor modelo de ciclo de
vida de software?
5. O que pode acontecer caso o cliente decida mudar a
especificação de um software que já foi encomendado
quando modelo de ciclo de vida adotado se basear na
abordagem cascata?
6. Elabore uma proposta de modelo de processos de
software, faça sua justificativa e explique cada processo.

Você também pode gostar