Estratégias de Layering

Tamanho: px
Começar a partir da página:

Download "Estratégias de Layering"

Transcrição

1 Estratégias de Layering Existem várias técnicas para decompor os sistemas de software. O layering é um exemplo e é descrito neste artigo. Estas técnicas pretendem responder a duas grandes preocupações. Por um lado, a maior parte dos sistemas são demasiado complexos para poderem ser compreendidos na sua globalidade. Por outro, são necessárias diferentes perspectivas de um sistema para responder a cada tipo de destinatários. O layering tem sido adoptado em muitos sistemas de software e é proposto por muitos textos, ou mesmo pelo Rational Unified Process (RUP). No entanto, o layering é frequentemente mal compreendido e aplicado de forma incorrecta. O que é o layering? O termo layer (nível ou camada) refere-se à aplicação de um padrão de arquitectura geralmente conhecido pela designação de padrão Layers. Um padrão representa uma solução para um problema comum que existe num contexto particular. O Quadro 1 fornece uma ideia global do padrão Layers. Contexto Problema Solução Quadro 1. Ideia global do Padrão Layers. Padrão Layers Um sistema que precisa de decomposição Um sistema que é demasiado complexo para compreender na sua totalidade Um sistema que é difícil de manter Um sistema cujos elementos menos estáveis não estão isolados Um sistema cujos elementos mais reutilizáveis são difíceis de identificar Um sistema que vai ser construído por diferentes equipas, possivelmente com diferentes aptidões Estrutura do sistema em diferentes layers Um dos exemplos mais familiares de layering é o modelo OSI de sete níveis, definido pela International Organization for Standardization (ISO). Este modelo, apresentado na Figura 1, define um conjunto de protocolos de rede. Cada nível concentra-se num aspecto específico de comunicação e cria antecipadamente as condições necessárias para o nível imediatamente abaixo dele. O modelo de sete níveis OSI utiliza uma estratégia de layering baseado em responsabilidade. Ou seja, cada nível tem uma responsabilidade particular. Esta estratégia é descrita mais adiante neste artigo.

2 Figura 1. Modelo de sete níveis OSI (layering baseado em responsabilidade) A Figura 2 mostra outro exemplo de layering baseado em responsabilidade. O nível Presentation Logic contém elementos responsáveis pela disponibilização de alguma forma de apresentação a um ser humano por exemplo, um elemento na interface com o utilizador. O nível Business Logic contém elementos responsáveis pela realização de algum tipo de processamento de negócio e pela aplicação das regras de negócio. O nível Data Access Logic contém elementos responsáveis pelo fornecimento de acesso a uma fonte de informação por exemplo, uma base de dados relacional. Convém sublinhar que os níveis podem ser modelados de várias formas, tal como descrito mais adiante neste artigo. Por agora, iremos representar explicitamente um nível utilizando uma solução UML com um «nível» estereótipo. Figura 2. Layering baseado em responsabilidade.

3 Os níveis apresentados neste exemplo particular de layering baseado em responsabilidade são designados frequentemente por tiers, um conceito familiar no desenvolvimento de sistemas distribuídos, onde podemos encontrar sistemas 2-tier, 3-tier e n-tier. Um aspecto importante da Figura 2 é o sentido das dependências mostradas, dado que implica uma certa regra, que é uma característica dos sistemas com níveis. Um elemento de um determinado nível só pode aceder a elementos desse mesmo nível, ou de níveis inferiores. Apesar de uma notificação de evento poder resultar numa mensagem de um elemento de um nível que é enviada para um elemento de um nível superior, não existe nenhuma dependência explícita nessa direcção. No exemplo apresentado, os elementos do nível Business Logic não podem aceder a elementos do nível Presentation Logic. De igual modo, os elementos do nível Data Access Logic não acedem a elementos do nível Business Logic. Esta estrutura é designada frequentemente pela sigla DAG (Directed Acyclic Graph). É direccionada na medida em que as dependências são unidireccionais e é acíclica porque um caminho de dependências nunca é circular. Convém chamar a atenção para a importância de se ser preciso quanto ao significado de cada nível quando se define uma estratégia de layering, de forma a colocar correctamente os elementos no nível apropriado. O fracasso em atribuir correctamente um elemento ao nível apropriado diminuirá o valor da aplicação da estratégia. Na medida em que cada estratégia de layering é apresentada com maior detalhe mais à frente, serão fornecidas nessa altura algumas orientações gerais sobre o significado de cada nível. Modelação dos níveis À medida que investigamos diferentes estratégias de layering, torna-se claro que convém comunicar cada estratégia utilizando modelos específicos (e, consequentemente, elementos UML específicos). Um modelo representa uma descrição completa de um sistema a partir de uma determinada perspectiva. A Figura 3 mostra um exemplo de quatro modelos, representando diferentes perspectivas do sistema considerado: Modelo de Casos de Utilização refere-se aos requisitos do sistema Modelo de Análise refere-se à análise dos requisitos de sistema Modelo de Desenho refere-se ao desenho do sistema Modelo de Implementação refere-se à implementação do sistema Figura 3. Quatro modelos representando um refinamento gradual

4 Outros modelos adicionais incluem: Modelo de Operação (deployment) refere-se aos aspectos de distribuição de um sistema Modelo de Dados refere-se aos aspectos persistentes de um sistema Estratégias de layering O layering pode basear-se em várias características. No entanto, esta secção vai abordar o layering com base em duas características: responsabilidade e reutilização. A representação de cada estratégia será considerada à medida que for abordada cada uma delas de forma mais detalhada. Layering baseado em responsabilidade A estratégia baseada em responsabilidade é provavelmente a estratégia de layering mais utilizada. Esta estratégia particular pode melhorar o desenvolvimento e a manutenção de um sistema, dado que as várias responsabilidades do sistema são isoladas umas das outras. Por exemplo (ver Figura 2), um sistema pode ser dividido em níveis com base nas seguintes responsabilidades: lógica de apresentação, lógica de negócio e lógica de acesso aos dados. Cada uma destas responsabilidades pode ser representada como um nível, como mostra a Figura 4, que apresenta algum conteúdo exemplo para cada nível. Neste caso, consideramos três conceitos num sistema de processamento de encomendas Cliente, Encomenda e Produto. Como exemplo, o conceito Cliente inclui o seguinte: Classe CustomerView é responsável pela lógica de apresentação associada a um cliente (por exemplo, a apresentação de um cliente na interface com o utilizador). Classe Customer é responsável pela lógica de negócio associada a um cliente (por exemplo, validação de detalhes do cliente). Classe CustomerData é responsável pela lógica de acesso aos dados associada a um cliente (por exemplo, tornar persistente o estado de um cliente). Figura 4. Níveis e conteúdo para um layering baseado em responsabilidade.

5 Esta estratégia particular de layering tem sido alvo de alguns mitos, pelo que convém falar dos mais frequentes. Mito 1 Os layers e os tiers são diferentes. Este mito é uma causa frequente de confusões. Na realidade, um tier é um layer, embora um layer baseado numa determinada estratégia baseada em responsabilidade. Esta confusão é ampliada ainda mais pelo facto do conceito de tiers poder ser aplicado de várias formas, como mostra o Quadro 2. Neste artigo, para evitar confusões e nos mantermos o mais fiéis possível ao original, traduzimos frequentemente layer por nível e deixámos sempre a palavra tier em inglês. Aplicação 2-tier 3-tier n-tier Quadro 2. Definições de Tier Layers (Tiers) Lógica de apresentação e lógica de negócio combinadas Lógica de acesso aos dados Lógica de apresentação Lógica de negócio Lógica de acesso aos dados Lógica de apresentação Lógica de negócio (distribuída) Lógica de acesso aos dados Mito 2 Os layers (tiers) implicam uma distribuição física. Outra confusão comum tem a ver com a ideia de que o layering lógico implica uma distribuição física. Consideremos, por exemplo, um layering 3-tier. Apesar de vários elementos residirem num dos layers, cada layer em particular pode ser aplicado de várias formas, como mostra o Quadro 3. Neste quadro são utilizados nomes empregue frequentemente para caracterizar uma distribuição física particular (por exemplo, thin client, ou cliente leve). Aplicação Sistema isolado Thin client Fat client Quadro 3. Aplicação de layering 3-tier. Layers Do lado do cliente Do lado do servidor Lógica de apresentação Lógica de negócio Lógica de acesso aos dados Lógica de apresentação Lógica de apresentação Lógica de negócio Lógica de negócio Lógica de acesso aos dados Lógica de acesso aos dados Também é possível que um único sistema possa adoptar mais do que uma estratégia de distribuição física, onde determinados elementos sejam classificados como exemplificativos de uma distribuição thin client e outros de uma distribuição fat client. Normalmente, a escolha baseia-se em requisitos não funcionais, nomeadamente o desempenho. Modelação dos níveis baseados em responsabilidade. Como veremos mais adiante, a aplicação desta estratégia poderá influenciar o modelo de desenho, o modelo de implementação e o modelo de operação (deployment). O modelo de desenho é normalmente estruturado utilizando uma de duas abordagens. A primeira abordagem mostra os elementos contidos dentro do nível. O resultado é apresentado na Figura 5, uma imagem de ecrã do Rational Rose que mostra: Classes de apresentação (CustomerView, OrderView e ProductView) residentes num pacote de Lógica de Apresentação. Classes de lógica de negócio (Customer, Order e Product) residentes num pacote de

6 Lógica de Negócio. Classes de lógica de acesso aos dados (CustomerData, OrderData e ProductData) residentes num pacote de Lógica de Acesso aos Dados. Figura 5. Elementos contidos dentro de níveis. A segunda abordagem incorpora o conceito de componente de negócio (neste caso, Customer, Order e Product) como cidadão de primeira classe, onde os principais elementos de preocupação são os conceitos relacionados com o domínio suportados pelo sistema. Por exemplo, o conceito Customer pode ter elementos associados de lógica de apresentação, lógica de negócio e lógica de acesso aos dados. Esta forma de pensar resulta na estrutura de modelo apresentada na Figura 6. Neste exemplo, o layering está envolvido nos nomes dos elementos. Por exemplo, todas as classes View (como a CustomerView) envolvem um nível de lógica de apresentação. Por sua vez, todas as classes Data (como a CustomerData) envolvem um nível de lógica de acesso aos dados. Os nomes de classes não qualificadas (como a Customer) envolvem um nível de lógica de negócio.

7 Figura 6. Layering implícito dentro de cada pacote de componente de negócio. O layering também pode ser representado explicitamente dentro de cada pacote que representa um componente de negócio, como mostra a Figura 7. Esta estruturação é preferível quando existem vários elementos envolvidos em cada nível de um dado componente de negócio. Apesar de só o pacote de componente de negócio Customer ter sido expandido neste exemplo, os pacotes Order e Product apresentariam uma estrutura similar.

8 Figura 7. Layering explícito dentro de um pacote de componente de negócio. Uma estratégia de layering baseada em responsabilidade influencia normalmente o modelo de implementação, além do modelo de desenho, quando existe a necessidade de partir fisicamente os elementos que implementam cada responsabilidade. Por exemplo, consideremos um sistema que apresenta uma distribuição física do tipo thin client. Convém identificar as unidades de implementação necessárias para suportar a execução num cliente e as que são necessárias para suportar a execução no servidor. Neste exemplo, os elementos do nível da lógica de apresentação residem numa aplicação que é implementada num cliente. Os elementos do nível da lógica de negócio e do nível da lógica de dados residem noutra aplicação que é implementada num servidor. Este cenário implica um modelo de implementação como mostra a Figura 8 que apresenta uma imagem do Rational Rose e um diagrama de componentes com os elementos da aplicação que está implementada no cliente. Neste exemplo, existe uma correspondência entre uma classe no modelo de desenho e um componente UML no modelo de implementação. No entanto, convém sublinhar que essa correspondência depende normalmente da tecnologia de implementação utilizada.

9 Figura 8. Layering implícito dentro do modelo de implementação. De forma similar, uma estratégia de layering baseada em responsabilidade também pode influenciar o modelo de operação (deployment) quando existe a necessidade de descrever a distribuição física das responsabilidades. Na Figura 9, utilizando o exemplo anterior, podemos ver que foram definidos seis nós. Cada um dos três nós Client alberga um processo ClientApplication. O nó FrontEndServer alberga um processo LoadBalancer que é responsável pela distribuição dos pedidos dos clientes para um dos dois nós Server. Cada nó Server alberga um processo ServerApplication. Figura 9. Este modelo de operação (deployment) descreve a distribuição física das responsabilidades.

10 Modelação baseada em reutilização Outra forma de layering normalmente utilizada é a que se baseia na reutilização. Esta estratégia é particularmente relevante para as organizações que têm um objectivo identificável para a reutilização de componentes ao longo da organização. O impacto da utilização desta estratégia de layering reside no facto da reutilização de componentes ser altamente visível, dado que os componentes são agrupados explicitamente de acordo com o seu nível de reutilização. A Figura 10 mostra um exemplo de layering deste tipo e podemos ver três níveis: Base, Business-Specific e Application-Specific. O nível Base contém os elementos que podem ser aplicados ao longo da organização (por exemplo, Math). Estes elementos serão reutilizados de forma generalizada. O nível Business-Specific contém os elementos que aplicáveis a uma organização particular, mas são independentes da aplicação (como o Address Book). Estes elementos serão reutilizados em aplicações dentro da mesma organização. O nível Application-Specific contém os elementos aplicáveis a um projecto ou aplicação particulares (como o Personal Organizer). Estes elementos são os menos reutilizáveis. Figura 10. Exemplo de layering baseado na reutilização. Podemos concluir que os elementos do nível Base são os mais reutilizáveis, enquanto que os elementos do nível Application-Specific são mais específicos de um projecto e, consequentemente, menos reutilizáveis. Modelação dos níveis baseados em reutilização. A aplicação de uma estratégia de reutilização influencia principalmente o modelo de desenho. A estrutura de um modelo de desenho que incorpore layering baseado em reutilização é fácil de conceber. A Figura 11 mostra uma dessas estruturas, com base no exemplo da Figura 10.

11 Figura 11. Modelo de desenho incorporando um layering baseado em reutilização. Outras estratégias de layering O objective deste artigo consiste em dar apenas uma ideia das diferentes estratégias de layering existentes. Como exemplo, recorremos às duas estratégias que são utilizadas de forma mais alargada. No entanto, poderão ser adoptadas outras abordagens para estratégias considerem características como a segurança, posse e aptidões. Layering multi-dimensional As estratégias descritas atrás também podem ser combinadas para criar novas estratégias de layering. O exemplo da Figura 12 mostra dois dos níveis baseados em reutilização do exemplo anterior (específico da aplicação e específico do negócio) e três níveis (tiers) baseados em responsabilidade (lógica de apresentação, lógica de negócio e lógica de acesso aos dados). As dependências presentes na estratégia de layering baseada em reutilização resultam normalmente de dependências entre elementos dos níveis de lógica de negócio, como mostra a Figura 12, onde podemos ver a dependência entre PersonalOrganizer e AddressBook.

12 Figura 12. Layering multi-dimensional. Modelação dos níveis multi-dimensionais. Neste caso, consideramos a representação dos aspectos multi-dimensionais do layering num modelo de desenho bidimensional. Também consideramos uma estrutura onde é incorporado o conceito de componente de negócio. Figura 13. Modelo de desenho incorporando layering multi-dimensional. A adopção de uma estratégia de layering multi-dimensional requer que seja identificada uma estratégia principal. No nosso exemplo, a estratégia de layering principal baseia-se em reutilização. O modelo de desenho é organizado primeiro com base nessa estratégia, fornecendo os níveis Application-Specific, Business-Specific e Base. Cada um destes níveis é depois organizado pelos elementos que residem em cada um deles. Por Exemplo, a Figura 13 mostra o nível Business-Specific a conter os elementos Address Book e Calculator. Cada um dos elementos é ainda organizado posteriormente com base numa estratégia secundária: layering baseado em responsabilidade. Por exemplo, o pacote Address Book contém os três níveis Presentation Logic, Business Logic e Data Access Logic. Cada um

13 destes níveis contém então quaisquer elementos que residem neste nível: O nível de lógica de apresentação contém a classe AddressBookView. O nível de lógica de negócio contém a classe AddressBook. O nível de lógica de acesso aos dados contém a classe AddressBookData. Conclusão Uma das decisões mais importantes que um arquitecto tem de tomar prende-se com a escolha de uma estratégia de layering apropriada, uma vez que esta última irá ter uma grande influência na estrutura dos modelos produzidos. No entanto, o mais significativo tem a ver com o facto das vantagens de negócio como a capacidade/facilidade de manutenção e a reutilização poderem ser suportadas directamente pela estratégia de layering escolhida. Por exemplo, à medida que são desenvolvidos mais sistemas com capacidade/facilidade de manutenção, as diferentes responsabilidades do sistema devem ser isoladas umas das outras através da adopção de uma estratégia de layering baseada em responsabilidade. De igual modo, os elementos de sistema reutilizáveis podem ser identificados claramente utilizando uma estratégia de layering baseada na reutilização. Bibliografia Buschmann, Frank, et al. A System of Patterns New York: John Wiley & Sons. ISBN Edwards, Jeri. 3-Tier Client/Server at Work New York: John Wiley & Sons. ISBN Eeles, Peter, and Oliver Sims. Building Business Objects New York: John Wiley & Sons. ISBN Herzum, Peter, and Oliver Sims. The Business Component Factory New York: John Wiley & Sons. Jacobson, Ivar, et al. Software Reuse Reading, Massachusetts: Addison-Wesley. ISBN Vlissides, John, James Coplien, and Norman Kerth. Pattern Languages of Program Design Reading, Massachusetts: Addison-Wesley. ISBN Baseado no white paper Layering Sttrattegies, de Petter Eelles; IBM-Rational. Tel: (+351) / 2 Fax: (+351) tim@engenharia-software.com Internet:

Rational Software White Paper TP 199, 08/01

Rational Software White Paper TP 199, 08/01 Peter Eeles Rational Software White Paper TP 199, 08/01 Índice Analítico Resumo... 1 O que é a Divisão em Camadas?... 1 Modelagem de Camadas... 3 Estratégias de Camadas... 3 Camadas com base em Responsabilidade...

Leia mais

Introdução ao RUP Rational Unified Process

Introdução ao RUP Rational Unified Process Introdução ao RUP Rational Unified Process UML Diagramas de Classes v.1.1, João Pascoal Faria, 2001 1 O que é Um processo (de engenharia) de software é a definição de um conjunto completo de actividades

Leia mais

Domain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC

Domain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC Pedro Lemos N.º 49467 pcml@rnl.ist.utl.pt Arquitecturas de Software 2004 - LEIC Outline da Apresentação 1. Introdução e Motivação de Padrões de Software 2. Padrões Arquitecturais para Aplicações Empresariais

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Revisões Arquitectura de Sistemas de Software,

Leia mais

UML Diagramas de Pacotes (Packages) e Modelação da Arquitectura Lógica. UML Diagramas de Pacotes v.1.1, João Pascoal Faria, 2001

UML Diagramas de Pacotes (Packages) e Modelação da Arquitectura Lógica. UML Diagramas de Pacotes v.1.1, João Pascoal Faria, 2001 UML Diagramas de Pacotes (Packages) e Modelação da Arquitectura Lógica 1 Pacotes Um pacote (package) em UML é um mecanismo de agrupamento genérico Notação: pasta com o nome no interior ou na pega No caso

Leia mais

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001 UML Visão Geral 1 Índice Introdução Diagramas O que é a UML? Diagrama de casos de utilização Valor da UML Diagrama de classes Origens da UML Diagrama de objectos Parceiros da UML Diagrama de componentes

Leia mais

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. DS: notação Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. Martins 2008 147 DS: notação Martins 2008 148 DS: notação Mensagem condicional

Leia mais

Arquitecturas de Software Enunciado de Projecto 2007 2008

Arquitecturas de Software Enunciado de Projecto 2007 2008 UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Enunciado de Projecto 2007 2008 1 Introdução Na primeira metade da década de 90 começaram a ser desenvolvidas as primeiras

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO SISTEMAS DE GESTÃO DE BASE DE DADOS CONCEITOS BÁSICOS

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO SISTEMAS DE GESTÃO DE BASE DE DADOS CONCEITOS BÁSICOS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite um rápido e fácil acesso aos dados; Acelera os processos de

Leia mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Fábio Amado João Maio 33306

Fábio Amado João Maio 33306 Fábio Amado 33637 João Maio 33306 Universidade de Aveiro Especificação, Modelação e Projecto de Sistemas Embutidos 21-11-2009 1. UML - o que é? 2. A Natureza dos Sistemas Embutidos 1. Heterogeneidade 2.

Leia mais

Ambientes de Desenvolvimento Avançados

Ambientes de Desenvolvimento Avançados Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav Aula 1 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 Aula de Apresentação e de Introdução 2 1

Leia mais

Qualidade. Ana Madureira

Qualidade. Ana Madureira Qualidade Ana Madureira Qualidade da Informação A qualidade de uma informação é apreciada em função da sua pertinência (adaptação às necessidades do sistema de gestão). Três características permitem medir

Leia mais

Visão de Comportamento do Negócio

Visão de Comportamento do Negócio Visão de Comportamento do Negócio Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML: Business Patterns at work, John Wiley, 2000. Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus

Leia mais

Visão de Comportamento do Negócio

Visão de Comportamento do Negócio Visão de Comportamento do Negócio Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento de Ciência da Computação - UFMG Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML:

Leia mais

Desenho e documentação de arquitectura de software e de aplicações empresariais

Desenho e documentação de arquitectura de software e de aplicações empresariais Desenho e documentação de arquitectura de software e de aplicações empresariais João Pascoal Faria Laboratório de Engenharia de Software 10 de Novembro de 2003 1 Definição de arquitectura de software Arquitectura

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

DIAGRAMAS DE SEQUÊNCIA

DIAGRAMAS DE SEQUÊNCIA DIAGRAMAS DE SEQUÊNCIA Extraem-se dos UCs Martins 2008 112 DIAGRAMAS DE SEQUÊNCIA 1: withdrawmoney(amount) 2: balance = getbalance() Martins 2008 113 DIAGRAMAS DE SEQUÊNCIA simples síncrona assíncrona

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ARQUITETURA DE SOFTWARE ASWA4 Aula N : 10

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

UML. Rodrigo Leite Durães.

UML. Rodrigo Leite Durães. UML Rodrigo Leite Durães. rodrigo_l_d@yahoo.com.br O que é Análise de Software? UML: É o estágio de um sistema que captura os requisitos e o domínio do problema, focalizando no que deve ser feito, não

Leia mais

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:

Leia mais

Guião de uma Aplicação Multimédia

Guião de uma Aplicação Multimédia Guião de uma Aplicação Multimédia Aplicação Multimédia Interactiva para CD-ROM ou para a World Wide Web Nuno Magalhães Ribeiro Guia de Elaboração do Projecto da Disciplina Universidade Fernando Pessoa

Leia mais

UML Diagramas Estruturais Diagrama de Componentes

UML Diagramas Estruturais Diagrama de Componentes UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Rui Carneiro, Rui Pereira, Tiago Orfão

Rui Carneiro, Rui Pereira, Tiago Orfão Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt

Leia mais

UML. Adriano J. Holanda 21/3/

UML. Adriano J. Holanda 21/3/ UML Adriano J. Holanda 21/3/2016 UML Introdução UML - Unified Modeling Language Linguagem Unificada de Modelagem. Adquiriu maturidade na segunda década de 1990 pela fusão dos métodos e diagramas de Grady

Leia mais

Gere Com Saber. Universidade do Minho Licenciatura em Engenharia Informa tica

Gere Com Saber. Universidade do Minho Licenciatura em Engenharia Informa tica Universidade do Minho Licenciatura em Engenharia Informa tica Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 Gere Com Saber Andre Barbosa - no 49357 David Leal - no 49321

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos Ribeiro -

Leia mais

Gestão da Investigação, Desenvolvimento e Inovação (IDI) Requisitos de um projecto de IDI

Gestão da Investigação, Desenvolvimento e Inovação (IDI) Requisitos de um projecto de IDI Norma Portuguesa Gestão da Investigação, Desenvolvimento e Inovação (IDI) Requisitos de um projecto de IDI Gestion de la Recherche, Développement et Innovation (RDI) Exigences d'un project de RDI Management

Leia mais

Padrões contexto problema solução

Padrões contexto problema solução Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares Aula 1 - Apresentação Ementa Definição de arquitetura de software. Importância e impacto

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Modelo em camadas. As redes de computadores são sistemas muito complexos; Decomposição dos sistemas em elementos realizáveis

Modelo em camadas. As redes de computadores são sistemas muito complexos; Decomposição dos sistemas em elementos realizáveis Modelo Geral de Comunicação Modelo em camadas As redes de computadores são sistemas muito complexos; Decomposição dos sistemas em elementos realizáveis A maioria das redes são organizadas como uma série

Leia mais

ENGENHARIA DE SOFTWARE ExtremePlanner

ENGENHARIA DE SOFTWARE ExtremePlanner ENGENHARIA DE SOFTWARE ExtremePlanner Acesso ao sistema: https://es.extremeplannerlive.com Procedimento de Login: O login e password é definido pelos caracteres iniciais do endereço de email do aluno,

Leia mais

Engenharia de Software 2º Semestre de 2006/2007

Engenharia de Software 2º Semestre de 2006/2007 Engenharia de Software 2º Semestre de 2006/2007 Segundo enunciado detalhado do projecto: Portal OurDocs ic-es+alameda@mega.ist.utl.pt ic-es+tagus@mega.ist.utl.pt 1. Introdução Neste segundo enunciado do

Leia mais

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA836 DISCIPLINA: PADRÕES E FRAMEWORKS CARGA HORÁRIA: 60h EMENTA: Padrões e anti-padrões

Leia mais

Um SGBD permite que cada utilizador tenha uma vista diferente (abstrata) do conteúdo da base de dados;

Um SGBD permite que cada utilizador tenha uma vista diferente (abstrata) do conteúdo da base de dados; 1 Bioinformatica Conceitos Básicos Camadas de abstração Um SGBD permite que cada utilizador tenha uma vista diferente (abstrata) do conteúdo da base de dados; Cada utilizador necessita de ter acesso a

Leia mais

UML e seus diagramas

UML e seus diagramas UML e seus diagramas A UML Unified Modeling Language (Linguagem de Modelagem Unificada), como o próprio nome já diz, é uma linguagem para modelagem de objetos do mundo real, usada para especificar, construir,

Leia mais

O Fluxo de Requisitos

O Fluxo de Requisitos O Fluxo de 1 Finalidade do fluxo de requisitos A finalidade deste fluxo é: Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer. Oferecer ao desenvolvedor um melhor entendimento

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser

Leia mais

Engenharia de Software II

Engenharia de Software II Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 07 (rogerio@fct.unesp.br) Conceitos Básicos do Rational Unified

Leia mais

Módulo II Arquitetura em Camadas

Módulo II Arquitetura em Camadas Módulo II Arquitetura em Camadas Prof. Ismael H F Santos April 08 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Arquitetura de camadas de Software Arquiteturas em Camadas Padrões para

Leia mais

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO SISTEMAS DE GESTÃO DE BASE DE DADOS O MODELO RELACIONAL

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO SISTEMAS DE GESTÃO DE BASE DE DADOS O MODELO RELACIONAL TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO O MODELO RELACIONAL de base de dados é actualmente o modelo de implementação mais utilizado. Este sucesso pode ser explicado pela sua simplicidade e grande capacidade

Leia mais

Arquitetura em Camadas

Arquitetura em Camadas Arquitetura em Camadas 1 Introdução Em aplicações OO de médio e grande porte, diversos aspectos devem ser considerados: Apresentação Lógica da aplicação Lógica do negócio Persistência de Objetos Camada

Leia mais

Cadeira: Engenharia de Software

Cadeira: Engenharia de Software Cadeira: Engenharia de Software Aulas 9, 10 15/08/15 Docente: Cláudia Ivete F. Jovo cifjovo@gmail.com or cjovo@up.ac.mz M.Sc. Cláudia Jovo 2017/DI 0 Definição de Eng. Software; Eng. Software Tecnologia

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

Especificação, Modelação e Projecto de Sistemas Embutidos

Especificação, Modelação e Projecto de Sistemas Embutidos Especificação, Modelação e Projecto de Sistemas Embutidos Linguagens de especificação: SDL Paulo Pedreiras, Luís Almeida {pbrp,lda}@ua.pt Departamento de Electrónica, Telecomunicações e Informática Universidade

Leia mais

Common Object Request Broker Architecture

Common Object Request Broker Architecture Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como Definir Arquiteturas? Dois tipos de elementos podem ser utilizados para a definição de uma arquitetura: Componentes à blocos

Leia mais

I Análise de Sistemas

I Análise de Sistemas I Análise de Sistemas Dados e Informação Dados São elementos concretos utilizados como base para discussão, decisão, cálculo ou medição. São valores utilizados como matéria-prima de informação, representada

Leia mais

CEM01 Sistemas de Informação para Gestão

CEM01 Sistemas de Informação para Gestão CEM01 Sistemas de Informação para Gestão 2008/02/15 Duração: 2,0 horas Teste: Mini-teste TAG Exame: 1ª Época 2ª Época Recurso Docentes: Aluno: Nome: Prof. Doutor António Godinho e Mestre José Ângelo Pinto

Leia mais

Introdução aos SGBD s

Introdução aos SGBD s Introdução aos SGBD s O que é uma Base de Dados? Colecção de dados ou itens de informação estruturados de determinada forma. Forma mais comum de guardar um grande volume de dados. Exemplos: Agenda de Contactos

Leia mais

Programa Analítico de Disciplina INF323 Engenharia de Software II

Programa Analítico de Disciplina INF323 Engenharia de Software II 0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 0 Períodos

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

Análise e modelação de sistemas. Classe T13: Passando da análise ao Desenho

Análise e modelação de sistemas. Classe T13: Passando da análise ao Desenho Análise e modelação de sistemas Classe T13: Passando da análise ao Desenho 2 Programa Organizando os diagramas Da análise ao desenho Pacotes Estereó;pos Classes de análise vs classes de desenho Estereó;pos

Leia mais

Diagramas de Package

Diagramas de Package 190 Diagramas de Package À medida que os sistemas software se tornam mais complexos e o número de classes aumenta: Torna-se difícil efectuar a gestão das diversas classes A identificação de uma classe

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

CAPÍTULO I INTRODUÇÃO

CAPÍTULO I INTRODUÇÃO CAPÍTULO I INTRODUÇÃO 1.1 Considerações gerais A construção com recurso a contentores marítimos remodelados é um sistema construtivo recente, apresentando casos de sucesso no estrangeiro e um enorme potencial

Leia mais

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

Arquitetura de software

Arquitetura de software Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =

Leia mais

Arquitecturas de Sistemas Distribuídos

Arquitecturas de Sistemas Distribuídos Arquitecturas de Sistemas Distribuídos Arquitectura A arquitectura de um sistema distribuído define: A localização dos componentes de software nos nós da rede As relações e os padrões de comunicação entre

Leia mais

Análise e modelação de sistemas

Análise e modelação de sistemas ì Análise e modelação de sistemas AulaT13: da arquitectura Referências: Aulas AMS do IST Diagramas de Componentes 2 Programa ì Conceito e importância da arquitectura do so;ware ì Diagramas de arquitectura

Leia mais

PROJECTO de REDE LOCAL

PROJECTO de REDE LOCAL INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, IP Centro de Emprego e Formação Profissional de Sintra PROJECTO de REDE LOCAL IMSI16 Adriano Neves José António Fernandes 14 de Dezembro de 2013 Índice Introdução...

Leia mais

Modelos de design arquitetural

Modelos de design arquitetural Modelos de design arquitetural Jair C Leite Modelos de design arquitetural Objetivo Guiar o arquiteto nas etapas para desenhar a arquitetura Deve considerar diferentes visões arquiteturais Atualmente existem

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 2 19/08/2012

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 2 19/08/2012 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula 2 Agenda Processo de desenvolvimento de software e ciclo de vida de software. Processo de desenvolvimento de software

Leia mais

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP

Leia mais

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

Leia mais

Modelação Engenharia de Software

Modelação Engenharia de Software Modelação Engenharia de Software 2 o Semestre de 2008/2009 3 a entrega: Requisitos do sistema Test O Matic Sistema Nacional para as Competências Profissionais de Utopia 11 de Maio de 2009 1 Introdução

Leia mais

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência Diagramas Os diagramas utilizados pela UML são compostos de nove tipos: diagrama de use case, de classes, de objecto, de estado, de sequência, de colaboração, de actividade, de componente e o de instalação/execução.

Leia mais

Redes de Computadores e Telecomunicações - Modelo OSI

Redes de Computadores e Telecomunicações - Modelo OSI Redes de Computadores e Telecomunicações - Modelo OSI Objetivos Fundamentos do Modelo OSI Entender as camadas do Modelo OSI Aplicação Apresentação Sessão Transporte Rede Enlace Fisíca Arquitetura de camadas

Leia mais

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas: Diagramas de Interação Os modelos de análise não respondem a algumas perguntas: Como as operações do sistema são executadas internamente? A que classes estas operações internas pertencem? Quais objetos

Leia mais

TIC - Programação Visual

TIC - Programação Visual Introdução a UML Prof. Edwar Saliba Júnior Agosto / 20 Unidade 5 Introdução a UML UML UML (Unified Modeling Language) - Linguagem Unificada de Modelagem; UML contém elementos gráficos que podem ser combinados

Leia mais

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE PLANO DE ENSINO Disciplina INS 310008: Análise de sistemas e UML Professor Responsável: Dra Raul Sidnei Wazlawick Créditos: (02 CRÉDITOS 30HS) Semestre: 2018-2 1. Ementa Geral Introdução a orientação a

Leia mais

Padrões de Arquitetura de Software. Leandro Tonietto Unisinos fev-09

Padrões de Arquitetura de Software. Leandro Tonietto  Unisinos fev-09 Padrões de Arquitetura de Software Leandro Tonietto ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto Unisinos fev-09 Introdução Padrões de projeto de software descrevem a criação, estruturação

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana

Leia mais

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE PLANO DE ENSINO Disciplina (INS310008): Análise de Sistemas e UML Professor Responsável: Raul Sidnei Wazlawick Créditos: (02 CRÉDITOS 30HS) Semestre: 2017-2 1. Ementa Geral Introdução a orientação a objetos

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo

Leia mais

Introdução. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Introdução. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Introdução Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Pressman, R. S. Engenharia de Software, McGraw-Hill, 6ª. Edição, 2006 Sommerville,

Leia mais

Desenho de Software. Sumário

Desenho de Software. Sumário (QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira Carla.Ferreira@dei.ist.utl.pt Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho

Leia mais

COMO INTERPRETAR O RELATÓRIO DE PESQUISA COM OPINIÃO ESCRITA

COMO INTERPRETAR O RELATÓRIO DE PESQUISA COM OPINIÃO ESCRITA COMO INTERPRETAR O RELATÓRIO DE PESQUISA COM OPINIÃO ESCRITA Neste documento encontrará informação útil acerca do relatório de pesquisa com opinião escrita (RPOE) realizado após a conclusão do exame formal;

Leia mais

Desenvolvimento Baseado em Componentes: Experiências de Sucesso

Desenvolvimento Baseado em Componentes: Experiências de Sucesso Desenvolvimento Baseado em Componentes: Experiências de Sucesso Leonardo Guerreiro Azevedo 1, Fernanda Baião 1,2, Márcio Duran 1, José Roberto Blaschek 3, Jano Moreira de Souza 1,4, Geraldo Zimbrão 1,4

Leia mais

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem? DCC / ICEx / UFMG A Linguagem UML A Linguagem UML Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo UML (Linguagem de Modelagem Unificada) É uma notação gráfica (visual) para projetar sistemas OO Não

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos

Leia mais

CREO 4.0: IMPLEMENTAÇÃO E INTEGRAÇÃO DO MODEL BASED DEFINITION (MBD) Raphael Nascimento Product Manager PTC Creo. PTC Forum Europe Stuttgart, Germany

CREO 4.0: IMPLEMENTAÇÃO E INTEGRAÇÃO DO MODEL BASED DEFINITION (MBD) Raphael Nascimento Product Manager PTC Creo. PTC Forum Europe Stuttgart, Germany CREO 4.0: IMPLEMENTAÇÃO E INTEGRAÇÃO DO MODEL BASED DEFINITION (MBD) Raphael Nascimento Product Manager PTC Creo 15 November, 2016 PTC Forum Europe Stuttgart, Germany Model Based Definition (MBD) AGENDA

Leia mais

RUP Unified Process. Profª Jocelma Rios

RUP Unified Process. Profª Jocelma Rios RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro Curso Técnico Integrado de Informática 2 Ano Projeto Integrador Formação Profissional Trabalho Análise e Projeto de Sistemas UML Aluna: Luana Alves Businaro-1614193 Maio de 2017 Sumário 1 Introdução...

Leia mais

Redes - Sabe o que é o modelo OSI?

Redes - Sabe o que é o modelo OSI? Redes - Sabe o que é o modelo OSI? Date : 15 de Setembro de 2010 Recentemente, durante uma conversa de amigos, alguém me questionava no âmbito das redes informática, porque se dizia que um determinado

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Modelo de Classes de Software Navegação 1 Programa Capítulo 3 Modelo de Classes

Leia mais

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Eduardo R. B. Marques DCC/FCUP parcialmente adaptado de slides por Fernando Silva e Ricardo Rocha Alguns

Leia mais

Arquitetura de Software visão emergente

Arquitetura de Software visão emergente Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais

Leia mais