Post on 08-Apr-2018
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