Capítulo 7 Conceção e Implementação 1

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

Download "Capítulo 7 Conceção e Implementação 1"

Transcrição

1 Capítulo 7 Conceção e Implementação Capítulo 7 Conceção e Implementação 1

2 Assuntos abordados Design orientado a objetos com recurso ao UML Padrões de design Questões de implementação Desenvolvimento de código aberto Capítulo 7 Concepção e Implementação 2

3 Design e implementação Design e implementação de software é a fase do processo de engenharia de software em que um sistema de software executável é desenvolvido. Atividades de design e implementação de software são invariavelmente intercaladas. Design de software é uma atividade criativa em que você identifica os componentes de software e suas relações, com base nos requisitos do cliente. A implementação é o processo de realização do projeto como um programa executável. Capítulo 7 Concepção e Implementação 3

4 Construir ou comprar Em vários domínios, é agora possível comprar software que pode ser parameterizado e adaptado às necessidades dos utilizadores. Por exemplo, para se implementar um sistema de registos médicos, pode-se comprar um pacote que já é usado em hospitais. Pode ser mais barato e mais rápido usar essa abordagem em vez de desenvolver um sistema numa linguagem de programação convencional. Quando se desenvolve uma aplicação, o processo de design preocupa-se com a forma de utilizar os recursos de configuração desse sistema para entregar os requisitos do sistema. Capítulo 7 Concepção e Implementação 4

5 Design orientado a objetos com recurso ao UML Capítulo 7 Concepção e Implementação 5

6 Processo de design orientado ao objeto Os processos de design orientado a objetos envolvem o desenvolvimento de vários modelos de sistemas. Exigem um grande esforço para o desenvolvimento e manutenção destes modelos e, para pequenos sistemas, isso pode não ser rentável. No entanto, para grandes sistemas, desenvolvidos por diferentes grupos, modelos de design são um mecanismos importante de comunicação. Capítulo 7 Concepção e Implementação 6

7 Etapas do processo Há uma variedade de diferentes processos de design orientados a objetos. Atividades comuns nestes processos incluem: Definir o contexto e modos de utilização do sistema; Projetar a arquitetura do sistema; Identificar os principais objetos do sistema; Desenvolver modelos de design; Especificar interfaces de objetos. Capítulo 7 Concepção e Implementação 7

8 Contexto do sistema e as interações Compreender as relações entre o software que está a ser projetado e o seu ambiente externo é essencial para decidir como fornecer as funcionalidades necessárias do sistema e como estruturar o sistema para se comunicar com o seu ambiente. Compreensão do contexto permite também estabelecer os limites do sistema. Definir os limites do sistema ajuda a decidir quais os recursos que são implementados no sistema que está a ser desenhado e que recursos estão em outros sistemas associados. Capítulo 7 Concepção e Implementação 8

9 Modelos de contexto e interação Um modelo de contexto do sistema é um modelo estrutural que demonstra os outros sistemas no ambiente do sistema que está a ser desenvolvido. Um modelo de interação é um modelo dinâmico que mostra como o sistema interage com o seu ambiente, como ele é usado. Capítulo 7 Concepção e Implementação 9

10 Sistema contexto para a estação de metereologia Capítulo 7 Concepção e Implementação 10

11 Casos de uso da estação meteorológica Capítulo 7 Concepção e Implementação 11

12 Descrição do caso de uso Weather Report Sistema Caso de uso Atores Descrição Estímulo Resposta Comentários Estação meteorológica Boletim meteorológico Sistema de informação metereológica, Estação meteorológica A estação meteorológica envia um resumo dos dados meteorológicos que foram recolhidos, para o sistema de informações meteorológicas. Os dados enviados são a temperatura, a pressão do ar, a velocidade do vento, a precipitação e a direcção do vento com intervalos de cinco minutos. O sistema de informação metereológica estabelece um link de comunicação via satélite com a estação meteorológica e solicita a transmissão dos dados. Os dados resumidos são enviados para o sistema de informações meteorológicas. Estações meteorológicas são normalmente solicitados a relatar uma vez por hora, mas essa freqüência pode diferir de uma estação para outra e pode ser modificado no futuro. Capítulo 7 Concepção e Implementação 12

13 Projeto arquitetónico Uma vez que as interações entre o sistema e o seu ambiente ter sido compreendido, pode-se usar esta informação para projetar a arquitetura do sistema. Identificar os principais componentes que compõem o sistema e as suas interações, e, em seguida, pode organizar os componentes usando um padrão de arquitetura, tais como um modelo em camadas ou cliente-servidor. A estação meteorológica é composto por subsistemas independentes que se comunicam pela transmissão de mensagens numa infra-estrutura comum. Capítulo 7 Concepção e Implementação 13

14 Arquitetura alto-nível da estação meteorológica Capítulo 7 Concepção e Implementação 14

15 Arquitetura do sistema de recolha de dados Capítulo 7 Concepção e Implementação 15

16 Identificação da classe de objeto Identificar classes de objetos é muitas vezes uma tarefa difícil, parte do projeto orientado a objetos. Não há 'fórmula mágica' para a identificação de objetos. Baseia-se na habilidade, experiência e conhecimento de domínio dos projetistas de sistemas. Identificação de objetos é um processo iterativo. É improvável que se obtenha correto na primeira vez. Capítulo 7 Concepção e Implementação 16

17 Abordagens para a identificação Usar uma abordagem gramatical baseada numa descrição do sistema em linguagem natural. Basear a identificação em coisas tangíveis no domínio do aplicativo. Usar uma abordagem comportamental e identificar objetos com base no que participa o comportamento. Usar uma análise baseada em cenários. Os objetos, atributos e métodos em cada cenário são identificados. Capítulo 7 Concepção e Implementação 17

18 Classes de objeto da estação meteorológica Identificação das classe de objeto no sistema da estação meteorológica, pode ser baseada no hardware tangível e nos dados do sistema: Termómetro, anemómetro, entre outros Objetos de domínio da aplicação que são objetos 'hardware' relacionados com os instrumentos do sistema. Estação meteorológica A interface básica da estação meteorológica com seu ambiente. Reflete as interações identificadas no modelo de caso de uso. Dados meteorológicos Encapsula os dados recolhidos pelos instrumentos. Capítulo 7 Concepção e Implementação 18

19 Modelos de design Modelos de design mostram os objetos, classes de objetos e relações entre estas entidades. Existem dois tipos de modelo de design: Os modelos estruturais descrever a estrutura estática do sistema em termos de classes de objetos e as suas relações. Modelos dinâmicos descrevem as interações dinâmicas entre objetos. Capítulo 7 Concepção e Implementação 20

20 Exemplos de modelos de design Modelos de subsistemas que mostram os agrupamentos lógicos de objetos em subsistemas coerentes. Modelos de sequência que mostram a sequência de interações dos objetos. Modelos de máquina de estado que mostram como objetos individuais mudam o seu estado em resposta a eventos. Outros modelos incluem modelos de caso de uso, modelos de agregação, modelos de generalização, etc. Capítulo 7 Concepção e Implementação 21

21 Modelos de subsistema Mostra como o projeto está organizado em grupos de objetos logicamente relacionados. Em UML, estes são mostrados usando pacotes. Este é um modelo lógico. A organização real dos objetos no sistema podem ser diferentes. Capítulo 7 Concepção e Implementação 22

22 Modelos de sequência Modelos de sequência mostram a sequência de interações dos objetos Os objetos são dispostas horizontalmente na parte superior; O tempo é representado verticalmente para e são lidos de cima para baixo; Interações estão representadas por setas, diferentes estilos de seta representam diferentes tipos de interação; Um retângulo representa o momento em que o objeto é o objeto de controlo no sistema. Capítulo 7 Concepção e Implementação 23

23 Diagram de sequência que descreve a recolha de dados Capítulo 7 Concepção e Implementação 24

24 Diagramas de estado Diagramas de estado são usados para saber como os objetos respondem a diferentes solicitações de serviço e às transições de estado desencadeadas por estas solicitações. Diagramas de estado são modelos de alto nível de um sistema ou o comportamento de tempo de execução de um objeto. Normalmente não precisa de um diagrama de estado para todos os objetos no sistema. Muitos dos objetos num sistema são relativamente simples e um modelo de estado acrescenta detalhes desnecessários ao design. Capítulo 7 Concepção e Implementação 25

25 Diagrama de estados da estação metereológica Capítulo 7 Concepção e Implementação 26

26 Especificação de interface Interfaces de objetos precisam ser especificados para que os objetos e outros componentes possam ser projetados em paralelo. Designers devem evitar projetar a representação da interface, deve-se esconder isso no próprio objeto. Os objetos podem ter diversas interfaces que são pontos de vista sobre os métodos fornecidos. Em UML usa-se o diagrama de classes para a especificação da interface. Capítulo 7 Concepção e Implementação 27

27 Interfaces da estação metereológica Capítulo 7 Concepção e Implementação 28

28 Padrões de design Capítulo 7 Concepção e Implementação 29

29 Padrões de design Um padrão de design é uma maneira de reutilizar o conhecimento abstrato sobre um problema e a sua solução. Um padrão é uma descrição do problema e a essência da sua solução. Deve ser suficientemente abstrato para ser reutilizado em diferentes contextos. Descrições padrão costumam fazer uso de características orientadas a objetos, tais como herança e polimorfismo. Capítulo 7 Concepção e Implementação 30

30 Patterns Padrões e linguagens de padrões são formas de descrever as melhores práticas, bons projetos e experiência de captura de uma forma que é possível para os outros reutilizar essa experiência. Capítulo 7 Concepção e Implementação 31

31 Elementos do padrão teste Nome Um identificador padrão significativo. Descrição do Problema. Descrição da solução. Não é um projeto concreto, mas um modelo para uma solução de design que pode ser instanciado em maneiras diferentes. Consequências Os resultados e as compensações de aplicação do padrão. Capítulo 7 Concepção e Implementação 32

32 O padrão observador Nome Observador. Descrição Separa a exibição de estado do objeto a partir do próprio objeto. Descrição do Problema Usado quando são necessários vários monitores de estado. Descrição da solução Veja slide com descrição UML. Consequências Otimizações para melhorar o desempenho de exibição são impraticáveis. Capítulo 7 Concepção e Implementação 33

33 Vários monitores usando o padrão Observer Capítulo 7 Concepção e Implementação 36

34 Problemas de design Para usar padrões num projeto, precisa-se reconhecer que qualquer problema de design pode ter um padrão associado que pode ser aplicado. Vários objetos que o estado de algum outro objeto foi alterado. Arrumar as interfaces para uma série de objetos relacionados que foram muitas vezes desenvolvidas de forma incrementa. Fornecer uma maneira padrão de acessar os elementos em uma coleção, independentemente de como essa coleção é implementada. Permitir a possibilidade de estender a funcionalidade de uma classe existente no tempo de execução. Capítulo 7 Concepção e Implementação 38

35 Problemas de implementação Capítulo 7 Concepção e Implementação 39

36 Problemas de implementação Foco aqui não é sobre a programação, embora este é, obviamente, importante, mas em outras questões de implementação que muitas vezes não são abordados em programação: Reuso A maioria do software moderno é construído através da reutilização de componentes ou sistemas existentes. Quando se está a desenvolver um software, deve-se fazer o máximo uso possível de código existente. Gestão de configurações Durante o processo de desenvolvimento, tem que se manter a par das muitas versões diferentes de cada componente de software num sistema de gestão de configuração. Desenvolvimento O software de produção não costuma executar no mesmo computador como o ambiente de desenvolvimento de software. Em vez disso, desenvolve-se num computador (o sistema host) e executa-se num computador separado (sistema de destino). Capítulo 7 Concepção e Implementação 40

37 Reuso A partir dos anos 1960 aos anos 1990, a maioria dos novos software foi desenvolvido a partir do zero, escrito todo o código em uma linguagem de programação de alto nível. A única reutilização significativa foi a reutilização de funções e objetos em bibliotecas de linguagem de programação. Custos e pressão de cronograma, significa que esta abordagem tornou-se cada vez mais inviável, especialmente para sistemas comerciais e baseados na Internet. Uma abordagem ao desenvolvimento baseada em torno da reutilização de software existente é geralmente usado para software de negócios e software científico. Capítulo 7 Concepção e Implementação 41

38 Níveis de reutilização O nível de abstração Neste nível, não se reutiliza software diretamente, mas usar o conhecimento de abstrações na concepção do software. O nível do objecto Neste nível, reutiliza-se diretamente objetos de uma biblioteca, em vez de escrever o código. O nível de componente Os componentes são coleções de objetos e classes de objetos que se reutiliza em sistemas de aplicação. O nível de sistema Neste nível, reutiliza-se sistemas de aplicação inteiros. Capítulo 7 Concepção e Implementação 42

39 Reuso de software Capítulo 7 Concepção e Implementação 43

40 Custos de reutilização Os custos do tempo gasto na procura de software para reutilizar e avaliar se é viável ou não às necessidades. Quando aplicável, os custos de aquisição do software reutilizáveis. Para grandes sistemas off-the-shelf, estes custos podem ser muito elevados. Os custos de adaptação e configuração dos componentes ou sistemas de software reutilizáveis para refletir os requisitos do sistema que se está a desenvolver. Os custos de integração de elementos de software reutilizáveis uns com os outros (se estiver s usar software de diferentes fontes) e com o novo código que se desenvolveu. Capítulo 7 Concepção e Implementação 44

41 Gestão de configurações Gestão de configuração é o nome dado ao processo geral de gestão das mudanças de um sistema de software. O objetivo da gestão de configuração é apoiar o processo de integração do sistema de modo a que todos os programadores possam acessar ao código e documentos do projeto de uma forma controlada, descobrir que mudanças foram feitas, e compilar componentes de ligação para criar um sistema. Capítulo 7 Concepção e Implementação 45

42 Atividades de gestão de configuração Gestão de versões, onde se acompanha as diferentes versões de componentes de software. Sistemas de gestão de versões incluem instalações para coordenar o desenvolvimento de vários programadores. Integração de sistemas, onde os programadores a definem as versões de componentes que vão usar para criar cada versão do sistema. Acompanhamento de problemas, onde permite aos utilizadores reportar bugs e outros problemas, para permitir que os programadores os resolvam. Capítulo 7 Concepção e Implementação 46

43 Interação ferramenta de gestão de configuração Capítulo 7 Concepção e Implementação 47

44 Desenvolvimento Host-Target A maioria dos softwares é desenvolvido num computador (host), mas é executado numa máquina separada (o alvo). De modo mais geral, podemos falar de uma plataforma de desenvolvimento e uma plataforma de execução. A plataforma é mais do que apenas hardware. Inclui o sistema operacional instalado além de outros softwares de suporte, como um sistema de gestão de base de dados ou, para plataformas de desenvolvimento, um ambiente de desenvolvimento interativo. Plataforma de desenvolvimento tem geralmente software instalado diferente da plataforma de execução; essas plataformas podem ter diferentes arquiteturas. Capítulo 7 Concepção e Implementação 48

45 Desenvolvimento Host-Target Capítulo 7 Concepção e Implementação 49

46 Ferramentas para a plataforma de desenvolvimento Um compilador integrado e sistema de edição dirigida pela sintaxe que permite criar, editar e compilar o código. Um sistema de linguagem de depuração. Ferramentas de edição de gráficos, como ferramentas para editar modelos UML. Ferramentas de teste, tais como junit que pode executar automaticamente uma série de testes numa nova versão de um programa. Ferramentas de apoio ao projeto que ajudam a organizar o código para diferentes projectos de desenvolvimento. Capítulo 7 Concepção e Implementação 50

47 Ambientes de desenvolvimento integrado (IDEs) Ferramentas de desenvolvimento de software muitas vezes são agrupados para criar um ambiente de desenvolvimento integrado (IDE). Um IDE é um conjunto de ferramentas de software que suporta diferentes aspectos do desenvolvimento de software, dentro de algum quadro comum e interface de utilizador. IDEs são criados para apoiar o desenvolvimento de uma linguagem de programação específica, como Java. Capítulo 7 Concepção e Implementação 51

48 Componentes de implantação do sistema Se um componente é projetado para uma arquitetura de hardware específico, ou se baseia em algum outro sistema de software, deve, obviamente, ser implantado numa plataforma que fornece o suporte de hardware e software necessários. Sistemas de alta disponibilidade podem exigir componentes para ser implantado em mais do que uma plataforma. Isto significa que, em caso de falha da plataforma, uma implementação alternativa do componente está disponível. Se houver um alto nível de tráfego de comunicações entre os componentes, normalmente faz sentido implantá-los na mesma plataforma ou em plataformas que estão fisicamente próximos uma das outras. Isso reduz o atraso entre o tempo que uma mensagem é enviada por um componente e recebida por outra. Capítulo 7 Concepção e Implementação 52

49 Desenvolvimento de código aberto Capítulo 7 Concepção e Implementação 53

50 Desenvolvimento de código aberto Desenvolvimento de código aberto é uma abordagem para o desenvolvimento de software no qual o código fonte de um sistema de software é publicado e os voluntários são convidados a participar no processo de desenvolvimento Suas raízes estão na Free Software Foundation ( Que defende que o código fonte não deve ser proprietário, mas sim deve estar sempre disponível para os utilizadores o examinarem e modificarem como desejarem. Software de código aberto estendeu essa ideia usando a Internet para recrutar uma população muito maior de programadores voluntários. Muitos deles também são utilizadores do código. Capítulo 7 Concepção e Implementação 54

51 Sistemas de código aberto O produto de código aberto mais conhecido é, claro, o sistema operacional Linux, que é amplamente usado como um sistema de servidor e, cada vez mais, como um ambiente desktop. Outros produtos open source importantes são o Java, o servidor web Apache e o mysql Sistema de Gestão de Base de Dados. Capítulo 7 Concepção e Implementação 55

52 Negócios de fonte aberta Mais e mais empresas de produtos estão a usar uma abordagem de código aberto para o desenvolvimento. O seu modelo de negócio não é dependente da venda de um produto de software, mas na venda de suporte para esse produto. Elas acreditam que o envolvimento da comunidade de código aberto irá permitir que o software seja desenvolvido de forma mais barata, mais rápida e vai criar uma comunidade de utilizadores para o software. Capítulo 7 Concepção e Implementação 57

53 Licenciamento de fonte aberta Um princípio fundamental do desenvolvimento de código aberto é que o código fonte deve ser livremente disponíveis, isso não significa que qualquer um pode fazer o que quiserem com esse código. Legalmente, o programador do código (seja uma empresa ou um indivíduo) ainda possui o código. Eles podem colocar restrições em como ele é usado, incluindo condições juridicamente vinculativos em uma licença de software de código aberto. Alguns programadores de código aberto acreditam que, se um componente de código aberto é usado para desenvolver um novo Sistema em seguida, que o sistema também deve ser de código aberto. Outros estão dispostos a permitir que o seu código seja usado sem essa restrição. Os sistemas desenvolvidos podem ser proprietários e vendidos como sistemas de código fechado. Capítulo 7 Concepção e Implementação 58

54 Modelos de licença O GNU General Public License (GPL). Esta é uma chamada de licença 'recíproco' que significa que se usar o software de código aberto que está licenciado sob a licença GPL, então deve fazer esse software fonte aberta. O GNU Lesser General Public License (LGPL) é uma variante da licença GPL, onde se pode escrever componentes que apontam para abrir o código-fonte sem ter que publicar a origem desses componentes. Distribuição Berkley Padrão (BSD) License. Esta é uma licença não recíproca, o que significa que não são obrigados a voltar a publicar quaisquer alterações ou modificações feitas para abrir o código-fonte. Você pode incluir o código em sistemas proprietários que são vendidos. Capítulo 7 Concepção e Implementação 59

55 Gestão de licenças Estabelecer um sistema para manter as informações sobre os componentes de código aberto que são baixados e usados. Estar ciente dos diferentes tipos de licenças e compreender como um componente é licenciado antes de ser usado. Estar ciente dos caminhos de evolução para os componentes. Educar as pessoas sobre código aberto. Têm sistemas de auditoria no local. Participar da comunidade open source. Capítulo 7 Concepção e Implementação 60

56 Pontos chave O processo de concepção orientada para o objecto inclui actividades como conceber a arquitectura do sistema, identificar objectos no sistema, descrever a concepção utilizando diferentes modelos de objecto e documentar as interfaces de componentes. Uma gama de diferentes modelos podem ser produzidos durante um processo de concepção orientada por objectos. Estes incluem modelos estáticos (modelos de classe, modelos de generalização, modelos de associação) e modelos dinâmicos (modelos de sequência, modelos de máquinas de estado). Interfaces de componentes deve ser definido com precisão para que outros objetos possam usá-los. Capítulo 7 Concepção e Implementação 61

57 Pontos chave Ao desenvolver software, deve-se sempre considerar a possibilidade de reutilizar software existente, quer como componentes, serviços ou sistemas completos. Gestão de configuração é o processo de gerir mudanças para um sistema de software em evolução. É essencial quando uma equipa de pessoas estão a cooperar para desenvolver software. A maioria de desenvolvimento de software é o desenvolvimento host-target. Usa-se um IDE em uma máquina host para desenvolver o software, que é transferida para uma máquina de destino para execução. Desenvolvimento de código aberto envolve fazer o código fonte de um sistema acessível ao público. Isso significa que muitas pessoas podem propor alterações e melhorias no software. Capítulo 7 Concepção e Implementação 62

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais

Capítulo 2 - Processos de Software

Capítulo 2 - Processos de Software Capítulo 2 - Processos de Software Capítulo 2 Processos Software 1 Assuntos abordados Modelos de processo de software Atividades no processo de software Mudança no processo de software Melhoria de processos

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

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

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

Especificação de Sistemas de Software e a UML

Especificação de Sistemas de Software e a UML Modelagem de sistema Especificação de Sistemas de Software e a UML A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema Modelo => visão simplificada e abstrata de um sistema

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

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software ENGENHARIA DE SOFTWARE Aula 17 Reuso de software OBJETIVOS Entender os benefícios e problemas de reuso de software durante o desenvolvimento de novos sistemas; Entender o conceito de um framework de aplicações

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

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira [email protected] O que é?? 2 A UML

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

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

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 28 Março 2012 A

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos [email protected] Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

Capítulo 6. Projeto de arquitetura. 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1. slide 1

Capítulo 6. Projeto de arquitetura. 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1. slide 1 Capítulo 6 Projeto de arquitetura slide 1 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1 Os tópicos abordados Decisões de projeto de arquitetura Visões de arquitetura Padrões de arquitetura

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: [email protected] A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves I Processos de desenvolvimento de SW profa. Denise Neves [email protected] 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK

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

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Análise e Projeto. Prof. Erinaldo Sanches Nascimento Análise e Projeto Prof. Erinaldo Sanches Nascimento Objetivos Apresentar o ciclo de vida de desenvolvimento de sistemas. Descrever as metodologias de desenvolvimento de sistemas. 2 Introdução Programação

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

Introdução a Engenharia de Software

Introdução a Engenharia de Software Engenharia de Software Aula 02 Introdução a Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] ou [email protected] 7 Março de 2018 Bibliografia

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

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -

Leia mais

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo

Leia mais

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes Engenharia de Software Aula 09 Tópicos da Aula Projeto de Software Revisão de orientação a objetos Projeto orientado a objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 04

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

Leia mais

Introdução a UML e seus diagramas

Introdução a UML e seus diagramas Introdução a UML e seus diagramas A Unified Modelling Language (UML) é uma linguagem ou notação de diagramas para especificar, visualizar e documentar modelos de software orientados por objetos. O UML

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.

Leia mais

SOFTWARE REUSE. Ian Sommerville, 8º edição Capítulo 18. Aula de Luiz Eduardo Guarino de Vasconcelos

SOFTWARE REUSE. Ian Sommerville, 8º edição Capítulo 18. Aula de Luiz Eduardo Guarino de Vasconcelos SOFTWARE REUSE Ian Sommerville, 8º edição Capítulo 18 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Explicar os benefícios e alguns problemas do reuso de software Descrever diferentes tipos de

Leia mais

Processos de Software

Processos de Software Processos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama [email protected] Slides originais elaborados por Ian Sommerville e adaptado pelos profs. Márcio Cornélio, Vinicius

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

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

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas Diagrama de Atividades Diagrama de Caso de Uso ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas [email protected] 1 - Conceitos 2 UML é uma linguagem para: Especificar Visualizar Construir...

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

Generalização das técnicas de Piloto Automático para VANTs. Aluno: Raphael da Silva Teixeira (ED 14205) Professor: Cel R/R Cícero Garcez

Generalização das técnicas de Piloto Automático para VANTs. Aluno: Raphael da Silva Teixeira (ED 14205) Professor: Cel R/R Cícero Garcez Generalização das técnicas de Piloto Automático para VANTs Aluno: Raphael da Silva Teixeira (ED 14205) Professor: Cel R/R Cícero Garcez Introdução Um piloto automático é um sistema micro-elétrico-mecânico

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

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Visões Arquiteturais. Arquitetura de Software Thaís Batista Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Paradigmas de Software

Paradigmas de Software Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo

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

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros [email protected] O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

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

UML. Rodrigo Leite Durães.

UML. Rodrigo Leite Durães. UML Rodrigo Leite Durães. [email protected] 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

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

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas Engenharia de Software Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas Thiago P. da Silva [email protected] Agenda Modelagem de Sistemas Modelos de contexto Diagramas de Atividades Modelos

Leia mais

Manutenção Leitura: Sommerville; Pressman

Manutenção Leitura: Sommerville; Pressman Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida [email protected] Marcelo Nassau Malta [email protected]

Leia mais

Estilos Arquiteturais

Estilos Arquiteturais Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as

Leia mais

Engenharia de Software. Herbert Rausch Fernandes

Engenharia de Software. Herbert Rausch Fernandes Engenharia de Software Herbert Rausch Fernandes O Processo Unificado É uma tentativa de unir os melhores recursos e características dos modelos convencionais; Reconhece a importância da comunicação com

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

Leia mais

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Modelagem de Sistemas. Análise de Requisitos. Modelagem Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia

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

Padrões. Arquitetura de Software Thaís Batista

Padrões. Arquitetura de Software Thaís Batista Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam

Leia mais