Modularização

Description

Terceira parte, modularização.
Wendy-Anna Lopes
Mind Map by Wendy-Anna Lopes, updated more than 1 year ago
Wendy-Anna Lopes
Created by Wendy-Anna Lopes about 9 years ago
24
0

Resource summary

Modularização

Annotations:

  • Os primeiros programas consistiam de um único bloco monolítico de código pois a divisão de programas em vários blocos exige um sistema de gerenciamento de memória e consome mais recursos. O programador devia utilizar um pequeno número de variáveis, as quais cumpriam diferentes papéis ao longo do programa, com o intuito de economizar memória
  1. Abstrações

    Annotations:

    • Abstração é um processo importante em todas as áreas do conhecimento. Abstração é fundamental para o raciocínio e resolução de problemas em geral porque é impossível representar qualquer fenômeno da realidade em toda a sua riqueza de detalhes. Em outras palavras, devemos sempre nos concentrar nos aspectos essenciais do problema e ignorar os aspectos irrelevantes para a resolução do problema em questão. Caso contrário, a tarefa de representar a realidade se torna impraticável e intratável.
    1. Tipos de Abstrações

      Annotations:

      • Programas são conjuntos de instruções descrevendo como realizar processos para manipular, alterar e produzir dados. Para se poder criar programas, o conjunto de instruções da LP deve ser capaz de descrever dados e descrever como realizar processos.
      1. Abstrações de Processos

        Annotations:

        • são abstrações sobre o fluxo de controle do programa.
        1. Abstrações de Dados

          Annotations:

          • são abstrações sobre as estruturas de dados do programa
      2. Técnicas de Modularização

        Annotations:

        • Técnicas de modularização foram desenvolvidas com o propósito principal de dar apoio à programação de sistemas de grande porte, embora também sejam úteis à programação de sistemas de pequeno porte.
        1. Subprogramas

          Annotations:

          • O primeiro avanço em direção à modularização de programas foi a cria- ção do conceito de subprogramas. Eles permitem segmentar um programa em vários blocos logicamente relacionados. Subprogramas também servem para evitar que trechos de código muito semelhantes tenham de ser completamente reescritos simplesmente por que operam sobre dados diferenciados. Isso pode ser feito através dos mecanismos de parametrização dos subprogramas.
          1. Perspectivas do Usuário e do Implementador de Subprogramas

            Annotations:

            • É interessante analisar funções e procedimentos segundo as perspectivas do usuário da abstração e do implementador da abstração [WATT, 1990]. Uma função abstrai uma expressão a ser avaliada. Ela produz um valor como resultado. O usuário da função se importa apenas com o resultado, não se interessando com o modo como ele foi obtido. A
            1. Parâmetros

              Annotations:

              • Parâmetros facilitam o processo de aplicação de dados diferenciados a chamadas distintas de um subprograma. Sem o uso de parâmetros, a utilidade de subprogramas se concentraria na segmentação de código em trechos menores. O reuso de subprogramas seria muito mais difícil pois haveria redução de redigibilidade, legibilidade e confiabilidade.
              1. Correspondência entre Parâmetros Formais e Parâmetros Reais

                Annotations:

                • Existem duas formas de correspondência entre a lista de parâmetros formais na declaração do subprograma e a lista de parâmetros reais na chamada do subprograma. A
                1. Passagem de Parâmetros

                  Annotations:

                  • Passagem de parâmetros é o processo no qual os parâmetros formais assumem seus respectivos valores durante a execução de um subprograma. Também faz parte do processo de passagem de parâmetros a eventual atualização de valores dos parâmetros reais durante a execução do subprograma.
                  1. Direção da Passagem dos Parâmetros

                    Annotations:

                    • A direção da passagem de parâmetros pode ser unidirecional de entrada, unidirecional de saída e bidirecional de entrada e saída. Na unidirecional 168 de entrada o valor do parâmetro formal assume o valor passado pelo parâmetro real, mas os valores eventualmente atribuídos ao parâmetro formal no subprograma não são repassados ao parâmetro real.
                    1. Mecanismos de Implementação da Passagem de Parâmetros

                      Annotations:

                      • Existem dois mecanismos para a implementação da passagem de parâmetros. O mecanismo de passagem por cópia envolve a criação de uma cópia do parâmetro real no ambiente local do subprograma. O parâmetro formal designa essa cópia durante a execução do subprograma. O mecanismo de passagem por referência envolve a criação de uma referência ao parâmetro real no ambiente local do subprograma
                      1. Momento da Passagem de Parâmetros

                        Annotations:

                        • LPs podem definir diferentes momentos nos quais se deve avaliar o parâmetro real para uso no subprograma. No modo normal (eager) a avaliação ocorre no momento da chamada do subprograma. No modo por nome (by name) a avaliação ocorre em todos os momentos em que o parâmetro formal é usado. No modo preguiçoso (lazy) a avaliação ocorre no primeiro momento em que o parâmetro formal é usado.
                      2. Verificação de Tipos dos Parâmetros

                        Annotations:

                        • Algumas LPs não verificam se o número e tipo dos parâmetros na chamada do subprograma são compatíveis com o número e tipo dos parâme- 178 tros declarados no cabeçalho do subprograma e utilizados no seu corpo. Nessas LPs só se pode verificar se uma determinada operação do subprograma pode ser executada no momento em que ela for realizada. Tal postura retarda a descoberta de erros e tende a produzir programas menos robustos.
                      3. Tipos de Dados

                        Annotations:

                        • A criação de novos tipos de dados é uma forma de modularização usada para implementar abstrações de dados. Tipos de dados permitem agrupar dados correlacionados em uma mesma entidade computacional. 
                        1. Tipos de Dados Anônimos

                          Annotations:

                          • Tipos anônimos são definidos exclusivamente durante a criação de variá- veis e definição de parâmetros. O
                          1. Tipos de Dados Simples

                            Annotations:

                            • A idéia fundamental relacionada a essa técnica de modularização é combinar um grupo de dados relacionados em uma única entidade nomeada, a qual permite manipulá-los como um todo. 
                            1. Tipos Abstratos de Dados

                              Annotations:

                              • Conceitualmente, tipos abstratos de dados (TADs) são conjuntos de valores que apresentam um comportamento uniforme definido por um grupo de operações (geralmente, um grupo de constantes iniciais e um conjunto de funções e procedimentos). O conjunto de valores é definido indiretamente através da aplicação sucessiva das operações, começando pelas constantes.
                            2. Pacotes

                              Annotations:

                              • A modularização através de subprogramas e tipos ainda não é totalmente suficiente para atender as demandas existentes na construção de grandes sistemas. Sistemas construídos com uso exclusivo dessas técnicas acabam apresentando baixa granularidade, deixando as entidades do programa espalhadas pelo código, o que dificulta sua identificação.
                              1. Pacotes em C++
                                1. Pacotes em JAVA
                              Show full summary Hide full summary

                              Similar

                              Classificação dos Arquivos
                              Juliana Alves
                              Classificação dos Arquivos
                              Lígia Maia
                              Gestão de Documentos Fluxo e Seleção
                              Laren Fernandes - Polo Manaus
                              Métodos de acesso / ordenação de documentos em um arquivo
                              Juliana Alves
                              Estrutura de Arquivos
                              Caio Serrano
                              Arquivos - Noções
                              Marney Queiroz
                              Gestão de Documentos Fluxo e Seleção
                              SABRINA GAMA
                              7.3.2 CLASSIFICAÇÃO DOS ARQUIVOS
                              Camila campos
                              Aula 07 - Windows Explorer
                              William Dias Vargas