INF1013 MODELAGEM DE SOFTWARE

Documentos relacionados
Introdução a UML (Unified Modeling Language)

UML Unified Modeling Language Linguagem de Modelagem Unificada

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

Análise de Sistemas. Aula 5

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

UML (Unified Modelling Language)

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Requisitos de Software e UML Básico. Janaína Horácio

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

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

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

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

APÊNDICE D Unified Model Language (UML)

UML e seus diagramas

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

Requisitos de Sistemas

Análise e Projeto Orientados a Objetos

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

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Análise e projeto de sistemas

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

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

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

Rational Unified Process (RUP)

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.

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Marcelo Henrique dos Santos

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:

RUP Unified Process. Profª Jocelma Rios

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

DIAGRAMAS DE CLASSE UML

Visões Arquiteturais. Visões Arquiteturais

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Outline. Linguagem de Modelagem Unificada. 1. Visualização 04/09/2017. Aula 10 - Introdução à UML e Instalação de Ferramentas de Modelagem

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

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

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

UML. Adriano J. Holanda 21/3/

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

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

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

Introdução a UML e seus diagramas

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Engenharia de Software

Modelos em Sistemas de Informação. Aula 2

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

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

RUP RATIONAL UNIFIED PROCESS

UML - Unified Modeling Language

Aula 1.7 Introdução a APOO e UML

UML Diagramas Estruturais Diagrama de Componentes

2 Metodologias para Projetos de Aplicações Hipermidia

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Modelagem/Arquitetura de Software

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

Projeto e Desenvolvimento de Sistemas de Informação

UML Unified Modeling Language Linguagem de Modelagem Unificada Requisitos, Casos de Uso no ArgoUML

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

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

Arquitetura de Software visão emergente

Princípios de Análise e Projeto Orientados a Objetos com UML

Engenharia de Software

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

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Reuso de Software Aula Maio 2012

Introdução a Orientação a Objetos e UML

UML Linguagem de Modelagem Unificada

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

Especificação de Sistemas e SysML

Transcrição:

INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1

Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura O Paradigma da Orientação a Objetos (1) A Análise Orientada a Objetos enfatiza a descoberta e a descrição dos objetos de um domínio de aplicação; O Projeto Orientado a Objetos foca no mapeamento dos objetos de domínio para objetos de software. 2

O Paradigma da Orientação a Objetos (2) A modelagem orientada a objetos, usada em conjunto com alguma linguagem orientada a objetos, ajuda a diminuir o gap semântico entre os componentes de software e a concepção humana de um domínio de aplicação, facilitando, assim, a compreensão do design de um sistema. Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 3

A Linguagem UML UML significa Unified Modeling Language; Tem por objetivo especificar, visualizar, construir e documentar artefatos de software; Aplicada em todas as etapas do ciclo de vida de software; Adequada à construção de modelos gráficos. A UML é uma Linguagem Uma linguagem fornece um vocabulário e regras para a combinação de palavras desse vocabulário, com o objetivo de comunicar algo; Uma linguagem de modelagem é uma linguagem cujo vocabulário e as regras têm seu foco voltado para a representação conceitual e física de sistemas; O vocabulário e as regras de uma linguagem de modelagem indicam como criar e ler modelos bem formados, mas não apontam quais modelos devem ser criados nem em que sequência. 4

A UML para Visualização e Especificação Facilita a construção de modelos visuais de sistemas, descrevendo detalhadamente a estrutura (parte estática ) e o comportamento (parte dinâmica); Fornece os símbolos gráficos para a representação de artefatos de software; Emprega símbolos com sintaxe e semântica bem definidas; Favorece a construção de modelos precisos, completos e sem ambiguidades. A UML para Construir Os modelos UML podem ser diretamente traduzidos para várias linguagens de programação; Isso significa que é possível mapear modelos UML para linguagens de programação tais como, Java, C++ e C#; Esse mapeamento permite a realização de uma engenharia de produção (geração de código) a partir de modelos UML; Permite reconstruir alguns modelos a partir do código fonte escrito em alguma linguagem de programação. Este processo inverso é chamado de engenharia reversa. 5

Suporte a Diferentes Tecnologias Interface com o usuário (Swing,.NET, HTML) Lógica do negócio (Java, C++, C#) Persistência (SQL, EJB, Hibernate) Projete o seu sistema independente da tecnologia de implementação Promoção da Reutilização Múltiplas Plataformas Componentes Reutilizáveis 6

A UML para Documentar Os requisitos do sistema; A arquitetura do sistema e todos os seus detalhes; As atividades de planejamento do projeto; As atividades de realização de testes; O gerenciamento de versões. As Vantagens da UML Padrão aberto e não proprietário (OMG); Independência de processo de desenvolvimento; Aplicável em todas as fases do ciclo de desenvolvimento; Independência de linguagem de programação; Integração das melhores práticas de modelagem; É uma linguagem extensível. 7

A História da UML (1) É o resultado da unificação das notações utilizadas nos métodos Booch, OMT (Object Modeling Technique) e OOSE (Object-Oriented Software Engineering); Adotada como linguagem padrão de modelagem por grande parte da indústria de software e por fornecedores de ferramentas CASE. A História da UML (2) 8

Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura Descrição da Arquitetura Diferentes participantes têm visões e interesses distintos em relação a um sistema; Eles trazem contribuições próprias em diferentes momentos ao longo do desenvolvimento; A descrição da arquitetura de um sistema deve permitir o gerenciamento adequado destes diferentes pontos de vista ao logo do ciclo de vida de um sistema. 9

O Que é Arquitetura? A arquitetura é o conjunto de decisões significativas sobre: A organização de um sistema de software; A seleção dos elementos estruturais que irão compor um sistema; O comportamento de um sistema, conforme especificado nas colaborações entre esses elementos; A decomposição desses elementos estruturais e comportamentais em subsistemas progressivamente maiores; O estilo arquitetural que orienta a organização desses elementos aspectos estáticos, dinâmicos, suas interfaces, colaborações e composições. Visões da Arquitetura A arquitetura de um sistema complexo pode ser adequadamente descrita através de cinco visões complementares: 10

Visão de Casos de Uso (1) Descreve um sistema do ponto de vista externo, através das interações entre esse sistema e os agentes externos a ele. Visão de Casos de Uso (2) Utiliza os seguintes recursos: Descrição textual Diagramas de casos de uso Diagramas de estados Diagramas de interações Diagramas de atividades 11

Visão de Projeto (1) Enfatiza as características de um sistema que dão suporte, tanto estrutural quanto comportamental, às funcionalidades externamente visíveis desse sistema. Visão de Projeto (2) Utiliza os seguintes recursos: Diagramas de classes Diagramas de interações Diagramas de estados 12

Visão de Processos (1) Mostra o fluxo de controle entre as várias partes, incluindo mecanismos de concorrência e sincronização. Essa visão cuida principalmente das questões referentes ao desempenho, à escalabilidade e ao throughput de um sistema. Visão de Processos (2) Utiliza os mesmos diagramas que a visão de projeto, mas com foco voltado para as classes ativas (processos ou threads) que controlam um sistema e as mensagens que passam por essas classes. 13

Visão de Implementação (1) Abrange o gerenciamento de versões de um sistema e dos componentes e artefatos utilizados para a montagem e distribuição do mesmo. Diz respeito também ao mapeamento dos componentes lógicos para os artefatos físicos. Visão de Implementação (2) Utiliza os seguintes recursos: Diagramas de componentes Diagramas de interações Diagramas de estados Diagramas de atividades 14

Visão de Implantação (1) Abrange os nós que formam a topologia do hardware em que um sistema será executado. Essa visão trata principalmente da distribuição, do fornecimento e da instalação dos componentes físicos de um sistema. Visão de Implantação (2) Utiliza os seguintes recursos: Diagramas de implantação Diagramas de interações Diagramas de estados Diagramas de atividades 15

Bibliografia (1) Bezerra, E. Princípios de Análise e Projeto de Sistemas com UML. 1ª edição, Campus, 2006. Larman, C. Utilizando UML e Padrões. 3ª edição, Bookman, 2007. Meyer, B. Object-Oriented Software Construction. 2nd edition, Prentice Hall PTR, 2000. Page-Jones, M. Practical Guide to Structured Systems Design. 2nd edition, Prentice Hall PTR, 1988. Bibliografia (2) Pressman, R.S. Software Engineering: A Practitioner's Approach. 5th edition. McGraw-Hill, 2003. 16

Exemplo Descrição de Caso de Uso Exemplo Diagrama de Casos de Uso 17

Exemplo Diagrama de Estados Exemplo Diagrama de Interação 18

Exemplo Diagrama de Atividades Exemplo Diagrama de Classes 19

Exemplo Diagrama de Atividades Exemplo Diagrama de Interação 20

Exemplo Diagrama de Componentes Exemplo Diagrama de Implantação 21