• Nenhum resultado encontrado

Revisão para a Prova 1

N/A
N/A
Protected

Academic year: 2021

Share "Revisão para a Prova 1"

Copied!
34
0
0

Texto

(1)

Revisão para a Prova 1

DCC / ICEx / UFMG

Eduardo Figueiredo

(2)

Aula 1 - Apresentação

◼ Apresentação da disciplina

(3)

Aula 2 - Introdução

◼ Engenharia de Software ◼ Estrutura da Engenharia de Software ◼ Atividades de Desenvolvimento de Software

(4)

O que é software?

◼ Programa de computador + Documentação ◼ Classificação fundamental  Produtos genéricos (ex. MS Office)  Produtos encomendados

(ex. Software de Controle da Loja do Zé)

(5)

Desafios de Produzir Software

◼ Equipamentos médicos

 Extremamente críticos  Lidam com vidas

◼ Caixas eletrônicos

 Prejuízos financeiros

(6)

Engenharia de Software

◼ A engenharia de software inclui  Processo  Métodos  Ferramentas Qualidade Processos de Software Métodos de Software Ferramentas

◼ Pode ser organizada em camadas

(7)
(8)
(9)

Implementação

◼ A implementação segue as

definições da fase anterior

 Transcreve as decisões de projeto

arquitetural e detalhado para uma linguagem de programação

◼ Abordado em outras disciplinas

 PDS 1 e 2, POO, Programação de

Computadores, Programação Modular, etc.

(10)

Verificação e Validação

◼ Tem por objetivo garantir que o

sistema satisfaça os requisitos

◼ Verificação consiste na realização de

alguns testes para encontrar erros

◼ A inexistência de erros não representa

a adequação operacional do sistema

(11)

Manutenção e Evolução

◼ O custo de manutenção é geralmente

muito maior que o custo de desenvolvimento

◼ Cada vez menos sistemas são

desenvolvidos “do zero”

 Sistemas são desenvolvidos/adaptados

a partir de outros sistemas

➢ Faz sentido considerar

desenvolvimento e manutenção como atividades contínuas

(12)

Aula 2 - Bibliografia

Ian Sommerville. Engenharia de

Software, 9ª Edição. Pearson

Education, 2011.

 Capítulo 1

Roger Pressman. Engenharia de

Software: Uma Abordagem Profissional, 7a Edição.

McGraw-Hill, 2011.

(13)

Aula 3 - Processos de Software

◼ Conjunto de atividades que leva ao

desenvolvimento do produto software

◼ Um processo define

 Quem faz, o que faz e quando fazer  Nem sempre diz como fazer

◼ Não existe um processo ideal

 Organizações desenvolvem seus

(14)

Modelo Cascata

◼ Atividades sequenciais

◼ Uma fase deve ser terminada

para a outra começar

 Raramente ocorre na prática

Definição de Requisitos Modelagem Implementação Testes Manutenção

(15)

Desenvolvimento Incremental

◼ Atividades são intercaladas

◼ Objetivo: dar feedback rápido ao cliente

Descrição do Escopo Versão Final Versão Inicial Versões Intermediárias Especificação Desenvolvimento Validação

(16)

Baseado em Reutilização

◼ Baseia-se na existência de um número

significativo de componentes reusáveis

◼ O processo se concentra na integração

dos componentes reusáveis

Especificação de Requisitos Análise de Componentes Alteração nos Requisitos Desenvolvimento e Integração Projeto do Sistema com Reuso Validação do Sistema

(17)

Prototipação

◼ É geralmente usada junto com outro

modelo de processo

◼ Planeja e modela rapidamente um

protótipo

 Mais comum na definição de interfaces

com os usuários (telas)

◼ Começa com os requisitos menos

compreendidos

(18)

Entrega Incremental

◼ Combina elementos do modelo

cascata aplicados de maneira iterativa

Validar sistema parcial Desenvolver incremento Validar incremento Integrar incremento Projetar arquitetura Associar requisitos aos incrementos Definir parte dos requisitos Implantar incremento Sistema Final

(19)

Modelo Espiral

◼ Combina elementos dos modelos incrementais

e de Prototipagem Definição de Requisitos Modelagem Implementação Testes  E sequência adotada do Modelo Cascata ◼ Software é desenvolvido em versões  Prototipagem nas primeiras versões  Incremental nas últimas versões

(20)

Aula 3 - Bibliografia

Ian Sommerville. Engenharia de

Software, 9ª Edição. Pearson

Education, 2011.

(21)

Aula 4 - Exercício

◼ Exercício sobre Processos de

(22)

Aula 5 - Métodos Ágeis

◼ Processos tradicionais são baseados

em especificação detalhada dos requisitos, projeto e testes

◼ Métodos ágeis têm por objetivo criar

software útil rapidamente

 Não se preocupam com a documentação

(23)

Manifesto Ágil

◼ Passamos a valorizar:

Indivíduos e interações mais que

processos e ferramentas

Software em funcionamento mais que

documentação abrangente

Colaboração com o cliente mais que

negociação de contratos

Responder a mudanças mais que

seguir um plano

(24)

Programação Extrema (XP)

◼ Proposta a partir de boas práticas

de desenvolvimento incremental

◼ Propõe o envolvimento do cliente

ao extremo

 O cliente (ou seu representante)

deve estar disponível durante todo o desenvolvimento

(25)

Scrum

Planejamento (pre-game phase)Desenvolvimento (game phase)Encerramento (post-game phase)

(26)

Aula 5 - Bibliografia

Ian Sommerville. Engenharia de

Software, 9ª Edição. Pearson

Education, 2011.

 Capítulo 3

A. Koscianski e M. Soares. Qualidade

de Software, 2ª Edição. Novatec, 2006.

(27)

Aula 6 - Requisitos de Software

◼ Classificação de Requisitos

◼ Engenharia de Requisitos

(28)

Engenharia de Requisitos

◼ Requisitos

 Descrições dos serviços fornecidos

pelo sistema e das restrições sobre estes serviços

◼ Engenharia de Requisitos

 Processo de descobrir, analisar,

(29)

Requisitos Funcionais

◼ Descrevem explicitamente as

funcionalidades e serviços do sistema

◼ Documenta

 como o sistema deve reagir a

entradas específicas

 como deve se comportar em

determinadas situações

(30)

Requisitos Não-Funcionais (RNF)

◼ Definem propriedades e restrições do

sistema

 Exemplos: segurança,

desempenho, espaço em disco

◼ Podem ser do sistema todo

ou de partes do sistema

◼ Requisitos não-funcionais podem ser

mais críticos que requisitos funcionais

(31)

Requisitos de Usuário

◼ Descreve as funções e restrições do

sistema de forma abstrata

 Inteligível pelo usuário / cliente

◼ Ponto de vista das necessidades

da empresa cliente

 Não indica uma solução

◼ Escrito em linguagem natural com

(32)

Requisitos de Sistema

◼ São descrições mais detalhadas

que os requisitos do usuário

◼ Devem ser padronizados,

completos e consistentes

 Usados pela equipe de

desenvolvimento

(33)

Elicitação de Requisitos

◼ Técnicas para levantamento de

requisitos  Descoberta de Requisitos (Pontos de vista)  Entrevistas  Cenários  Casos de Uso  Etnografia

(34)

Aula 6 - Bibliografia

Ian Sommerville. Engenharia de

Software, 9ª Edição. Pearson

Education, 2011.

Referências

Documentos relacionados

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

A seguir são expressas algumas correlações entre nome, geometria molecular e polaridade de algumas substâncias.. Correlação Nome da

Mover Novo Ponto intersecção de dois objectos Ponto Médio ou Centro Recta definida por dois pontos Recta perpendicular Reflexão num ponto Exibir Esconder Inversão num

Lilian Glória Xavier de Souza PEIXES-LANTERNA (MYCTOPHIDAE) DO ATOL DAS ROCAS, ATLÂNTICO SUL Vicente Vieira Faria Marina da Silva Mendonça ALGAS VERMELHAS CALCÁRIAS NÃO

A percepção de si mesmo, família e do mundo começa a ser construída pela criança nos anos iniciais. Por meio de situações desafiadoras, as habilidades e as

Entretanto, em meio a este complexo jogo da produção de distintas representações acerca do que vinha a “ser” punk em Ilha Solteira, diversos jovens

Uma matriz computacional é inspirada na matriz matemática, que também é capaz de armazenar um conjunto de valores em duas dimensões.. LF2 são os limites de cada dimensão da