Buscar

Aula 06 - 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 6 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 6 páginas

Prévia do material em texto

1 
Universidade São Judas Tadeu 
Prof. André Luiz Ribeiro 
Prof. Jorge Luis Pirolla 
 
Introdução à Computação 
Engenharia de Software 
Tópicos 
n  O que é Engenharia de Software? 
n  Engenharia de Software em camadas 
n  Processo de Desenvolvimento de Software 
n  Modelos de Processos de Software 
n  Perguntas e Definições 
O que é Engenharia de Software 
 
A engenharia de software é uma 
disciplina da computação, cuja meta é 
produzir software com uma boa 
relação custo/benefício. 
 
2 
Engenharia de Software em Camadas 
Engenharia de Software em Camadas 
n  Qualidade: 
 É a camada que suporta a engenharia de 
software, tendo como foco um software total com 
qualidade; 
n  Processos: 
 É a camada que constitui o elo que mantém 
juntos os métodos e as ferramentas, definindo a 
sequência que os métodos serão aplicados, 
controlando a qualidade e coordenando as 
mudanças de requisitos; 
Engenharia de Software em Camadas 
n  Métodos: 
 É a camada que fornece a técnica de como fazer 
para construir softwares. Os métodos envolvem 
um amplo conjunto de tarefas que incluem: 
análise de requisitos, projeto, programas, testes 
etc; 
n  Ferramentas: 
n  É a camada que proporciona apoio automatizado 
aos processos e métodos, como por exemplo as 
ferramentas CASE (Computer Aided Software 
Engineering). 
3 
Processo de Desenvolvimento de Software 
n  O processo de desenvolvimento é um conjunto 
de atividades coerentes e consistentes para 
especificar, projetar, implementar e testar um 
software. 
n  O modelo de processo de desenvolvimento é 
uma representação abstrata de como será 
realizada a construção do software. 
Para que um processo? 
n  Para definir as atividades a serem conduzidas no 
projeto; 
n  Para uniformizar o entendimento dos envolvidos em 
relação ao desenvolvimento de sistemas; 
n  Para manter a consistência entre sistemas 
desenvolvidos em uma mesma empresa; 
n  Para viabilizar pontos de controle para a gerência. 
Modelos de Processos de Software 
n  Modelo Cascata; 
n  Modelo Prototipação; 
n  Modelo Espiral; 
n  Modelo Incremental; 
n  Modelo RUP; 
n  Modelo XP; 
n  Outros Modelos. 
4 
Modelo Cascata 
Modelo original (Royce) 
ENGENHARIA 
DE SISTEMAS 
PROJETO 
ANÁLISE 
CODIFICAÇÃO 
MANUTENÇÃO 
TESTE 
n  1º. Passo - Planejamento: Entendimento do Sistema – 
Necessidades (requisitos) do sistema e planejamento dos 
demais passos. 
n  2º. Passo – Análise: Detalhamento do Sistema – Análise 
detalhada do que o sistema deve fazer. 
n  3º. Passo – Projeto: Proposta de solução do Sistema – 
Geralmente utiliza-se modelos (diagramas). 
Como desenvolver Sistemas? 
n  4º. Passo – Codificação: Implementação do modelo – 
programação. 
n  5º. Passo – Teste: Testes do sistema já implementado – 
verificação do funcionamento do sistema. 
n  6º. Passo – Manutenção: Manutenção do sistema – 
possíveis correções, melhorias, novos requisitos. 
 
Como desenvolver Sistemas? 
5 
Fazendo um comparativo com os 
programas realizados em laboratório... 
 
Fases do Sistema Objetivo Paralelo simples com a 
codificação de um programa 
Planejamento Especificar o sistema Enunciado do programa 
Análise Analisar como deve ser feito o sistema Leitura/entendimento do programa 
Projeto Esquematizar o sistema, geralmente através 
de alguma notação de gráfica (diagramas) 
D i a g r a m a N / S , p o r t u g o l o u 
fluxograma 
Implementação Codificar o sistema Programar .NET, Java etc... 
Testes Testar o sistema Verif icar se o programa está 
funcionando de forma adequada 
Implantação Implantar/instalar o sistema Copiar o programa para outro 
computador 
Manutenção Realizar modificações no sistema Modificações no programa 
Pergunta Definição 
O que é software? São programas de computador, conjuntos de 
dados e documentação. 
O que é engenharia de software? É uma abordagem para o desenvolvimento de 
software que se preocupa com todos os 
aspectos da produção de software, desde os 
estágios iniciais de especificação de sistemas 
até a manutenção e morte desse sistema. 
Qual é a diferença entre engenharia de software 
e engenharia de sistemas? 
A engenharia de sistemas se ocupa de todos os 
aspectos relacionados ao desenvolvimento de 
sistemas com base em computadores, incluindo 
hardware, software e engenharia de processos. 
A engenharia de software é parte desse 
processo. 
O que é um processo de software? É um conjunto de atividades, cuja meta é o 
desenvolvimento ou a evolução do software. 
O que são métodos de engenharia de software? São abordagens para o desenvolvimento de 
software, que incluem: modelos, notações, 
regras, recomendações de projetos e diretrizes 
de processos. 
O que é CASE (Computer Aided Software 
Engineering) 
São ferramentas destinadas ao apoio 
automatizado às atividades de processo de 
software. 
Quais são os atributos de um bom software? O software deve proporcionar aos usuários as 
funcionalidades e o desempenho requerido, e 
deve ser passível de manutenção, confiável e de 
fácil uso. 
Quais são os principais desafios enfrentados 
pela engenharia de software? 
Lidar com sistemas legados, atender à 
crescente diversidade, atender e gerenciar 
requisitos e atender às exigências quanto ao 
prazo. 
 
Perguntas e Definições 
Por que construir modelos? 
n  Comunicar a estrutura e o comportamento 
desejado do sistema; 
n  Visualizar e controlar a arquitetura do sistema; 
n  Compreender melhor o sistema; 
n  Reutilizar em sistemas idênticos; 
n  Gerenciar Riscos. 
6 
Objetivos dos modelos? 
n  Os modelos ajudam a visualizar o sistema como é e/ou como 
desejamos que seja; 
n  Os modelos permitem especificar a estrutura ou o 
comportamento de um sistema; 
n  Os modelos proporcionam um guia para a construção do 
sistema e 
n  Os modelos documentam as decisões tomadas. 
Por que utilizar notação gráfica para representar os modelos? 
UML (Unified Modeling Language) 
n  A UML (Unified Modeling Language) é uma 
linguagem padrão para a elaboração da estrutura 
de projetos de software, que surgiu em meados 
da década de 90. 
n  Pode-se definir UML como uma linguagem de 
modelagem usada para especificar, visualizar, 
construir e documentar sistemas orientados a 
objetos.

Outros materiais