Documentação da Neptus Framework

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

DIAGRAMA DE COLABORAÇÃO
Raphael Gatti Thomás Bryan
Novos serviços da ASP.Net 2.0
Tipos de Sites Web gerados pelo VS2005
1 Programação Orientada aos COMponentes Quartas à Tarde no DEI 12 de Abril de 2000.
Criar uma Aplicação Web em ASP.NET v Tipos de Sites Web gerados pelo VS2005 File-system Web sites Ficheiros armazenados num directório local É utilizado.
Web Services Um Web Service é um bloco de software que pode ser acedido pela Internet e usado remotamente por outras aplicações Infra-estrutura para a.
Rational Unified Process
Visualização de Informação Geográfica na WEB
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Planificação do Projecto de SW
Unified Modeling Language (UML) - Modelação da Arquitectura -
Geração Assistida de Diagramas Esquemáticos de Rede Eléctrica
ISO/IEC – 6 Avaliação do Produto – Módulos de Avaliação
Projeto de Sistemas de Software
Diagramas de Seqüência
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Orientação a Objetos: Encapsulamento e Classificação
Linguagens de Modelagem para SMA
Chapter 4: Threads.
Endereçamento de hardware e identificação de quadros
Modelo de Arquitetura Diagrama de Componentes
Maria Aparecida Castro Livi
Análise e Projeto de Sistemas
1 MAC 413/5715 – Seminário Prof. Fabio Kon Self: The Power of Simplicity David Ungar and Randall B. Smith OOPSLA 1987 Cristina Fang Eduardo Miyoshi Kasa.
MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP
Logística Empresarial
Internet e Informação Electrónica INTERNET EXPLORER
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
MetaLib - Visão Geral 1º Encontro de Usuários ALEPH 30 Nov. e 1º Dez. de 2006 Caio Pellegatti.
7 - Criação de Páginas Web
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
WonderFly Project Sistemas de Engenharia – Automação e Instrumentação.
Diagramas de Seqüência
DIAGRAMA DE COMPONENTES
Desenvolvimento de Projetos e Aplicações Web
7 - Criação de Páginas Web DREAMWEAVER Pt.2
Introdução ao ArcGIS Iana Alexandra A. Rufino
Microsoft Access Carlos Sebastião.
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
Visão Geral do RUP.
Organização Industrial
Nazareno Andrade (baseado no material de Hyggo Almeida)
9º ANO INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Web Services Uninorte Semana de Tecnologia da Informação
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
ACESSO A BASE DE DADOS.
Tarefa 02 Visual Studio 2005 Visual C# Programa Hello World.
Arquitetura do Software
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Estudo de Caso: um editor de documentos
Professor: Márcio Amador
UML - Unified Modeling Language
Introdução aos Protocolos de Roteamento Dinâmico
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Introdução Padrões de Projeto
Design Patterns A adoção dos padrões terá um efeito profundo e duradouro sobre a forma de escrevermos programas Ward Cunningham e Ralph Johnson.
1 Padrão: Iterador (Iterator) Tipo - “Object behavioral” Objetivo - acessar um agregado sem expor a representação Outros nomes - Cursor.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Padrões de Projeto. O que são?  Soluções provenientes de diversos projetos e utilizados por diversos programadores;  Documentados em catálogos como.
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Notas e Avaliações no moodle. Breve Sumário Tipos de Atividades Tipos de Atividades Acrescentando Atividades Acrescentando Atividades Atribuindo Notas.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
INTRODUÇÃO AO AMBIENTE DE TRABALHO WINDOWS VISTA
Transcrição da apresentação:

Documentação da Neptus Framework Arquitectura de Sistemas de Software 2006 José Pinto, Rui Gonçalves

Estrutura da apresentação Neptus Framework Importância da documentação Como documentar? Principais tópicos Ligação Documentação <-> código Documentação da arquitectura Alguns Padrões existentes (encontrados) Resultados

Neptus Framework Sistema que permite controlar equipas de veículos de vários tipos: autónomos, semi-autónomos ou teleguiados O sistema permite definir uma missão que consiste em vários mapas e planos individuais O sistema é flexível na forma de ser facilmente possível adicionar novos tipos de manobras e veículos Todos os veículos interagem através de uma plataforma de comunicação comum Podem ser facilmente criadas consolas de operação para novos tipos de veículos ou missões. z

Importância da documentação Neptus permite a rápida criação de novas aplicações mas inclui também aplicações completas. A documentação é importante tanto para os programadores como os utilizadores finais Dada a reutilização dos componentes existentes, também pode ser reutilizada a documentação nos manuais de utilização Quais as melhores formas de documentar uma framework deste tipo? z

Como documentar - MediaWiki Permite uma fácil edição e consulta da documentação Permite a crição de hiperligações entre tópicos relacionados Obtenção de feedback (comentários) dos utilizadores finais Os responsáveis de cada módulo, documentam o seu “código”, os parceiros revêem a documentação. z

Principais Tópicos Neptus Overview – Possibilidades da framework Existing Applications – Aplicações que usam Neptus Getting Started – Começo rápido (simple and fast) Framework Architecture – Várias vistas da arquitectura Design Patterns – Ajudam a entender a arquitectura User Manuals – Utilização das aplicações existentes z

Documentação <-> código Na documentação da framework existe necessidade de referir código existente Foi criada uma extensão MediaWiki que permite ligar objectos ao seu Javadoc / Código fonte r

Documentação da arquitectura Várias representações da arquitectura (deployment, comunicações, diagramas de classes, …) Utilização de padrões para melhor entender a arquitectura r

Alguns padrões encontrados… Singleton ConfigFetch: Para que todas as classes tenham acesso a ficheiros de configuração, é arrancado uma classe (sem construtor público) que carrega os ficheiros e depois os disponibiliza MissionConsole: A aplicação “de topo” que permite lançar outras consolas, não pode ser instanciada mais que uma vez. r

Alguns padrões encontrados… Proxy GuiUtils: Quando é necessário carregar uma imagem a partir do disco, é utilizada o método GuiUtils.getImage() que carrega a imagem do disco apenas quando necessário, criando também uma cache de imagens já carregadas. z

Alguns padrões encontrados… Observer MapChangeListener: Sempre que é editado um mapa, todos os seus observadores são notificados, reagindo de acordo VariableChangeListener: Quando os valores da árvore central são alterados, caso existam observadores estes são notificados r

Alguns padrões encontrados… Composite MapGroup: Esta classe permite criar um mapa a partir de objectos (MapObject) ou da composição de vários mapas existentes. z

Alguns padrões encontrados… Interpreter ScriptTreeEvaluator: Existem vários observadores (Padrão Listener) da árvore de variáveis que incluem condições em formato texto (JavaScript). Sempre que as variáveis observadas são alteradas, o texto é interpretado com o novo valor das variáveis. r

Alguns padrões encontrados… State Maneuver: Para ser possível pré-visualizar um plano (sequência de manobras), existe a classe IndividualPlanType que contêm uma lista de manobras e chama periodicamente o método maneuverFunction() da manobra activa até esta terminar. Em seguida é chamado o mesmo método da próxima manobra, … z

Alguns padrões encontrados… Iterator MapObject: Sempre que é pintado um mapa, são iterados os seus objectos, de forma a todos eles serem pintados (usando o pattern Command). Renderer2DPainter: Esta classe representa uma layer genérica do mapa. Todas as layers activas são pintadas, uma de cada vez, quando o mapa é pintado (Exemplos: legenda, plano previsto, posição dos veículos, …) r

Alguns padrões encontrados… Memento MapType, GraphType, CheckListType: Todas estas classes implementam a interface XMLOutputMethods que inclui os métodos asXML() e fromXML(), que permite guardar e carregar os objectos em disco. z

Alguns padrões encontrados… Factory NativeTypeFactory: Cada nó da rede especifica quais as mensagens que são transmitidas através de um ficheiro XML. Os campos das mensagens são enviados como estruturas do C (formato little endian) e por isso é necessário criar classes dinamicamente que consigam obter os dados. ManeuverFactory: Todos os veículos suportados especificam as manobras suportadas, incluindo uma implementação (caminho para a classe que implementa). Quando é pré-visualizado um plano, é usada uma classe factory para gerar as manobras do veículo. z

Resultados A documentação é facilmente reutilizável para a produção de manuais (utilização / desenvolvimento) A documentação serve também de catálogo das possibilidades / componentes existentes, ficando assim os desenvolvimentos melhor documentados r

Resultados (cont.) Foi criada uma nova consola para um veículo autónomo aéreo (AsasF) com o auxílio da documentação existente r

Perguntas?