APOSTILA ENGENHARIA DE SOFTWARE - dai.ifma.edu.br mlcsilva/aulas_modelagem/recursos/apostila... ·

  • View
    213

  • Download
    0

Embed Size (px)

Text of APOSTILA ENGENHARIA DE SOFTWARE - dai.ifma.edu.br mlcsilva/aulas_modelagem/recursos/apostila... ·

  • Universidade do Estado de Minas Gerais

    Fundao Educacional de Ituiutaba

    Curso de Engenharia da Computao

    Engenharia de Software

    APOSTILA

    ENGENHARIA DE SOFTWARE

    Prof. Walteno Martins Parreira Jnior www.waltenomartins.com.br

    walteno@ituiutaba.uemg.br waltenomartins@yahoo.com

  • Engenharia de Software

    Prof. Walteno Martins Parreira Jr Pgina 1

    SUMRIO

    1 SOFTWARE E ENGENHARIA DE SOFTWARE ......................................................... 4 1.1 Introduo................................................................................................................... 4 1.2 Software...................................................................................................................... 4 1.3 Problemas associados ao software ............................................................................... 5 1.4 A Importncia do Software ......................................................................................... 5 1.5 O Papel Evolutivo do Software ................................................................................... 5 1.6 Aplicaes do Software............................................................................................... 8 1.7 Engenharia de Software: Uma Definio ..................................................................... 9 1.8 O que engenharia de Software?................................................................................. 9

    1.8.1 Mtodo baseado na Decomposio de Funes:................................................. 10 1.8.2 Mtodo baseado na Estrutura de Dados: ............................................................ 10 1.8.3 Mtodo de Anlise baseado na Orientao a Objeto........................................... 10

    1.9 Paradigmas de Engenharia de Software ..................................................................... 10 1.10 Processos de Software............................................................................................... 11 1.11 Os desafios da Engenharia de Software ..................................................................... 11

    2 TCNICAS DE ENTREVISTAS E DE COLETA DE DADOS................................... 12 2.1 Introduo................................................................................................................. 12 2.2 Tipos de Entrevistas .................................................................................................. 12 2.3 Problemas Fundamentais........................................................................................... 13 2.4 Diretrizes Para a Realizao de Entrevistas ............................................................... 14

    2.4.1 Desenvolva um Plano Geral de Entrevistas ........................................................ 14 2.4.2 Certifique-se de que tem Autorizao para Falar com os Usurios ..................... 14 2.4.3 Planeje a Entrevista para Fazer Uso Eficiente do Tempo ................................... 15 2.4.4 Utilize Ferramentas Automatizadas que Sejam Adequadas, Mas No Abuse ..... 16 2.4.5 Tente Descobrir quais Informaes o Usurio tem mais Interesse ...................... 16 2.4.6 Use um Estilo Adequado de Entrevistar ............................................................. 16

    2.5 Possveis Formas de Resistncia na Entrevista .......................................................... 17 2.6 Outros Problemas...................................................................................................... 18 2.7 Formas Alternativas de Coleta de Dados ................................................................... 19

    2.7.1 Questionrio de Pesquisa ................................................................................... 20 2.7.2 Observaes no ambiente .................................................................................. 20

    3 OS PARADIGMAS DA ENGENHARIA DE SOFTWARE ......................................... 22 3.1 O Ciclo de Vida Clssico .......................................................................................... 22 3.2 Prototipao .............................................................................................................. 23 3.3 O Modelo Espiral...................................................................................................... 24 3.4 Tcnicas de 4a Gerao (4GT) .................................................................................. 25 3.5 Modelo por incremento ............................................................................................. 26 3.6 Combinando Paradigmas........................................................................................... 27

    4 OS PROCESSOS DE SOFTWARE............................................................................. 28 4.1 Modelos de processos de software............................................................................. 28 4.2 Modelo em Cascata................................................................................................... 28 4.3 Desenvolvimento Evolucionrio................................................................................ 29 4.4 Desenvolvimento formal de sistemas......................................................................... 29 4.5 Desenvolvimento Orientado a Reuso......................................................................... 30

    5 O DESENVOLVIMENTO DE SISTEMAS E AS SUAS ETAPAS ............................. 31 5.1 O Desenvolvimento na viso Pressman, .................................................................... 31

    5.1.1 Fase de Definio .............................................................................................. 31

  • Engenharia de Software

    Prof. Walteno Martins Parreira Jr Pgina 2

    5.1.2 Fase de Desenvolvimento .................................................................................. 31 5.1.3 Fase de Verificao, Liberao e Manuteno ................................................... 31 5.1.4 Conceitos utilizados no desenvolvimento: ......................................................... 31 5.1.5 Tcnicas utilizadas no desenvolvimento de sistemas.......................................... 32

    6 TCNICA ESTRUTURADA.......................................................................................... 33 6.1 Introduo................................................................................................................. 33 6.2 Anlise Estruturada ................................................................................................... 33

    6.2.1 Diagrama de Contexto ....................................................................................... 34 6.2.2 Diagrama de fluxo de dados .............................................................................. 34 6.2.3 Dicionrio de dados........................................................................................... 34 6.2.4 Diagrama de Entidade-Relacionamento (DER).................................................. 35 6.2.5 Diagrama de Transio de Estado (DTE)........................................................... 37 6.2.6 Especificao de Processos................................................................................ 38

    6.3 Projeto Estruturado ................................................................................................... 39 6.4 Programao Estruturada .......................................................................................... 39 6.5 Desenvolvimento Top-down ..................................................................................... 40 6.6 Equipes de Programao ........................................................................................... 40 6.7 Revises Estruturadas ............................................................................................... 40 6.8 As Ferramentas da Anlise Estruturada ..................................................................... 41

    6.8.1 Diagrama de Fluxo de Dados............................................................................. 41 6.8.2 Dicionrios de Dados ........................................................................................ 44 6.8.3 Descrio de Procedimentos ou Especificao de Processos .............................. 45

    7 PROJETO DE TEMPO REAL ...................................................................................... 51 7.1 Introduo................................................................................................................. 51 7.2 Integrao e Desempenho.......................................................................................... 51 7.3 Tratamento de Interrupes....................................................................................... 52 7.4 Linguagens de Tempo Real ....................................................................................... 52 7.5 Sincronizao e Comunicao de Tarefas.................................................................. 53 7.6 Anlise e Simulao de Sistemas de Tempo Real ...................................................... 53 7.7 Mtodos de Projeto ................................................................................................... 53 7.8 Um mtodo de Projeto Orientado para o Fluxo de Dados .......................................... 54

    7.8.1 Requisitos de um mtodo de projeto de Sistemas de Tempo Real ...................... 54 7.8.2 Projeto DARTS................................................................................................. 54 7.8.3 Projeto de Tarefas.............................................................................................. 55

    8 UML .........................................................................................................................