SlideShare uma empresa Scribd logo
Engenharia deSoftware
Professor Marcondes Tibúrcio
Disciplina: Projeto e Desenvolvimento de Sistemas
CEEP PIO XII
Imagem Clássica
■ Depois desta aula você terá uma visão sobre o
que é a engenharia de software, os seus
objetivos e conceitos básicos.
OBJETIVO DA AULA
■ Estudo ou aplicação de abordagens sistemáticas,
econômicas e quantificáveis para o desenvolvimento,
operação e manutenção de software de qualidade;
■ Engenheiros de software devem adotar uma abordagem
organizada para seu trabalho e usar
e técnicas/métodos apropriados
sistemática e
ferramentas
dependendo do problema a ser solucionado, das
de desenvolvimento e dos recursos
restrições
disponíveis.
O QUE É A ENGENHARIA DE SOFTWARE?
■ Programas de computador e documentação
associada;
■ Produtos de software podem ser desenvolvidos
para um cliente particular ou podem ser
desenvolvidos para um mercado geral.
Objetivos da Engenharia de
Software
■ Controle sobre o desenvolvimento de software
dentro de custos, prazos e níveis de qualidade
desejados;
■ Produtividade no desenvolvimento, operação e
manutenção de software;
■ Qualidade versus Produtividade;
■ Permitir que profissionais tenham controle sobre
o desenvolvimento de software dentro de custos,
prazos e níveis de qualidade desejados.
Características da Engenharia
de Software
■ A Engenharia de Software se refere a software
(sistemas) desenvolvidos por grupos ao invés
de indivíduos;
■ usa princípios de engenharia ao invés de
arte, e...
■ inclui tanto aspectos técnicos quanto não
técnicos.
O que é um software de
qualidade?
■ O software que satisfaz os requisitos solicitados pelo
usuário. Deve ser fácil de manter, ter boa performance,
ser confiável e fácil de usar.
■ Alguns atributos de qualidade:
◆ Manutenibilidade
☞ O software deve evoluir para atender os requisitos que
mudam.
◆ Eficiência
☞ O software não deve desperdiçar os recursos do sistema.
◆ Usabilidade
☞ O software deve ser fácil de usar pelos usuários para os
quais ele foi projetado.
Qualidade de Software
(um exemplo para o Varejo)
■ Correto
◆ A loja não pode deixar de cobrar por produtos
comprados pelo consumidor.
■ Robusto e altamente disponível
◆ A loja não pode parar de vender.
■ Eficiente
◆ O consumidor não pode esperar.
◆ A empresa quer investir pouco em recursos
computacionais (CPU, memória, rede).
■ Amigável e fácil de usar
◆ A empresa quer investir pouco em treinamento.
■ Altamente extensível e adaptável
◆ A empresa tem sempre novos requisitos (para ontem!);
◆ A empresa quer o software customizado do seu jeito
(interface, teclado, idioma, moeda, etc.).
■ Reusável
◆ Várias empresas precisam usar partes de um mesmo
sistema.
Qualidade de Software
(um exemplo para o Varejo)
■ Aberto, compatível, de fácil integração com outros
sistemas:
◆ A empresa já tem controle de estoque, fidelização, etc.
■ Portável e independente de plataforma (hw e sw):
◆ A empresa opta por uma determinada plataforma.
■ Baixo custo de instalação e atualização:
◆ A empresa tem um grande número de PDVs.
Qualidade de Software
(um exemplo para o Varejo)
Produtividade
■ Custo de desenvolvimento reduzido:
◆ A empresa consumidora quer investir pouco em
software.
◆ A empresa produtora tem que oferecer “software
barato”.
■ Tempo de desenvolvimento reduzido:
◆ Suporte rápido às necessidades do mercado.
“Software Barato”
Nem tanto resultado de baixos custos de
desenvolvimento, mas principalmente da
distribuição dos custos entre vários clientes.
Reuso, extensibilidade e adaptabilidade são
essenciais para viabilizar tal distribuição.
Importância da Engenharia
de Software
■ Qualidade de software e produtividade
garantem:
◆ Disponibilidade de serviços essenciais;
◆ Segurança de pessoas;
◆ Competitividade das empresas:
 Produtores;
 Consumidores.
Mas, na realidade, temos a
Crise de Software...
■ 25% dos projetos são cancelados;
■ o tempo de desenvolvimento é bem maior do
que o estimado;
■ 75% dos sistemas não funcionam como
planejado;
■ a manutenção e reutilização são difíceis e
custosas;
■ os problemas são proporcionais à
complexidade dos sistemas.
Causas da Crise de Software
■ Essências
◆ Complexidade dos sistemas;
◆ Dificuldade de formalização.
■ Acidentes
◆ Má qualidade dos métodos, linguagens,
ferramentas, processos, e modelos de ciclo de
vida;
◆ Falta de qualificação técnica.
■ Elementos
◆ Modelos do ciclo de
vida do software;
◆ Linguagens;
◆ Métodos;
◆ Ferramentas;
◆ Processos.
■ Atividades
◆ Modelagem do negócio;
◆ Elicitação de requisitos;
◆ Análise e Projeto;
◆ Implementação;
◆ Testes;
◆ Distribuição;
◆ Planejamento;
◆ Gerenciamento;
◆ Gerência de Configuração
e Mudanças;
◆ Manutenção.
■ Artefatos
◆ Plano de Negócios;
◆ Plano de Projeto;
◆ Plano de Riscos;
◆ Documento de Requisitos;
◆ Mapeamentos A&P;
◆ Documento de Caso de
Uso;
◆ Documento de Arquitetura;
◆ Classes;
◆ Documento de Testes;
◆ Documento de Validação;
◆ Manual do Sistema.
■ Atividades
◆ Modelagem do negócio;
◆ Elicitação de requisitos;
◆ Análise e Projeto;
◆ Implementação;
◆ Testes;
◆ Distribuição;
◆ Planejamento;
◆ Gerenciamento;
◆ Gerência de Configuração e
Mudanças;
◆ Manutenção.
■ Uma representação abstrata e simplificada
do processo de desenvolvimento software,
tipicamente mostrando as principais
atividades e dados usados na produção e
manutenção de software
Linguagem
■ Notação com sintaxe e semântica bem
definidas:
◆ com representação gráfica ou textual.
■ Usada para descrever os artefatos gerados
durante o desenvolvimento de software
■ Exemplos: UML, Java, PHP, C# e Python.
Método
■ Descrição sistemática de como deve-se
realizar uma determinada atividade ou tarefa;
■ A descrição é normalmente feita através de
padrões e guias;
■ Exemplos: Método para descoberta das
classes de análise no RUP.
Ferramenta CASE
– ( Computer-Aided Software Engineering )
Engenharia de Software Auxiliada por Computador
■ Provê suporte computacional a um
determinado método ou linguagem;
■ Ambiente de desenvolvimento: conjunto de
ferramentas integradas (CASE);
■ Exemplos:
Plataforma
Rational
Eclipse,
BizAgi, Aplicação
Rose,
PhpStorm,
Redmine,
JBuilder,
Software
Sistema
Subversion, Framework JUnit, Ferramenta
Sonar.
Processo
■ Conjunto de atividades:
◆ bem definidas;
◆ com responsáveis;
◆ com artefatos de entrada e saída;
◆ com dependências entre as mesmas e ordem
de execução;
◆ com modelo de ciclo de vida.
Processo de software
■ Um conjunto de atividades cujo objetivo é o
desenvolvimento ou a evolução do software;
■ Conjunto coerente de atividades para
especificação, projeto, implementação e teste
de sistemas de software.
Metodologia
■ Conjunto de métodos + processo
Pontos principais
■ Engenharia de software é uma disciplina de engenharia
que está envolvida com todos os aspectos da produção
de software;
■ Produtos de software consistem de programas
desenvolvidos e documentação associada. Alguns
atributos de qualidade do produto são
manutenibilidade, eficiência e usabilidade;
■ O processo de software consiste nas atividades que
são envolvidas no desenvolvimento de produtos de
software.
Pontos principais
■ Métodos são formas organizadas de produzir software.
Eles incluem sugestões para o processo a ser seguido,
as notações a serem usadas, regras que governam as
descrições do sistema que são produzidas e diretrizes
de projeto;
■ Ferramentas CASE são sistemas de software que são
projetados para suportar as atividades rotineiras no
processo de software, como edição de diagramas de
projeto e verificação de consistência dos diagramas.
Obrigado! Thank you!
Dúvidas???

Mais conteúdo relacionado

Semelhante a aula projeto e des sistemas 22 03 2021.pptx

Crise de software2
Crise de software2Crise de software2
Crise de software2
Tiago Pinhão
 
ES - 01
ES - 01ES - 01
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
Felipe Bugov
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
Rudson Kiyoshi Souza Carvalho
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
Waldemar Roberti
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
Elaine Cecília Gatto
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
Pedro Alcantara
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
Marcos Pereira
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresa
Henrique Nunes Bez Fontana
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.
Ronildo Oliveira
 
Aula1.pdf
Aula1.pdfAula1.pdf
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
Leinylson Fontinele
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
spawally
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Cris Fidelix
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
CursoSENAC
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
wilsonguns
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
Tiago Barros
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
Edjalma Queiroz da Silva
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
Kelvin Wesley
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
Leinylson Fontinele
 

Semelhante a aula projeto e des sistemas 22 03 2021.pptx (20)

Crise de software2
Crise de software2Crise de software2
Crise de software2
 
ES - 01
ES - 01ES - 01
ES - 01
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresa
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.
 
Aula1.pdf
Aula1.pdfAula1.pdf
Aula1.pdf
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 

Mais de MarcondesTiburcio

P2_Aula1-convertido.pptx
P2_Aula1-convertido.pptxP2_Aula1-convertido.pptx
P2_Aula1-convertido.pptx
MarcondesTiburcio
 
Aula_01_-_A_Era_da_Computacao.pdf
Aula_01_-_A_Era_da_Computacao.pdfAula_01_-_A_Era_da_Computacao.pdf
Aula_01_-_A_Era_da_Computacao.pdf
MarcondesTiburcio
 
aula 21.pptx
aula 21.pptxaula 21.pptx
aula 21.pptx
MarcondesTiburcio
 
aula 08.pdf
aula 08.pdfaula 08.pdf
aula 08.pdf
MarcondesTiburcio
 
aula 04.pdf
aula 04.pdfaula 04.pdf
aula 04.pdf
MarcondesTiburcio
 
UML1.pdf
UML1.pdfUML1.pdf
Aula - Redes peer to peer.pdf
Aula - Redes peer to peer.pdfAula - Redes peer to peer.pdf
Aula - Redes peer to peer.pdf
MarcondesTiburcio
 
TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14 11 2022 NOVAS TECNOLOGIAS PARA A...
TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14  11 2022 NOVAS TECNOLOGIAS PARA A...TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14  11 2022 NOVAS TECNOLOGIAS PARA A...
TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14 11 2022 NOVAS TECNOLOGIAS PARA A...
MarcondesTiburcio
 
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...
MarcondesTiburcio
 
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdf
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdfTÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdf
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdf
MarcondesTiburcio
 
TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...
TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...
TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...
MarcondesTiburcio
 
APRESENTAÇÃO.pptx
APRESENTAÇÃO.pptxAPRESENTAÇÃO.pptx
APRESENTAÇÃO.pptx
MarcondesTiburcio
 
template.pptx
template.pptxtemplate.pptx
template.pptx
MarcondesTiburcio
 
A cibercultura e a identidade planetária.pdf
A cibercultura e a identidade planetária.pdfA cibercultura e a identidade planetária.pdf
A cibercultura e a identidade planetária.pdf
MarcondesTiburcio
 
TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...
TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...
TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...
MarcondesTiburcio
 
AULA-Minha-Voz-nas-Redes_slides.pptx
AULA-Minha-Voz-nas-Redes_slides.pptxAULA-Minha-Voz-nas-Redes_slides.pptx
AULA-Minha-Voz-nas-Redes_slides.pptx
MarcondesTiburcio
 

Mais de MarcondesTiburcio (16)

P2_Aula1-convertido.pptx
P2_Aula1-convertido.pptxP2_Aula1-convertido.pptx
P2_Aula1-convertido.pptx
 
Aula_01_-_A_Era_da_Computacao.pdf
Aula_01_-_A_Era_da_Computacao.pdfAula_01_-_A_Era_da_Computacao.pdf
Aula_01_-_A_Era_da_Computacao.pdf
 
aula 21.pptx
aula 21.pptxaula 21.pptx
aula 21.pptx
 
aula 08.pdf
aula 08.pdfaula 08.pdf
aula 08.pdf
 
aula 04.pdf
aula 04.pdfaula 04.pdf
aula 04.pdf
 
UML1.pdf
UML1.pdfUML1.pdf
UML1.pdf
 
Aula - Redes peer to peer.pdf
Aula - Redes peer to peer.pdfAula - Redes peer to peer.pdf
Aula - Redes peer to peer.pdf
 
TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14 11 2022 NOVAS TECNOLOGIAS PARA A...
TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14  11 2022 NOVAS TECNOLOGIAS PARA A...TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14  11 2022 NOVAS TECNOLOGIAS PARA A...
TÉC ADM MANHÃ-TARDE EDUC TECN E MIDIÁTICA14 11 2022 NOVAS TECNOLOGIAS PARA A...
 
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 29 08 2022 DESIGN THINKING E TECNOLOGIAS ...
 
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdf
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdfTÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdf
TÉC ADM MANHÃ EDUC TECN E MIDIÁTICA 05 09 2022 ANÁLISE DE DADOS P1.pdf
 
TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...
TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...
TÉC INFORMÁTICA EDUC TECN E MIDIÁTICA 22 08 2022 SEGURANÇA DA INFORMAÇÃO E PR...
 
APRESENTAÇÃO.pptx
APRESENTAÇÃO.pptxAPRESENTAÇÃO.pptx
APRESENTAÇÃO.pptx
 
template.pptx
template.pptxtemplate.pptx
template.pptx
 
A cibercultura e a identidade planetária.pdf
A cibercultura e a identidade planetária.pdfA cibercultura e a identidade planetária.pdf
A cibercultura e a identidade planetária.pdf
 
TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...
TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...
TÉC EM ADM MANHÃ EDUC TECNOL E MIDIÁTICA 31 05 2022 USO DE TECNOL DIGITAIS DE...
 
AULA-Minha-Voz-nas-Redes_slides.pptx
AULA-Minha-Voz-nas-Redes_slides.pptxAULA-Minha-Voz-nas-Redes_slides.pptx
AULA-Minha-Voz-nas-Redes_slides.pptx
 

aula projeto e des sistemas 22 03 2021.pptx

  • 1. Engenharia deSoftware Professor Marcondes Tibúrcio Disciplina: Projeto e Desenvolvimento de Sistemas CEEP PIO XII
  • 3. ■ Depois desta aula você terá uma visão sobre o que é a engenharia de software, os seus objetivos e conceitos básicos. OBJETIVO DA AULA
  • 4. ■ Estudo ou aplicação de abordagens sistemáticas, econômicas e quantificáveis para o desenvolvimento, operação e manutenção de software de qualidade; ■ Engenheiros de software devem adotar uma abordagem organizada para seu trabalho e usar e técnicas/métodos apropriados sistemática e ferramentas dependendo do problema a ser solucionado, das de desenvolvimento e dos recursos restrições disponíveis. O QUE É A ENGENHARIA DE SOFTWARE?
  • 5. ■ Programas de computador e documentação associada; ■ Produtos de software podem ser desenvolvidos para um cliente particular ou podem ser desenvolvidos para um mercado geral.
  • 6. Objetivos da Engenharia de Software ■ Controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados; ■ Produtividade no desenvolvimento, operação e manutenção de software; ■ Qualidade versus Produtividade; ■ Permitir que profissionais tenham controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados.
  • 7. Características da Engenharia de Software ■ A Engenharia de Software se refere a software (sistemas) desenvolvidos por grupos ao invés de indivíduos; ■ usa princípios de engenharia ao invés de arte, e... ■ inclui tanto aspectos técnicos quanto não técnicos.
  • 8. O que é um software de qualidade? ■ O software que satisfaz os requisitos solicitados pelo usuário. Deve ser fácil de manter, ter boa performance, ser confiável e fácil de usar. ■ Alguns atributos de qualidade: ◆ Manutenibilidade ☞ O software deve evoluir para atender os requisitos que mudam. ◆ Eficiência ☞ O software não deve desperdiçar os recursos do sistema. ◆ Usabilidade ☞ O software deve ser fácil de usar pelos usuários para os quais ele foi projetado.
  • 9. Qualidade de Software (um exemplo para o Varejo) ■ Correto ◆ A loja não pode deixar de cobrar por produtos comprados pelo consumidor. ■ Robusto e altamente disponível ◆ A loja não pode parar de vender. ■ Eficiente ◆ O consumidor não pode esperar. ◆ A empresa quer investir pouco em recursos computacionais (CPU, memória, rede).
  • 10. ■ Amigável e fácil de usar ◆ A empresa quer investir pouco em treinamento. ■ Altamente extensível e adaptável ◆ A empresa tem sempre novos requisitos (para ontem!); ◆ A empresa quer o software customizado do seu jeito (interface, teclado, idioma, moeda, etc.). ■ Reusável ◆ Várias empresas precisam usar partes de um mesmo sistema. Qualidade de Software (um exemplo para o Varejo)
  • 11. ■ Aberto, compatível, de fácil integração com outros sistemas: ◆ A empresa já tem controle de estoque, fidelização, etc. ■ Portável e independente de plataforma (hw e sw): ◆ A empresa opta por uma determinada plataforma. ■ Baixo custo de instalação e atualização: ◆ A empresa tem um grande número de PDVs. Qualidade de Software (um exemplo para o Varejo)
  • 12. Produtividade ■ Custo de desenvolvimento reduzido: ◆ A empresa consumidora quer investir pouco em software. ◆ A empresa produtora tem que oferecer “software barato”. ■ Tempo de desenvolvimento reduzido: ◆ Suporte rápido às necessidades do mercado.
  • 13. “Software Barato” Nem tanto resultado de baixos custos de desenvolvimento, mas principalmente da distribuição dos custos entre vários clientes. Reuso, extensibilidade e adaptabilidade são essenciais para viabilizar tal distribuição.
  • 14. Importância da Engenharia de Software ■ Qualidade de software e produtividade garantem: ◆ Disponibilidade de serviços essenciais; ◆ Segurança de pessoas; ◆ Competitividade das empresas:  Produtores;  Consumidores.
  • 15. Mas, na realidade, temos a Crise de Software... ■ 25% dos projetos são cancelados; ■ o tempo de desenvolvimento é bem maior do que o estimado; ■ 75% dos sistemas não funcionam como planejado; ■ a manutenção e reutilização são difíceis e custosas; ■ os problemas são proporcionais à complexidade dos sistemas.
  • 16. Causas da Crise de Software ■ Essências ◆ Complexidade dos sistemas; ◆ Dificuldade de formalização. ■ Acidentes ◆ Má qualidade dos métodos, linguagens, ferramentas, processos, e modelos de ciclo de vida; ◆ Falta de qualificação técnica.
  • 17. ■ Elementos ◆ Modelos do ciclo de vida do software; ◆ Linguagens; ◆ Métodos; ◆ Ferramentas; ◆ Processos. ■ Atividades ◆ Modelagem do negócio; ◆ Elicitação de requisitos; ◆ Análise e Projeto; ◆ Implementação; ◆ Testes; ◆ Distribuição; ◆ Planejamento; ◆ Gerenciamento; ◆ Gerência de Configuração e Mudanças; ◆ Manutenção.
  • 18. ■ Artefatos ◆ Plano de Negócios; ◆ Plano de Projeto; ◆ Plano de Riscos; ◆ Documento de Requisitos; ◆ Mapeamentos A&P; ◆ Documento de Caso de Uso; ◆ Documento de Arquitetura; ◆ Classes; ◆ Documento de Testes; ◆ Documento de Validação; ◆ Manual do Sistema. ■ Atividades ◆ Modelagem do negócio; ◆ Elicitação de requisitos; ◆ Análise e Projeto; ◆ Implementação; ◆ Testes; ◆ Distribuição; ◆ Planejamento; ◆ Gerenciamento; ◆ Gerência de Configuração e Mudanças; ◆ Manutenção.
  • 19. ■ Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de software
  • 20. Linguagem ■ Notação com sintaxe e semântica bem definidas: ◆ com representação gráfica ou textual. ■ Usada para descrever os artefatos gerados durante o desenvolvimento de software ■ Exemplos: UML, Java, PHP, C# e Python.
  • 21. Método ■ Descrição sistemática de como deve-se realizar uma determinada atividade ou tarefa; ■ A descrição é normalmente feita através de padrões e guias; ■ Exemplos: Método para descoberta das classes de análise no RUP.
  • 22. Ferramenta CASE – ( Computer-Aided Software Engineering ) Engenharia de Software Auxiliada por Computador ■ Provê suporte computacional a um determinado método ou linguagem; ■ Ambiente de desenvolvimento: conjunto de ferramentas integradas (CASE); ■ Exemplos: Plataforma Rational Eclipse, BizAgi, Aplicação Rose, PhpStorm, Redmine, JBuilder, Software Sistema Subversion, Framework JUnit, Ferramenta Sonar.
  • 23. Processo ■ Conjunto de atividades: ◆ bem definidas; ◆ com responsáveis; ◆ com artefatos de entrada e saída; ◆ com dependências entre as mesmas e ordem de execução; ◆ com modelo de ciclo de vida.
  • 24. Processo de software ■ Um conjunto de atividades cujo objetivo é o desenvolvimento ou a evolução do software; ■ Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software.
  • 25. Metodologia ■ Conjunto de métodos + processo
  • 26. Pontos principais ■ Engenharia de software é uma disciplina de engenharia que está envolvida com todos os aspectos da produção de software; ■ Produtos de software consistem de programas desenvolvidos e documentação associada. Alguns atributos de qualidade do produto são manutenibilidade, eficiência e usabilidade; ■ O processo de software consiste nas atividades que são envolvidas no desenvolvimento de produtos de software.
  • 27. Pontos principais ■ Métodos são formas organizadas de produzir software. Eles incluem sugestões para o processo a ser seguido, as notações a serem usadas, regras que governam as descrições do sistema que são produzidas e diretrizes de projeto; ■ Ferramentas CASE são sistemas de software que são projetados para suportar as atividades rotineiras no processo de software, como edição de diagramas de projeto e verificação de consistência dos diagramas.

Notas do Editor

  1. A sintaxe de uma linguagem de programação é uma coleção de regras para especificar a estrutura ou forma de código, enquanto a semântica refere-se à interpretação do código ou ao significado associado dos símbolos, caracteres ou qualquer parte de um programa.
  2. O Processo Unificado da Rational conhecido como RUP (Rational Unified Process), é um processo de engenharia de software criado para apoiar o desenvolvimento orientado a objetos, fornecendo uma forma sistemática para se obter vantagens no uso da UML.
  3. Engenharia de software assistida por computador