(Linguagem de Modelagem Unificada)

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Princípios da Orientação a Objetos e a Linguagem UML
Análise e Desenvolvimento de Sistemas
Engenharia de Software
Engenharia de Software
UML Modelando um sistema.
UML Visões – Parte 2.
(Unified Modeling Language)
Princípios de Análise e Projeto de Sistemas com UML 2ª edição
Conceitos Fundamentais
Engenharia de Software
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Projeto de Sistemas de Software
Metodologia de Desenvolvimento de Software
Introdução a UML.
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Introdução a diagrama de classes e UML
Análise e Projetos de Sistemas
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Análise e Projeto de Sistemas
Análise (I) A análise enfatiza a investigação do problema;
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Classes e objetos Modelagem
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
Configuração de manutenção
Engenharia de Software e Sistemas de Informação e Gestão
Analise de Sistemas I Vinicius de Oliveira Nepomuceno Bacharel em Ciência da Computação – Faculdade Pitágoras Superior em Tecnologia em Comércio Exterior.
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Projeto de Sistemas de Software
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Análise e Projeto de Sistemas
Análise e Projeto de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML Modelagem e Programação Orientada a Objetos
Projeto de Banco de Dados
PSBD II Projeto de Sistemas de Banco de Dados II
Modelagem de Sistemas Orientado a Objetos com UML
Validação de Diagrama de
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
Revisão 2º Bimestre Engenharia de Software I
UML e a Ferramenta Astah
Linguagem de Modelagem Unificada
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Análise e Projeto de Software
Análise e Projeto de Sistemas
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Introdução a UML.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Engenharia de Software Orientada a Objetos
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
UML (Unified Modeling Language) A linguagem unificada de modelagem
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Prof. Hemerson Calabreze 1.  Dentro de uma garrafa, cheia de um líquido nutritivo, cai um micróbio. O micróbio se alimenta, cresce e se divide em dois.
Transcrição da apresentação:

(Linguagem de Modelagem Unificada) Introdução a UML (Linguagem de Modelagem Unificada)

Sistemas de Informações 25/03/2017 A necessidade é a mãe das invenções Em conseqüência do crescimento da importância da informação, surgiu a necessidade de gerenciar informações de uma forma adequada e eficiente e, desta necessidade, surgiram os denominados sistemas de informações 2

Sistemas de Informação Um SI é uma combinação de pessoas, dados, processos, interfaces, redes de comunicação e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negócio de uma organização com relação às informações Vantagens do ponto de vista competitivo Objetivo principal e final da construção de um SI: adição de valor à organização

25/03/2017 Sistemas de Software Um dos componentes de um SI é denominado sistema de software Compreende os módulos funcionais computadorizados que interagem entre si para proporcionar a automatização de diversas tarefas Característica intrínseca do desenvolvimento de sistemas de software: complexidade 4

Sistemas de Software Uma analogia... Aumento da complexidade 25/03/2017 Aumento da complexidade Uma analogia... 5

Modelagem de sistemas de software 25/03/2017 Modelagem de sistemas de software 6

Modelos de Software 25/03/2017 Na construção de sistemas de software, assim como na construção de sistemas habitacionais, também há uma gradação de complexidade A construção desses sistemas necessita de um planejamento inicial 7

Modelos de Software Um modelo pode ser visto como uma representação idealizada de um sistema que se planeja construir Maquetes de edifícios e de aviões e plantas de circuitos eletrônicos são apenas alguns exemplos de modelos

Razões para Construção de Modelos 25/03/2017 A princípio, podemos ver a construção de modelos como uma atividade que atrasa o desenvolvimento do software propriamente dito Mas essa atividade propicia... O gerenciamento da complexidade inerente ao desenvolvimento de software. A comunicação entre as pessoas envolvidas. A redução dos custos no desenvolvimento. A predição do comportamento futuro do sistema. Entretanto, note o fator complexidade como condicionante dessas vantagens. 9

Complexidade Complexidade de software não pode ser evitada! Elementos responsáveis pela complexidade do software Complexidade do domínio do problema Dificuldade no gerenciamento do processo de desenvolvimento A flexibilidade possível em sistemas de software Mas podemos tratar Decomposição Abstração

Decomposição: Ilusão de Simplicidade

Decomposição Decompor em partes menores e menores, refinando cada parte independentemente Satisfazendo, assim, a restrição real do ser humano Para entender qualquer nível de um dado sistema precisamos compreender um aspecto por vez Modelagem deve seguir este princípio Vários modelos necessários Impossível entender de forma completa

Abstração: Dependente do Observador

Carro Esporte Vermelho Realidade Representada Abstração É uma das formas que nós humanos tratamos a complexidade do mundo Aspectos irrelevantes ao problema estudado devem ficar de fora Representação Abstração Carro Esporte Vermelho Realidade Observada Realidade Representada

Abstração em Modelos Abstração cujo propósito é permitir que se conheça algo antes de construí-lo O modelo omite os detalhes não essenciais tornando a manipulação mais fácil Necessários durante a construção de softwares complexos

Diagramas e Documentação No contexto de desenvolvimento de software, correspondem a desenhos gráficos que seguem algum padrão lógico. Podemos também dizer que um diagrama é uma apresentação de uma coleção de elementos gráficos que possuem um significado predefinido. Diagramas normalmente são construídos de acordo com regras de notação bem definidas. Ou seja, cada forma gráfica utilizada em um diagrama de modelagem tem um significado específico.

Diagramas e Documentação Diagramas permitem a construção de uma representação concisa de um sistema a ser construído. “uma figura vale por mil palavras” No entanto, modelos também são compostos de informações textuais. Dado um modelo de uma das perspectivas de um sistema, diz-se que o seu diagrama, juntamente com a informação textual associada, formam a documentação deste modelo.

Modelagem de Software A modelagem de sistemas de software consiste na utilização de notações gráficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares

Evolução histórica da modelagem de sistemas 25/03/2017 Evolução histórica da modelagem de sistemas 19

Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de software cada vez mais complexos O surgimento de sistemas de software mais complexos resultou na necessidade de reavaliação da forma de desenvolver sistemas Conseqüentemente as técnicas utilizadas para a construção de sistemas computacionais têm evoluído de forma impressionante, notavelmente no que tange à modelagem de sistemas

Evolução do Software Na primeira metade da década de 90 surgiram várias propostas de técnicas para modelagem de sistemas segundo o paradigma orientado a objetos Houve uma grande proliferação de propostas para modelagem orientada a objetos diferentes notações gráficas para modelar uma mesma perspectiva de um sistema cada técnica tinha seus pontos fortes e fracos

Necessidade de um Padrão Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente Alguns esforços nesse sentido de padronização, o principal liderado pelo “três amigos” Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem “unificadora”

Necessidade de um Padrão Em 1997, a UML é aprovada como padrão pelo OMG Desde então, a UML tem tido grande aceitação pela comunidade de desenvolvedores de sistemas. É uma linguagem ainda em desenvolvimento Atualmente na versão 2.0

25/03/2017 UML 24

UML (Linguagem de Modelagem Unificada) “A UML é a linguagem padrão para visualizar, especificar, construir e documentar os artefatos de software de um sistema.” Unificação de diversas notações anteriores Mentores: Booch, Rumbaugh e Jacobson “Três Amigos” IBM Rational (www.rational.com)

A UML “A Linguagem de Modelagem Unificada (UML) é uma linguagem para especificar, visualizar, construir e documentar os artefatos de sistemas de software, bem como para modelar negócios e outros sistemas que não sejam de software” Iniciou a partir da junção dos métodos desenvolvidos Jim Rumbaugh (OMT – Object Modeling Technique) e Grady Booch (Booch)

UML (Linguagem de Modelagem Unificada) uma linguagem visual independente de linguagem de programação. independente de processo de desenvolvimento UML não é... uma linguagem programação (mas possui versões!) uma técnica de modelagem A UML é suportada por ferramentas : Rational Rose (IBM), Together (Borland), Visual Paradigm, Poseidon, Jude, Umbrela, etc....

Ferramentas Poseidon - existe um versão opensource (Community version) Pacestar UML - Uma versão shareware de uma ferramenta mais simples. Rational Rose - Cópia demo do (Rational Rose Limited Edition).(Tem 10 MB) Dia - http://www.gnome.org/projects/dia/ ArgoUML - http://www.argoUML.tigris.org Jude - http://jude.change-vision.com/jude-web/index.html Umbrello - http://uml.sourceforge.net/download.php Visual Paradigm - http://www.visual-paradigm.com/

25/03/2017 Utilizando UML 29

Utilizando UML UML - linguagem de modelagem unificada Notação + semântica

Uso da UML Usada em diversos sistemas Abrange qualquer característica de um sistema OO, através de seus diagramas Aplica-se em diferentes fases do processo

Propósitos da UML A UML é uma linguagem destinada a: Documentar Visualizar Especificar Construir

Documentar Artefatos como requisições de negócios, modelo de arquitetura, código fonte, modelo de análise, protótipo e outros documentos, pode ser documentados com a UML.

Visualizar No processo de desenvolvimento de sistemas, é quase impossível a visualização de toda a sua estrutura sem um modelo que o represente. Dessa forma, a UML disponibiliza símbolos gráficos para a representação de artefatos de software

Especificar Especificar significa: construir modelos precisos, sem ambigüidades e completos. A UML atende todos os requisitos de especificação dentro de um processo, desde a fase de análise até a fase de testes e implementação do sistema concluído

Construir Na UML é possível realizar um mapeamento dos modelos gerados, para as linguagens de programação e até mesmo para banco de dados relacionais ou orientados a objetos

25/03/2017 Diagramas UML 37

Diagramas da UML Um diagrama na UML é uma apresentação de uma coleção de elementos gráficos que possuem um significado predefinido No contexto de desenvolvimento de software, correspondem a desenhos gráficos que seguem algum padrão lógico

Diagramas da UML Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criação de diversos documentos Estes documentos, denominados artefatos de software, podem ser textuais ou gráficos Os artefatos gráficos produzidos no desenvolvimento de um SSOO são definidos através dos diagramas da UML

Diagramas da UML 2.0

Diagrama na UML Um diagrama é a apresentação gráfica de um conjunto de elementos, geralmente representados como gráficos de vértice (itens) e arcos (relacionamentos). Um diagrama constitui uma projeção de um determinado sistema

Blocos de construção da UML Itens Relacionamentos

Itens Os itens são blocos de construção da modelagem orientada a objetos. Existem quatro tipos de itens na UML. São eles: Itens estáticos: representam a estrutura do modelo, elementos conceituais e físicos (classes, colaborações, caso de uso, etc.) Itens dinâmicos: definem o comportamento do modelo (interações e estados dos objetos) Pacotes: são partes organizacionais da UML. Notas: são as partes explicativas da modelo na UML (comentário e observações de esclarecimentos no modelo

Itens estáticos - Classe Uma classe é um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos.

Itens estáticos – Colaboração Uma colaboração é o nome dado à interação entre duas ou mais classes, com o objetivo de fornecer algum comportamento cooperativo. Ocorrem por meio de troca de mensagens entre dois ou mais objetos

Itens estáticos – Caso de uso Um caso de uso é um documento que descreve os cenários pretendidos para um sistema, com o objetivo de atender às necessidades do usuário:

Itens estáticos – Componentes Um componente é a parte física de um sistema.

Itens dinâmicos Os itens dinâmicos representam as partes de um sistema que possam ter alguma alteração. Existem dois tipos principais de itens dinâmicos: Interação Máquina de estados

Itens dinâmicos – Interação Representa a realização dos processos de um sistema, por meio de troca de mensagem entre objetos. Podem envolver mensagens, seqüências de ações e conexões entre objetos. Uma interação é representada por uma flecha. Mensagem

Itens dinâmicos – Máquina de estados Representa um comportamento que especifica as seqüências de estados pelos quais os objetos passam durante sua existência, de acordo com os eventos atendidos. No exemplo a seguir, temos um estado possível para o objeto “Venda”.

Pacotes Os pacotes organizam os modelos criados na UML.

Notas As notas representam comentários, observações e esclarecimentos que podem se utilizar para qualquer elemento da UML. No exemplo a seguir, a representação de uma nota informando a última versão de uma classe.