Buscar

Apostila UML

Prévia do material em texto

Técnico em Informática
Análise e Projetos de Sistemas
Instituto Federal de Educação, Ciências e Tecnologia de São Paulo - IFSP
Marilene Esquiavoni
2010
São João da Boa Vista - SP
Presidência da República Federativa do Brasil
Ministério da Educação
Secretaria de Educação a Distância
Equipe de Elaboração
IFSP
Coordenação Institucional
Campus São João da Boa Vista
Professor-autor
Marilene Esquiavoni
Comissão de Acompanhamento e Validação
Gustavo Aurélio Prieto
Yara Maria Guisso de Andrade Facchini
Projeto Gráfico
Eduardo Meneses e Fábio Brumana
Diagramação
Matheus Félix de Andrade”!
Revisão
Elizabeth Gouveia da Silva Vanni
Ficha catalográfica
Este Caderno foi elaborado em parceria entre o Instituto Federal de Educação, Ci-
ência e Tecnologia de São Paulo e o Sistema Escola Técnica Aberta do Brasil – e-Tec 
Brasil.
Versão Preliminar
Amigo(a) estudante!
O Ministério da Educação vem desenvolvendo Políticas e Programas para 
expansãoda Educação Básica e do Ensino Superior no País. Um dos caminhos 
encontradospara que essa expansão se efetive com maior rapidez e eficiên-
cia é a modalidade adistância. No mundo inteiro são milhões os estudantes 
que frequentam cursos a distância. Aqui no Brasil, são mais de 300 mil os 
matriculados em cursos regulares de Ensino Médio e Superior a distância, 
oferecidos por instituições públicas e privadas de ensino.
Em 2005, o MEC implantou o Sistema Universidade Aberta do Brasil (UAB), 
hoje, consolidado como o maior programa nacional de formação de profes-
sores, em nível superior. 
Para expansão e melhoria da educação profissional e fortalecimento do En-
sino Médio, o MEC está implementando o Programa Escola Técnica Aberta 
do Brasil (e-TecBrasil). Espera, assim, oferecer aos jovens das periferias dos 
grandes centros urbanose dos municípios do interior do País oportunidades 
para maior escolaridade, melhorescondições de inserção no mundo do tra-
balho e, dessa forma, com elevado potencialpara o desenvolvimento produ-
tivo regional.
O e-Tec é resultado de uma parceria entre a Secretaria de Educação Pro-
fissionale Tecnológica (SETEC), a Secretaria de Educação a Distância (SED) 
do Ministério daEducação, as universidades e escolas técnicas estaduais e 
federais.
O Programa apóia a oferta de cursos técnicos de nível médio por parte das 
escolaspúblicas de educação profissional federais, estaduais, municipais e, 
por outro lado,a adequação da infra-estrutura de escolas públicas estaduais 
e municipais.
Do primeiro Edital do e-Tec Brasil participaram 430 proponentes de ade-
quaçãode escolas e 74 instituições de ensino técnico, as quais propuseram 
147 cursos técnicosde nível médio, abrangendo 14 áreas profissionais. 
Apresentação e-Tec Brasil
O resultado desse Edital contemplou193 escolas em 20 unidades federa-
tivas. A perspectiva do Programa é que sejam ofertadas10.000 vagas, em 
250 polos, até 2010.
Assim, a modalidade de Educação a Distância oferece nova interface para 
amais expressiva expansão da rede federal de educação tecnológica dos úl-
timos anos: aconstrução dos novos centros federais (CEFETs), a organização 
dos Institutos Federaisde Educação Tecnológica (IFETs) e de seus campi.
O Programa e-Tec Brasil vai sendo desenhado na construção coletiva e par-
ticipaçãoativa nas ações de democratização e expansão da educação profis-
sional no País,valendo-se dos pilares da educação a distância, sustentados 
pela formação continuadade professores e pela utilização dos recursos tec-
nológicos disponíveis.
A equipe que coordena o Programa e-Tec Brasil lhe deseja sucesso na sua 
formaçãoprofissional e na sua caminhada no curso a distância em que está 
matriculado(a).
Brasília, Ministério da Educação – setembro de 2008.
Sumário
Apresentação e-Tec Brasil 3
Sumário 5
Palavra do professor-autor 7
Outros - instituição validadora 8
Apresentação da Disciplina 11
Capítulo 1 - Introdução a Projetos 14
1.1 Definições de Sistemas 15
1.2 Projetos WEB 15
1.2.1 Páginas 16
1.2.2 Site (sítio) 17
1.2.3 Portal 17
1.2.4 e-Business 18
1.2.5 e-Commerce 18
1.3 Entendendo o ciclo de Vida de um projeto 19
1.4 Modelo de ciclo de vida 20
1.4.1 Modelo de Cascata 20
1.4.2 Modelo em Espiral 21
1.4.3 Modelo Prototipagem 21
1.4.4 Modelo Incremental 22
1.4.5 Comparação dos Modelos 22
Hora de Praticar 23
Capítulo 2 - Linguagem de Modelagem Unificada 27
2.1 Características 28
2.1.1 Diagramas Utilizados 30
2.2 Orientação a Objetos 33
2.2.1 Classes 34
2.2.2 Atributos 34
2.2.2.1 Métodos 35
2.2.3 Herança 36
2.2.4 Polimorfismo 37
2.2.5 Encapsulamento 38
Hora de Praticar 39
Capítulo 3 - Diagrama de Casos 42
3.1 Atores 42
3.2 Casos de Uso 43
3.3 Documentação de Caso de Uso 43
3.4 Associação 44
3.5 Generalização 44
3.6 Inclusão 45
3.7 Extensão 46
3.8 Elementos comuns a todos os diagramas da UML 47
3.8.1 Notas 47
3.8.2 Pacotes 47
Hora de Praticar 49
Capítulo 4 - Diagrama de Atividades 52
4.1 Nós de Ação 52
4.2 Nó Inicial 53
4.3 Nó Final 53
4.4 Nó de Decisão 53
4.5 Exemplos de Diagrama de Atividade para consulta de 
uma conta 54
Hora de Praticar 56
Capítulo 5 - Diagrama de Sequência 57
5.1 Atores 57
5.2 Objetos 58
5.3 Foco de Controle ou Ativação 58
5.4 Mensagem 59
5.5 Mensagens de retorno 60
5.6 Autochamadas ou Autodelegações 61
5.7 Condições de Guarda 62
5.8 Exemplo de Diagrama de Sequência 63
Hora de Praticar 64
Capítulo 6 - Diagrama de Classes 65
6.1 Relacionamentos 65
6.1.1 Associação Unitária ou Reflexiva 65
6.1.2 Associação Binária 66
6.1.3 Associação Ternária ou N-ária 67
6.1.4 Agregação 67
6.1.5 Composição 68
6.1.6 Especialização/Generalização 68
6.1.7 Dependência 69
6.1.8 Realização 69
6.2 Classe Associativa 70
6.3 Exemplo de Diagrama de Classes 70
Hora de Praticar 72
Referências 73
e-Tec BrasilAnálise e Projetos de Sistemas 7
 Sou formada em Bacharelado em Computação pela 
Universidade de Taubaté – UNITAU. Atualmente sou pro-
fessora de Informática do IFSP – Instituto Federal de Edu-
cação, Ciência e Tecnologia de São Paulo, Campus Cara-
guatatuba.
Proprietária intelectual de 19 softwares (conforme leis 
9.609/98 e 9.610/98).
Dedico a maior parte do meu tempo aos cursos sobre 
padrões de projeto, análise e projeto orientados a objetos e à construção de 
softwares (Visual Studio 2008 – C#).
Recentemente realizei o treinamento de MCTS .NET Framework 2.0 Web 
Applications onde estou me preparando para fazer a prova de Certificação 
da Microsoft.
Atualmente estou escrevendo um livro para Editora LT – Livros Técnicos sobre 
Hardware.
Palavra do professor-autor
Técnico em Informáticae-Tec Brasil 8
O Decreto presidencial nº 7.566, de 23 de setembro de 1909, instituciona-
lizou o ensino profissional no Brasil. Em 1910 surgiu a Escola de Aprendizes 
e Artífices de São Paulo, assemelhando-se a das criadas em outras capitais 
de Estado. Ela se destinava inicialmente as camadas mais desfavorecidas, aos 
“deserdados da fortuna e menores marginalizados”, ministrando o ensino 
elementar. Em 1937 passou a denominar-se Liceu Industrial de São Paulo, 
oferecendo ensino equivalente ao de primeiro ciclo. 
 Em 1942 foi promulgada a Lei orgânica do ensino industrial. A nova 
orientação visava à preparação profissional dos trabalhadores da indústria, 
dos transportes, das comunicações e da pesca. 
 Em 1976, procedeu-se à mudança para a nova sede e, em 1978, 
criaram-se os cursos de eletrônica, telecomunicações e processamento de 
dados. Em 1981, instalam-se os cursos complementares de mecânica, eletro-
técnica e edificações, destinados à clientela, em grande parte integrada ao 
mercado de trabalho, mais que necessitava de uma formalização profissional 
por meio de disciplinas de nível técnico de 2º grau. Estes cursos técnicos 
tinham a duração de dois anos, prevendo um estágio obrigatório.
 No ano de 1987 foi implantada a primeira Unidade de Ensino Des-
centralizada (UNED) no Município de Cubatão e, em 1996, ocorreu o início 
do funcionamento da UNED Sertãozinho. Em 1999, a EscolaTécnica Federal 
de São Paulo, foi transformada em Centro Federal de Educação Tecnológica 
de São Paulo – CEFET, conforme Decreto de 18 de janeiro de 1999. No ano 
de 2005, foi autorizado o funcionamento da UNED Guarulhos. As UNED 
de São João da Boa Vista e Caraguatatuba foram autorizadas a funcionar a 
partir do 1º semestre do ano de 2007, enquanto que as UNED de Bragança 
e Salto passaram a funcionar no 2º semestre do ano de 2007.
 Em 2008 foram criadas as unidades de São Carlos, São Roque e 
Campos do Jordão. No mesmo ano o CEFET-SP se transformou no Instituto 
Federal de Educação Ciência e Tecnologia pela Lei 11.892 de 29 de Dezem-
bro de 2008, que instituiu a rede federal de educação profissional, científica 
e tecnológica. De acordo com esta lei os institutos federais (IF) tornaram-se 
Outros - instituição validadora
e-Tec BrasilAnálise e Projetos de Sistemas 9
instituições de educação superior, básica e profissional, pluricurriculares e 
multicampi, especializados na oferta de educação profissional e tecnológica 
nas diferentes modalidades de ensino, com base na conjugação de conheci-
mentos técnicos e tecnológicos com as suas práticas pedagógicas.
 A expansão do CEFET-SP tem ainda previstas os Campus de Arara-
quara, Avaré, Barretos, Birigui, Campinas, Catanduva, Itapetininga, Piracica-
ba, , Presidente Epitácio, Registro, Suzano e Votuporanga.
 A Unidade de Ensino Descentralizada de São João da Boa Vista é 
uma unidade educacional subordinada ao Centro Federal de Educação Tec-
nológica de São Paulo, autorizada pela Portaria nº 1715 do Ministro da Edu-
cação, publicada no Diário Oficial da União de 20/10/2006. Tem estrutura 
administrativa definida pela resolução nº 136/06 de 16/11/2006 do Conse-
lho Diretor do CEFET-SP.
 A história do campus se inicia no ano de 1998 quando é formulado o 
projeto para a criação do CEPRO em São João da Boa Vista. No ano seguinte 
o anteprojeto é aprovado pelo Programa de Expansão da Educação Profis-
sional (PROEP). No mesmo ano se dá o início das obras para construção do 
prédio em terreno doado por Paulo Roberto Merlin e Flávio Augusto Canto. 
Em 2004, o prédio é entregue com 2529m², sendo constituído de onze 
laboratórios, seis salas de aulas, um auditório com capacidade para 150 lu-
gares, sala de multimídia e demais dependências. As atividades do Centro de 
Educação Profissional são iniciadas em 2005. Em 2006 é firmado o convênio 
entre o CEPRO e CEFET-SP, com apoio da prefeitura municipal para a federa-
lização da unidade. Em Janeiro de 2007 o CEFET-SP / UNED SBV iniciou suas 
atividades no município.
 O IFSP, no município de São João da Boa Vista, veio para atender 
a necessidade de educar os jovens são joanenses e da região, a fim de ha-
bilitá-los para o ingresso nos setores de indústria e informática, os quais 
demandam trabalhadores capacitados para o progresso no desenvolvimento 
econômico e para o fortalecimento do pólo educacional na região leste do 
estado.
Atuação do IFSP na Educação a Distância
 No contexto da política de expansão da educação superior no país, 
implementada pelo MEC, a EaD coloca-se como uma modalidade im-
Técnico em Informáticae-Tec Brasil 10
portante no seu desenvolvimento. Nesse sentido, criou-se uma direção para 
EaD dentro do IF SP.
 No âmbito da política de expansão da educação profissionalizante, o 
Ministério da Educação, por meio da articulação da Secretaria de Educação 
a Distância e Secretaria de Educação Profissional e Tecnológica, lança o Edital 
01/2007/SEED/SETEC/MEC, dispondo sobre o Programa Escola Técnica Aber-
ta do Brasil (e-Tec Brasil). 
 Tal iniciativa constitui-se uma das ações do Plano de Desenvolvimen-
to da Educação.
 Visando oferta de cursos da educação técnica e profissional o IF SP 
foi selecionado pelo programa e-Tec Brasil para iniciar suas atividades em 
2009.
 Tais atividades foram efetivamente implantadas em agosto de 2009 
com a criação de dois cursos técnicos – a saber: técnico em informática para 
internet e técnico em administração – atingindo 5 municípios do estado de 
São Paulo (Araraquara, Barretos, Itapevi, Franca e Jaboticabal) e ampliando 
em 500 a oferta de vagas do Instituto.
e-Tec BrasilAnálise e Projetos de Sistemas 11
Apresentação da Disciplina
Em decorrência da necessidade de padronização das técnicas de modelagem 
de software para o modelo Orientado a Objetos, a Rational Software Cor-
poration buscou unificar as principais técnicas existentes e aceitas mundial-
mente, visando a criação de uma única técnica, a UML – Unified Modeling 
Language como técnica padrão de modelagem, existe hoje, uma grande 
procura no mercado por profissionais que dominem esta técnica.
 As empresas exigem sistemas que não só atendam as necessidades 
funcionais, como sejam de fácil manutenção. 
 O objetivo deste curso é fornecer ao aluno, uma visão clara de mo-
delagem, conceitos da Orientação a Objetos, descrição dos Diagramas utili-
zados para o projeto de sistemas e a aplicação desses conceitos em estudos 
de casos utilizando a ferramenta JUDE, que oferece uma versão para a co-
munidade.
 Apesar de a UML possuir um grande número de diagramas, você não 
deverá se sentir obrigado a utilizar todos eles, pois cada um possui uma ca-
racterística específica e, algumas vezes, alguns deles não são necessários em 
determinados sistemas. Cabe a você determinar quais serão necessários!
 Embora tenha adotado a ferramenta JUDE, você poderá optar por 
qualquer outra ferramenta CASE (Computer – Aided Software Engineering 
ou Engenharia de Software Auxiliada por Computador). Essas ferramentas 
são softwares que auxiliam na execução de uma ou mais atividades realiza-
das durante o processo de Engenharia de Software. Entre as diversas ferra-
mentas existentes no mercado podemos citar:
•	 Rational Rose – É totalmente orientada à UML, é uma das ferra-
mentas mais completas disponíveis no mercado. Inclusive foi a empresa que 
incentivou a criação da UML e a primeira a lançar uma ferramenta CASE 
baseada nesta linguagem. 
•	 Visual Paradigma for UML ou VP-UML – Essa ferramenta ofe-
rece uma versão para a comunidade, ou seja, que poderá ser baixada gra-
Técnico em Informáticae-Tec Brasil 12
tuitamente de sua página. Logicamente, esta versão não suporta todas as 
opções disponíveis da versão Standard ou Professional.
•	 Poseidon for UML – Também apresenta uma versão para a comu-
nidade. 
•	 Enterprise Architect – Essa ferramenta não possui versão gra-
tuita, e é uma das que mais oferecem recursos compatíveis com a UML. A 
empresa apenas dispõe de uma versão Trial, que poderá ser utilizada por 
cerca de 60 dias.
 Obrigada, espero que você goste deste curso. Bom estudo!
e-Tec BrasilAnálise e Projetos de Sistemas 13
 Um projeto consiste num esforço temporário com um objetivo pré-
estabelecido, seja para criar um novo produto, serviço ou processo. Tem iní-
cio, meio e fim bem definidos, duração e recursos limitados, numa sequencia 
de atividades relacionadas. 
 Por exemplo, criar um sítio novo, ou redesenhar um sítio já existente, 
é um PROJETO, já atualizar um sítio é um processo operacional permanente, 
não é um projeto. O resultado de um projeto é sempre diferente de outros 
produtos e serviços existentes. 
 - Pode ser um produto tangível: Um livro, uma exposição, um au-
tomóvel.
 - Produto intangível: Um conjunto de processos desenhados para 
a venda online de livros usados.
Capítulo 1
Introdução a Projetos
Objetivos da aula
- Compreender o Conceito de Projeto de Software aplicado à 
WEB.
- Ciclo de Vida dos sistemas e diferentes modelos
Técnico em Informáticae-Tec Brasil 14
1.1 Definições de Sistema
 Sistema consiste em um número de elementos, concretos ou não 
que interagem entre si e com o ambiente como uma unidade de trabalho. 
Pode ser grande e complexo ou relativamente pequeno e simples.
 Um sistema fica inteiramente definido quando se conhecem:
 - Seus objetivos;- Seus limites;
 - Seu funcionamento interno.
1.2 Projetos Web
 O planejamento e o estabelecimento de metodologias para a gestão 
de projeto de um web site são necessários para:
 - Estabelecer uma visão comum sobre os objetivos do site e divulgar 
esta visão a todos os organizadores de modo geral, para que sirvam de refe-
rência aos processos de trabalho.
 - Facilitar os processos de decisão, estabelecer as funções e respon-
sabilidades de cada um dos participantes da equipe.
 - Dimensionar corretamente o orçamento.
 - Monitorar os processos, a equipe, os custos e os prazos.
e-Tec BrasilAnálise e Projetos de Sistemas 15
 - Contratar serviços e adquirir equipamentos, sistemas, programas e 
materiais, se necessário.
 - Fazer o controle da qualidade dos produtos e reduzir o impacto dos 
seus riscos.
 - Controlar e documentar periodicamente a aderência do projeto ao 
seu escopo e aos seus objetivos.
 - Manter o comprometimento dos patrocinadores com os resulta-
dos.
 - Reforçar continuamente a importância dos processos e da revisão 
dos processos de gestão de projetos.
1.2.1 Páginas
 As páginas são documentos de hipertexto, ou seja, possibilita a na-
vegação entre segmentos de texto, o usuário salta de uma informação a 
outra, não necessariamente numa ordem sequencial. Elas estão gravadas em 
servidores da Internet podendo ser acessadas em qualquer parte do mundo. 
Uma página WEB também pode ser chamada de home Page (página princi-
pal). Ao iniciar o browser (navegador), será carregada uma página definida 
na configuração do programa como página inicial.
Figura 1: Página Figura 2: Página
Técnico em Informáticae-Tec Brasil 16
1.2.2 Site (sítio)
 É um conjunto de páginas harmonicamente interligadas, com base 
num endereço-base (URL) único, que podem ser acessadas através de um 
browser.
1.2.3 Portal
 São (sítios) na Internet que servem como ponto de partida para ou-
tros sites ou páginas da Web.
 O portal globo.com, por exemplo, permite que o usuário encontre, 
em uma mesma página, acesso a e-mail, vídeos, notícias, entretenimento, 
esportes, downloads, jogos, rádios, blogs, fotologs, sites de humor e infor-
mações sobre programação de TVs, entre outros serviços e conteúdos.
 A principal função dos portais é conectar pessoas e informações, 
com capacidade de processamento de diversas origens no mesmo ambien-
te.
Figura 3: Página Figura 4: Página
Figura 5: Página Figura 6: Página
e-Tec BrasilAnálise e Projetos de Sistemas 17
1.2.4 e-Business
 De modo geral, a expressão “negócios eletrônicos” se refere à reali-
zação de processos comerciais pela Internet. Mais abrangente que “comércio 
eletrônico”, a expressão inclui o relacionamento entre parceiros comerciais, 
fornecedores, distribuidores, bem como a prestação de serviços a clientes, 
a participação em pesquisas, o desenvolvimento de produtos, as transações 
comerciais automatizadas.
1.2.5 e-Commerce
 O comércio eletrônico consiste na integração das tecnologias da In-
ternet com processos comerciais (verificação de negociações, produção e 
distribuição), para facilitar trocas de produtos, de serviços, capitais, informa-
ções e conhecimento.
Figura 7: Página Figura 8: Página
Figura 9: Página Figura 10: Página
Técnico em Informáticae-Tec Brasil 18
1.3 Entendendo o ciclo de vida de um 
projeto
Preparação: Nesta fase define-se o objetivo do projeto com base nas 
expectativas e se preparam planos preliminares do projeto. Definição 
do problema.
Estruturação: Fase onde se domina o detalhamento dos planos ope-
racionais, organização da equipe e recursos do projeto.
Desenvolvimento: Fase em que os planos são colocados em práti-
ca.
Encerramento: Final do projeto. Neste ponto o projeto deve atingir o 
resultado esperado ou previsto. Deve incluir implantações de soluções, 
manutenção, treinamento.
Figura 11: Página Figura 12: Página
e-Tec BrasilAnálise e Projetos de Sistemas 19
1.4 Modelo de ciclo de Vida
 Os modelos existentes possuem diferentes graus de complexidade 
e sofisticação. Para se desenvolver um projeto simples, com poucas pessoas 
envolvidas, o mais adequado seria um processo simples. Agora, se formos 
desenvolver um projeto sofisticado, com um grande número de pessoas en-
volvidas, milhares de usuários, um processo simples não seria o mais adequa-
do, teríamos algo mais formal e disciplinado.
1.4.1 Modelo de Cascata 
 É o modelo mais antigo, sendo o primeiro a ser conhecido na enge-
nharia de software, e continua sendo implantado até hoje.
 Trata-se de um modelo sequencial, onde cada passo deve ser com-
pletado antes que o próximo seja iniciado. Os nomes de cada passo variam, 
mas basicamente inicia-se com a análise de requisitos, seguindo para a fase 
de desenho, codificação, implementação, testes e manutenção. Um proble-
ma neste modelo é quanto aos requisitos, por ser uma única etapa e estes 
mudarem constantemente. Foi verificada então a necessidade de dar uma 
realimentação aos requistos.
1.4.2 Modelo em Espiral 
 É uma variação do modelo de Cascata. Quem introduziu este mo-
delo foi Barry Boehm em 1988. A imagem do modelo é de uma espiral 
que começa no meio e continuamente revisa as tarefas básicas do usuário: 
comunicação, planejamento, análise de risco, engenharia, construção e im-
plantação, e avaliação do usuário.
Figura 13: Modelo Cascata
Técnico em Informáticae-Tec Brasil 20
1.4.3 Modelo Prototipagem
 Esse modelo constrói uma versão descartável, ou seja, um protótipo. 
Esse protótipo vai testar conceitos e requistos e será usado para demonstrar 
o comportamento aos clientes. Após a concordância dos clientes, o software 
é desenvolvido seguindo as mesmas fases do modelo de Cascata. O esforço 
despendido no protótipo geralmente é compensado pelo não desenvolvi-
mento de características desnecessárias.
1.4.4 Modelo Incremental
 O objetivo era projetar e entregar ao cliente um conjunto mínimo do 
sistema que continuasse a ser um sistema usável. O processo continuará a in-
Figura 14: Modelo Espiral
Figura 15: Modelo Prototipagem
e-Tec BrasilAnálise e Projetos de Sistemas 21
teragir ao longo de todo o ciclo e vida com incrementos adicionais mínimos. 
As vantagens incluem fornecer logo ao cliente um sistema e novas versões 
de trabalho.
1.4.5 Comparação dos modelos
Figura 16: Modelo Incremental
Técnico em Informáticae-Tec Brasil 22
Hora de Praticar! 
1. Por que eu preciso fazer um projeto para meu sítio?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
2. Qual (is) a(s) diferença(s) entre sítios e portais?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
3. Você foi contratado para atualizar um sítio, você necessita de um 
projeto? Explique.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
4. Quais as diferenças entre e-commerce e e-business? Cite exemplos 
de cada um deles.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
e-Tec BrasilAnálise e Projetos de Sistemas 23
5. Como um modelo de ciclo de vida de fases contempla o gerencia-
mento de software?
________________________________________________________________
________________________________________________________________________________________________________________________________
________________________________________________________________
6. O que é um projeto?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
7. Cite, pelo menos, três tipos de projetos.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
8. Para cada um dos seguintes documentos, indique a(s) fase(s) do ciclo 
de vida do software em que são desenvolvidos:
a. Manual final do usuário 
b. Projeto arquitetural 
c. Especificação de módulos 
d. Código fonte 
e. Plano de teste 
Técnico em Informáticae-Tec Brasil 24
f. Manual de usuário preliminar 
g. Projeto detalhado 
h. Estimativa de custo 
i. Plano de projeto 
j. Relatório de teste 
k. Documentação 
9. Ordene as seguintes tarefas em termos do modelo cascata:
a. Teste de aceitação 
b. Planejamento do projeto 
c. Teste de unidade 
d. Revisão dos requisitos 
e. Estimativa de custos 
f. Projeto em alto nível 
g. Projeto em baixo nível 
h. Teste de sistema 
i. Revisão do projeto 
j. Implantação 
k. Especificação de requisitos 
l. Análise de mercado 
e-Tec BrasilAnálise e Projetos de Sistemas 25
10. Explique em detalhes o ciclo de vida de um projeto.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Técnico em Informáticae-Tec Brasil 26
Histórico da UML
 A UML começou a ser definida a partir de uma tentativa de Jim Rum-
baugh e Grady Booch de combinar dois métodos populares de modelagem 
orientada a objeto: Booch e OMT (Object Modeling Language). Mais tarde, 
Ivar Jacobson, o criador do método Objectory, uniu-se aos dois, para a con-
cepção da primeira versão do método UML (Unified Modeling Language).
Capítulo 2
UML – Linguagem de Modelagem
Unificada
Objetivos da aula
- Compreender os conceitos básicos da UML.
- Assimilar o paradigma da orientação à objetos.
Figura 17: UML
e-Tec BrasilAnálise e Projetos de Sistemas 27
2.1 Características
 A UML não é uma linguagem de programação e sim uma linguagem 
de modelagem de sistemas computacionais por meio da orientação a obje-
tos. Pode ser empregada para visualizar, especificar, construir e documentar 
os artefatos de sistemas de software.
 Os objetivos da UML são:
 - Descrever qualquer tipo de sistema através dos diagramas orienta-
dos a objetos;
 - Estabelecer uma união fazendo com que métodos conceituais se-
jam também executáveis;
 - Criar uma linguagem de modelagem usável tanto pelo homem 
quanto pela máquina.
 A UML abrange todas as fases do sistema, desde a fase de especifi-
cação de requisitos até a fase de testes.
 Vamos lá: Imagine que você vai construir uma casa sem uma planta, 
simplesmente com as ideias da sua cabeça. Posso dizer que é impossível não 
é? Obviamente, você deverá ter um projeto muito bem elaborado, com os 
cálculos precisos, estimativas de custos, prazos, quantidade de material, etc. 
Afinal você é o responsável pela obra, e qualquer problema você terá que 
arcar com as consequências não é mesmo?
Técnico em Informáticae-Tec Brasil 28
 Com isso posso dizer que é impossível desenvolver um sistema sem 
antes sabermos sua arquitetura. 
 Existem 05 fases para o desenvolvimento da UML:
1. Análise de Requisitos: Você terá que entender o funcionamento 
do sistema e para isso deverá realizar várias entrevistas com seu cliente para 
coletar essas informações. 
2. Análise: Agora você terá que analisar todos os dados levantados. 
Saber se as necessidades do seu cliente foram na realidade bem compre-
endidas. Caso contrário, poderá ocorrer de ter que modelar novamente o 
sistema já em andamento, e até mesmo, em alguns casos, partir do zero. 
Com isso, já teve sérios problemas quanto ao prazo estipulado.
3. Projeto: Consiste em desenvolver um “rascunho” do que seria seu 
sistema. Hoje em dia é muito mais fácil desenvolver protótipos utilizando as 
linguagens de programação visual como Visual Studio. Com isso você apre-
sentará o seu protótipo ao seu cliente para que ele tenha uma visão geral do 
funcionamento do sistema e verifique se está de acordo com as expectati-
vas.
4. Programação: é nesta fase que você deverá escolher qual lingua-
gem irá utilizar e transformar seu protótipo em código.
5. Testes: Agora, você terá que testar seu sistema inúmeras vezes para 
ver se ele está em total funcionamento. Por fim, apresentará ao seu cliente 
para que ele realize os últimos testes e diga se está em perfeito funciona-
mento.
e-Tec BrasilAnálise e Projetos de Sistemas 29
2.1.1 Diagramas Utilizados
 O objetivo era projetar e entregar ao cliente um conjunto mínimo do 
sistema que continuasse a ser um sistema usável. O processo continuará a in-
teragir ao longo de todo o ciclo e vida com incrementos adicionais mínimos. 
As vantagens incluem fornecer logo ao cliente um sistema e novas versões 
de trabalho.
 Descreverei agora de forma resumida, todos os diagramas da UML 
versão 2.0. Depois iremos ver com detalhes os quatro diagramas mais utili-
zado na UML (Caso de Uso, Classes, Atividades e Sequencia).
•	 Diagrama	de	Caso	de	Uso
 Representam as funções do sistema do ponto de vista do usuário. 
São representados através de atores e casos de uso. Sua representação deve 
deixar bem transparente a ideia do sistema.
•	 Diagrama	de	Classes
 É o mais importante da UML, serve de apoio para a maioria dos 
diagramas. Esse diagrama define a estrutura das classes de um sistema, de-
Figura 18: Diagrama UML
Técnico em Informática30
terminando os atributos e métodos pertencentes a cada classe, além de es-
tabelecer como as classes se relacionam e trocam informações entre si.
•	 Diagrama	de	Atividades
 Esse diagrama preocupa-se em descrever os passos a serem percorri-
dos para a conclusão de uma atividade específica.
•	 Diagrama	de	Sequencia
 O diagrama de Sequencia é a troca de mensagens entre os objetos 
de um determinado processo.
•	 Diagrama	de	Objetos
 Ele é um complemento do diagrama de Classes. Nos mostra os valo-
res armazenados pelos objetos de um diagrama de Classes na execução de 
um determinado processo.
•	 Diagrama	de	Estrutura	Composta
 É utilizado para descrever a colaboração interna das classes, interfa-
ces ou componentes para especificar uma funcionalidade.
•	 Diagrama	de	Comunicação
 Na versão anterior da UML era chamado de Diagrama de Colabo-
ração, e a partir da versão 2.0 passou a ser Diagrama de Comunicação. Ele 
está associado ao diagrama de Sequência, na realidade, um complementa o 
outro. Tem um enfoque com a temporalidade do processo.
e-Tec BrasilAnálise e Projetos de Sistemas 31
•	 Diagrama	de	Máquina	de	Estados
 Na versão anterior da UML era chamado de Diagrama de Gráfico de 
Estados. Ele é voltado em acompanhar as mudanças sofridas nos estados 
de uma instância de uma classe, de um Caso de Uso ou até mesmo de um 
sistema completo.
•	 Diagrama	de	Componentes
 Ele está associado à linguagem de programação escolhida para o 
desenvolvimento do sistema modelado. Pode ser utilizado para modelar o 
código-fonte, a estrutura física de Banco de Dados, até mesmo as interfa-
ces.
•	 Diagrama	de	Implantação
 Esse Diagrama determina as necessidades de hardware do sistema, 
as características físicas como servidores, estações, topologias e protocolos 
de comunicação, ou seja, toda a parte física onde o sistema será executa-
do.
•	 Diagrama	de	Pacotes
 Representa ossubsistemas ou submódulos de um sistema determi-
nando as partes que o contém.
•	 Diagrama	de	Interação	Geral
 É uma variação do Diagrama de Atividade. Esse diagrama passou a 
existir a partir da UML 2.0. Ele engloba diversos tipos de diagramas de inte-
ração para demonstrar um processo geral.
•	 Diagrama	de	Tempo
 É utilizado para demonstrar a mudança no estado de um objeto no 
tempo em resposta a eventos externos.
2.2. Orientação a Objetos
 Antes de começarmos a desenvolver um sistema orientado a obje-
Técnico em Informática32
tos, é necessário “pensar orientado a objetos”! Mas o que é isso??
 Um objeto é uma instância (criação) de uma classe. É uma abstração 
de “coisas” do mundo real, como pessoas, animais, carros, etc. Esses objetos 
possuem características (atributos), como andar, falar, altura, peso, raça, cor, 
marca, etc.
 Mas o que é abstração? Segundo o dicionário é o “ato de separar 
mentalmente um ou mais elementos de uma totalidade complexa (coisa, 
representação, fato), os quais só mentalmente podem subsistir fora dessa 
totalidade; o resultado de abstrações (termo, conceito, ideia, elemento da 
classe, etc.)”. Traduzindo para o nosso “mundo programático” significa ex-
trair as ideias mais importantes de um objeto, descartando o restante. 
 Quando instanciamos um objeto, ele adquire um espaço em memó-
ria para armazenar seu estado (valores de seus atributos) e um conjunto de 
operações que podem ser aplicadas ao objeto.
2.2.1 Classes
 São categorias, e os objetos são membros ou exemplos dessa cate-
goria. São formadas basicamente por métodos e atributos. Por exemplo:
Figura 19: Objetos do Mundo Real
e-Tec BrasilAnálise e Projetos de Sistemas 33
 A classe é representada por um retângulo que pode ter até três di-
visões. A primeira armazena o nome da classe, a segunda os atributos per-
tencentes à classe e a terceira os métodos que a classe possui. Veja um 
exemplo:
2.2.2 Atributos
 Representam as características de uma classe. Também são conhe-
cidas como propriedades. Essas características nos permitem diferenciar um 
objeto de outro da mesma classe devido tais variações. Por exemplo:
•	 Atributos	de	uma	Classe	Pessoa:
 - Nome da pessoa;
Técnico em Informáticae-Tec Brasil 34
 - Altura da pessoa;
 - Peso da pessoa.
 Os atributos possuem algumas características importantes, como vi-
sibilidade, nome, tipo de dado e valor inicial. A visibilidade de um atributo 
pode ser:
•	 Pública: É representada pelo sinal de adição (+), apresentado na 
frente do nome do atributo ou método e significa que o atributo é acessível 
(“enxergado”) por outras classes. 
•	 Privado: É representada pelo símbolo de subtração (-) e significa 
que o atributo é acessível apenas pela própria classe.
•	 Protegida: É representada pelo símbolo sustenido (#) e significa 
que o atributo é acessível somente pela própria classe e suas subclasses.
O tipo de dado e o valor inicial dependem da linguagem de programação 
utilizada no modelo. O valor inicial refere-se a um valor definido automatica-
mente quando o objeto for iniciado (criado). Veja a representação na figura 
16.
2.2.2.1 Métodos
 São os comportamentos ou ações que um objeto de uma classe pode 
executar. Assim, os métodos são conjuntos de instruções que são executadas 
quando o método é chamado. 
Exemplo:
 Um método pode ou não receber parâmetros (valores que são uti-
lizados durante a execução do método) e, em geral, pode ou não retornar 
valores. Esses parâmetros são colocados entre os “parênteses” do método.
e-Tec BrasilAnálise e Projetos de Sistemas 35
 Um método possui como características: visibilidade, nome, lista de 
parâmetros e tipo de retorno. O tipo de argumentos e de retorno depende 
da linguagem de programação adotada.
2.2.3 Herança
 É uma característica poderosa na orientação a objetos. Com ela você 
pode reaproveitar os atributos e métodos existentes em uma classe, redu-
zindo o tempo de desenvolvimento, além de reduzir também as linhas de 
código e facilitar futuras manutenções.
 Vamos fazer um exemplo:
 Digamos que você queira desenvolver um sistema de Transportes. 
Primeiramente você criaria uma superclasse ou classe mãe chamada de “Vei-
culo”, por exemplo, e nela definiria todos os atributos e métodos comuns 
aos demais veículos. Depois criaria as subclasses ou classes filhas ou deriva-
das, como “Ônibus”, “Carro”, “Caminhão”, e em cada uma delas você de-
finiria os atributos e métodos específicos de cada classe. Portanto, com isso, 
você não necessita repetir código quando programar as classes derivadas, 
pois elas estariam herdando todas as características definidas na superclasse. 
Exemplo:
Técnico em Informáticae-Tec Brasil 36
2.2.4 Polimorfismo
 É a capacidade de objetos diferentes possuírem operações com o 
mesmo nome e a mesma lista de argumentos, mas que executam tarefas de 
formas diferentes. 
Exemplo:
 O método acelerar da classe Veículo poderá ser chamado pela classe 
Carro, como também por outra classe Bicicleta. As duas classes aceleram, 
mas de maneira diferente, pois o carro depende do motor para acelerar e a 
bicicleta depende dos pedais.
Sobrecarga de Métodos
 É quando você tem uma ação que pode ter diferentes dados de en-
trada, mas com um mesmo resultado. Para solucionar esse problema na 
orientação a objetos, você poderá criar vários métodos com o mesmo nome 
que executam a mesma ação, cada um possuindo um tipo de dado de en-
trada diferente, mas fornecendo a mesma reposta. Isso também pode ser 
considerado Polimorfismo.
Exemplo:
 O método soma que poderia estar utilizando variáveis inteiras ou re-
Figura 22: Representação da Herança
e-Tec BrasilAnálise e Projetos de Sistemas 37
ais, e retorna como resultado a soma dos dois números fornecidos na forma 
de um número real. Vejamos como ficaria isso na forma de pseudocódigo:
 Alguns autores trabalham com a possibilidade dos métodos sobre-
carregados possuírem tipos de dados de retorno diferentes, referenciando-
os como falso-polimorfismo.
2.2.5 Encapsulamento
 É o ato de “esconder” informações, ou seja, determinados detalhes 
ficam ocultos aos demais e dizem respeito apenas ao próprio objeto. Por 
exemplo:
 No exemplo Veículo, como funciona o método aceleração não nos 
diz respeito. Não interessa ao motorista como é o funcionamento interno 
do motor, isso é responsabilidade do projetista do veículo. O motor de um 
carro 0 km é certamente bastante diferente do motor do carro fabricado 30 
anos atrás. Mas não precisamos reaprender a dirigir por causa disso, pois a 
aceleração continua a mesma.
 A grande vantagem do encapsulamento é o isolamento dos dados. 
Vamos usar como exemplo uma classe Pessoa, onde qualquer aplicação po-
derá usar a classe para instanciar (criar) objetos, mas jamais terá acesso à 
forma de como é definido o nome da pessoa por exemplo. 
Técnico em Informáticae-Tec Brasil 38
Hora de Praticar! 
1. O que é UML? Qual a sua finalidade?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
2. Quais são as fases do desenvolvimento da UML? Explique cada uma 
delas.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
3. Explique o porquê da necessidade de se modelar um sistema.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
4. Existem no total, treze diagramas da UML, eu preciso utilizar todoseles para modelar um sistema? Explique.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
e-Tec BrasilAnálise e Projetos de Sistemas 39
5. Diferencie Classe e Objeto.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
6. Quais são os componentes de uma classe? Explique cada um deles.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
7. O que torna uma linguagem de programação Orientada a Objetos?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
8. Quais as vantagens de utilizar Herança?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Técnico em Informáticae-Tec Brasil 40
9. Quais as vantagens do Encapsulamento?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
10. Defina Sobrecarga de Métodos.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
e-Tec BrasilAnálise e Projetos de Sistemas 41
 No capítulo anterior vimos que o Diagrama de Caso de Uso é visto 
sob a perspectiva do usuário. Essencial para análise, implementação, testes 
e plano do desenvolvimento do sistema. Por isso, veremos esse diagrama de 
forma detalhada.
 Os diagramas de Casos de Uso concentram-se em dois itens princi-
pais: Atores e Casos de Uso.
3.1 Atores
 Os atores representam os papéis desempenhados pelos diversos usu-
ários que poderão utilizar o sistema, podendo também representar um har-
dware e até mesmo outro software.
 São representados através de “bonecos”, contendo uma breve des-
crição do seu significado abaixo do seu símbolo.
Capítulo 3
Diagrama de Caso de Uso
Objetivos da aula
- Compreender os componentes e a utilização dos casos de 
uso.
Figura 23: Modelo de Atores
Técnico em Informáticae-Tec Brasil 42
3.2 Casos de Uso
 Representam as tarefas, serviços ou funções que podem ser utili-
zados pelos usuários do sistema, como emitir um relatório ou cadastrar a 
venda de um produto.
 Podemos associar também um caso de uso com uma tela do sistema, 
mas isso não é uma regra, podendo também abranger várias telas de um 
sistema, como até mesmo um botão.
 São representados por uma elipse, contendo dentro dela um texto 
com sua descrição do tipo de serviço a que se refere.
3.3 Documentação de Casos de Uso
 Através de uma linguagem bem informal, descrevemos a interação 
dos autores, as funções dos casos de uso, quais etapas são executadas pelo 
autor e pelo sistema para que o caso de uso execute sua função.
 Não existe um formato específico para essa documentação, sendo 
bastante flexível, fazendo com que usuários leigos consigam entender o fun-
cionamento do sistema. 
 Um exemplo de documentação do Caso de Uso Devolução de Livros 
(sistema de Biblioteca):
Figura 24: Exemplo de Caso de Uso
e-Tec BrasilAnálise e Projetos de Sistemas 43
3.4 Associação
 Casos de uso e atores interagem entre si enviando sinais um ao ou-
tro, indicamos isso num diagrama através de associações. Uma associação 
serve para mostrar quais atores se comunicam com o caso de uso.
 A associação entre um Ator e um Caso de Uso é representada por 
uma reta ligando o Autor ao Caso de Uso. Essa associação tem uma proprie-
dade de navegabilidade, ou seja, o sentido que as informações trafegam. Se 
por exemplo for representado apenas por uma reta, significa que o tráfego 
de informações é dos dois lados, bidirecional. Se for representado por uma 
seta, e ela apontar para o autor, significa que o autor inicia a interação; se 
ela apontar para o caso de uso, significa que ele inicia a interação.
Figura 25: Associação
Técnico em Informáticae-Tec Brasil 44
3.5	Generalização	-	Especialização
 É quando existe uma associação entre dois ou mais atores ou dois ou 
mais casos de uso. 
 Num processo de identificação dos atores, por abstração, você des-
cobre que um ator pode exercer vários papéis em relação ao sistema. Assim, 
você poderá representar um ator que herda vários autores. O mesmo ocorre 
aos casos de uso.
 Observando a Figura 26, podemos dizer que o ator “Física” é uma 
especialização de “Pessoa”, bem como, “Pessoa” é uma generalização de 
“Jurídica”. O mesmo raciocínio se aplica aos casos, da Figura 27, podemos 
dizer que “Conta Especial” é uma especialização de “Conta”, e “Conta” é 
uma generalização de “Conta Especial” e de “Conta Comum”.
Figura 26: Exemplo de Especialização entre autores
Figura 27: Exemplo de Especialização entre Casos de Uso
e-Tec BrasilAnálise e Projetos de Sistemas 45
3.6 Inclusão
 Os relacionamentos de inclusão ocorrem quando existe um serviço, 
situação comum a mais de um caso de uso. Indicam uma obrigatoriedade, 
ou seja, a execução do primeiro obriga também a execução do segundo.
 É representada por uma seta tracejada com uma seta em uma das 
suas extremidades, apontando para o caso incluído. Além disso, costumam 
apresentar um Estereótipo (destaque) que contém o texto “include”, en-
tre dois sinais de << (menor) e dois sinais de >> (maior). 
 De acordo com o caso de uso representado acima podemos verificar 
que sempre que houver um saque ou um depósito deverá fazer um registro 
de movimento. Portanto, o caso de uso Registrar Movimento será executado 
obrigatoriamente sempre que o caso de uso Depósito ou Saque forem utili-
zados.
3.7 Extensão
 São utilizados para descrever cenários opcionais de um caso de uso, 
ou seja, poderá ou não acontecer. A representação de uma extensão é bas-
tante semelhante à associação de inclusão, diferenciando-se apenas o do 
estereótipo conter o texto “extend” em vez de “include” e na direção 
da seta.
Figura 28: Exemplo de Inclusão
Técnico em Informáticae-Tec Brasil 46
 No exemplo acima, um cliente vai até o funcionário de um banco e 
solicita o encerramento de sua conta. Como todos sabem, para podermos 
encerrar uma conta é necessário que o saldo da conta seja igual a zero. Por-
tanto, neste caso, o caso de uso Encerrar Conta verifica o saldo da conta, 
estando positivo, o cliente fará um saque para zerar sua conta e consequen-
temente encerrá-la, portanto acionando o caso Saque. Se a conta estiver ne-
gativa, acionará o caso de uso Depósito para que o cliente deposite o valor 
necessário para poder zerar a conta e encerrá-la.
3.8 Elementos comuns a todos os diagra-
mas da UML
3.8.1 Notas
 Uma nota é um componente existente na maioria dos diagramas 
da UML. Sua função é apresentar um texto explicativo a respeito de um de-
terminado componente do diagrama. São representadas por um retângulo 
com uma dobra no canto superior direito, e são ligadas aos componentes 
através de uma linha tracejada, chamada âncora.Figura 29: Exemplo de Extensão
Figura 30: Exemplo de Notas
e-Tec BrasilAnálise e Projetos de Sistemas 47
3.8.2 Pacotes
 Organizam elementos em grupos e costumam ser utilizados na mo-
delagem de sistemas muito extensos, principalmente quando existem vários 
sistemas ou subsistemas integrados. Ele é utilizado para estruturar o modelo 
de caso de uso, dividindo-o em partes menores, mais fáceis de entender. 
Possibilita também organizar a distribuição dos trabalhos e responsabilida-
des dos desenvolvedores de acordo com a área de competência de cada 
membro da equipe em um ambiente de desenvolvimento paralelo.
 São representados por um retângulo grande com uma aba, seme-
lhante a uma pasta de trabalho. A visibilidade de um elemento de pacote 
pode ser indicada por um símbolo de adição “+” para o público e de subtra-
ção “-“ para o privado. 
Figura 31: Exemplo de Pacotes
Técnico em Informáticae-Tec Brasil 48
Hora de Praticar! 
1. Desenvolva um Diagrama de Casos de Uso para um sistema de vi-
deolocadora equivalente ao módulo de locação de fitas de filmes de acordo 
com as seguintes afirmações:
a. Ao realizar uma locação, o sócio deve primeiro informar seu código 
para que o atendente possa verificar se o mesmo se encontra cadastrado. 
Se o sócio não estiver cadastrado, então a locação deverá ser recusada, e o 
sócio será informado de como proceder para se cadastrar. Caso esteja ca-
dastrado, o atendente deve verificar se o sócio em questão já devolveu todas 
as locações feitas anteriormente. Se não o tiver feito, a locação deverá ser 
recusada.
b. Caso o sócio tenha quitado todas as locações anteriores, então este 
deverá informar os números das cópias dos filmes que deseja locar. Em se-
guida, o atendente registrará a locação e fornecerá as cópias em questão ao 
sócio.
c. É responsabilidade do atendente realizar a manutenção dos filmes 
e de suas respectivas cópias. Registrando os novos filmes adquiridos pela 
locadora, por exemplo.
2. Desenvolva um Diagrama de Casos de Uso para um sistema de cur-
sos de informática equivalente ao módulo de matrícula de acordo com os 
seguintes fatos:
a. O aluno primeiramente solicita informações ao atendente sobre quais 
cursos a empresa oferece. Se o aluno se interessa por algum deles, pedirá 
informações a respeito de quais turmas do curso em questão encontra-se 
em aberto, qual o horário em que as aulas serão ministradas, a data prevista 
para início das aulas e o mínimo de alunos necessários para que uma turma 
inicie o curso.
b. Caso o horário de alguma turma seja compatível com os horários 
do aluno, este realizará a matrícula em uma turma relativa ao curso em que 
se interessou. Caso o aluno nunca tenha feito nenhum curso na empresa 
e, portanto não esteja cadastrado, deverá ser registrado antes de realizar a 
e-Tec BrasilAnálise e Projetos de Sistemas 49
matrícula.
3. Desenvolva um Diagrama de Casos de Uso para um sistema de ven-
da de passagens aéreas pela internet, equivalente ao módulo de compra de 
passagens por um cliente, levando em consideração os seguintes fatos:
a. O Cliente deve selecionar o local de origem (cidade e aeroporto de 
onde partirá) do voo e o local de destino, informando ainda se deseja uma 
passagem só de ida ou de ida e volta. Em seguida o cliente deve selecionar 
a data de partida e, se tiver optado por ida e volta, a data de retorno.
b. Em seguida, o cliente deve pressionar o botão consultar (se as opções 
que lhe foram apresentadas o satisfizeram, pode acontecer de não haver 
vôos para a cidade desejada, caso em que o cliente será obrigado a desistir), 
para visualizar os horários e classes (econômico, executivo, etc.) disponíveis 
do voo desejado.
c. Caso o cliente esteja de acordo com o horário e o preço de algum 
dos voos apresentados, então ele deve pressionar o botão comprar passa-
gens, onde selecionará as poltronas disponíveis, bem como o número de 
parcelas com que deseja pagar a passagem.
4. Elabore um Diagrama de Caso de Uso para um Sistema On-line de 
Controle de uma Agência de Turismo que possui as especificações a seguir.
a) O cliente poderá fazer pesquisa de preços, reservar passagens e com-
prar passagens;
b) O atendente poderá lançar preços de passagens, efetivar venda de 
passagens, sendo que após a efetivação da venda poderá, eventualmente, 
emitir nota fiscal;
c) O gerente efetua as operações de acompanhamento de vendas, le-
vantamento de frequência dos funcionários.
d) A venda de passagens pode ser via depósito bancário, cartão de cré-
Técnico em Informáticae-Tec Brasil 50
dito, ou transferência on-line.
5. Identifique os atores e casos de uso em cada um dos planos de dis-
curso a seguir.
a) “… o sistema possibilita ao cliente atualizar seus dados cadastrais 
acessando o site na internet…”.
b) “… o caixa eletrônico permitirá ao associado da cooperativa emitir 
um extrato da sua conta, bem como retirar ou depositar uma quantia finan-
ceira na sua conta…”.
c) “… a secretária pode importar o Registro Acadêmico dados dos alu-
nos do sistema administrativo, desde que informe o seu login e senha…”.
6. De acordo com a imagem a seguir responda:
a) Descreva as funcionalidades que o sistema é capaz de realizar.
b) Identifique os erros, e justifique o seu ajuste.
c) Construa um novo diagrama de caso de uso corrigindo os erros.
e-Tec BrasilAnálise e Projetos de Sistemas 51
 Esse diagrama é utilizado para modelar atividades, que podem ser 
um método ou um algoritmo, ou até mesmo um processo completo.
 O diagrama de atividades é o diagrama com maior ênfase ao nível de 
algoritmo da UML e provavelmente um dos mais detalhistas. Ele apresenta 
muitas semelhanças com os antigos fluxogramas, sendo comum encontrar-
mos diagramas de Atividades utilizando pseudocódigo ou até mesmo uma 
linguagem de programação real como C ou Pascal.
 O diagrama de Atividades baseia-se no conceito de Rede de Petri, 
um modelo gráfico que permite analisar a estrutura e o comportamento 
dinâmico de sistemas concorrentes, paralelos, etc.
4.1 Nós de Ação
 Representa um passo, uma etapa que deve ser executada em uma 
atividade. Um nó de ação não pode ser decomposto, ele é atômico. Um nó 
de ação não possui ações internas e sua execução é considerada tão rápida 
que não pode ser interrompida. É representado por um retângulo com bor-
das arredondadas, conforme mostrado na figura 28.
Capítulo 4 
Diagrama de Atividades
Objetivos da aula
- Compreender os componentes e o uso dos diagramas de 
classe.
Figura 32: Nós de Ação
Técnico em Informáticae-Tec Brasil 52
4.2 Nó Inicial
 É utilizado para representar o início da Atividade, e é representado 
por um círculo preenchido.
4.3 Nó Final
 É utilizado para representar o final da Atividade, e é representado 
por um círculo preenchido dentro de um vazio.
4.4 Nó de Decisão
 É também um de nó de controle, utilizado para representar uma 
escolha entre dois ou mais fluxos. É uma tomada de decisão, onde de acor-
do com essa decisão, o fluxo optará por executar um determinado fluxo ou 
conjunto de Nós de Ação. Um Nó de Decisão é representado por um símbolo 
de losango.
Figura 33: Nó Inicial
Figura 34: Nó Final
e-Tec BrasilAnálise e Projetos de Sistemas 53
 Ao analisarmos a Figura 31, veremos que ao ser solicitado os dados 
para efetuar o login serão analisados e se estiverem corretos será validado. 
No caso dos dados não estarem corretos irá para o final.
4.5 Exemplo de Diagrama de Atividade 
para consulta de uma Conta
 A consulta de uma conta inicia com o recebimento do número da 
conta que se deseja consultar. Na segunda etapa do algoritmo, tenta-se en-
contrar uma conta com um número igual ao informado. Na terceira etapa 
toma-se uma decisão, caso tenha-se encontrado uma conta com um número 
informado. Então será apresentada na tela uma mensagem de conta válida; 
caso contrário, surgirá na tela uma mensagem de conta inválida. Note que é 
utilizado um símbolo de decisãotambém para unir o fluxo de controle sepa-
Figura 35: Nó de Decisão
Figura 36: Diagrama de Atividades
Técnico em Informáticae-Tec Brasil 54
rado pelo ponto decisão anterior, e, a partir deste, o diagrama é finalizado.
e-Tec BrasilAnálise e Projetos de Sistemas 55
Hora de Praticar! 
 Vamos dar continuidade às modelagens anteriores dos sistemas já 
iniciados, enfocando agora, Diagrama de Atividades.
1. Desenvolva o Diagrama de Atividades para o sistema de videoloca-
dora (1º exercício do módulo de Diagrama de Caso de Uso).
2. Desenvolva o Diagrama de Atividades para o sistema de Cursos de 
Informática (2º exercício do módulo de Diagrama de Caso de Uso).
3. Desenvolva o Diagrama de Atividades para o sistema de venda de 
passagens aéreas pela internet (3º exercício do módulo de Diagrama de Caso 
de Uso).
Técnico em Informáticae-Tec Brasil 56
 Este diagrama faz parte de um grupo conhecido como Interação de 
Objetos, composto pelo diagrama de Sequência e pelo diagrama de Cola-
boração, procura determinar a sequencia de eventos que ocorrem em um 
determinado processo, identificando quais métodos devem ser disparados 
entre os atores e objetos envolvidos e em que ordem.
 O diagrama de Sequência baseia-se no diagrama de Caso de Uso, 
mas nem sempre um caso de uso gera um diagrama de Sequência.
 Vejamos agora os componentes utilizados em um diagrama de Se-
quência.
5.1 Atores
 São os mesmos do diagrama de Caso de Uso, ou seja, entidades 
externas que interagem com o sistema. Sua representação são os bonecos 
só que agora com uma linha de Vida, que nada mais é o tempo em que o 
objeto existiu durante o processo. Elas são representadas por linhas finas 
verticais tracejadas, partindo do retângulo que representa o objeto. A Linha 
de Vida é interrompida com um “X” quando o objeto é destruído.
Capítulo 5 
Diagrama de Seqüência
Objetivos da aula
- Compreender os componentes e o uso dos diagramas de 
sequencia.
e-Tec BrasilAnálise e Projetos de Sistemas 57
5.2 Objetos
 Representam as instâncias das classes. Ele pode existir desde o início 
do processo ou ser criado durante o decorrer da execução do mesmo. São 
representados como retângulos contendo um texto com o nome do objeto 
em minúsculo, e depois o nome da classe, com a inicial maiúscula, a qual o 
objeto pertence. Essas duas informações são separadas por (:) dois pontos. 
Também possuem uma linha de Vida, representada por uma linha tracejada 
que surge abaixo do objeto.
5.3 Foco de Controle ou Ativação
 Identifica os momentos em que um objeto está executando um ou 
mais métodos utilizados em um processo específico. São representadas por 
uma linha tracejada mais grossa.
Figura 37: Exemplo de Ator
Figura 38: Exemplo de Objeto
Técnico em Informáticae-Tec Brasil 58
5.4 Mensagens
 São provocadas pelos eventos e pode conter uma descrição, uma 
chamada de um método ou ambos. As mensagens podem ser disparadas 
entre:
•	 Dois	autores,	o	que	não	é	muito	comum,	pois	pode	deixar	os	diagra-
mas mais extensos;
•	 Um	ator	e	um	objeto;
•	 Dois	objetos;
•	 Um	objeto	e	um	ator.
 As mensagens são representadas por retas entre dois componentes 
envolvidos, contendo uma seta para indicar qual objeto ou ator disparou a 
mensagem para outro objeto.
 Os textos contidos nas mensagens primeiramente identificam qual 
evento ocorreu e forço o envio da mensagem e qual método foi chamado. 
Elas são representadas na posição horizontal entre as linhas de vida dos 
componentes, e sua ordem sequencial é demonstrada de cima para baixo 
no diagrama, além de possuírem uma numeração identificadora da tempo-
Figura 39: Exemplo de Linha de Vida e Foco de Controle
e-Tec BrasilAnálise e Projetos de Sistemas 59
ralidade em que foram sendo disparadas.
 Uma mensagem que chama um método em um objeto é representa-
da por uma reta contendo uma seta grossa, enquanto que a mensagem que 
identifica apenas a ocorrência de um evento, sem especificar a chamada de 
um método, possui uma seta fina.
 Ao compararmos as duas figuras, podemos perceber que a mensa-
gem trocada entre os atores da figura 40a é representada por uma seta fina, 
enquanto que a mensagem entre os objetos da figura 40b é representada 
por uma seta grossa, pois ela dispara um método. 
 Uma mensagem também pode representar um método destrutor, ou 
seja, um método que elimina um objeto que não é mais necessário.
5.5 Mensagens de retorno
 É a resposta a uma mensagem para um objeto ou um ator que a 
Figura 40: Mensagem Simples e Mensagem com Disparo de Método
Figura 41: Mensagem com disparo de método destrutor
Técnico em Informáticae-Tec Brasil 60
chamou. Pode retornar informações específicas do método chamado ou 
simplesmente um valor indicando se o método foi executado com sucesso 
ou não. São representadas por uma seta tracejada contendo uma seta fina 
que aponta para o objeto ou o ator que recebe o resultado de um método 
posicionando na outra extremidade da reta.
5.6 Autochamadas ou Autodelegações
 São mensagens que um objeto envia para si mesmo; ela parte do 
objeto e atinge o próprio objeto.
Figura 42: Mensagem de retorno
Figura 43: Autochamada
e-Tec BrasilAnálise e Projetos de Sistemas 61
5.7	Condições	de	Guarda
 Indica que a mensagem só poderá ser enviada se a condição for ver-
dadeira. Essas condições são descritas entre colchetes.
 Analisando a figura 43, podemos perceber que o método Gravar só 
será disparado se for considerado necessário, conforme demonstra o texto 
entre os colchetes na mensagem.
 Associada às Condições de Guarda, é possível representar o disparo 
de uma mensagem a vários objetos, utilizando o símbolo de asterisco (*), e 
deverá estar posicionado antes da Condição de Guarda.
Figura 44: Condição de Guarda
Figura 45: Mensagem enviada a vários objetos
Técnico em Informáticae-Tec Brasil 62
 Como podemos ver, um pedido pode conter muitos itens de pedido. 
Assim, caso o pedido seja confirmado, cada um dos seus itens precisa ser 
gerado. 
5.8 Exemplo de Diagrama de Sequência
 Analisando a figura 43, o cliente solicita o pedido de abertura de 
conta, com a devida documentação necessária exigida pelo banco. O banco, 
que está representado pelo funcionário, irá consultar o cadastro de clientes, 
disparando o método ConCPF na classe Física e passando como parâmetro 
o CPF do cliente, para verificar se já se encontra cadastrado. Se ele estiver 
cadastrado, a consulta retornará as informações do cliente, caso contrário 
retornará um valor significando que o cliente ainda não possui cadastro no 
banco.
Em seguida, o cadastro do cliente poderá ser atualizado, caso necessário, 
podendo gerar uma nova instância da classe Cliente, se o solicitante não 
estiver cadastrado.
 Antes de finalizar a atualização do cliente, algumas consistências de-
vem ser levadas a efeito, uma delas é o disparo do método para validação 
do CPF pelo próprio objeto da classe cliente. Após o término da atualização, 
o objeto da classe cliente retornará algum sinal para o funcionário do banco, 
indicando que o cliente foi atualizado com sucesso ou se ocorreu algum 
erro. 
 O banco irá, então, informar ao cliente se o seu pedido foi ou não 
aprovado. Em caso de aprovação, o cliente irá fornecer o valor inicial neces-
Figura 46: Exemplo de Abertura de Contas
e-Tec BrasilAnálise e Projetos de Sistemas 63
sário para a abertura da conta e escolherá a senha para consultar a conta. O 
banco irá então disparar o método para Abertura na classe Conta Comum 
para abrir uma nova conta, gerando uma nova instância da classe Conta Co-
mum, ou seja, um objeto Conta Comum. A geração de uma nova instância 
da classe conta comum identifica um método construtor, representado pelo 
método Abertura neste caso.
 Após ter sido criado pela chamada Abertura, o objeto conta1 irá dis-
parar o método Gravar para gerar uma nova instância da classe Histórico, de 
maneira a registrar o movimento gerado pela abertura da conta,pois, para 
abrir uma conta, o banco exige que o cliente deposite algum valor. O méto-
do Gravar retornará, então, um sinal indicando que o movimento foi regis-
trado com sucesso e o método Abertura disparado na classe Conta Comum, 
por sua vez, retornará o número da conta gerada, indicando que a conta foi 
criada com sucesso e finalizando o processo de abertura de conta.
Hora de Praticar! 
 Vamos dar continuidade às modelagens anteriores dos sistemas já 
iniciados, enfocando agora, Diagrama de Sequência.
1. Desenvolva o Diagrama de Sequência para o sistema de videoloca-
dora (1º exercício do módulo de Diagrama de Caso de Uso).
2. Desenvolva o Diagrama de Sequência para o sistema de Cursos de 
Informática (2º exercício do módulo de Diagrama de Caso de Uso).
3. Desenvolva o Diagrama de Sequência para o sistema de venda de 
passagens aéreas pela internet (3º exercício do módulo de Diagrama de Caso 
de Uso).
Técnico em Informáticae-Tec Brasil 64
 O diagrama de Classe mostra a estrutura estática do modelo, em 
que os elementos são representados por classes, com sua estrutura interna 
e seus relacionamentos. Também podem organizados em pacotes, mostran-
do somente o que é relevante em um pacote específico, considerando, por 
exemplo, o contexto que um grupo de classes tem em comum (estoque, 
venda, etc.), ou os atores que utilizem seus serviços (vendedor, almoxarife, 
etc.).
 É o diagrama mais utilizado da UML. Pode ser utilizado para modelar 
o modelo lógico de um Banco de Dados, quando se assemelha aos antigos 
Modelos Entidade-Relacionamento.
 É importante destacar a existência de Classes persistentes e não per-
sistentes. Uma classe persistente é uma classe cujos objetos precisam ser pre-
servados fisicamente de alguma maneira, o que não ocorre em classes não 
persistentes, cujos objetos são destruídos durante a execução do sistema ou 
quando este for encontrado.
6.1 Relacionamentos
 As classes se relacionam entre si com o objetivo de compartilhar in-
formações e colaboram para a execução dos processos executados pelo sis-
tema. Veremos agora as possíveis formas de relacionamentos em diagramas 
de Classes.
6.1.1 Associação Unitária ou Reflexiva
Capítulo 6 
Diagrama de Classes
Objetivos da aula
- Compreender o uso de diagramas de classes, bem como os 
seus componentes.
e-Tec BrasilAnálise e Projetos de Sistemas 65
 Ocorre quando existe um relacionamento de um objeto de uma clas-
se com objetos da mesma classe.
6.1.2 Associação Binária
 Ocorrem quando são identificados relacionamentos entre objetos de 
duas classes.
 Uma instância da classe Sócio pode não ter nenhum dependente (0), 
ou pode ter vários (*).
6.1.3 Associação Ternária ou N-ária
 São aquelas que conectam mais de duas classes. São representadas 
Figura 47: Associação Unitária
Figura 48: Associação Binária
Técnico em Informáticae-Tec Brasil 66
por um losango para onde convergem todas as ligações da associação.
6.1.4 Agregação
 É um tipo especial de Associação onde se tenta demonstrar que as 
informações de um objeto (chamado objeto todo) precisam ser complemen-
tadas pelas informações contidas em um ou mais objetos de outra Classe 
(chamados objeto parte). Este tipo de Associação tenta demonstrar uma 
relação Todo/Parte entre os objetos associados.
 Na figura 47, indica que a classe Pedido armazena os objetos todo e 
uma classe item_Pedido, onde são armazenados os objeto parte; portanto 
Pedido possui item_Pedido.
6.1.5 Composição
 Esta associação é uma variação da Agregação, onde é apresentado 
um vínculo mais forte entre os objetos todo e os objetos parte, procurando 
demonstrar que os objetos parte tem que estar associados a um único obje-
to todo.
Figura 49: Associação Ternária
Figura 50: Agregação
Figura 51: Composição
e-Tec BrasilAnálise e Projetos de Sistemas 67
6.1.6	Especialização/Generalização
 É uma associação similar e de mesmo nome utilizada no Caso de 
Uso. Seu objetivo é identificar classes-mãe, chamadas gerais e classes filhas, 
chamadas especializadas. Essas associações demonstram a ocorrência de he-
rança e possivelmente métodos polimórficos na classe especializada.
6.1.7 Dependência
 Esse tipo de relacionamento não costuma ser encontrado com muita 
frequência nos diagramas de classes. É utilizado quando gera algum grau de 
dependência de uma classe em relação à outra, isto é, sempre que ocorrer 
uma mudança na classe da qual uma classe depende, esta deverá também 
sofrer a mudança. É representado por uma linha tracejada entre duas classes 
contendo uma seta apontando a classe da qual a classe posicionada na outra 
extremidade do relacionamento é dependente de alguma forma.
6.1.8 Realização
 É um tipo de associação especial que mistura características dos re-
Figura 52: Especialização/Generalização
Figura 53: Dependência
Técnico em Informáticae-Tec Brasil 68
lacionamentos de generalização e dependência, sendo usada para identifi-
car classes responsáveis por executar funções para classes que representam 
interfaces. Esse tipo de relacionamento herda o comportamento de uma 
classe, não sua estrutura.
6.2 Classe Associativa
 São produzidas quando ocorrem associações que possuam multipli-
cidade muitos (*) em todas as suas extremidades. Elas podem ser perfeita-
mente ser substituídas por classes normais, chamadas de Classes Interme-
diárias, mas que desempenham exatamente a mesma função das classes 
associativas.
6.3 Exemplo de Diagrama de Classes
 Veremos agora um exemplo de um diagrama de Classes de um sis-
tema para controle de locações de revistas científicas, apresentado na figura 
53.
Figura 54: Realização
Figura 55: Classe Associativa
e-Tec BrasilAnálise e Projetos de Sistemas 69
 Como podemos observar na figura 56, uma revista científica tem 
ao menos uma edição, mas poderá ter diversas. No entanto, uma edição 
pertence única e exclusivamente a uma revista, motivo pelo qual representa-
mos essa associação como uma composição. Outro exemplo de composição 
ocorre entre a classe Edição e a classe Artigo, em que tem obrigatoriamente 
de publicar no mínimo seis artigos, podendo vir a publicar até dez. No en-
tanto, um artigo científico só pode ser publicado uma vez, o que determina 
que uma instância da classe Artigo só possa se relacionar com uma instância 
específica da classe Edição, o que identifica uma composição.
 Em seguida, podemos observar que existe uma associação binária 
entre as classes Edição e Autor. Tal associação significa que um artigo pode 
ser escrito por muitos autores e um autor pode escrever muitos artigos. Com 
a multiplicidade das duas extremidades da associação possui o valor muitos 
(*), força a existência de uma classe associativa para armazenar os atributos-
chave das duas classes envolvidas na associação.
 Podemos ainda identificar uma agregação entre as classes Locação e 
item Locação. Cada Locação precisa ser registrada. No entanto, não é pos-
sível saber quantas revistas seriam locadas por um sócio em cada locação, 
podendo ser apenas uma ou várias.
 Um sócio pode realizar muitas locações ao longo do tempo, no en-
tanto uma locação refere-se a um único sócio. Como as informações de 
locação não constituem um complemento obrigatório da classe Sócio, a as-
Figura 56: Diagrama de Classes para Controle de Locação de Revista Científica
Técnico em Informáticae-Tec Brasil 70
sociação entre as duas classes é uma associação binária simples.
Hora de Praticar!
 Vamos dar continuidade às modelagens anteriores dos sistemas já 
iniciados, enfocando agora, Diagrama de Classes.
1. Desenvolva o Diagrama de Classes para o sistema de videolocadora 
(1º exercício do módulo de Diagrama de Caso de Uso).
2. Desenvolva o Diagrama de Classes para o sistema de Cursos de In-
formática (2º exercício do módulo de Diagrama de Caso de Uso).
3. Desenvolva o Diagrama de Classes para o sistema de venda de pas-
sagens aéreas pela internet (3º exercício do módulo de Diagramade Caso de 
Uso).
e-Tec BrasilAnálise e Projetos de Sistemas 71
Bibliografia
LIMA S. A. UML 2.0 Do Requisito à Solução. 3ª ed. São Paulo: Editora Érica, 
2008. 
GUEDES, G. T. A. UML Uma Abordagem Prática. 3ª ed. São Paulo: Editora 
Novatec, 2008.
ÖVERGAARD, G.; PALMKVIST, K. Use Cases Patterns And Blueprints. New 
Jersey, USA: Pearson Education, 2004.
RUNBAUGH, J.; JACOBSON, I.; BOOCH, G. The Unified Modeling Language 
Reference Manual. Massachustts, USA: Addison Wesley Longman, 1999.
BOGGS, W.; BOGGS, M. UML with Rational Rose 2002. Califórnia, USA: 
Sybex, 2002.
Técnico em Informáticae-Tec Brasil 72

Continue navegando