Você está na página 1de 30

Especificao de Sistemas de Software e a UML

Centro de Inform-ca - Universidade Federal de Pernambuco Sistemas de Informao Vinicius Cardoso Garcia vcg@cin.ufpe.br Slides originais elaborados por Marcio Lopes
O autor permite o uso e a modicao dos slides para ns did-cos

Modelagem de sistema
A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema Modelo => viso simplificada e abstrata de um sistema Foco no que importante Modelos so usados para melhorar a comunicao com os clientes. Modelos podem ser executveis!
Exs.: Especificaes formais e testes

[if977] Engenharia de SoNware - SI - CIn - UFPE

Modelagem de sistema
Modelos diferentes apresentam o sistema a partir de perspectivas diferentes
Perspectiva externa Perpectiva comportamental Perspectiva estrutural

Modelos so mais teis se escritos em uma Linguagem de Modelagem


Notao padronizada UML => padro de fato

[if977] Engenharia de SoNware - SI - CIn - UFPE

UML Linguagem Unificada de Modelagem


Conjunto de notaes que visam apoiar a modelagem de sistemas orientados a objetos
No explicita como a modelagem deve ser conduzida Permite a modelagem atravs de diferentes perspectivas

Pode ser usada para modelar sistemas no-OO


Modelos de domnio Modelos de contexto

[if977] Engenharia de SoNware - SI - CIn - UFPE

Modelos de contexto
Usados para ilustrar o contexto operacional de um sistema Mostram, em particular, elementos com os quais o sistema interagir Pode ser difcil determinar os limites do sistema
Falta de compreenso Requisitos bem definidos e validados podem mitigar este problema

[if977] Engenharia de SoNware - SI - CIn - UFPE

O contexto de um sistema caixa eletrnico


Sistema de contabilidade da agncia Banco de dados de operao Sistema de proteo

Sistema de atendimento da agncia

Sistema de caixa eletrnico

Banco de dados de contas

Sistema de manuteno
[if977] Engenharia de SoNware - SI - CIn - UFPE 6

Diagramas de Atividades
Modelam atividades, a ordem em que so realizadas e dependncias entre elas
Podem tambm indicar entradas e sadas das atividades

teis para modelar fluxos de trabalho Exemplos:


Sequncia de passos da descrio de um requisito Processos dentro de uma empresa

[if977] Engenharia de SoNware - SI - CIn - UFPE

Figura disponvel em httpatlas.kennesaw.edu:///~dbraun/csis4650/A&D/UML_tutorial/activity.htm. 09/2008 8 [if977] Engenharia de SoNware - SI - CIn - UFPE

Diagramas de Classes
Uma classe uma abstrao de um conjunto de objetos com atributos comuns e os servios fornecidos por cada objeto Diagramas de classes descrevem o sistema em termos de classes e seus relacionamentos.
Dependncia Herana e realizao Associao

Perspectiva inerentemente esttica

[if977] Engenharia de SoNware - SI - CIn - UFPE

Diagramas de Classes
Podem representar o sistema em diferentes nveis de abstrao

Principais classes do sistema Mdulos de alto nvel do sistema Conceitos do domnio do problema
As classes so retngulos com o nome na parte superior, atributos na intermediria e operaes na inferior

Podem tambm aparecer apenas como retngulos


Relacionamentos entre classes so linhas
[if977] Engenharia de SoNware - SI - CIn - UFPE 10

Figura disponvel em http://www.johnpanzer.com/ucscx-oop-java-examples/BookstoreExample_files/BookstoreExample4.jpg. [if977] Engenharia de SoNware - SI - CIn - UFPE Setembro de 2008

11

Figura disponvel em http://www.metacase.com/images/uml20classdiagram.png. Setembro de 2008 [if977] Engenharia de SoNware - SI - CIn - UFPE

12

possvel modelar componentes de alto nvel (como camadas) usando diagramas de pacotes

[if977] Engenharia de SoNware - SI - CIn - UFPE

13

possvel modelar componentes de alto nvel (como camadas) usando diagramas de pacotes

Tambm possvel detalhar esses componentes incluindo explicitamente elementos internos


[if977] Engenharia de SoNware - SI - CIn - UFPE 14

Modelagem de comportamento de objetos


Um modelo de comportamento mostra as interaes entre objetos que produzem algum comportamento relevante
Podem representar vrios nveis de detalhamento do sistema: requisitos, anlise, projeto e implementao

Diagramas de seqncia so usados na UML para modelar a interao entre objetos.


Mostram sequncias de trocas de mensagens entre objetos

[if977] Engenharia de SoNware - SI - CIn - UFPE

15

Alguns exemplos de diagramas de sequncia

Figuras disponveis em http://www.ibm.com/developerworks/rational/library/3101.html. Setembro de 2008 16 [if977] Engenharia de SoNware - SI - CIn - UFPE

[if977] Engenharia de SoNware - SI - CIn - UFPE

17

[if977] Engenharia de SoNware - SI - CIn - UFPE

18

Diagramas de Implantao
Mostram a alocao dos componentes de software do sistema aos elementos de hardware Incluem os protocolos de interao entre as partes do sistema Podem tambm indicar informaes adicionais, como:
Ambientes de execuo (como mquinas virtuais e servidores de aplicao) Sistemas operacionais Tecnologias especficas

[if977] Engenharia de SoNware - SI - CIn - UFPE

19

Figura disponvel em http://www.agilemodeling.com/images/style/deploymentDiagramProjectLevel.gif. Setembro de 2008


[if977] Engenharia de SoNware - SI - CIn - UFPE

20

Modelos de mquina de estado


Modelam o comportamento do sistema em resposta aos eventos externos e internos Mostram os estados do sistema como ns e os eventos como arestas entre estes ns.
Quando um evento ocorre, o sistema muda de um estado para um outro.

Statecharts so usados para representar os modelos de mquina de estados na UML

[if977] Engenharia de SoNware - SI - CIn - UFPE

21

Statecharts
Permitem a decomposio de um modelo em submodelos (ver o seguinte slide) Uma breve descrio das aes includa seguindo o faa em cada estado. Podem ser complementados por tabelas que descrevem os estados e os estmulos.

[if977] Engenharia de SoNware - SI - CIn - UFPE

22

Modelo de forno de microondas

[if977] Engenharia de SoNware - SI - CIn - UFPE

23

[if977] Engenharia de SoNware - SI - CIn - UFPE

24

Operao de forno de microondas

[if977] Engenharia de SoNware - SI - CIn - UFPE

25

Workbenches CASE
um conjunto de ferramentas projetado para apoiar algumas atividades do desenvolvimento de software
Exs.: engenharia de requisitos, anlise, projeto e implementao

Workbenches de anlise e de projeto apiam a modelagem de sistema durante engenharia de requisitos e projeto de sistema. Podem apoiar um processo especfico ou a criao de vrios tipos de modelos distintos

[if977] Engenharia de SoNware - SI - CIn - UFPE

26

Um workbench de anlise e projeto

[if977] Engenharia de SoNware - SI - CIn - UFPE

27

Referncias complementares
Mar-n Fowler e Kendall Sco\, UML Essencial. 3a Edio, Bookman Companhia Ed., 2004.
Bom livro de referncia, i.e., para -rar dvidas sobre a notao.

Unied Modeling Language (UML) Tutorial

h\p://atlas.kennesaw.edu/~dbraun/csis4650/A&D/ UML_tutorial/ Tutorial simples e amigvel que cobre pra-camente tudo visto nesta aula.

H vrios outros bons tutoriais on-line


[if977] Engenharia de SoNware - SI - CIn - UFPE 28

[if977] Engenharia de SoNware - SI - CIn - UFPE

29

[if977] Engenharia de SoNware - SI - CIn - UFPE

30