análise e desenvolvimento de sistemas profª. cleusa maria do nascimento – ueg/sanclerlândia...

31
Análise e Desenvolvimento de Análise e Desenvolvimento de Sistemas Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Introdução a Engenharia de Software Engenharia de Software Livro: Livro: ENGENHARIA DE SOFTWARE - PRESSMAN

Upload: internet

Post on 18-Apr-2015

117 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Análise e Desenvolvimento de Análise e Desenvolvimento de SistemasSistemas

Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia

Introdução a Introdução a Engenharia de SoftwareEngenharia de Software

Livro:Livro: ENGENHARIA DE SOFTWARE - PRESSMAN

Page 2: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia
Page 3: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

3

SoftwareSoftware

1- INSTRUÇÕES

que quando executadas produzem a função e o desempenho desejados

2 - ESTRUTURAS DE DADOS

que possibilitam que os programas manipulem adequadamente a informação

3 - DOCUMENTOS

que descrevem a operação e o uso dos programas

Page 4: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

4

Características do SoftwareCaracterísticas do Software

1- Desenvolvido ou projetado por engenharia, não

manufaturado no sentido clássico

2- Não se desgasta mas se deteriora

3- A maioria é feita sob medida em vez de ser montada a partir

de componentes existentes

4 – Reusabilidade

5 - O SW é um elemento de sistema lógico e não físico ( não

existe uma construção em série)

Page 5: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

ATRIBUTOS DE UM BOM SOFTWARE

• Facilidade de manutençãoFacilidade de manutenção - fornecer a funcionalidade e o desempenho exigidos pelo cliente

• ConfiançaConfiança – facilidade de reparos, de manutenção, tolerância a erros e capacidade de sobrevivência

• EficiêncaEficiênca – tempo de resposta e processamento (não desperdiçar recursos do sistema), utilização de memória.

• UsabilidadeUsabilidade – sem esforço excessivo, pelo tipo de usuário pelo o qual ele foi projetado.

Page 6: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

• Falhas no entendimento de um sistema ocorrem devido a falhas nos seus eventos– A história do desenvolvimento de um sistema de

balanço

Falha no entendimento do sistema devido a uma provável falta de feedback

Page 7: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia
Page 8: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

estimativas de prazo e de custo estimativas de prazo e de custo

produtividade das pessoas produtividade das pessoas

qualidade de software qualidade de software

software difícil de manter software difícil de manter

Page 9: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

9

Abrange um conjunto de três elementos fundamentais:

1.1. MétodosMétodos

2.2. FerramentasFerramentas

3.3. ProcedimentosProcedimentos

Page 10: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

1) MÉTODOS: proporcionam os detalhes de “como “como fazer”fazer” para construir o software

•Planejamento e estimativa de projetoPlanejamento e estimativa de projeto•Análise de requisitos de software e de Análise de requisitos de software e de sistemassistemas•Projeto da estrutura de dadosProjeto da estrutura de dados•Arquitetura de programa e algoritmo de Arquitetura de programa e algoritmo de processamento processamento•Codificação, teste e manutençãoCodificação, teste e manutenção

Os métodos muitas vezes introduzem Os métodos muitas vezes introduzem notações gráficas ou orientadas a uma notações gráficas ou orientadas a uma

linguagem especial e conjuntos de linguagem especial e conjuntos de critérios para a qualidade de softwarecritérios para a qualidade de software

Page 11: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

11

2) Ferramentas – Suporte automatizado aos métodos

• (CASE – computer-aided software engineering) - suporte ao desenvolvimento de software

• Combina hardware, software e banco de dados de ES

Page 12: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

12

3) Procedimentos Elo que liga métodos a ferramentasElo que liga métodos a ferramentas

•Sequência dos métodos

•Produtos a serem entregues (deliverables)

•Controles de qualidade e mudança

Page 13: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

13

ENGENHARIA DE SOFTWAREENGENHARIA DE SOFTWARE

Conjunto de etapasetapas que envolve MÉTODOSMÉTODOS, FERRAMENTASFERRAMENTAS e PROCEDIMENTOSPROCEDIMENTOS.

Essas etapas são conhecidas como componentes de

CICLOS DE VIDA DE SOFTWARECICLOS DE VIDA DE SOFTWARE

Page 14: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

ciclo de vida de software ciclo de vida de software Abordagens ( Etapas) que envolvem MÉTODOS, Abordagens ( Etapas) que envolvem MÉTODOS,

FERRAMENTAS e PROCEDIMENTOS,FERRAMENTAS e PROCEDIMENTOS,

para escolha é necessário:

• natureza do projeto e da aplicação• métodos e ferramentas a serem usados• controles e produtos que precisam ser entregues

Page 15: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

• Todo processo de desenvolvimento é orientado por modelos de ciclo de vida

– As funções primárias são:• Determinar as fases• Determinar a ordem das atividades e a atividade

de cada etapa• Estabelecer critérios para a transição das fases

Page 16: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Importância de Modelar

• Para construir um modelo detalhado monstrando as funções e dados do sistemas.

• Traz benefícios como a redução do custo de alterações, pois quanto mais cedo se detectar um erro. Mais fácil será sua correção.

Page 17: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

17

Engenharia de Software Engenharia de Software uma visão genéricauma visão genérica

O processo de desenvolvimento de software contém 3 fases genéricas, independentes do modelo de engenharia de software escolhido:

DEFINIÇÃODEFINIÇÃO,

DESENVOLVIMENTODESENVOLVIMENTO e

MANUTENÇÃOMANUTENÇÃO.

Page 18: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

18

Engenharia de Software Engenharia de Software uma visão genéricauma visão genérica

FASE DE DEFINIÇÃO:FASE DE DEFINIÇÃO: “o que”“o que” será desenvolvido.

• Análise do SistemaAnálise do Sistema:: define o papel de cada elemento num sistema baseado em computador, atribuindo em última análise, o papel que o software desempenhará.

• Planejamento do Projeto de SoftwarePlanejamento do Projeto de Software:: assim que o escopo do software é estabelecido, os riscos são analisados, os recursos são alocados, os custos são estimados e, tarefas e programação de trabalho definidas.

• Análise de RequisitosAnálise de Requisitos:: o escopo definido para o software proporciona uma direção, mas uma definição detalhada do domínio da informação e da função do software é necessária antes que o trabalho inicie.

Page 19: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

19

Engenharia de Software Engenharia de Software uma visão genéricauma visão genérica

DESENVOLVIMENTO:DESENVOLVIMENTO: ““como”como” o software vai ser desenvolvido.

• Projeto de SoftwareProjeto de Software:: traduz os requisitos do software num conjunto de representações (algumas gráficas, outras tabulares ou baseadas em linguagem) que descrevem a estrutura de dados, a arquitetura do software, os procedimentos algoritmicos e as características de interface.

• CodificaçãoCodificação:: as representações do projeto devem ser convertidas numa linguagem artificial (a linguagem pode ser uma linguagem de programação convencional ou uma linguagem não procedimental) que resulte em instruções que possam ser executadas pelo computador.

• Realização de Testes do SoftwareRealização de Testes do Software:: logo que o software é implementado numa forma executável por máquina, ele deve ser testado para que se possa descobrir defeitos de função, lógica e implementação.

Page 20: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

20

Engenharia de Software Engenharia de Software uma visão genéricauma visão genérica

FASE DE MANUTENÇÃO:FASE DE MANUTENÇÃO: concentra-se nas

“mudanças”“mudanças” que ocorrerão depois que o software for liberado para uso operacional

Correção

Adaptação

Melhoramento Funcional

Page 21: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

PerfilPerfil do profissional envolve habilidades•Comunicação•Capacidade de análise•Conhecimento da atividade do usuário•Capacidade de negociação•Administração de projetos•Conhecimento técnico

funções específicas para analistaanalista, projetistaprojetista, programadorprogramador

Page 22: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Participantes do Projeto

Page 23: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

AnáliseAnálise

Derivado do grego analýein - desatar, soltar, significa dissolução de um

conjunto em suas partes. Em sentido amplo, empregam-se os termos “análise” e “analisar” como sinônimos de exame e

examinar, pesquisa e pesquisar, verificação e verificar.

Page 24: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Análise de SistemasAnálise de Sistemas

Representa o estudo detalhado de uma área de trabalho (processo), que

antecede uma ação que, quase sempre, implica no desenvolvimento de

um conjunto de programas integrados(sistema) destinado à

execução controle e acompanhamento do processo.

Page 25: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Relacionamento Usuário e AnalistaRelacionamento Usuário e Analista

- Analista união entre os usuários e os projetistas.

- Conclusão da etapa de requisitos funcionais do sistema.

- O Analista responde pelo usuário a qualquer dúvida que o projetista vem a ter.

Page 26: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Produto totalmente particionado, do maior ao menor nível de detalhe,

possibilitando a identificação clara e simples de qualquer parte do

sistema, bem como a agregação em pequenos blocos de funções afins.

Análise EstruturadaAnálise Estruturada

Page 27: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Expõe o que é feito e que vai Expõe o que é feito e que vai ser feito pelo uso de gráficos; ser feito pelo uso de gráficos; o que torna a visualização e o que torna a visualização e

entendimento muito mais entendimento muito mais claros e objetivos.claros e objetivos.

Análise EstruturadaAnálise Estruturada

Page 28: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Objetivos da Análise Objetivos da Análise EstruturadaEstruturada

O documento a ser padronizado deve ser:O documento a ser padronizado deve ser:

- Passível de manutenção- Gráfico- Lógico- Rigoroso- Conciso- Legível

Page 29: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Condução do Trabalho de Condução do Trabalho de AnáliseAnálise

A condução da análise deve ser:A condução da análise deve ser:- Dirigida para a Ferramenta- Mensurável/Pré-Determinada- Divisível

Page 30: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

Diálogo Usuário X AnalistaDiálogo Usuário X Analista

O diálogo usuário/analista dever ser:O diálogo usuário/analista dever ser:

- Iterativo- Lógico- Limitado

Page 31: Análise e Desenvolvimento de Sistemas Profª. Cleusa Maria do Nascimento – UEG/Sanclerlândia Introdução a Engenharia de Software Livro: Introdução a Engenharia

ExercíciosAs questões abaixo são referentes a obra Engenharia de Software de R.

Pressman e as notas de aulas discutidas em classe:1) Defina Engenharia De Software.2) Qual a importância na Engenharia De Software e da aplicação de métodos?3) Conceitue software. 4) Por que é difícil construir software? Justifique.5) Quais são os elementos fundamentais da engenharia de software? Explique cada um.6) Quais são os tipos de participantes que você provavelmente encontraráem um típico projeto de desenvolvimento de sistemas? Descreva cada um dos participantes.?7) O que é reusabilidade?8) O que é um ciclo de vida de software? O que é necessário Para escolha de um Ciclo de Vida de software?9) Porque devemos Modelar ?10) Qual o Relacionamento e como deve ser o diálogo entre: Usuário X Analista11) Quais os objetivos e o que você entende por: Análise Estruturada12) Como deve ser a Condução do Trabalho de Análise ?