ARQUITETURA DE COMPONENTES DE SOFTWARE Prof. Antonio Alberto P. Santana.
-
Upload
yasmin-bonito -
Category
Documents
-
view
213 -
download
1
Transcript of ARQUITETURA DE COMPONENTES DE SOFTWARE Prof. Antonio Alberto P. Santana.
ARQUITETURA DE COMPONENTES DE
SOFTWARE
Prof. Antonio Alberto P. Santana
- Arquitetura de componentes de software
- Motivação
- Principais idéias
- Benefícios
- Características dos componentes
- Padrão na modelagem de componentes
- Tipos de componentes
- Categorias de componentes
- Arquitetura em ambiente de produção
- Arquitetura em ambiente de desenvolvimento
- Estrutura da aplicação
- Componentes de software
AGENDA
ARQUITETURA DE COMPONENTES DE SOFTWARE
XXX
É um ramo da Engenharia de Software que enfatiza a decomposição dos sistemas em componentes funcionais e lógicos, os quais possuem interface bem definidas para viabilizar a comunicação entre si.
XXX
ARQUITETURA DE COMPONENTES DE SOFTWARE
Cada função da aplicação que teve o seu comportamento descrito através de modelos conceituais poderá ser descrita em termos de funções, classes, estruturas de dados, etc., chamados de componentes de software.
ARQUITETURA DE COMPONENTES DE SOFTWARE
“Estes componentes que implementam cada função interagem entre si e com os componentes de outras funções da aplicação. Esta estrutura de componentes interconectados entre si que formam o software recebe o nome de arquitetura de componentes de software, ou simplesmente arquitetura de software.” (Leite, 2000).
Arquitetura lógica - descreve o funcionamento lógico do software em termos de funções, variáveis e classes.
Arquitetura física - descreve o conjunto de arquivos fontes, arquivos de dados, bibliotecas, executáveis e outros que compõem fisicamente o software.
ARQUITETURA DE COMPONENTES DE SOFTWARE
MOTIVAÇÃO
Reuso: diminui tempo e custo de desenvolvimento;
Evitar falhas: componentes previamente testados são menos suscetíveis a falhas;
Interoperabilidade: capacidade de componentes de diferentes origens compartilharem e trocarem informações.
ARQUITETURA DE COMPONENTES DE SOFTWARE
ARQUITETURA DE COMPONENTES DE SOFTWARE
PRINCIPAIS IDÉIAS:
Desenvolver software aplicando as idéias da reusabilidade;
Modelar sistemas combinando componentes:- que estejam disponíveis;- que estejam previamente testados;- que estejam seguindo padrões previamente definidos.
ARQUITETURA DE COMPONENTES DE SOFTWARE
BENEFÍCIOS Permite ao desenvolvedor compreender melhor o software;
Possibilita que estas partes possam ser reutilizadas no mesmo programa ou por outros programas;
Facilita o gerenciamento quando estiverem em execução.
ARQUITETURA DE COMPONENTES DE SOFTWARE
CARACTERÍSTICAS DOS COMPONENTES
- É auto-contido;
- Tem funcionalidade bem definida;
- É definido através de interfaces que possibilita composição sem conhecimento da implementação do componente;
- É definido de acordo com um modelo previamente definido.
ARQUITETURA DE COMPONENTES DE SOFTWARE
COMPONENTES x OBJETOS
Os objetos não incorporam a noção de (Szyperski, 1998):
- Independência;
- Composição.
ARQUITETURA DE COMPONENTES DE SOFTWARE
PADRÃO NA MODELAGEM DE COMPONENTES
Identificação: deverá ter nomes únicos globais;
Interfaces: deverão ser feita a especificação do componente;
Interoperabilidade: permitir a comunicação e troca de dados entre componentes implementados em ferramentas diferentes.
ARQUITETURA DE COMPONENTES DE SOFTWARE
TIPOS DE COMPONENTES
Componente lógico ou funcional - é aquele que possui uma utilidade para o funcionamento da aplicação.
Componente físico - é aquele existe para o sistema operacional e para outras ferramentas do sistema, normalmente na forma de arquivos. Eles podem ser armazenados, transferidos de uma lugar para outro, compilados, etc.
ARQUITETURA DE COMPONENTES DE SOFTWARE
TIPOS DE COMPONENTES
Componente de tempo-de-desenvolvimento - é aquele utilizado durante o desenvolvimento do software.
Componente de tempo-de-execução - é aquele pronto para ser executado pelo sistema ou que está sendo executado.
Existem componentes lógicos e físicos tanto de desenvolvimento quanto de execução.
CATEGORIAS DE COMPONENTES
Componentes de programa - são componentes lógicos de tempo-de-desenvolvimento fornecidos pelas linguagens de programação e que utilizamos para construir um programa. Ex.: tipos de dados, variáveis, procedimentos, funções, classes, módulos, pacotes - dependem da linguagem de programação
CATEGORIAS DE COMPONENTES
Componentes físicos de desenvolvimento - são componentes físicos tempo-de-desenvolvimento que contêm os componentes lógicos. Eles são manipulados pelas ferramentas de desenvolvimento (editores e compiladores) e pelo sistema operacional.
Ex.: arquivos de código fonte, arquivos de código objeto, arquivos de declarações (.h), bibliotecas de componentes de programa (de ligação estática).
CATEGORIAS DE COMPONENTES
Componentes físicos de tempo-de-execução - São os componentes instalação e execução que compõem o sistema antes que ele seja executado. São os componentes que obtemos ao adquirir o software.
Ex.: arquivos executáveis, arquivos de configuração, arquivos de dados, bibliotecas de ligação dinâmica (DLL).
CATEGORIAS DE COMPONENTES
Componentes lógicos de tempo-de-execução - São os componentes lógicos que existem quando o sistema está sendo executado ou que são criados a partir da execução de outros componentes. Podem ser de dois tipos:
intraoperáveis - quando são visíveis apenas por componentes do mesmo programa Ex.: variáveis, funções, objetos de programa.
interoperáveis - quando são visíveis por componentes de diferentes programa Ex.: processos, objetos CORBA, objetos COM.
ARQUITETURA x COMPONENTESArquitetura da Aplicação
Modelo de Componentes
Estrutura da Aplicação
Repositório de Componentes
UM MODELO DE ARQUITETURA
ARQUITETURA DA APLICAÇÃO Ambiente de Produção
sistema de acesso
apresentação
regras de negócio
dados
ARQUITETURA DA APLICAÇÃO Ambiente de Desenvolvimento
sistema de acesso
menus
telas
tabelas
dataviews
views
procedimentos
relatórios
ESTRUTURA DA APLICAÇÃO Fundamentos
ESRUTURA DA APLICAÇÃO Componentes
ESRUTURA DA APLICAÇÃO
Sistema - unidade central de processamento da organização que agrupa várias aplicações, as quais, por sua vez, manipulam dados;
Aplicação ou processador - grupo especializado de componentes de negócio. É constituído por um conjunto de módulos;
ESRUTURA DA APLICAÇÃO
Módulo - o módulo representa um conjunto convenientemente agrupado de processos;
Processo ou tarefa - é um elemento constituído através dos componentes básicos, que permite a realização de operações sobre os objetos do negócio;
Componentes básicos - os componentes básicos são elementos do processo com função especializada junto a ele.
ESRUTURA DA APLICAÇÃO
Os Componentes básicos podem ser de cinco tipos:
Menu - tem a função de permitir a navegação do usuário sobre a aplicação;Tela - permite as operações de consulta, inserção, alteração e exclusão sobre os objetos do negócio;Relatório - viabiliza a consulta impressa de objetos do negócio;Procedimento (ou processo) - permite a realização de operações especiais sobre objetos do negócio, tais como cálculos, consistências, entre outras.Dataview - dataview é o elemento que associa um determinado método a um conjunto de dados.
CONSTRUÇÃO DA APLICAÇÃO
PADRÃO DE INTERAÇÃO
TEMPLATES
COMPONENTES DE SOFTWARE
Menus
- MenuHor - menu horizontal;
- MenuVer1 - menu vertical 1;
- MenuVer2 - menu vertical 2;
- MenuVer3 - menu vertical 3.
COMPONENTES DE SOFTWARE
Telas - CRUD - tela de atualização - edição e lista;- CRUDTL - tela de atualização - edição e lista na mesma tela;- TabCRUD - tela de atualização - edição e lista, via “orelha”;- Query - tela de consulta - edição e lista;- QueryTL - tela de consulta - edição e lista na mesma tela;- TabQuery - tela de consulta - edição e lista, via “orelha”;- Compl - tela complementar;- Filter - tela de diálogo de filtro;- Special - tela especial.
COMPONENTES DE SOFTWARE
Relatórios
- ReportPanel - painel de relatório;
- ReportPanelMenu - menu de painel de relatório;
- ReportParm - parâmetros para relatório.
COMPONENTES DE SOFTWARE
Procedimentos
- ProcPanel - painel de procedimentos;
- ProcParm - parâmetros para procedimento.
COMPONENTES DE SOFTWARE
Dataviews
-MasterDV - dataview de atualização e consulta de uma tabela;-DetailDV - dataview de uma tabela detalhe;-QueryDV - dataview de consulta a uma ou mais tabelas;-ReferenceDV - dataview de tabela referenciada;-ProcDV - dataview de procedimento (stored procedure e trigger).
COMPONENTES DE SOFTWARE
Push Button
- PBMenuHor - botão do menu horizontal;
- PBMenuVer - botão dos menus verticais;
- PBActionArea - botão da área de ação;
- PBReport - botão de relatório;
- PBProc - botão de procedimento;
- PBToolArea - botão da área de ferramentas.
COMPONENTES DE SOFTWARE
Data Field
DataField - campo de dado;
DataField_Table - campo de dado associado a uma tabela.
COMPONENTES DE SOFTWARE
Combo Box
- ComboBox - boxe que traz uma lista de referência;
- ComboBox_View - boxe que traz uma lista de referência de uma tabela associada.
COMPONENTES DE SOFTWARE
Radio Button
- RadioButton - botão de rádio;
- RadioButton_Table - botão de rádio associado a uma tabela.
COMPONENTES DE SOFTWARE
Check Box
- CheckBox - boxe de checagem;
- CheckBox_Table - boxe de checagem associada a uma tabela.
COMPONENTES DE SOFTWARE
List Box
- ListBox - boxe de lista associada;
- ListBox_Table - boxe de tabela associada.
COMPONENTES DE SOFTWARE
Table Window
- TableWindow_CRUD - tabela de atualização;
- TasbleWindow_Query - tabela de consulta.
COMPONENTES DE SOFTWARE
Multiline
- Multiline - campo de múltiplas linhas;
- Multiline_Table - campo de múltiplas linhas pertencente a uma tabela.
COMPONENTES DE SOFTWARE
GroupBox
- Símbolo de agrupamento.
COMPONENTES DE SOFTWARE
- Label - identificação do campo.
- Image - imagem;
- dImage - editor de imagem;
- xText - texto;
- dxText - editor de texto;
OUTROS COMPONENTES
ACESSO AOS DADOS
PRINCIPAIS COMPONENTES DA CAMADA DE REGRAS DE NEGÓCIO
- Stored Procedures- Triggers- Funções- Pacotes- Programas- Subrotinas
PRINCIPAIS COMPONENTES DA CAMADA DE GERENCIAMENTO DE
DADOS- Tabelas- Chaves- Índices- Visões- Papéis- Concessões- Sinônimos- Seqüências- Vínculos de banco de dados (database links)
PRINCIPAIS FERRAMENTAS PARA IMPLEMENTAÇÃO DA APRESENTAÇÃO
- Delphi- Visual Basic- Oracle Forms- Oracle Reports- Crystal Reports- JAVA- C#- PHP- ASP
PRINCIPAIS FERRAMENTAS PARA IMPLEMENTAÇÃO DAS REGRAS DE NEGÓCIO
- PL/SQL – Oracle- TRANSACT-SQL – SQL Server- TRANSACT-SQL - Sybase- COBOL- Linguagem C- PL/1 - JAVA- Smalltalk
PRINCIPAIS FERRAMENTAS PARA IMPLEMENTAÇÃO DO GERENCIAMENTO DE DADOS
Sistemas Gerenciadores de Banco de Dados:- Oracle- SQL Server- Access- Sybase- Interbase- MySql- DB2- FireBird- PostgreSQL
BIBLIOGRAFIABATISTA, T. Modelagem / Arquitetura de Software – Página http://www.dimap.ufrn.br/~jair/mes/slides/aula1e2.pdf acessada em 12/04/2008.LEITE, J. Design da Arquitetura de Componentes de Software. Página http://www2.dem.inpe.br/ijar/EngSofDesignArq.html acessada em 25/04/2008.SANTANA, A. Desenvolvimento de aplicações em ambiente cliente/servidor. - Dissertação de mestrado. São Paulo: Universidade Mackenzie, 1997.SOMMERVILLE, I. Engenharia de Software. São Paulo: Pearson Addison Wesley, 2003. SZYPERSKI, C. Component Software – Beyond Object-Oriented Programming – Addison Wesley, 1998.WIKIPEDIA. Engenharia de software baseada em componentes. Página http://pt.wikipedia.org/wiki/Engenharia_de_software_baseada_em_componentes acessada em 12/04/2008.
FIM