ES2 - Aula 6 - Uml - Exercicio

Embed Size (px)

Citation preview

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    1/14

    10/03/20

    Engenharia de Software IIUML - Unified Modeling Language

    FATEC Ourinhos/SPCurso ASTI 4. Ciclo ProgramaoProfa. Me. Viviane de F. Bartholo Potenza

    UMLA UML (Linguagem de Modelagem Unificada)umalinguagem-padro e uma ferramenta que nos auxiliana modelagem de sistemas de software.

    No um processo de desenvolvimento de software: independente tanto de linguagem quanto deprocessos.

    a forma de comunicao que um processo podeutilizar.

    uma linguagem visual utilizada para modelarsistemas computacionais por meio do paradigma deorientao a objetos.

    2

    Modelos em geralModelo: Simplificao da realidade.Permitem melhor compreenso sobre o sistema a serconstrudo.

    3

    Modelagem na Engenharia Civil

    UML

    A construo da UML teve muitos contribuintes, mas osprincipais desenvolvedores foram Ivar Jacobson, GradyBooch e Jim Rumbaugh: Chamados de os trs amigos.

    so scios da empresa Rational Software FerramentaCASE Rational Rose

    Em 1996 surge com o nomede UML, na verso 0.9.

    Em 1999, j na verso 1.3, passou a ser mantida pela OMG(Object Management Group): Consrcio internacional quedefine e ratifica padres na rea de orientao a objetos.

    4

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    2/14

    10/03/20

    UML

    Atualmente, a especificao do padro UML est naverso 2.0 (OMG, 2003).

    Documentao pode ser encontrada nos siteswww.omg.org ewww.uml.org.

    5

    Histria de UML

    Nov 97 UML aprobado por el OMG

    1998

    1999

    2000

    UML 1.2

    UML 1.3

    UML 1.4

    2001 ? UML 2.0

    Revises menores

    6

    UML

    uma linguagem: Vocabulrio.

    Sintaxe.

    Semntica.

    Objetivos: Visualizar

    Especificar

    Construir

    Documentar

    7

    Geradores Automticos

    UML

    uma linguagem paravisualizao: Uma figura diz mais que mil palavras ....

    Visualizao antecipada, antes daimplementao.

    Vises complementares.

    8

    SmbolosGrficos

    SemnticaAusncia deAmbiguidade

    + =

    http://www.omg.org/http://www.uml.org/http://www.uml.org/http://www.uml.org/http://www.uml.org/http://www.uml.org/http://www.uml.org/http://www.omg.org/http://www.omg.org/http://www.omg.org/http://www.omg.org/http://www.omg.org/
  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    3/14

    10/03/20

    UML uma linguagem para especificao (Descrio precisa): Anlise: Estudo detalhado dos requisitos levantados na fase anterior. Validao dos modelos.

    Projeto: Desenho do sistema. Como o sistema funcionar para atender aos requisitos, levando em

    conta os recursos tecnolgicos existentes. Descrio computacional do que o software deve fazer, coerente

    com a descrio feita na anlise.

    Implementao: Traduo da descrio computacional obtida na fase de projeto em

    cdigo executvel. Pode envolver reutilizao de componentes, bibliotecas de classes,

    etcpara agilizar a atividade.

    9

    UML

    uma linguagem para construo:

    Os modelos da UML podem ser mapeadosdiretamente em linguagens de programao taiscomo Java, C++, etc.

    possvel a gerao de cdigo a partir demodelos UML e a gerao de modelos UML apartir de cdigos.

    Execuo direta dos modelos, simulao desistemas e a instrumentao de sistemas emexecuo.

    10

    UML

    uma linguagem para documentao: Requisitos. Arquitetura. Projeto. Cdigo-fonte. Planos de projeto. Testes. Prottipos. Verses.

    Comunicao entre equipes nas diferentes fases dociclo de vida.

    11

    Arquitetura da UML

    12

    Viso deprocesso

    Viso de

    implementao

    Viso deimplantao

    Viso de

    projeto

    Viso deCasos de Uso

    O desenvolvimento de um sistema de software complexo demandaqueseus desenvolvedores tenham a possibilidade de examinar eestudar o mesmo a partir de diversas perspectivas.

    Os autores da UML sugerem que um sistema pode ser descrito porcinco vises interdependentes desse sistema:

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    4/14

    10/03/20

    Arquitetura UML

    Viso de Casos de Uso: Descreve ocomportamento do sistema do ponto de vista dasinteraes entre este e os agentes externos aosistema. Essa viso criada inicialmente e norteia odesenvolvimentodas outras vises do sistema.

    Viso de projeto: Enfatiza as caractersticas dosistema que do suporte, tanto estrutural quantocomportamental , s funcionalidades externamentevisveis do sistema.

    13

    Arquitetura UMLViso de processo: Threads e os processos. Cuida demecanismos de concorrncia e sincronismo. Foco nasquestes de desempenho e escalabilidade.

    Viso de implementao: Componentes e arquivos.Gerenciamento deverses do sistema construdas peloagrupamento de mdulos (componentes) esubsistemas.

    Viso de implantao: Corresponde distribuiofsica do sistema em termos de seus subsistemas e conexo entre essas partes.

    14

    UMLA UML 2.0 conta com 13 diagramas quepermitem que se construa modelos de vriasperspectivas do sistema. Diagramas Estruturais (ou Estticos): Diagrama de classes. Diagrama de objetos.

    Diagrama de pacotes. Diagrama de estrutura composta. (2.0)

    15

    UML Diagramas Estruturais: de Implementao: Diagrama de componentes. Diagrama de implantao.

    Diagramas Comportamentais (Dinmicos): Diagrama de casos de uso. Diagrama de transies de estados. Diagrama de atividades.

    Diagramas Comportamentais (Dinmicos): de

    Interao: Diagrama de seqncia. Diagrama de colaborao. Diagrama de viso geral da interao. (2.0) Diagrama de temporizao. (2.0)

    16

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    5/14

    10/03/20

    UML

    17

    Diagrama de Casos de Uso

    Diagrama de Casos de Uso

    O diagrama de CASOS DE USOprocura, por meio de umalinguagem simples, possibilitar a compreenso docomportamentoexterno do sistema por qualquer pessoa, atravsda perspectiva do usurio ...

    Diagrama mais ABSTRATO Diagrama mais FLEXVEL Diagrama mais INFORMAL

    19

    Diagrama de Casos de Uso

    MASextremamente importante ...

    Mapeamento dos REQUISITOS Base para os demais diagramas da UML

    20

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    6/14

    10/03/20

    Diagrama de Casos de Uso

    ObjetivosFunes

    Apresentar uma viso externa geral das funes eservios que o sistema dever oferecer aos usurios

    Sem se preocupar com o COMO

    Tenta identificar os tipos de usurios que iro interagircom o sistema,

    quais os papis que estes usurios iro assumir e quais funes sero requisitas por cada usurio

    especfico

    21

    Componentes principais

    22

    Atores

    Representam os papis desempenhados pelos diversosusurios que podero utilizar de alguma maneira osservios e funes do sistema

    NormalmentePESSOAS

    EventualmenteHARDWARESOFTWARE queinterajam com o sistema

    23

    Atores Representao

    24

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    7/14

    10/03/20

    Casos de Uso

    Referem-se aos servios, tarefas ou funes quepodem ser utilizados pelos usurios do sistema

    Utilizados para expressar/documentar oscomportamentos pretendidos para as funes dosistema

    25

    Documentao

    Descrever, atravs de uma linguagem simples, a funoem linhas gerais do caso de uso, quais atores interagemcom o mesmo, quais etapas devem ser executadas peloator e pelo sistema, quais parmetros devem serfornecidos e quais as restries/validaes o caso de usodeve possuir

    UML no tem formato oficial/especfico

    26

    Diagrama de Casos de Uso

    27

    Associaes

    Representam INTERAES/RELACIONAMENTOSentre: ATORES ATORES e CASOS DE USO CASOS DE USO e CASOS DE USO

    Relacionamentos entre CASOS DE USO: COMUNICAO INCLUSO EXTENSO GENERALIZAO

    28

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    8/14

    10/03/20

    Associaes Comunicao

    ATORCASO DE USO

    Demonstra que o ator utiliza-se da funo do sistemarepresentada pelo caso de uso requisitando aexecuo, recebendo o resultado produzido

    29

    ASSOCIAES - ComunicaoATOR CASO DE USO

    30

    Associaes

    ESPECIALIZAO/GENERALIZAO

    Associao entre Casos de Uso com caractersticassemelhantes

    A estrutura de um Caso de Uso generalizado herdada

    pelos Casos de Usos especializados

    31

    ESPECIALIZAO/GENERALIZAO

    32

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    9/14

    10/03/20

    ESPECIALIZAO/GENERALIZAO

    33

    ESPECIALIZAO/GENERALIZAO

    Relacionamento de generalizao relao estruturalde um caso de uso mais geral para um caso de uso maisespecfico Caso de Uso mais geral: representa o caso de uso genrico, cujo

    o servio se aplica a vrias situaes Caso de Uso mais especfico: representa a aplicao do caso de

    uso mais geral em uma situao particular

    Caso de Uso mais geral representa partes comuns decasos de usos mais especficos.

    34

    ESPECIALIZAO/GENERALIZAO

    Notao Ligao de dois Casos de Uso atravs de um segmento de

    reta e a colocao de um tringulo na extremidade doCaso de Uso mais geral.

    Generalizao implica a incorporao (herana) dentrodo caso de uso especializado de todo o servio especificadono caso de uso geral.

    35

    Associaes

    INCLUSO

    Usada quando existe um servio, situao ou rotina comuma mais de um Caso de Uso

    Outros Casos de Uso utilizam-se de um Caso de Uso

    Chamada de Sub-Rotina

    Linha tracejada com texto

    36

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    10/14

    10/03/20

    ASSOCIAES - INCLUSO

    37

    INCLUSO

    Um caso de uso insere em seu interior um outro caso de uso

    O caso de uso incluso ou sub-caso no representa umservio completo

    Isoladamente, um subcaso no teria sentido

    Aplicao deste tipo de relacionamento: Detalhamento do caso de uso atravs da decomposio Colocar em evidncia partes comuns a dois ou mais casos

    de uso.

    38

    INCLUSO39

    AssociaesEXTENSO

    Descrever cenrios opcionais de um Caso de Uso

    Descrevem cenrios que somente ocorrero em umasituao especfica se uma determinada condio forsatisfeita

    A extenso significa que o caso de uso que estende incluiservios especiais de um caso de uso maior

    Necessidade de especificao de uma condio

    Linha tracejada com texto

    40

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    11/14

    10/03/20

    Diagrama de Casos de Uso

    ASSOCIAES - EXTENSO

    41

    ASSOCIAES - EXTENSO

    42

    INCLUSO x EXTENSO

    A diferena principal entre relacionamento de incluso eextenso o carter de excepcionalidadeda extenso

    Extenses so utilizadas para modelar Casos de Usosespeciais e de excees que ocorrem somente em certas

    situaes (dado pela condio).

    43

    NOTAS

    Utilizadas para apresentar texto explicativo

    44

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    12/14

    10/03/20

    EXERCICIOS

    45

    Analista

    Comercial

    Vendedor

    Analisar Riscos

    Fechar Preo

    Avaliar o Negcio

    Registrar Negcio

    Negcio comLimites Excedidos

    Exerccio 1 complete os Use Cases abaixo: 46

    Sistema

    de Controle de

    Pr-Requisitos

    Secretria

    Solicitar

    Histrico

    Solicitar histrico do

    semestre atual

    Verificar

    dependncias

    Estudante

    Matricular

    aluno

    Solicitar histrico de

    todos os semestres

    Exerccio 2: complete os Use Cases abaixo: 47

    Analista

    Comercial

    Vendedor

    Analisar Riscos

    Fechar Preo

    Avaliar o Negcio

    Registrar Negcio

    Negcio com

    Limites Excedidos

    Generalizao

    Fechar Preo

    Registrar Negcio

    Resoluo Exerccio 1 48

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    13/14

    10/03/20

    Sistema

    de Controle de

    Pr-Requisitos

    Secretria

    Solicitar

    Histrico

    Solicitar histrico do

    semestre atual

    Verificar

    dependncias

    Estudante

    Matricular

    aluno

    Solicitar histrico de

    todos os semestres

    Resoluo Exerccio 2

    49

    Exercicio 3 - Estudo de caso

    Vdeo-locadora ROCKET-VIDEO Especializada em vdeos para treinamento

    empresarial Locao, devoluo e reserva de fitas Funcionrio atende no balco Gerente recebe posio financeira diariamente

    50

    Objetivos do Sistema

    Locao Devoluo Reserva Emisso de relatrios gerenciais

    51

    Locao de Fitas - Roteiro

    01.Cliente informa sua Identificao ao Atendente.02.Cliente informa Fitas a devolver ao Atendente.03.Atendente registra a devoluo.04.Cliente informa Fitas a locar ao Atendente.05.Atendente verifica existencia de Reserva.06.Atendente registra a locao.07.Atendente informa ao Cliente o valor da locao.08.Cliente efetua o pagamento.

    09.Atendente fornece boleto ao Cliente.10.Cliente assina o boleto.11.Cliente sai da loja com as fitas.12 Ao final do ms o Atendente retira um extrato da

    situao do Cliente. ATORESAtendente

    52

  • 8/7/2019 ES2 - Aula 6 - Uml - Exercicio

    14/14

    10/03/20

    Diagrama de Caso de Uso

    Atendente

    Pesquisar Cliente

    CASOS DE USOPesquisar ReservaRegistrar DevoluoRegistrar LocaoRegistrar Pagamento

    Gerar Relatrios

    Pesquisar Reserva

    Registrar Reserva

    Registrar Locao

    Registrar Pagamento

    Emitir Relatrio

    ATORESAtendente

    53

    Exemplo

    Sistema de controle acadmico. Modelagem em 4 fases:

    Levantamento dos atores; Levantamento dos casos de usos principais; Definio dos relacionamentos; Detalhamento dos Casos de Uso.

    54

    Exemplo Sistema de Controle Acadmico No sistema de controle acadmico, chefe da secretaria, secretria e professores

    desejam que o sistema oferea os seguintes servios: Possibilidade de cadastramento de todos os alunos matriculados no curso.

    Incluso de novos alunos e manuteno na base de dados. Possibilidade de cadastramento de todos os professores que ministram

    disciplina no curso. Servio de incluso de professores. Manuteno da base de dados.

    Possibilidade de registro das disciplinas oferecidas no curso. Registro de novas disciplinas. Manuteno na base de dados.

    Possibilidade de registro da matrcula de alunos em disciplinas a cada semestre. Possibilidade de emisso da confirmao de matrcula para cada aluno,

    contendo a lista de disciplinas que o aluno se matriculou no semestre. Possibilidade de emisso do dirio de classe para cada disciplina, contendo alista de alunos matriculados naquele semestre.

    Possibilidade de lanamento das notas obtidas pelos alunos em cada disciplina. Possibilidade de emisso do histrico escolar para cada aluno, contendo a lista

    de disciplinas cursadas e respectivas notas. Utilizao de um sistema de gerenciamento de banco de dados (SGDB) para

    armazenamento das informaes; O SGBD um sistema computacionalindependente. O sistema de controle acadmico ir interagir com o SGBD.

    55