Capítulo 5 Modelação do Sistema 1

Documentos relacionados
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

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

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Especificação de Sistemas de Software e a UML

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

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

UML (Unified Modelling Language)

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

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

UML e seus diagramas

Introdução a UML (Unified Modeling Language)

DIAGRAMAS DE CLASSE UML

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

Análise de Sistemas. Aula 5

Modelagem ou Diagrama de Caso de Uso

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

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

Introdução a UML e seus diagramas

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

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

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

Engenharia de Software. Projeto de Arquitetura

Análise e projeto de sistemas

Análise de Sistemas 3º Bimestre (material 2)

UML Unified Modeling Language Linguagem de Modelagem Unificada

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

Model Driven Development (MDD)

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

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

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

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

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

Modelagem de Sistemas

Modelagem de Sistemas. Análise de Requisitos. Modelagem

UML. Modelando um sistema

Modelagem de Processos

APÊNDICE D Unified Model Language (UML)

Engenharia de Software. UML Unified Modeling Language

Engenharia de Software

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

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.

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

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

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Modelação Conceptual de Base de Dados

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Como Modelar com UML 2

Panorama da notação UML

Modelagem de Sistemas

Especificação de Sistemas e SysML

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

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

REUSO E REUSABILIDADE

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

Prof. Esp. Fabiano Taguchi

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.

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Programação Orientada a Objetos Relacionamentos entre classes

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

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

Lista DFD. O diagrama de contexto pode ser considerado um DFD especial. ( ) Certo ( ) Errado

Complexidade do Software

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

UML - Unified Modeling Language

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

SIG SIG. GEO-OMT Exercícios. Alisson Fernando Coelho do Carmo

Unidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Modelagem Orientada a Objeto

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

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

Rational Unified Process (RUP)

RUP Unified Process. Profª Jocelma Rios

Unidade 2 Modelo Conceitual

UML. Diagrama de Classe

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

Transcrição:

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 Capítulo 5 Modelação do Sistema 2

Modelação do sistema Modelar o sistema é o processo de desenvolvimento de modelos sumários de um sistema, cada modelo apresenta uma vista em perspectiva diferente. Modelos do sistema representam um sistema usando algum tipo de notação gráfica, atualmente é quase sempre com base em notações na Unified Modeling Language (UML). Modelos do sistema ajudam o analista a entender a funcionalidade do sistema e os modelos são usados para comunicar com os clientes. Capítulo 5 Modelação do Sistema 3

Modelos de sistemas existentes e previstos Modelos de sistemas existentes são usados durante a engenharia de requisitos. Eles ajudam a esclarecer o que o sistema existente faz e pode ser usado como uma base para discutir seus pontos fortes e fracos. Modelos de um sistema novo são usados durante a engenharia de requisitos para ajudar a explicar os requisitos propostos para outros stakeholders do sistema. Os engenheiros usam esses modelos para discutir propostas de design e documentar o sistema para a implementação. Num processo de engenharia orientado ao modelo, é possível gerar uma implementação completa ou parcial do sistema a partir do modelo do sistema. Capítulo 5 Modelação do Sistema 4

Perspetivas do sistema Perspetiva externa, modelar o contexto ou ambiente do sistema. Perspectiva de interação, modelar as interações entre um sistema e o seu ambiente, ou entre os componentes de um sistema. Perspectiva estrutural, modelar a organização de um sistema ou a estrutura dos dados que são processados pelo sistema. Perspectiva comportamental, modelar o comportamento dinâmico do sistema e como ele responde a eventos. Capítulo 5 Modelação do Sistema 5

Tipos de diagramas UML Diagramas de actividade, mostram as actividades envolvidas num processo ou no processamento de dados. Diagramas de casos de uso, mostram as interacções entre um sistema e o seu meio ambiente. Diagramas de sequência, mostram as interacções entre actores e o sistema e entre os componentes do sistema. Diagramas de classes, mostram as classes de objectos no sistema e as associações entre estas classes. Diagramas de estado, que mostram como o sistema reage a eventos internos e externos. Capítulo 5 Modelação do Sistema 6

O uso de modelos gráficos Como forma de facilitar a discussão sobre um sistema existente ou proposto modelos incompletos e /ou discussão. incorrectos são uteis para apoiar a Como forma de documentar um sistema existente Os modelos devem ser uma representação precisa do sistema, mas não necessita ser completa. Como uma descrição detalhada do sistema que pode ser usado para gerar uma implementação do sistema Os modelos têm que ser corretos e completos. Capítulo 5 Modelação do Sistema 7

Modelos de contexto Capítulo 5 Modelação do Sistema 8

Modelos de contexto Modelos de contexto são usadas para ilustrar o contexto operacional de um sistema - eles mostram o que se encontra fora dos limites do sistema. Preocupações sociais e organizacionais podem afetar a decisão sobre onde posicionar as fronteiras do sistema. Modelos de arquitetura mostram o sistema e a sua relação com outros sistemas. Capítulo 5 Modelação do Sistema 9

Limites do sistema Limites do sistema são estabelecidos para definir o que está dentro e o que está fora do sistema. Eles mostram outros sistemas que são utilizados ou dependem do sistema que está a ser desenvolvido. A posição do limite do sistema tem um efeito profundo sobre os requisitos do sistema. A definição de um limite do sistema é um julgamento político Pode haver pressões para desenvolver limites do sistema que aumentam / diminuiem a influência ou carga de trabalho de diferentes partes de uma organização. Capítulo 5 Modelação do Sistema 10

O contexto do sistema Mentcare Capítulo 5 Modelação do Sistema 11

Perspectiva do modelo de processo Modelos de contexto, simplesmente mostrar os outros sistemas no ambiente, não como o sistema que está a ser desenvolvido é usado nesse ambiente. Modelos de processos revelam como o sistema que está a ser desenvolvido é usado em processos de negócios mais amplos. Diagramas de atividade UML pode ser utilizado para definir os modelos de processos de negócios. Capítulo 5 Modelação do Sistema 12

Modelo de processo de detenção involuntária Capítulo 5 Modelação do Sistema 13

Modelos de interação Capítulo 5 Modelação do Sistema 14

Modelos de interação Modelos de Interação do utilizador são importantes, pois ajudam a identificar as necessidades dos utilizadores. Modelos de interação do sistema-a-sistema destaca os problemas de comunicação que possam surgir. Modelos de interação de components ajuda a entender se uma estrutura do sistema proposto é susceptível de produzir o desempenho necessário e manter a sua confiabilidade. Diagramas de casos de uso e diagramas de sequência pode ser utilizados para modelar a interacção. Capítulo 5 Modelação do Sistema 15

Caso de uso Os casos de uso foram desenvolvidos originalmente para apoiar o levantamento de requesitos. Cada caso de uso representa uma tarefa discreta que envolve interação com um sistema externo. Atores num caso de uso podem ser pessoas ou outros sistemas. Representado esquematicamente para fornecer uma visão geral do caso de uso e numa forma textual mais detalhada. Capítulo 5 Modelação do Sistema 16

Caso de uso de transferência de dados Um caso de uso do sistema Mentcare Capítulo 5 Modelação do Sistema 17

Descrição do caso de uso transferência de dados Transferência dados Atores Rececionista, sistema de registros do paciente. Descrição A rececionista pode transferir dados do sistema Mentcare para uma base de dados de registro do paciente que é mantido por uma autoridade de saúde. A informação transferida pode tanto ser atualizado de informações pessoais (endereço, telefone, etc.) ou um resumo do diagnóstico e tratamento do paciente. Dados Informações pessoais, resumo tratamento do paciente Ação Comando de utilizador emitido pela rececionista. Resposta A confirmação de que o sistema de registros do paciente foi atualizado. Comentários A rececionista deve ter permissões de segurança apropriadas para aceder às informações do paciente e ao sistema de registros do paciente. Capítulo 5 Modelação do Sistema 18

Os casos de uso no sistema Mentcare que envolve o papel 'Recepcionista' Capítulo 5 Modelação do Sistema 19

Os diagramas de sequência Os diagramas de sequência são parte da UML e são utilizados para modelar as interações entre os agentes e os objetos dentro de um sistema. Um diagrama de sequência mostra a sequência de interações que têm lugar durante um determinado caso de uso ou instância. Os objetos e os agentes envolvidos são listados ao longo da parte superior do diagrama, com uma linha a tracejado desenhada verticalmente a partir destes. As interações entre os objetos são indicados por setas anotados. Capítulo 5 Modelação do Sistema 20

Diagrama de sequência para ver informação do paciente Capítulo 5 Modelação do Sistema 21

Diagrama de sequência para a transferência de dados Capítulo 5 Modelação do Sistema 22

Modelos estruturais Capítulo 5 Modelação do Sistema 23

Modelos estruturais Modelos estruturais de software apresentam a organização de um sistema em termos dos componentes que compõem esse sistema e os seus relacionamentos. Os modelos estruturais podem ser modelos estáticos, que mostram a estrutura do sistema, ou modelos dinâmicos, que mostram a organização do sistema quando ele está em execução. Criam-se modelos estruturais de um sistema quando se está a discutir e a projetar a arquitetura do sistema. Capítulo 5 Modelação do Sistema 24

Diagramas de classe Os diagramas de classe são usados no desenvolvimento de um modelo de sistema orientada a objectos para mostrar as classes de um sistema e as associações entre estas classes. Uma classe de objeto pode ser pensado como uma definição geral de um tipo de objeto do sistema. Uma associação é um elo entre classes que indica que existe alguma relação entre essas classes. Quando se está a desenvolver modelos durante as fases iniciais do processo de engenharia de software, objetos representam algo no mundo real, tal como um paciente, prescrição, médico, etc. Capítulo 5 Modelação do Sistema 25

UML e associação Capítulo 5 Modelação do Sistema 26

Classes e associações do MHC-PMS Capítulo 5 Modelação do Sistema 27

A classe Consulta Capítulo 5 Modelação do Sistema 28

Generalização A generalização é uma técnica de todos os dias que usamos para gerir a complexidade. Ao invés de aprender as características detalhadas de cada entidade que nós experimentamos, colocamos estas entidades em classes mais gerais (animais, carros, casas, etc.) e aprender as características dessas classes. Isso nos permite inferir que diferentes membros destas classes têm algumas características comuns, por exemplo, esquilos e ratos são roedores. Capítulo 5 Modelação do Sistema 29

Generalização Na modelação de sistemas, muitas vezes é útil para examinar as classes num sistema para ver se há espaço para generalização. Se são propostas alterações, então não se tem que olhar para todas as classes no sistema para ver se eles são afetados pela mudança. Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando os mecanismos de herança de classe incorporadas na linguagem. Em uma generalização, os atributos e as operações associadas com classes de nível mais elevado também estão associados com as classes de nível inferior. As classes de nível inferior são subclasses, herdam os atributos e operações da sua superclasses. Essas classes de nível mais baixo, em seguida, adicionam atributos e operações mais específicas. Capítulo 5 Modelação do Sistema 30

Hierarquia de generalização Capítulo 5 Modelação do Sistema 31

Uma hierarquia de generalização com detalhe adicional Capítulo 5 Modelação do Sistema 32

Modelos de agregação de classe Um modelo de agregação mostra como classes que são coleções são compostas de outras classes. Modelos de agregação são semelhantes à relação de parcialidade em modelos de dados semânticos. Capítulo 5 Modelação do Sistema 33

A associação de agregação Capítulo 5 Modelação do Sistema 34

Modelos comportamentais Capítulo 5 Modelação do Sistema 35

Modelos comportamentais Modelos comportamentais são modelos de comportamento dinâmico de um sistema como ele está em execução. Eles mostram o que acontece ou o que é suposto acontecer quando um sistema responde a um estímulo do seu ambiente. Pode-se pensar destes estímulos como sendo de dois tipos: Dados Alguns dados que têm de ser processadas pelo sistema. Eventos Algum evento acontece e desencadeia o processamento do sistema. Os eventos podem ter associado dados, embora isso nem sempre é o caso. Capítulo 5 Modelação do Sistema 36

Modelos baseado em dados Muitos sistemas de negócios são sistemas de processamento de dados que são movidos principalmente por dados. Eles são controladas por dados de entrada para o sistema, com relativamente pouco processamento do evento externo. Modelos controlados por dados mostram a sequência das ações envolvidas no processamento de dados de entrada e geração de uma saída associada. Eles são particularmente úteis durante a análise dos requisitos, de como eles podem ser usados para mostrar o processamento de ponta a ponta em um sistema. Capítulo 5 Modelação do Sistema 37

Um modelo de operação da atividade da bomba de insulina Capítulo 5 Modelação do Sistema 38

Processamento Capítulo 5 Modelação do Sistema 39

Modelação orientada a eventos Sistemas de tempo real são muitas vezes orientados a eventos, com o minimo de processamento de dados. Modelação de eventos mostra como um sistema responde a eventos externos e internos. Ele baseia-se no pressuposto de que um sistema tem um número finito de estados e que os eventos podem provocar uma transição de um estado para outro. Capítulo 5 Modelação do Sistema 40

Modelos de máquina de estado Estes modelam o comportamento do sistema em resposta a eventos externos e internos. Eles mostram as respostas do sistema aos estímulos, de modo que muitas vezes são usados para modelar sistemas de tempo real. Modelos de máquina de estado mostram estados do sistema como nós e eventos como arcos entre esses nós. Quando um evento ocorre, o sistema move-se de um estado para outro. Diagramas de estado são uma parte integrante da UML e são usados para representar modelos de máquinas de estados. Capítulo 5 Modelação do Sistema 41

Diagrama de estado de um forno de microondas Capítulo 5 Modelação do Sistema 42

Funcionamento do forno microondas Capítulo 5 Modelação do Sistema 43

Engenharia orientada a modelos Capítulo 5 Modelação do Sistema 46

engenharia orientada a modelos Engenharia Model-Driven (MDE) é uma abordagem para o desenvolvimento de software onde os modelos, em vez dos programas, são as principais realizações do processo de desenvolvimento. Os programas que executam em uma plataforma de hardware / software são gerados automaticamente a partir dos modelos. Os defensores da MDE argumentam que isso aumenta o nível de abstração em engenharia de software para que os engenheiros já não tenham de se preocupar com detalhes de linguagem de programação ou as especificidades de plataformas de execução. Capítulo 5 Modelação do Sistema 47

Uso da engenharia orientada a modelos Engenharia orientada a modelo ainda está em um estágio inicial de desenvolvimento, e não está claro se irá ou não ter um efeito significativo sobre a prática da engenharia de software. prós Permite que os sistemas sejam consideradas em níveis mais altos de abstração Gerar código automaticamente significa que é mais barato para adaptar os sistemas para novas plataformas. contras Modelos de abstração e não são necessariamente os certos para implementação. Poupança de código gerado podem ser compensados pelos custos de desenvolvimento de tradutores para novas plataformas. Capítulo 5 Modelação do Sistema 48

Model Driven Architecture Model Driven Architecture (MDA) foi o precursor da engenharia mais geral orientada a modelos MDA é uma abordagem focada no modelo de design de software e implementação que utiliza um subconjunto de modelos UML para descrever um sistema. São criados Modelos em diferentes níveis de abstração. A partir de um alto nível, modelo independente da plataforma, é possível, em princípio, para gerar um programa sem intervenção manual. Capítulo 5 Modelação do Sistema 49

Transformações MDA Capítulo 5 Modelação do Sistema 51

Vários modelos específicos da plataforma Capítulo 5 Modelação do Sistema 52

Pontos chave Um modelo é uma visão abstrata de um Sistema, que ignora detalhes do sistema. Modelos de sistemas complementares podem ser desenvolvidos para mostrar contexto, interações, a estrutura e comportamento do sistema. Modelos de contexto mostram como um sistema que está a ser modelado, está posicionado num ambiente com outros sistemas e processos. Diagramas de casos e diagramas de sequência são usados para descrever as interacções entre os utilizadores e os sistemas no sistema a ser concebido. Casos de uso descrevem as interacções entre um sistema e agentes externos; diagramas de sequência adicionam mais informações a estes, mostrando as interacções entre os objectos do sistema. Os modelos estruturais mostram a organização e arquitetura de um sistema. Os diagramas de classe são usados para definir a estrutura estática de classes num sistema e as suas associações. Capítulo 5 Modelação do Sistema 57

Pontos chave Modelos comportamentais são usados para descrever o comportamento dinâmico de um sistema em execução. Este comportamento podem ser modelados a partir da perspectiva dos dados processados pelo sistema ou pelos eventos que estimulam respostas de um sistema. Diagramas de actividade podem ser utilizados para modelar o processamento de dados, onde cada actividade representa um passo do processo. Diagramas de estado são usadas para modelar o comportamento de um sistema em resposta a eventos internos ou externos. Engenharia orientada a modelo é uma abordagem para o desenvolvimento de software no qual um sistema é representado como um conjunto de modelos que podem ser transformados automaticamente em código executável. Capítulo 5 Modelação do Sistema 58