Representação visual dos módulos de um programa



Documentos relacionados
O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

Análise de Dados do Financeiro

SUMÁRIO. Cursos STE SUMÁRIO... 1

Manual Equipamento ST10 Flasher Rev. 1

MICROSOFT POWER POINT

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Um Driver NDIS Para Interceptação de Datagramas IP

Usando o Arena em Simulação

Apresentação. E&L ERP Frotas. PostgreSQL 8.2/ 8.3. Domingos Martins ES. v. 1.0

Corte total. Qualquer pessoa que já tenha visto um regis- A U L A

Boletim Técnico R&D 02/08 Simulador do software A1 Automation Tools 27 de fevereiro de 2008

UML: Diagrama de Casos de Uso, Diagrama de Classes

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Caderno 1.

Guia de Atividades para Introdução do Powersim no Processo Ensinoaprendizagem de Equações Diferenciais Ordinárias

Sistemas Operacionais

Projeto de Arquitetura

GeoMafra Portal Geográfico

Organização e Arquitetura de Computadores I. de Computadores

3 Qualidade de Software

Concepção e Elaboração

Manual do Usuário Sistema de Acuidade Visual Digital

Orientação à Objetos. Aécio Costa

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

Manual Simulador de Loja

appmetro Manual do utilizador

Microsoft Office PowerPoint 2007

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

CADERNO DE QUESTÕES WINDOWS 8

NAPNE / RENAPI. Software Educativo Smart Panda 1.0

Manual Operacional SIGA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Software automatizado para controle de consultas da clínica de fisioterapia

1. Abra o ambiente Solid Edge Assembly.

Núcleo de Informática Aplicada à Educação Universidade Estadual de Campinas

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

BH PARK Software de Estacionamento

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Sistema de Controle de Solicitação de Desenvolvimento

MINISTÉRIO DA EDUCAÇÃO

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Funções de Posicionamento para Controle de Eixos

LÓGICA DE PROGRAMAÇÃO

Relatorio do trabalho pratico 2

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Trabalho Interdisciplinar. MS Project

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Java Mail Server. Manual do Utilizador

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes

TECNOLOGIA INOVADORA DA GCTBIO APOIADA PELA FINEP EMPREGA SISTEMA SUPERVISÓRIO DA ELIPSE

GUIA INTEGRA SERVICES E STATUS MONITOR

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Sistemas Operacionais Introdução. Professora: Michelle Nery

AULA 1 Iniciando o uso do TerraView

MANUAL BÁSICO DE INSTRUÇÕES PARA USO DA LOUSA DIGITAL DO LMF

Computador Máquina que processa uma grande quantidade de dados com rapidez e precisão.

Sumário INSTALAÇÃO DO SIATRON CONDOMÍNIO ATIVAÇÃO DA LICENÇA PRESTADORES DE SERVIÇOS PARÂMETROS DO SISTEMA

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

Novidades no Q-flow 3.02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

COMPUTADOR,, que máquina é essa?

Manual de utilização do módulo NSE METH-8RL/Exp

Wilson Moraes Góes. Novatec

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b

Análise de Tarefas. Análise Hierárquica de Tarefas

Modelagem de Casos de Uso (Parte 1)

,QWURGXomRDR(GLWRUGH $SUHVHQWDo}HV3RZHU3RLQW

VIDAL & SOHN TEMPO G 1200 O MAIS ESTRANHO DOS 4X4 NO EXÉRCITO BRASILEIRO

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC

Pesquisa e organização de informação

WebSphere_Integration_Developer_D_Jan06 Script

Definição do Trabalho da Disciplina. Este documento é muito importante: LEIAM ATÉ O FINAL!

UML Aspectos de projetos em Diagramas de classes

Java 2 Standard Edition Como criar classes e objetos

Base de Dados para Administrações de Condomínios

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Manual de Instalação. GPRS Universal

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Sistemas Operacionais Processos e Threads

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

GASweb - Usabilidade Parte 1-3

Sistema Integrado de Gerenciamento de Imposto Sobre Serviços.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Clique na célula sobre a qual você deseja comentar.

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

ÍNDICE 1 INTRODUÇÃO ACESSO ABERTURA DE PROTOCOLO CONSULTA DE PROTOCOLO PROTOCOLO PENDENTE CONFIRMAÇÃO DE RECEBIMENTO.

Algoritmos. Cláudio Barbosa

MANUAL DO ALUNO Ambiente Virtual de Aprendizagem MOODLE

UML - Unified Modeling Language

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Transcrição:

Departamento de Ciência da Computação Universidade de Brasília Computação Básica 2004.1 Professor Jorge H. C. Fernandes Textos de Introdução à Programação em Java O Conceito de Módulos Obedecendo à noção de programação modular, qualquer programa é formado por um conjunto de módulos de vários tipos. Considerando que estaremos programando em Java, neste momento os principais tipos de módulos com os quais trabalharemos são chamados de Classe. Representação visual dos módulos de um programa A Figura 1 apresenta um diagrama típico de representação de um programa Java, que no exemplo trata de imposto de renda. O programa exemplo seria formado por cinco classes, chamadas DeclaracaoCompleta, IdentificacaoContribuinte, Dependentes, Rendimentostributaveis e BensEDireitos. A seta que sai da classe DeclaracaoCompleta para as outras indica relação de dependência de um módulo com relação a outro. No caso uma declaração completa de IRPF depende da identificação do contribuinte, dos seus dependentes, rendimentos tributáveis bens e direitos, etc. Figura 1 Um Programa Java formado por 5 classes. Esta relação entre os módulos que fazem parte de um programa e a aparência externa do mesmo é um dos aspectos interessantes que facilitam o desenvolvimento de programas. A estruutra modular da Figura 1 foi concebida de forma similar à interface do programa de imposto de renda produzido pela SRF do Ministério da Fazenda, apresentada na Figura 2.

Outro exemplo concreto de representação de um programa através de um conjunto de módulos seria um programa que simula um veículo, composto por módulos: motor, carroceria, suspensão. Esta relação de dependência entre módulos pode continuar até que seja obtido o menor módulo útil. Deste modo o módulo motor poderia ser composto pelos módulos: pistão, virabrequim, comando de válvulas, bielas, etc. O módulo suspensão pode ser composto por: Pneu, Roda, Tambor, Amortecedor, etc. A Figura abaixo representa visualmente a estrutura de um programa que simula este veículo, composto por vários módulos e suas dependências.

Figura que representa um modelo de um simulador de veículos. Perceba ainda que há no canto superior esquerdo da figura um elemento adicional, que representa um documento. Este documento também é um módulo que compõe o programa simulador de veículo. Do mesmo modo que um manual de usuário de veículo não tem aplicação direta no funcionamento de um veículo, módulos de programas do tipo documento não são usados para comandar a execução de nenhuma atividade computacional automaticamente. Documentos são compreendidos apenas por pessoas, e auxiliam as pessoas no desenvolvimento e uso do software. A aparência real de um veículo é similar à apresentada no diagrama da Figura 3. Compare a foto do veículo com o modelo computacional. Existem similaridades mas o modelo é sempre uma simplificação da realidade, portanto os detalhes desnecessários para a simulação são desconsiderados do modelo. Outro exemplo que demonstra a existência de módulos em um programa é o do simulador do computador visível, que é composto por 19 módulos de classes + 1 módulo de documentação, como pode ser visto na Figura 4. Figura 4 Diagrama de Classes do Computador Visível vc0. Uso, Reuso e Reusabilidade de Módulos A grande vantagem em desenvolver um artefato composto através de módulos é que isto permite grande possibilidade de fazer múltiplos usos de cada módulo, em diferentes situações. Este múltiplo uso é chamado de reuso. Módulos que tem alta capacidade de reuso são chamados módulos reusáveis.

Por exemplo, a separação de partes de um veículo em motor, suspensão, etc., e a separação de uma suspensão em pneus e amortecedores permite que estes módulos possam ser usados em outros artefatos. É possível, por exemplo, retirar um pneu de um veículo e usar em outro. No caso do programa de imposto de renda pessoa física, o módulo de identificação de contribuinte poderia ser usado para construir um outro programa da SRF, usado, por exemplo, para pagamento mensal de tributos através do carnê leão. Perceba que os módulos que tem mais reusabilidade são em geral aqueles dos quais os outros módulos mais dependem. Por exemplo, o módulo IO, no canto superior direito da Figura 4. é um módulo do qual dependem 9 outros módulos. Como ele não depende de nenhum outro isto é uma indicação que este módulo tem alto grau de reusabilidade. Interfaces entre módulos Para que um módulo pneu seja usado em dois veículos diferentes é necessário que as dimensões da roda na qual ele será acoplado sejam compatíveis. Por outro lado, para que uma roda seja usada em um veículo é necessário que haja compatibilidade entre os furos da roda e do tambor na suspensão. As dimens ões do pneu também precisam ser compatíveis com o restante da suspensão. A especificação 185/65R14, por exemplo, define um tamanho padrão de pneu que pode ser usado apenas em rodas que sejam compatíveis, sendo indicado para uso em automóveis Santana ano 2000. <Figura de Pneu, com Roda, acoplado ao tambor> A Figura abaixo mostra o programa Eco e seus dois módulos, apresentados no programa

Ao se pressionar o menu do mouse sobre o módulo IO a interface de um módulo de software é apresentada, e consiste basicamente na listagem dos vários métodos aos quais o módulo responde. Cada um dos métodos da interface de um módulo oferece um servi ço aos seus clientes. Destaca-se no módulo IO um conjunto de 13 métodos, cujas assinaturas são void println(string), void println(intnumber), void println(shortnumber), etc. A dependência entre o módulo Eco relativa ao módulo IO indica que o módulo Eco usa algum tipo de servi ço prestado por IO. Neste caso, o módulo Eco usa um ou mais métodos de saída (print()) e de entrada de dados (read()) oferecidos por IO.