Escolar Documentos
Profissional Documentos
Cultura Documentos
Empresariais
Prof. Neli Miglioli Sabadin
2016
Copyright © UNIASSELVI 2016
Elaboração:
Prof. Neli Miglioli Sabadin
003
S113m Sabadin; Neli Miglioli
Modelagem de sistemas empresariais/ Neli Miglioli Sabadin:
UNIASSELVI, 2016.
191 p. : il
ISBN 978-85-7830-962-6
1. Sistemas.
I. Centro Universitário Leonardo da Vinci.
Impresso por:
Apresentação
Prezado (a) acadêmico (a)
III
UNI
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há novidades
em nosso material.
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova diagramação
no texto, aproveitando ao máximo o espaço da página, o que também contribui para diminuir
a extração de árvores para produção de folhas de papel, por exemplo.
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa
continuar seus estudos com um material de qualidade.
IV
V
VI
Sumário
UNIDADE 1 - INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS:
MODELO CASCATA E INCREMENTAL E MODELOS
EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO......................... 1
VII
UNIDADE 2 - ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO....... 63
VIII
TÓPICO 1 - UML (UNIFIED MODELING LANGUAGE)............................................................... 121
1 INTRODUÇÃO...................................................................................................................................... 121
2 MODELO CONCEITUAL DA UML.................................................................................................. 121
2.1 BLOCOS DE CONSTRUÇÃO BÁSICOS DA UML..................................................................... 122
2.1.1 Itens estruturais ...................................................................................................................... 122
2.1.2 Itens comportamentais........................................................................................................... 124
2.1.3 Itens de agrupamento............................................................................................................. 125
2.1.4 Itens anotacionais.................................................................................................................... 125
2.2 RELACIONAMENTOS NA UML................................................................................................. 125
RESUMO DO TÓPICO 1........................................................................................................................ 127
AUTOATIVIDADE.................................................................................................................................. 128
IX
2 DIAGRAMAS DE CLASSE................................................................................................................. 161
LEITURA COMPLEMENTAR................................................................................................................ 165
RESUMO DO TÓPICO 4........................................................................................................................ 174
AUTOATIVIDADE.................................................................................................................................. 175
X
UNIDADE 1
OBJETIVOS DE APRENDIZAGEM
Esta unidade tem por objetivos:
PLANO DE ESTUDOS
Esta unidade de ensino contém três tópicos. No final de cada um deles você
encontrará atividades que contribuirão para a apropriação dos conteúdos.
1
2
UNIDADE 1 TÓPICO 1
MODELOS DE CICLO DE VIDA
1 INTRODUÇÃO
A existência de um sistema de informação passa por um processo conhecido
como Ciclo de Vida, com três estágios bastante conhecidos pelo analista de sistema:
concepção, desenvolvimento e vida útil. De acordo com Silva (2014, p. 28), o nome
de cada fase da vida de um sistema pode sofrer variações, mas, na sua essência,
nada muda. Como vemos na definição:
3
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
4
TÓPICO 1 | MODELOS DE CICLO DE VIDA
TURO S
ESTUDOS FU
5
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
FIGURA 2 - MODELO V
6
TÓPICO 1 | MODELOS DE CICLO DE VIDA
7
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
Para que isso aconteça, os requisitos têm que ser levantados detalhadamente
e há de se constatar que o sistema é modular, de modo que se possa planejar o
desenvolvimento em incrementos. O primeiro incremento, tipicamente, contém
funcionalidades centrais, tratando dos requisitos básicos. A cada ciclo, novas
funcionalidades são adicionadas e as funcionalidades providas anteriormente
podem ser modificadas para melhor satisfazer às necessidades dos clientes/
usuários. Outras características são tratadas em ciclos subsequentes. Dependendo
do tempo estabelecido para a liberação dos incrementos, algumas atividades
podem ser feitas para o sistema como um todo ou não.
8
TÓPICO 1 | MODELOS DE CICLO DE VIDA
9
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
2.1.4 Prototipação
Em relação a esse paradigma, Pressman (2011) afirma que, embora possa
ser utilizada como um modelo de processo isolado (stand-alone-process), é mais
comumente utilizada como uma técnica passível de ser implementada no contexto
de qualquer um dos modelos apresentados. Ele explica o funcionamento deste
paradigma de maneira reduzida.
10
TÓPICO 1 | MODELOS DE CICLO DE VIDA
FIGURA 5 - PROTOTIPAÇÃO
11
RESUMO DO TÓPICO 1
Neste tópico, vimos:
12
AUTOATIVIDADE
13
5 Qual é o modelo ideal que se aplica à maioria dos projetos de software?
14
UNIDADE 1
TÓPICO 2
1 INTRODUÇÃO
Se pedissem para você desenhar ou procurar na internet um item bem
específico: Uma cadeira com bolinhas amarela e confortável. A princípio não
parece ser um pedido muito difícil, certo?
15
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
Para ajudar nessa tarefa, têm-se os modelos, que são uma visualização dos
requisitos, bem como o desejo do cliente do que deve ser implementado. Juntos,
eles auxiliam no entendimento do que o cliente solicitou e do que a equipe deve
desenvolver.
16
TÓPICO 2 | INTRODUÇÃO A MODELAGEM ESTRUTURADA
E MODELAGEM ORIENTADA A OBJETO
17
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
Ainda segundo o autor, se o plano for construir a casa para sua família, com
certeza uma pequena pilha de tábuas e alguns pregos não será o suficiente, pois,
com certeza, sua família será um pouco mais exigente que o seu cachorro. Para fazer
a sua casa, antes de sair batendo o primeiro prego é necessário que você saiba o que
18
TÓPICO 2 | INTRODUÇÃO A MODELAGEM ESTRUTURADA
E MODELAGEM ORIENTADA A OBJETO
sua família espera, será melhor fazer um planejamento bem detalhado de como
será essa construção. Fazer alguns desenhos e verificar todos os procedimentos
para garantir a segurança da edificação. Durante esse detalhamento, você verá
que é muito difícil construir uma casa sozinho, e que terá que ter uma equipe para
auxiliar, com cada membro da equipe sabendo o que deve desempenhar. Se tudo
correr bem e o modelo for seguido, provavelmente, ao final do projeto, sua família
ficará satisfeita. Vale ressaltar que, para não gerar frustrações ao final do projeto, é
muito importante definir as expectativas desde o início.
Agora, se você não quer construir software equivalente a uma casa, Booch
et al. (2000) advertem que o segredo estará em criar o código correto e pensar em
como será possível elaborar menos software. Isso faz com que o desenvolvimento
de programa de qualidade se torne uma questão de arquitetura, processo e
ferramentas. Para uma empresa de software ter sucesso, existem vários elementos
que contribuem para isso, um deles é a utilização da modelagem.
19
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
20
TÓPICO 2 | INTRODUÇÃO A MODELAGEM ESTRUTURADA
E MODELAGEM ORIENTADA A OBJETO
21
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
22
TÓPICO 2 | INTRODUÇÃO A MODELAGEM ESTRUTURADA
E MODELAGEM ORIENTADA A OBJETO
23
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
• Objetos.
• Classes.
• Métodos.
• Herança.
• Encapsulamento.
24
TÓPICO 2 | INTRODUÇÃO A MODELAGEM ESTRUTURADA
E MODELAGEM ORIENTADA A OBJETO
Métodos:
25
RESUMO DO TÓPICO 2
Neste tópico, vimos que:
26
AUTOATIVIDADE
27
28
UNIDADE 1
TÓPICO 3
1 INTRODUÇÃO
Em 2001, Kent Beck e outros 16 renomados desenvolvedores, autores e
consultores da área de software, batizados de “Aliança dos ágeis (Agile Alliance)”,
assinaram o Manifesto para o Desenvolvimento Ágil de Software (Agile Software
Development Manifesto), que se inicia da seguinte maneira, segundo Pressman
(2011, p. 81):
DICAS
29
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
30
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
2 PRECEITOS E PRINCÍPIOS
Pressman (2011, p.84) ressalta que qualquer processo ágil de software é
caracterizado de uma forma que se relacione a uma série de preceitos-chave acerca
da maioria dos projetos de software.
31
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
O autor ressalta que nem todo modelo de processo ágil aplica esses 12
princípios de maneira igual, adequando-se e priorizando um ou outro princípio.
Entretanto, os princípios definem um espírito ágil mantido em cada um dos
modelos de processo.
32
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
33
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
• Comunicação
• Simplicidade
• Feedback (realimentação ou retorno)
• Coragem e
• Respeito.
34
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
FIGURA 18 - DESENVOLVIMENTO XP
35
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
2.2.3 Scrum
Os princípios do Scrum são consistentes com o manifesto ágil e são usados
para orientar as atividades de desenvolvimento dentro de um processo que
incorpora as seguintes atividades estruturais: Requisitos, análise, projeto, evolução
e entrega. Em cada atividade metodológica ocorrem tarefas a realizar dentro de
um padrão de processo chamado Sprint. O fluxo geral do processo de Scrum é
ilustrado na Figura 20.
36
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
DICAS
Segundo o guia do Scrum (2013, p. 4), ele é baseado nas teorias empíricas
de controle de processo, ou empirismo. O empirismo garante que o conhecimento
vem da experiência e de tomada de decisões baseadas no que é conhecido. O Scrum
emprega uma abordagem iterativa e incremental para aperfeiçoar a previsibilidade
e o controle de riscos.
37
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
O Scrum (2013, p.4) prescreve quatro eventos formais, contidos dentro dos
limites da Sprint, para inspeção e adaptação, como descrito na seção Eventos do
Scrum deste documento.
38
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
39
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
2.2.5 Crystal
Alistair Cockburn e Jim Highsmith criaram a família Crystal de métodos
ágeis, visando conseguir elaborar uma abordagem de desenvolvimento de software
que priorizasse a adaptabilidade (“maneuverability”) durante o que Cockburn
caracteriza como um “jogo de invenção e comunicação cooperativo e com recursos
limitados, tendo como primeiro objetivo entregar software útil em funcionamento
e, como segundo, preparar-se para o jogo seguinte”, conforme Pressman (2011).
Ainda segundo o autor, para conseguir a adaptabilidade os criadores definiram
um conjunto de metodologias com elementos essenciais comuns a todas, mas com
papéis, padrões de processos, produtos de trabalho e prática únicos para cada uma
delas. Na verdade, a família Crystal é um conjunto de exemplos de processos
ágeis que provaram ser efetivos para diferentes tipos de projetos. A intenção é
possibilitar que equipes ágeis selecionem o membro da família Crystal mais
apropriado para seu projeto e ambiente.
40
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
41
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
42
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
43
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
Workflow Descrição
Modelagem de Os processos de negócios são modelados por meio de caso de
negócios uso de negócios.
Atores que interagem com o sistema são identificados e casos
Requisitos de uso são desenvolvidos para modelar os requisitos do
sistema.
Um modelo de projeto é criado e documentado com modelos
Análise de
de arquitetura, modelos de componentes, modelos de objetos
projeto
e modelos de sequência.
Os componentes do sistema são implementados e estruturados
em subsistemas de implementação. A geração automática de
Implementação
código a partir de modelos de projeto ajuda a acelerar esse
processo.
O teste é um processo iterativo que é feito em conjunto com
Teste a implementação. O teste do sistema segue a conclusão da
implementação.
Um release do produto é criado, distribuído aos usuários e
Implantação
instalado em seu local de trabalho.
Gerenciamento
de configuração e Esse workflow de apoio gerencia as mudanças do sistema.
mudanças
Gerenciamento Esse workflow de apoio gerencia o desenvolvimento do
de projeto sistema.
Esse workflow está relacionado com a disponibilização de
Meio ambiente ferramentas apropriadas para a equipe de desenvolvimento
de software.
Fonte: Adaptado de Sommerville (2011, p. 35)
DICAS
Os workflows de apoio são bem mais amplos em suas definições, pesquise e leia
a respeito em Sommerville (2011), capítulos 22, 23 e 25. Acesso à documentação do RUP em
http://www.wthreex.com/rup/portugues/index.htm
44
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
LEITURA COMPLEMENTAR
1 INTRODUÇÃO
a) Objetivo
b) Problema
45
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
c) Hipótese
d) Justificativa Fundamentada
46
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
2 FÁBRICAS DE SOFTWARE
a) Origem e Definição
b) Modelos operacionais
47
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
48
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
MODELO WATERFALL
49
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
4 MODELO ÁGIL
a) O Manifesto Ágil
50
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
b) Scrum
O Scrum possui três (3) papéis, três (3) cerimônias e três (3) artefatos. O
Product Owner (dono do produto) tem como responsabilidade definir os requisitos
do produto; decidir a data de implantação e o conteúdo; priorizar os requisitos de
acordo ao valor agregado e aceitar ou rejeitar os resultados do trabalho. Embora
o framework não inclua a participação de um gerente de projeto, o papel de líder
da equipe é adjudicado ao Scrum Master, quem deve atuar como um facilitador
assegurando que a equipe esteja produtiva e funcional; removendo barreiras e
blindando a equipe de interferências externas, além de assegurar que o framework
seja seguido. O terceiro papel é a própria equipe de desenvolvimento, que tem por
responsabilidades a produção do trabalho, sendo auto-organizada em todos os
aspectos.
O CICLO DO SCRUM
52
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
competitiva para o cliente”. Embora o impacto da gestão dos requisitos seja maior
para fábricas de programas ou componentes, em geral é o modelo comercial
destas que define o impacto real. Modelos de contratação “fixed price/fixed time”
são claramente os mais afetados.
b) Processo e Controle
c) Envolvimento do Cliente
d) Gestão da Documentação
e) Matriz de Comparação
55
UNIDADE 1 | INTRODUÇÃO AOS MODELOS DE PROCESSO TRADICIONAIS: MODELO CASCATA
E INCREMENTAL E MODELOS EVOLUCIONÁRIOS: MODELO ESPIRAL E PROTOTIPAÇÃO
CONCLUSÃO
56
TÓPICO 3 | MÉTODO DE DESENVOLVIMENTO ÁGIL
b) Limitações do Estudo
58
RESUMO DO TÓPICO 3
Neste tópico, vimos que:
a) Extreme Programming XP
b) Desenvolvimento de Software Adaptativo (ASD)
c) Scrum
d) Método de Desenvolvimento de Sistemas Dinâmicos (DSDM)
e) Crystal
59
f) Desenvolvimento Dirigido a Funcionalidades (FDD)
g) Desenvolvimento de Software Enxuto (LSD)
h) Modelagem Ágil (AM)
i) Processo Unificado Ágil (AUP)
j) Rational Unified Process (RUP)
60
AUTOATIVIDADE
1 De acordo com a estrutura básica do RUP, o projeto passa por quatro fases
básicas. Faça a associação correta para: Concepção, Elaboração, Construção
e Transição.
_____________ Entendimento da necessidade e visão do projeto.
_____________ Desenvolvimento principal do sistema.
_____________ Especificação e abordagem dos pontos de maior risco.
_____________ Ajustes, implantação e transferência de propriedade do sistema.
61
62
UNIDADE 2
ENGENHARIA DE REQUISITOS E
EQUIPE DE DESENVOLVIMENTO
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
Está unidade está dividida em três tópicos. Em cada um deles você encon-
trará atividades que contribuirão para a apropriação dos conteúdos apresen-
tados.
63
64
UNIDADE 2
TÓPICO 1
ENGENHARIA DE REQUISITOS
1 INTRODUÇÃO
Estamos sempre em movimento, mudando de opinião, de visual, de estado
civil e até mesmo de cidade. Com os softwares, isso também acontece. Você acredita
que os requisitos de um sistema permanecem inalterados ao longo do tempo? Por
exemplo, um projeto iniciado em janeiro terá os mesmos requisitos ao final de 12
meses?
Nos estudos desta unidade você vai encontrar apoio para responder a
essa e a outras questões relacionadas a esse processo envolvendo os requisitos do
sistema.
2 ENGENHARIA DE REQUISITOS
De uma maneira simplificada, os requisitos expressam o que o futuro
sistema deve fazer para que atenda aos usuários, além, é claro, das restrições e
características.
e sua empresa. Para que essa etapa seja realizada com uma proposta de solução
adequada, é necessário que tarefas, como o estudo de viabilidade, licitação e
análise de requisitos, especificação e gerenciamento destes, sejam realizadas de
forma cuidadosa e consistente.
Sommerville (2011) ainda alerta para alguns problemas que surgem durante
o processo de engenharia de requisitos. Que são as falhas em não fazer uma clara
separação entre os requisitos dos usuários, que expressam os requisitos abstratos
de alto nível, e os requisitos do sistema que expressam detalhadamente o que o
sistema deve fazer. Sommerville (2011, p. 58) diz que os requisitos dos usuários e
de sistemas podem ser definidos da seguinte maneira:
66
TÓPICO 1 | ENGENHARIA DE REQUISITOS
como o sistema será implementado, como é o caso de gerentes que não estão
interessados nos recursos detalhados do sistema. Já os leitores dos requisitos do
sistema precisam saber mais detalhadamente o que o sistema fará, pois estão mais
interessados em como o sistema apoiará os processos dos negócios, por exemplo.
• Gerentes clientes.
• Usuários finais do sistema.
Requisitos de usuário • Engenheiros clientes.
• Gerentes contratantes.
• Arquitetos de sistema.
• Usuários finais do sistema.
• Engenheiros clientes.
Requisitos de sistema
• Arquitetos de sistema.
• Desenvolvedores de software.
FONTE: Adaptado de Sommerville (2010, p. 59)
67
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Engholm Jr. (2010) afirma que os Requisitos funcionais são aqueles que
definem as funções ou ações fornecidas pelo sistema e que o usuário pode utilizar,
além das regras de negócio e as interfaces internas e externas.
68
TÓPICO 1 | ENGENHARIA DE REQUISITOS
69
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Os requisitos não funcionais são de difícil verificação, por isso devem ser
escritos quantitativamente, para que possam ser objetivamente testados, conforme
Tabela 3.
Transações processadas/segundo.
Velocidade Tempo de resposta de usuário/evento.
Tempo de atualização tela.
Megabytes.
Tamanho
Número de chips de memória ROM.
Tempo de treinamento.
Facilidade de uso
Número de frames de ajuda.
Tempo médio para falha.
Probabilidade de indisponibilidade.
Confiabilidade
Taxa de ocorrência de falhas.
Disponibilidade.
Tempo de reinício após falha.
Robustez Percentual de eventos que causam falhas.
Probabilidade de corrupção de dados em caso de falha.
Percentual de declarações dependentes do sistema-alvo.
Portabilidade
Número de sistemas-alvo.
FONTE: Sommerville (2011, p. 63)
70
TÓPICO 1 | ENGENHARIA DE REQUISITOS
71
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Segundo Engholm Jr. (2010), para que um requisito possa ser validado e
aceito devemos verificar se é:
72
TÓPICO 1 | ENGENHARIA DE REQUISITOS
Dias e Araújo (2012) afirmam que muitos projetos têm falhado devido
a problemas no levantamento de requisitos, tais como requisitos incompletos,
mal-entendidos ou ambíguos. Faz-se necessário então que esses requisitos sejam
bem construídos, de modo que expressem exatamente o que o usuário deseja, da
maneira que ele deseja e a forma como poderá ser feito. Por isso é importante
conhecer técnicas para tornar a construção destes requisitos mais eficaz e evitar o
retrabalho.
Engholm Jr. (2010) alerta que existem vários motivos que podem gerar
problemas e até mesmo o fracasso de um projeto. Segundo ele, a falta de
especificação da real necessidade e expectativas dos usuários é o maior motivo
dessas falhas, seguido por requisitos incompletos, com baixa qualidade e falta
de controle de mudanças. Ainda segundo o autor, por mais que possa parecer
estranho, uma dificuldade que podemos encontrar em relação a requisitos é manter
o foco no produto e nos objetivos relacionados ao projeto. Devemos atentar se os
requisitos apresentados estão compatíveis e alinhados com o projeto.
De acordo com Dias e Araújo (2016), estudos mostram que de 40% a 60% de todos
os problemas encontrados em um projeto de software são causados por falhas no
processo de requisitos. Se a fase de engenharia de requisitos for bem feita, esses
problemas poderiam ser detectados e corrigidos a um custo muito mais baixo.
FIGURA 26 - REQUISITOS
74
TÓPICO 1 | ENGENHARIA DE REQUISITOS
Sommerville (2011) alerta para a dificuldade dessa atividade, uma vez que
cada stakeholder interpreta de maneira diferente os requisitos, gerando, muitas
vezes, inconsistências e conflitos nesta documentação. Ainda segundo o autor, os
requisitos de usuário para um sistema devem descrever os requisitos funcionais e
não funcionais de uma maneira que sejam inteligíveis para os usuários do sistema
e que não tenham conhecimentos técnicos detalhados.
75
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Notação Descrição
Sentenças em Os requisitos são escritos em frases numeradas em
linguagem natural linguagem natural. Cada frase deve expressar um requisito.
Os requisitos são escritos em linguagem natural em um
Linguagem Natural
formulário padrão ou template. Cada campo fornece
estruturada
informações sobre um aspecto do requisito.
Essa abordagem usa uma linguagem de programação,
Linguagem de mas com características mais abstratas, para especificar os
descrição do requisitos, definindo um modelo operacional do sistema.
projeto Essa abordagem é pouco usada atualmente, embora possa
ser útil para as especificações de interface.
Para definição de requisitos funcionais para o sistema são
usados modelos gráficos, suplementados por anotações de
Notações gráficas
texto; diagramas de caso de uso e de sequência da UML são
comumente usados.
Essas notações são baseadas em conceitos matemáticos,
como máquinas de estado finito ou conjuntos. Embora essas
especificações inequívocas possam reduzir a ambiguidade
Especificações
de um documento de requisitos, a maioria dos clientes não
matemáticas
entende uma especificação formal. Eles não podem verificar
que elas representam o que eles querem e são relutantes em
aceitá-las como um contrato de sistema.
FONTE: Adaptado de Sommerville (2011, p. 66)
76
TÓPICO 1 | ENGENHARIA DE REQUISITOS
NOTA
FONTE: Disponível em: <"sigla", in Dicionário Priberam da Língua Portuguesa [em linha], 2008-
2013, http://www.priberam.pt/dlpo/sigla>. Acesso em: 19 jan. 2016.
77
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
78
TÓPICO 1 | ENGENHARIA DE REQUISITOS
DICAS
Uma descrição detalhada de cada tópico SRS de Pressman pode ser obtida no link
http://www.processimpact.com/process_assets/srs_template.doc
79
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
80
TÓPICO 1 | ENGENHARIA DE REQUISITOS
Capítulo Descrição
Deve definir os possíveis leitores do documento e descrever seu
histórico de versões, incluindo uma justificativa para a criação
Prefácio
de uma nova versão e um resumo das mudanças feitas em cada
versão.
Deve descrever a necessidade para o sistema. Deve descrever
brevemente as funções do sistema e explicar como ele vai
Introdução funcionar com outros sistemas. Também deve descrever como o
sistema atende aos objetivos globais de negócio ou estratégicos da
organização que encomendou o software.
Deve definir os termos técnicos usados no documento. Você não
Glossário deve fazer suposições sobre a experiência ou o conhecimento do
leitor.
Deve descrever os serviços fornecidos ao usuário. Os requisitos
Definição de não funcionais de sistema também devem ser descritos nessa
requisitos de seção. Essa descrição pode usar a Linguagem Natural, diagramas
usuário ou outras notações compreensíveis para os clientes. Normas de
produtos e processos que devem ser seguidos e especificados.
Deve apresentar uma visão geral e alto nível da arquitetura do
Arquitetura sistema previsto, mostrando a distribuição de funções entre
do sistema os módulos do sistema. Componentes de arquitetura que são
reusados devem ser destacados.
Deve descrever em detalhes os requisitos funcionas e não
Especificação
funcionais. Se necessário, também podem ser adicionados mais
de requisitos
detalhes aos requisitos não funcionais. Interfaces com outros
do sistema
sistemas podem ser definidas.
Pode incluir modelos gráficos do sistema que mostram os
Modelos do relacionamentos entre os componentes do software, o sistema e seu
sistema ambiente. Exemplos de possíveis modelos de objetos, modelos de
fluxo de dados ou modelos semânticos de dados.
Deve descrever os pressupostos fundamentais em que o sistema se
baseia, bem como quaisquer mudanças previstas, em decorrência
Evolução do da evolução de hardware, de mudanças nas necessidades do usuário
sistema etc. Essa seção é útil para projetistas de sistema, pois pode ajudá-
los a evitar decisões capazes de restringir possíveis mudanças
futuras no software.
Deve fornecer informações detalhadas e específicas relacionadas à
aplicação em desenvolvimento, além de descrições de hardware e
banco de dados, por exemplo. Os requisitos de hardware definem
Apêndices
as configurações mínimas ideais para o sistema. Requisitos de
banco de dados definem a organização lógica dos dados usados
pelo software e os relacionamentos entre esses dados.
81
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
82
TÓPICO 1 | ENGENHARIA DE REQUISITOS
LEITURA COMPLEMENTAR
83
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
84
TÓPICO 1 | ENGENHARIA DE REQUISITOS
85
RESUMO DO TÓPICO 1
Neste tópico, vimos que:
86
h) Especificação em Linguagem Natural: É uma forma de escrever os requisitos
do sistema na qual a liberdade do escritor dos requisitos é limitada e todos os
requisitos são escritos em uma forma-padrão.
87
AUTOATIVIDADE
Função: Fomos contratados para analisar seu processo atual e verificar como
expandir suas operações e melhorar seu nível de serviço.
Cada médico faz três plantões semanais de quatro horas seguidas; as consultas
possuem um intervalo de 30 minutos. Existe a possibilidade de a consulta ser
de retorno, nesse caso são apenas 15 minutos.
A clínica é 24 horas. Cada médico possui uma agenda preta onde são marcadas
as consultas. Na marcação da consulta são colocados o nome do paciente, o
horário e convênio. Trabalham há três anos na clínica com planilhas Excel.
A clínica possui duas atendentes que são responsáveis por preencher o cadastro
inicial do paciente, que contém nome, endereço, telefone, data de nascimento
e convênio.
A clínica possui de 700 a 800 fichas, sendo que cerca de 600 são de atendimento
por convênio.
88
O gerente da clínica está ansioso, pois não consegue controlar questões
relacionadas ao número de pacientes atendidos por convênio e particular,
médicos mais procurados e picos de movimento.
Volume de atendimentos: 56 por dia.
1 Nome da empresa.
2 Contato.
3 Descrição do problema.
10 Restrições do projeto.
89
90
UNIDADE 2 TÓPICO 2
DESCOBERTA DE REQUISITOS
1 INTRODUÇÃO
A descoberta de requisitos, também é chamada de elicitação de requisitos,
é o processo de reunir informações sobre o sistema requerido e os sistemas
existentes e separar dessas informações os requisitos de usuários e de sistemas.
Pode-se listar como fontes de informação durante a fase descoberta de requisitos,
segundo Sommerville (2011, p.70):
• Documentação
• Stakeholders do sistema e
• Sistemas e especificações de sistemas similares.
91
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
2 TÉCNICAS DE LEVANTAMENTO
O levantamento e análise de requisitos é um processo iterativo, com uma
contínua validação de uma atividade para outra, conforme apresentado na Figura
31.
• O usuário principal do sistema não sabe o que quer que o sistema faça
ou sabe e não consegue transmitir para o analista;
• Requisitos identificados, mas que não são realistas e não identificam
os requisitos similares informados por pessoas diferentes.
• Um stakeholder errado afetará em perda de tempo e dinheiro para
ambas as partes envolvidas no desenvolvimento do sistema.
92
TÓPICO 2 | DESCOBERTA DE REQUISITOS
TURO S
ESTUDOS FU
2.1 ENTREVISTA
Segundo Sommerville (2011), as entrevistas, sejam elas formais ou informais,
realizadas com os stakeholders, são parte da maioria dos processos da engenharia
dos requisitos. Nessas entrevistas, os stakeholders são questionados pela equipe de
engenharia de requisitos sobre os sistemas que usam no momento e também sobre
o sistema que será desenvolvido. A partir dessas respostas os requisitos surgem.
94
TÓPICO 2 | DESCOBERTA DE REQUISITOS
A autora ressalta alguns itens importantes que devem ser executados antes,
durante e depois do estudo de observação:
2.1.2 Questionário
Os questionários são usados para o levantamento de Requisitos, quando
a empresa solicitante possuir filiais em diversas localidades, e ao invés da equipe
de analistas ir a todas essas filiais, são elaborados os questionários e enviados para
os principais usuários de cada filial. As questões são elaboradas de forma simples,
clara e objetiva, para que todos os envolvidos possam compreender e responder.
2.1.3 Brainstorming
Brainstorming é uma técnica para geração de ideias. Ela consiste em uma ou
várias reuniões que permitem que as pessoas sugiram e explorem ideias.
96
TÓPICO 2 | DESCOBERTA DE REQUISITOS
A autora adverte que por mais que as ideias, a princípio, pareçam não
convencionais, devem ser encorajadas, pois frequentemente estimulam os
participantes, o que pode levar a soluções criativas para o problema. O número de
ideias geradas deve ser bem grande, pois quanto mais ideias apresentadas, maior
será a chance de aparecerem boas ideias. Os participantes também devem ser
encorajados a combinar ou enriquecer as ideias de outros e, para isso, é necessário
que todas as ideias permaneçam visíveis a todos os participantes.
97
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Para Moraes (2016), essa dinâmica de grupo pode ser utilizada para
diversas finalidades, como o planejamento de atividades técnicas para um grande
projeto, discussão do escopo e objetivos de um projeto e estimativa da quantidade
de horas necessárias para desenvolver sistemas grandes e complexos. Vale lembrar
que a maioria das técnicas JAD funciona melhor em projetos pequenos ou médios.
Para um sistema grande e complexo podem ser usadas múltiplas sessões JAD para
acelerar a definição dos requisitos do sistema.
98
RESUMO DO TÓPICO 2
Neste tópico, vimos:
99
AUTOATIVIDADE
Em virtude de ser uma empresa de pequeno porte, a Model Car trabalha apenas
com veículos de passeio e utilitários leves. Sendo que para esses veículos ela
também precisa de um cadastro com informações básicas de identificação.
O mesmo acontece com os clientes da Model Car, ela precisa das informações que
possam identificar e localizá-los, para que futuramente possam ser enviadas
correspondências via carta, e-mail ou telefone com as promoções. Além de
permitir a análise do perfil do cliente para compras futuras.
100
UNIDADE 2
TÓPICO 3
1 INTRODUÇÃO
O desenvolvimento de sistemas é um processo que segue algumas
etapas, como projeto ou análise, codificação, testes, implantação. A definição das
etapas pode variar de caso para caso, mas, de uma forma geral, o processo de
desenvolvimento está relacionado a essas etapas. Neste tópico serão apresentadas
as etapas do processo de desenvolvimento de um sistema e as atividades que são
necessárias para que essas fases sejam cumpridas.
Silva (2014) adverte que, muitas vezes, um analista sem muita experiência
pode achar interessante começar o sistema programando, antes de entender por
101
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
TURO S
ESTUDOS FU
Ainda nessa fase de avaliação, Silva (2014) esclarece que durante essa fase
existem dois pontos importantes que devem ser avaliados. A Viabilidade Técnica
e a Viabilidade Econômica. A Viabilidade Técnica refere-se ao ambiente em que o
sistema será instalado, a familiaridade dos usuários com a tecnologia aplicada. Já
a Viabilidade Econômica demonstra a famosa e conhecida por todos, custo versus
benefício. Pois o desenvolvimento do sistema envolve custos operacionais, custos
102
TÓPICO 3 | DESENVOLVIMENTO E EQUIPE DE SOFTWARE
2.1.1 Análise
Nesta fase, o analista faz um levantamento detalhado de dados e fatos,
para descobrir o que realmente precisa ser desenvolvido. Silva (2014) diz que
durante essa fase o trabalho deve ser desenvolvido de forma disciplinada e
gradual, obedecendo rigorosamente aos critérios técnicos previstos, evitando que
a equipe pule fases, comprometendo assim o desempenho do sistema que será
desenvolvido. O autor adverte que é indispensável identificar todos os elementos
de dados que podem gerar informações. Esse levantamento pode ser realizado por
meio de pesquisas em documentos, entrevistas, análise de arquivos e contato com
os usuários. Ele enumera alguns documentos resultantes dessa fase, vale ressaltar
que não são todos, pois podem variar de projeto para projeto:
103
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
NOTA
Modelo Físico: Demonstra como os dados são fisicamente armazenados na base de dados.
São detalhados os componentes da estrutura física do banco, como tabelas, campos, tipos de
valores, índices, etc.
2.1.2 Projeto
Na fase de projeto definida por Bezerra (2015), determina-se “como”
o sistema funcionará para entender os requisitos, de acordo com os recursos
tecnológicos existentes. Nesta fase considera-se os aspectos físicos e dependentes
da implantação. Os modelos que foram construídos nesta fase são adicionados
às restrições tecnológicas. Nesta fase se produz uma descrição computacional do
que o software deve fazer de uma maneira coerente com a descrição que foi feita na
análise.
Essa é a fase onde o analista deve assimilar exatamente o que deve ser feito
e fazer a transformação do Modelo Lógico criado na fase anterior, para o Modelo
Físico. É durante essa fase que o analista conhece com profundidade o problema
do usuário e propõe soluções.
Podemos listar alguns documentos, de acordo com Silva (2014), que são
gerados nessa fase de projeto do sistema.
104
TÓPICO 3 | DESENVOLVIMENTO E EQUIPE DE SOFTWARE
2.1.3 Implementação
Na fase de implementação o sistema é codificado, ou seja, ocorre a tradução
da descrição computacional obtida na fase de projeto em código executável
mediante o uso de uma ou mais linguagens de programação (BEZERRA, 2015).
2.1.4 Implantação
Esse momento de implantação constitui um marco fundamental na vida do
sistema, pois, se houver falhas, a credibilidade da equipe de sistemas será abalada.
Esta fase de implantação consiste na entrega do produto concluído ao cliente e
pronto para ser colocado em operação. Essa fase deve ser muito bem planejada e
articulada com os gerentes dos setores usuários, além dos seguintes passos (SILVA,
2014, p.36):
Bezerra define essa fase como sendo a fase em que o sistema é empacotado,
distribuído e instalado no ambiente do usuário. Também nessa fase os manuais do
sistema são escritos, os arquivos carregados, dados importados para o sistema e
os usuários para utilização correta do sistema. Em alguns casos, ocorre também a
migração de sistemas e software e dados preexistentes.
105
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Para ilustrar algumas das possíveis restrições conflitantes (PMI, 2013, p.5):
• Escopo;
• Qualidade;
• Cronograma;
• Orçamento;
• Recursos e
• Riscos.
106
TÓPICO 3 | DESENVOLVIMENTO E EQUIPE DE SOFTWARE
TURO S
ESTUDOS FU
DICAS
107
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
2.3.1 Gerente
Segundo Bezerra (2015), o gerente de projetos é a pessoa responsável pela
gerência ou coordenação das atividades necessárias à construção do sistema. Ele
também é o responsável que desempenhará atividades como: orçamento do projeto,
estimar o tempo para o desenvolvimento do sistema, definir qual o processo de
desenvolvimento, o cronograma das atividades, a mão de obra especializada, bem
como os recursos de hardware e software.
108
TÓPICO 3 | DESENVOLVIMENTO E EQUIPE DE SOFTWARE
2.3.2 Analistas
De acordo com a definição de Bezerra (2015), analista de sistemas é o
profissional que deve ter o conhecimento do negócio e entender seus problemas
para que possa definir os requisitos do sistema a ser desenvolvido. Deve estar
apto a se comunicar com especialistas do domínio para obter conhecimento
acerca dos problemas e das necessidades envolvidas na organização empresarial.
Ainda segundo o autor, o analista não precisa ser um especialista, mas deve ter
domínio suficiente do vocabulário da área de conhecimento na qual o sistema
será implantado, evitando assim que o profissional especialista de domínio seja
interrompido a todo momento para explicar conceitos da área.
109
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
2.3.3 Projetistas
Bezerra (2015) define o projetista de sistemas como o integrante da equipe
de desenvolvimento cujas funções são: avaliar as alternativas de solução (da
definição) do problema resultante da análise. Ele diz também que o projetista tem
como função gerar a especificação de uma solução computacional detalhada.
111
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
2.3.5 Programadores
Talvez seja o profissional mais conhecido na área de sistemas, pois ele é
o responsável pela implementação do sistema. Bezerra (2015) afirma quem em
um projeto é comum haver vários programadores. Um programador pode ser
proficiente em uma ou mais linguagens de programação, além de ter conhecimento
sobre banco de dados e poder ler os modelos resultantes do trabalho do projetista.
O autor pontua algumas diferenças entre as atividades desempenhadas entre os
programadores e os analistas. O analista de sistemas está envolvido em todas as
etapas do desenvolvimento, diferente do programador, que participa unicamente
das fases finais (implementação e testes). É comum bons programadores serem
“promovidos” a analistas de sistemas. Mas, ainda que,segundo o autor, essa seja
uma prática recorrente nas empresas de desenvolvimento de software, há uma falsa
lógica, pois nem sempre bons programadores serão bons analistas.
112
TÓPICO 3 | DESENVOLVIMENTO E EQUIPE DE SOFTWARE
LEITURA COMPLEMENTAR
A Lei de Pareto (também conhecida como princípio 80-20) afirma que para
muitos fenômenos, 80% das consequências advêm de 20% das causas. A lei foi
sugerida por Joseph M. Juran, que deu o nome em honra ao economista italiano
Vilfredo Pareto.
113
UNIDADE 2 | ENGENHARIA DE REQUISITOS E EQUIPE DE DESENVOLVIMENTO
Com estes passos você terá maior envolvimento com sua equipe e controle
das respectivas entregas, além de poder aumentar a produtividade.
FONTE: <http://www.projectbuilder.com.br/blog-pb/entry/pessoas/6-passos-para-alavancar-a-
produtividade-da-minha-equipe-de-servicos-profissionais> Acesso em: 13 jan 2016.
DICAS
O site Techtudo apresenta a história de como a programação começa, veja que legal.
http://www.techtudo.com.br/platb/desenvolvimento/2011/06/20/historia-da-programacao-
como-tudo-comecou/Quer conhecer os maiores programadores da história? Veja a matéria
que a revista Exame preparou. Veja quantos você conhece:http://exame.abril.com.br/tecnologia/
noticias/os-22-programadores-mais-importantes-da-historia
115
RESUMO DO TÓPICO 3
Neste tópico, vimos:
Cargo Descrição
Talvez o profissional mais conhecido na área de sistemas, pois
eles são os responsáveis pela implementação do sistema.
Profissional que deve ter o conhecimento do negócio e entender
seus problemas para que possa definir os requisitos do sistema
a ser desenvolvido. E que deve estar apto a se comunicar com
especialistas do domínio para obter conhecimento acerca dos
problemas e das necessidades envolvidas na organização
empresarial.
É ele quem toma decisões sobre quais subsistemas compõem
o sistema como um todo e quais são as interfaces entre esses
subsistemas. E além de tomar decisões globais, esse profissional
também deve ser capaz de tomar decisões técnicas detalhadas.
O integrante da equipe de desenvolvimento, cujas funções são:
avaliar as alternativas de solução (da definição) do problema
resultante da análise.
É a pessoa responsável pela gerência ou coordenação das
atividades necessárias à construção do sistema. Ele também é
o responsável que desempenhará atividades como: orçamento
do projeto, estimar o tempo para o desenvolvimento do
sistema, definir qual o processo de desenvolvimento, o
cronograma das atividades, a mão de obra especializada, bem
como os recursos de hardware e software.
117
118
UNIDADE 3
REVISÃO DE CONCEITOS DA
UML, DIAGRAMAS DE VISÃO
COMPORTAMENTAL E ESTRUTURAL
E UM DETALHAMENTO
NOS CASOS DE USO
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
Esta unidade de ensino contém cinco tópicos. No final de cada um deles você
encontrará atividades que contribuirão para a apropriação dos conteúdos.
119
120
UNIDADE 3
TÓPICO 1
1 INTRODUÇÃO
Nesta unidade será apresentada a linguagem de modelagem unificada, a
UML, e a sua importância no desenvolvimento de software. Veremos como uma
notação gráfica bem executada no projeto de desenvolvimento de software diminui
a dificuldade de entendimento entre as partes envolvidas nessa fase.
De acordo com Booch et al. (2000), criadores da UML, ela é uma linguagem
padrão para a elaboração da estrutura de projetos de software. Pode ser utilizada
para a aplicação, visualização, especificação, construção e a documentação de
artefatos que façam uso de sistemas complexos de software. Os autores afirmam
que a UML é uma linguagem utilizada para:
• Visualizar.
• Especificar.
121
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
• Construir e
• Documentar.
Booch et al. (2000) alertam que para compreender a UML, você precisa
formar um modelo conceitual da linguagem, e isso implica em aprender três
elementos principais:
• Estruturais
• Comportamentais
• Agrupamento e
• Anotacionais
122
TÓPICO 1 | UML (UNIFIED MODELING LANGUAGE)
• Classes.
• Interfaces.
• Colaborações.
• Casos de uso.
• Classes ativas.
• Componentes.
• Nós.
123
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
TURO S
ESTUDOS FU
NOTA
124
TÓPICO 1 | UML (UNIFIED MODELING LANGUAGE)
125
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
• Dependência.
• Associação.
• Generalização e
• Realização.
126
RESUMO DO TÓPICO 1
• Itens estruturais.
• Itens comportamentais.
• Itens de agrupamento.
• Itens anotacionais.
• Relacionamentos na UML.
127
AUTOATIVIDADE
3 A definição a seguir se refere a qual item da UML e quais são os itens que a
compõem?
1 INTRODUÇÃO
Usar a ferramenta certa, para a atividade certa. Agir deste modo, com
certeza, facilita e muito o trabalho, você concorda?
2 DIAGRAMAS
Um diagrama é a apresentação gráfica de um conjunto de elementos,
geralmente representada como gráficos de vértices (itens) e arcos (relacionamentos).
Segundo Booch et al. (2000), eles são desenhados para permitir a visualização de
um sistema sob diferentes aspectos.
129
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
uma visão um pouco mais profunda do software, eles têm por objetivo apresentar
um aspecto mais técnico ou ainda visualizar apenas uma característica específica
do sistema ou um determinado processo.
Vale ressaltar, como já foi dito anteriormente, que mesmo que cada diagrama
tenha sua função, nem sempre é necessário modelar um sistema utilizando-se de
todos os diagramas, pois alguns deles possuem funções muito específicas, como
é o caso do Diagrama de Tempo, que, por exemplo, tem como objetivo focalizar
o tempo ou duração da mensagem ou condições em mudança em uma linha de
tempo no diagrama. Detalharemos esse e outros diagramas a seguir.
NOTA
130
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
E
IMPORTANT
• O objeto Silva da classe Cliente está associado aos objetos 991 e 774,
ambos da classe Pedido.
131
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
FONTE: A autora
132
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
133
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
deseja definir apenas as funções e conexões que são requeridas para executar um
objetivo específico da colaboração. Por exemplo, o objetivo de uma colaboração
pode ser definir as funções ou os componentes de um classificador. Ao isolar
as funções principais, uma colaboração simplifica a estrutura e esclarece o
comportamento em um modelo.
FONTE:Disponível em:<http://www.ibm.com/support/knowledgecenter/SS5JSH_9.1.1/com.ibm.
xtools.modeler.doc/topics/ccompstruc.html?lang=pt-br>. Acesso em: 30 mar. 2016.
TURO S
ESTUDOS FU
134
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
135
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
136
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
TURO S
ESTUDOS FU
137
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
138
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
TURO S
ESTUDOS FU
Por ser um diagrama muito utilizado, detalharemos ele um pouco mais no tópico 5.
139
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
140
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
141
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
142
TÓPICO 2 | DIAGRAMAS DA UML: DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS
143
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
144
RESUMO DO TÓPICO 2
Neste tópico, vimos:
145
k) Diagrama de Visão Geral de Interação: É uma variação do Diagrama de
Atividades. Fornece uma visão geral dentro de um sistema ou processo de
negócio em relação ao controle de fluxo.
146
AUTOATIVIDADE
147
148
UNIDADE 3
TÓPICO 3
1 INTRODUÇÃO
Booch et al. (2000) afirmam que nenhum sistema existe isoladamente. E que
todo sistema interage com atores humanos ou autômatos que utilizam esse sistema
para algum propósito, e esses atores esperam que o sistema se comporte de acordo
com a maneira prevista.
Pode-se dizer que uma das utilizações dos Casos de Uso é sua aplicação
para captar o comportamento pretendido do sistema que está sendo desenvolvido,
sem a preocupação de especificar como esse comportamento será implementado.
Eles fornecem uma maneira de compreensão entre os desenvolvedores, usuário
final e os especialistas do domínio. Além de auxiliar na validação da arquitetura
e para a verificação do sistema durante sua evolução. Vale ressaltar que os
casos de uso especificam o comportamento desejado, não determinando como
esse comportamento será executado, permitindo assim a comunicação entre os
envolvidos.
Para facilitar essa tarefa, Martins (2010, p.12) afirma que o Caso de Uso deve
contemplar um processo de ponto a ponto, incluindo vários passos ou transações,
de modo a produzir um produto ou serviço de valor para o usuário. O Caso de
Uso deve ser composto por um passo ou atividade individual de um processo. Ele
sugere alguns questionamentos para facilitar a tarefa de encontrar os casos de uso:
• Caso de uso
• Atores
• Relacionamentos
• Associação
• Generalização
• Dependência: Extensão e Inclusão
149
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
2 CASO DE USO
Sua representação é feita por uma elipse. É uma descrição de um conjunto
de sequência de ações, inclusive variantes, que um sistema executa para produzir
um resultado de valor observável por um ator. Ainda segundo Booch et al. (2000),
todo Caso de Uso deve ter um nome que o diferencie dos demais casos de uso.
Normalmente, um caso de uso é definido exibindo apenas seu nome, conforme
mostra a Figura 51:
Inserir produto
FONTE: A autora
3 ATORES
Os atores representam papéis desempenhados por usuários ou qualquer
outra entidade externa ao sistema (ex. hardware, outros sistemas). Eles podem
iniciar casos de uso e também podem prover e/ou receber informações dos casos
de uso. (TACLA 2010, p.16).
FIGURA 52 - ATORES
FONTE: A autora
Martins (2010, p.212) sugere algumas perguntas que devem ser feitas para
auxiliar na tarefa de encontrar os atores:
• Quem usa o sistema?
• Quem instala o sistema?
• Quem faz a manutenção dos dados do sistema?
• Que outros sistemas se comunicam com este sistema?
• Que outros sistemas extraem informações deste sistema?
150
TÓPICO 3 | MODELO DE CASO DE USO
4 FLUXO DE EVENTOS
Um Caso de Uso descreve o que um sistema (ou um subsistema, classe ou
interface) faz, mas ele não especifica como isso será feito. Booch (2010) diz que se
pode especificar o comportamento de um Caso de Uso pela descrição do fluxo
de eventos no texto de maneira clara, para que alguém de fora possa entender
facilmente. Durante essa documentação do fluxo de eventos deve-se incluir:
• Atores:
a) (lista dos atores)
• Fluxo de eventos:
b) Fluxo primário ou básico ou principal (descrição das ações que ocorrem
normalmente)
c) Fluxo secundário ou alternativo (ações que ocorrem em situações
adversas, erros, etc.)
d) Pré-condições: situação necessária para iniciar o caso de uso.
e) Pós-condições: situação após o caso de uso terminar.
NOTA
151
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
5 RELACIONAMENTO
Os relacionamentos indicam associações definidas entre os diversos
componentes dos diagramas de Casos de Uso. Os principais componentes a se
relacionar em um diagrama são os atores e os Casos de Uso. O relacionamento
pode acontecer de diversas formas, dependendo da situação. Durante a construção
de um Caso de Uso, os relacionamentos podem envolver dois casos de uso ou
mais, dois atores, ou ainda um ator e um caso de uso. Detalharemos esses eventos
a seguir.
FONTE: A autora
152
TÓPICO 3 | MODELO DE CASO DE USO
FONTE: A autora
FONTE: A autora
Ele indica de uma forma explícita que um caso de uso, em algum momento,
faz uso de outro caso de uso. Franco (2014, p.28) explica essa atividade:
153
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
5.4 EXTENSÃO
Já a extensão é quando um Caso de Uso utiliza o comportamento de outro
caso de uso em condições especiais. Com o funcionamento semelhante à inclusão,
a diferença é que a extensão do comportamento é opcional e ocorre nos chamados
pontos de extensão. Como no exemplo apresentado por Franco (2014), observa-se
um caso de uso chamado Calcular total da compra e é estendido pelo caso de uso
Calcular desconto. A condição para que o desconto seja calculado é que a compra
ultrapasse 10.000,00, ou seja, o calcular desconto só será estendido se, e somente se,
o valor atender à regra. Como apresenta a Figura 57.
154
TÓPICO 3 | MODELO DE CASO DE USO
Algo assim: 9h/ 09h30min /10h /10h30min /11h /11h30 min /12h. O horário
da tarde recomeça no fim da hora de almoço (13h:30). A partir daí, continua-se a
montar horários respeitando o intervalo de consulta (30 minutos) até o horário
limite da última consulta.
155
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
6 GENERALIZAÇÃO
Uma generalização de casos de uso é um relacionamento de um Caso de
Uso filho com um Caso de Uso pai, especificando como um filho pode adotar todo
o comportamento e as características descritas para o pai.
FIGURA 59 - GENERALIZAÇÃO
156
TÓPICO 3 | MODELO DE CASO DE USO
157
RESUMO DO TÓPICO 3
a) Casos de uso.
b) Atores.
c) Relacionamentos.
d) Associação.
e) Generalização.
158
AUTOATIVIDADE
159
160
UNIDADE 3
TÓPICO 4
DIAGRAMA DE CLASSE
1 INTRODUÇÃO
Considerado um dos diagramas mais importantes da UML e um dos mais
utilizados, ele serve de apoio para a maioria dos outros diagramas. Como o próprio
nome diz, o Diagrama de Classes define a estrutura das classes utilizadas pelo
sistema, determinando os atributos e métodos possuídos por cada classe, além de
estabelecer como as classes se relacionam e trocam informações entre si. Apresenta
um modelo de como os dados serão criados no banco de dados.
NOTA
2 DIAGRAMAS DE CLASSE
Os Diagramas de Classe são fundamentais para o processo de modelagem
de objetos e modelam a estrutura estática de um sistema. A quantidade de
diagramas utilizados vai depender da complexidade do sistema. Pode-se utilizar
um único diagrama de classe para modelar um sistema inteiro ou vários diagramas
de classe para modelar os componentes de um sistema. Eles são úteis em muitos
estágios do design do sistema. No estágio de análise, um diagrama de classe pode
ajudá-lo a compreender os requisitos do domínio do problema e a identificar seus
componentes.
161
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
162
TÓPICO 4 | DIAGRAMA DE CLASSE
163
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
FIGURA 62 - SOLUÇÃO
164
TÓPICO 4 | DIAGRAMA DE CLASSE
DICAS
Para entender um pouco mais sobre esse diagrama, leia o resumo do artigo
disponibilizado no material complementar, e para ler na íntegra acesse o site: Disponível em:
<http://www.linhadecodigo.com.br/artigo/3219/orientacoes-basicas-na-elaboracao-de-um-
diagrama-de-classes.aspx>. Acesso em: 29 fev. 2016.
LEITURA COMPLEMENTAR
CENÁRIO
Caso ele consiga resolver o que foi solicitado, o técnico do Service Desk irá
salvar o registro com a situação de “Resolvido” encerrando o caso, contudo, deverá,
em um local específico do registro, definir como ele resolveu o caso, informando
que se tratava de um Incidente, Problema ou Solicitação. O registro deve ser
categorizado, escolhendo dentre três classificações: Categoria >> Subcategoria
>> Item da categoria, onde a categoria é uma lista de tipo de serviço, como, por
exemplo: Se foi Hardware ou Software.
165
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
Caso o técnico do Service Desk não consiga resolver no seu prazo que será
o mais curto, deverá enviar o registro para outro grupo de atendimento, onde
existirão outros técnicos que poderão ir até o equipamento fisicamente para resolver
o problema com um prazo mais extenso. Um grupo é composto por vários técnicos.
No registro deve constar o grupo que atendeu e o técnico, pois cada registro conta
como receita em reais para o grupo sendo apurado ao efetuar fechamento mensal.
O pagamento para os grupos de atendimento é feito por quantidade de registros
atendidos no prazo estipulado.
Ao final, caso o pedido tenha sido designado para outro grupo, ou esteja
em andamento, pendente, cancelado ou resolvido, deve-se informar em um campo
específico o que foi feito neste registro resumidamente. Se a situação do registro
estiver definida como “Resolvido”, uma pesquisa de satisfação deverá ser enviada
para o solicitante.
166
TÓPICO 4 | DIAGRAMA DE CLASSE
• Atendente.
• Solicitação.
• Grupo.
• Técnico.
• Equipamento.
• Histórico.
O único item acima que gera dúvida se é ou não um objeto seria histórico,
pois não é normal vermos este objeto, entretanto ele existe, veja o exemplo deste
objeto no mundo real: Na escola existe o histórico escolar ou na clínica existe
histórico médico e etc.
• Data.
• Hora.
• Situação.
167
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
• Tipo de Serviço.
• Prazo.
168
TÓPICO 4 | DIAGRAMA DE CLASSE
Veja que alguns dos objetos acima não foram classificados, devido à não
necessidade de tal processo, pois já está em sua classificação correta, devemos
apenas usar o plural, pois normalmente uma classe está no plural devido sua
origem em agrupar vários objetos.
Observe no item anterior que muitas classes são do mesmo gênero, fazendo
com que esteja repetida no diagrama, e se uma classe se repete no banco de dados
será uma tabela criada sem propósito nenhum.
• Pessoas.
• Cliente.
• Atendente.
• Grupo.
• Técnico.
• Equipamento.
• Histórico.
• Categoria.
• Subcategoria.
• Item da categoria.
• Pedido.
• Pesquisa satisfação.
• Situações.
• Tipo de Serviços.
• Prazos
169
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
-codPessoa
-Pessoa
Pedidos
Categorias
-codOrdem
-codDoc -codCategoria
-codCliente -categoria
-codFuncionario
-codGrupo
-codTipo
-codCategoria Sub_Categorias
-codsubCategoria -codCategoria
-coditem -subCategoria
Itens_da_Categoria
Documentos -codItem
-item
Tipos de Serviços -codDoc
-documento
-codTipo
Situação Histórico_de_Atendimento
Equipamentos
-codHistorico
-codSituação
-codDoc -codEquipamento
-situação
170
TÓPICO 4 | DIAGRAMA DE CLASSE
Pessoas
-codPessoa
-Pessoa
Pedidos
-codOrdem
-codDoc
-codCliente
-codFuncionario
-codGrupo
-codTipo
-codCategoria
-codsubCategoria
-codItem
Documentos
-codDoc
-documento
Este ponto é trabalhoso, pois devemos testar classe por classe em busca de
ligações, veja abaixo como realizar esta tarefa:
171
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
de cardinalidade, nasce uma nova tabela ou classe, entre esses dois foi a classe
pedidos, que já havíamos identificado antes. O importante sobre a N para N é
que a classe que nasceu recebe os códigos da classe com que fez relação, ficando a
classe “Pedido” com o código do cliente e o código da atendente.
Sabemos também que esse pedido será repassado para um técnico que o
atenderá, sendo assim, um técnico pode atender a vários pedidos e um pedido
pode ser atendido por um técnico, sendo representado por 1-N, lembrando que a
classe que recebe o N herda o campo-chave da outra classe como chave estrangeira,
sendo assim ficará a tabela de pedidos com mais um campo chamado: código do
técnico.
Faça o processo para todas as classes, use sempre a pergunta dessa forma:
172
TÓPICO 4 | DIAGRAMA DE CLASSE
Equipamentos Pedidos
-codEquipamento -codOrdem
-codDoc
-codCliente Categorias
-codFuncionario -codCategoria
Pedido_Equipamentos -codGrupo
-categoria
-codTipo
-codPedido -codCategoria
-codEquipamento -codsubCategoria
-codItem Sub_Categorias
-codCategoria
-subCategoria
Itens_da_Categoria
Tipos de Serviços
-codItem
-codTipo
-Item
Histório_de_Atendimento
-codHistórico
-codDoc
Pedido_Situações
-codSituação
-codOrdem Situações
-tempoNaSituação
-codSituação
-situação
173
RESUMO DO TÓPICO 4
174
AUTOATIVIDADE
175
176
UNIDADE 3
TÓPICO 5
DIAGRAMA DE SEQUÊNCIA
1 INTRODUÇÃO
Eles detalham a sequência de um processo, representando os atores e
objetos envolvidos em um cenário e qual é a sequência de troca de mensagens ao
longo do tempo. Ele é baseado em Diagrama de Caso de Uso e ordena como as
mensagens são trocadas entre os objetos de forma temporal.
2 TIPOS DE MENSAGEM
As mensagens são parte importante do Diagrama de Sequência, e elas
podem ser identificadas de várias formas, sendo as mais comuns (TACLA, 2010,
p.44):
177
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
Vale ressaltar que para encerrar uma conta é necessário antes verificar o
saldo dessa. Para que seja depositado o valor, caso o saldo seja negativo, ou sacado
caso esteja com saldo positivo.
NOTA
Neste passo devemos imaginar que o processo de Emitir Saldo já está modelado, e
por esse motivo, só faremos sua chamada. A esse processo damos o nome de Usos de interação.
178
TÓPICO 5 | DIAGRAMA DE SEQUÊNCIA
Neste outro modelo proposto por Guedes (2014), temos o diagrama para
a realização de depósito. Onde o cliente informa ao funcionário (neste caso, o ator
funcionário poderia ser um caixa eletrônico) o número da conta que deverá receber
o valor a ser depositado. O funcionário, em resposta, faz a verificação se a conta
existe através da interface do sistema, esta repassará ao controlador o número da
conta que, em resposta, disparará o método consultar_conta. Caso a resposta seja
positiva, o funcionário solicitará ao cliente o valor a ser depositado. O funcionário
então informará à interface do sistema a quantidade do valor a depositar. Esse
valor será repassado ao controlador, que disparará o método depositar_valor. Se a
operação for realizada com sucesso, o controlador pedirá à interface que apresente
uma mensagem informando que a operação foi concluída.
179
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
Outro exemplo se baseia no caso de uso Enviar Carta. Onde alguém remete
uma carta para outro país através de uma agência de correio. Primeiro, a carta é
enviada para o país do destinatário. No país, a carta é enviada para uma cidade
específica. A cidade, por sua vez, envia a carta para a residência do destinatário.
LEITURA COMPLEMENTAR
DICAS
que são utilizadas para elaboração dos diagramas da UML, buscando verificar a
contribuição desse aspecto na área de computação.
2.1.1 ArgoUML
2.1.2 JUDE
181
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
3 METODOLOGIA
Ferramenta ArgoUML:
184
TÓPICO 5 | DIAGRAMA DE SEQUÊNCIA
• Há uma boa interação com o usuário, já que os botões são bem intuitivos e
também há o uso de dicas (tooltips) para auxiliar as funções dos botões. O menu
é bem completo e fácil de ser usado.
• O sistema possui uma boa interface, com desenhos bem simples de entender. E
como possui o “tooltips”, dicas dos botões, se torna mais fácil o uso da ferramenta.
• A ajuda é bem completa, porém está no idioma inglês, assim como o site oficial
do sistema, que também está em inglês.
Ferramenta Jude:
• O JUDE não possui um apelo gráfico tão bom quanto o ArgoUML, ou tantas
funcionalidades como Microsoft Visio;
• A ferramenta Jude Community suporta apenas diagramas da UML 1.4 e UML 2.0.
185
UNIDADE 3 | REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL E
ESTRUTURAL E UM DETALHAMENTO NOS CASOS DE USO
• Existe pré-requisito para a ferramenta ser executada, ter o JRE instalado em seu
computador.
• Em momento algum o sistema informa das ações que o usuário está fazendo se
estão certas ou erradas, sendo assim, o usuário tem total liberdade de trabalhar.
186
TÓPICO 5 | DIAGRAMA DE SEQUÊNCIA
CONCLUSÃO
187
RESUMO DO TÓPICO 5
• Os elementos básicos:
a) Atores: São entidades externas que interagem com o sistema e que solicitam
serviços. Normalmente, o ator primário é o responsável por enviar a
mensagem inicial que inicia a interação entre os objetos.
c) Linha do tempo (uma para cada objeto e ator): As linhas de vida compõem a
dimensão vertical.
188
AUTOATIVIDADE
189
REFERÊNCIAS
AZEVEDO, S. Por que os projetos falham? Disponível em: http://www.mundopm.
com.br/noticia.jsp?id=280>. Acesso em: 22 mar. 2016.
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usuário. Rio de Janeiro:
Elsevier, 2000.
GUEDES, G.T.A. UML2 - Uma abordagem prática. 2. ed. São Paulo: Editora
Novatec, 2011.
190
MORAES, J. B. D. Engenharia de Software 2: técnicas para levantamento de
Requisitos. Disponível em: <http://www.devmedia.com.br/articles/viewcomp.
asp?comp=9151 >. Acesso em: 22 mar. 2016.
191