Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Engenharia de Software
Ciência da Computação
Sistemas de Informação
Profa. Me Monica Tissiani De Toni Pereira
Prof. Me Radamés Pereira
Engenharia de Software
Processo de Software:
É um conjunto de atividades relacionadas que levam à produção de um sistema de 
software.
Atividades fundamentais:
•Especificação – funcionalidade e restrições.
•Desenvolvimento – deve atender a especificação.
•Validação – atender ao que o cliente espera do software.
•Evolução – deve evoluir para atender as mudanças necessárias.
• Incluem:
Validação dos requisitos
Projeto de arquitetura
Testes de unidade
Outros ...
Engenharia de Software
Modelos de genéricos de processos de software:
SDLC – Software Development Life Cycle
• Cascata – apresenta o processo em fases distintas.
• Desenvolvimento incremental – adiciona novas funcionalidades a versão anterior do 
software.
• Integração e Configuração – é baseado em módulos ou sistemas já existentes que 
podem ser reutilizados, integrados e configurados de acordo com a necessidade do 
cliente.
Engenharia de Software
Modelo em Cascata 
Processo dirigido por plano
• Planejamento
• Cronograma 
Devem estar definidos 
antes do 
desenvolvimento
Engenharia de Software
Modelo em Cascata (Ciclo de vida do Software)
Engenharia de Software
Modelo em Cascata
• Análise e definição dos requisitos.
• Funcionalidades
• Restrições
• Metas
• Projeto do Sistema e do Software
• Identificação dos requisitos de sistema e de software
• Estabelece a arquitetura do sistema
Engenharia de Software
Arquitetura de um sistema
Projeto Inova
Universidade Federal de 
Santa Maria
Engenharia de Software
Arquitetura de um sistema
Serviços:
Login
Catálogo de Compras
Pedido
Pagamento
Engenharia de Software
Arquitetura de um sistema
Universidade Comunitária da
Região de Chapecó - LTS
Engenharia de Software
Implementação e teste de unidade:
• O software é desenvolvido em módulos. Estes programas são testados 
individualmente a fim de verificar se atente a funcionalidade esperada.
Integração e teste de sistema:
• Os módulos são integrados e testados em conjunto, de forma a verificar se o software 
atende aos requisitos determinados.
Operação e manutenção:
• Manutenção – corrigir os erros que não foram encontrados nas primeiras fases do 
ciclo de vida do software.
• Aperfeiçoar o sistema a partir de novos requisitos definidos.
Engenharia de Software
Modelo em Cascata - não aplicar quando:
• Os requisitos do software mudam rapidamente.
• A comunicação informal do time é possível.
• Quando requisitos de software mudam rapidamente, os métodos ágeis se 
aplicam.
Ian Sommerville (2018) – pág 35.
Engenharia de Software
Desenvolvimento incremental:
• Desenvolver o módulo inicial;
• Obter o feedback dos usuários;
• Software evolui por meio de versões.
Engenharia de Software
Desenvolvimento incremental:
Engenharia de Software
Desenvolvimento incremental:
Vantagens relativas ao modelo em Cascata:
• Custo reduzido na manutenção de requisitos.
• É mais fácil obter feedback dos clientes, pois os módulos são 
constantemente testados.
• Entrega e implantação antecipadas, mesmo que todos os requisitos não 
tenham sido implementados.
Problemas:
• O progresso do processo de desenvolvimento não é visível.
• Dificuldade para refatoramento do código.
Engenharia de Software
Integração e Configuração:
• Reuso de módulos ou programas que podem ser modificados e 
integrados.
• Tipos de componentes para reuso:
• Stand-alone;
• Coleções de objetos – desenvolvidos em uma linguagem orientada a objetos ... ☺
• Web services ... E microsserviços?
• Pergunte ao chat GPT: Qual a diferença entre web services e microsserviços?
Engenharia de Software RPC – Remote 
Procedure Call 
ou protocolo 
Cliente Servidor
Engenharia de Software
Qual é o significado de SOAP?
XML?
HTTP?
JSON?
REST?
Engenharia de Software
SOAP: Simple Object Access Protocol (Protocolo simples de acesso a objetos). Baseado 
em XML ou JSON.
F1
SMITH
20
LONDRES
F2
JONES
10
PARIS
db.Automovel.insertMany( [
 {placa:"YYY1234", ano:2010, modelo: "Focus", marca: "Ford",
 acessorios:["freios abs", "farol de milha", "som"]},
 {placa:"LXT4040", ano:2019, modelo: "Tiida", marca: 
"Nissan",
acessorios:["direção elétrica", "freios abs", "som"]},
 {placa:"LXT4020", ano:2019, modelo: "Sentra", marca: 
"Nissan",
acessorios:["direção elétrica", "freios abs", "som"]}
 ]);
Engenharia de Software
SOAP: Simple Object Access Protocol (Protocolo simples de acesso a objetos).
Engenharia de Software
HTTP: HyperText Transfer Protocol.
Para ler:
https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Overview
Engenharia de Software
REST:
REST, ou Representational State 
Transfer, é um tipo de arquitetura de 
software que é geralmente usada para 
construIr APIs e web services.
Uma API REST usa os métodos HTTP 
como GET, POST, PUT, DELETE para 
especificar ações de requisição e 
resposta em uma aplicação.
Engenharia de Software
• Engenharia de Software Orientada para o reuso.
Engenharia de Software
• Engenharia de Requisitos.
Engenharia de Software
Elicitação e análise de requisitos:
Derivação (identificação) dos requisitos por meio da análise de 
tarefas, observação de um processo, discussões com potenciais 
usuários ou clientes.
Especificação de requisitos:
Consiste em traduzir os requisitos de usuários para requisitos de 
sistema.
Estes requisitos devem ser documentados. O documento deve 
especificar as funcionalidades do sistema.
Engenharia de Software
Validação de requisitos:
Verifica a consistência, realismo e 
integridade dos requisitos.
Documentação do 
projeto de 
Software
Para ler:
http://wer.inf.puc-rio.br/WERpapers/artigos/artigos_WER03/priscilla_pagliuso.pdf
Engenharia de Software
• Desenvolver em grupo apresentação de técnicas de Elicitação 
de Requisitos.

Mais conteúdos dessa disciplina