análise e desenvolvimento de sistemas profª. cleusa maria do nascimento – ueg/sanclerlândia...
TRANSCRIPT
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
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
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)
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.
• 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
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
9
Abrange um conjunto de três elementos fundamentais:
1.1. MétodosMétodos
2.2. FerramentasFerramentas
3.3. ProcedimentosProcedimentos
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
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
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
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
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
• 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
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.
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.
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.
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.
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
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
Participantes do Projeto
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.
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.
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.
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
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
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
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
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
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 ?