Anda di halaman 1dari 72

Tcnico em Informtica

Anlise e Projetos de Sistemas

Marilene Esquiavoni

Instituto Federal de Educao, Cincias e Tecnologia de So Paulo - IFSP

So Joo da Boa Vista - SP


2010

Presidncia da Repblica Federativa do Brasil


Ministrio da Educao
Secretaria de Educao a Distncia

Este Caderno foi elaborado em parceria entre o Instituto Federal de Educao, Cincia e Tecnologia de So Paulo e o Sistema Escola Tcnica Aberta do Brasil e-Tec
Brasil.
Equipe de Elaborao
IFSP

Yara Maria Guisso de Andrade Facchini


Projeto Grfico
Eduardo Meneses e Fbio Brumana

Coordenao Institucional
Campus So Joo da Boa Vista

Diagramao
Matheus Flix de Andrade!
Reviso
Elizabeth Gouveia da Silva Vanni

Professor-autor
Marilene Esquiavoni
Comisso de Acompanhamento e Validao
Gustavo Aurlio Prieto

Ficha catalogrfica

Verso Preliminar

Apresentao e-Tec Brasil


Amigo(a) estudante!
O Ministrio da Educao vem desenvolvendo Polticas e Programas para
expansoda Educao Bsica e do Ensino Superior no Pas. Um dos caminhos
encontradospara que essa expanso se efetive com maior rapidez e eficincia a modalidade adistncia. No mundo inteiro so milhes os estudantes
que frequentam cursos a distncia. Aqui no Brasil, so mais de 300 mil os
matriculados em cursos regulares de Ensino Mdio e Superior a distncia,
oferecidos por instituies pblicas e privadas de ensino.
Em 2005, o MEC implantou o Sistema Universidade Aberta do Brasil (UAB),
hoje, consolidado como o maior programa nacional de formao de professores, em nvel superior.
Para expanso e melhoria da educao profissional e fortalecimento do Ensino Mdio, o MEC est implementando o Programa Escola Tcnica Aberta
do Brasil (e-TecBrasil). Espera, assim, oferecer aos jovens das periferias dos
grandes centros urbanose dos municpios do interior do Pas oportunidades
para maior escolaridade, melhorescondies de insero no mundo do trabalho e, dessa forma, com elevado potencialpara o desenvolvimento produtivo regional.
O e-Tec resultado de uma parceria entre a Secretaria de Educao Profissionale Tecnolgica (SETEC), a Secretaria de Educao a Distncia (SED)
do Ministrio daEducao, as universidades e escolas tcnicas estaduais e
federais.
O Programa apia a oferta de cursos tcnicos de nvel mdio por parte das
escolaspblicas de educao profissional federais, estaduais, municipais e,
por outro lado,a adequao da infra-estrutura de escolas pblicas estaduais
e municipais.
Do primeiro Edital do e-Tec Brasil participaram 430 proponentes de adequaode escolas e 74 instituies de ensino tcnico, as quais propuseram
147 cursos tcnicosde nvel mdio, abrangendo 14 reas profissionais.

O resultado desse Edital contemplou193 escolas em 20 unidades federativas. A perspectiva do Programa que sejam ofertadas10.000 vagas, em
250 polos, at 2010.
Assim, a modalidade de Educao a Distncia oferece nova interface para
amais expressiva expanso da rede federal de educao tecnolgica dos ltimos anos: aconstruo dos novos centros federais (CEFETs), a organizao
dos Institutos Federaisde Educao Tecnolgica (IFETs) e de seus campi.
O Programa e-Tec Brasil vai sendo desenhado na construo coletiva e participaoativa nas aes de democratizao e expanso da educao profissional no Pas,valendo-se dos pilares da educao a distncia, sustentados
pela formao continuadade professores e pela utilizao dos recursos tecnolgicos disponveis.
A equipe que coordena o Programa e-Tec Brasil lhe deseja sucesso na sua
formaoprofissional e na sua caminhada no curso a distncia em que est
matriculado(a).
Braslia, Ministrio da Educao setembro de 2008.

Sumrio

Apresentao e-Tec Brasil

Sumrio

Palavra do professor-autor

Outros - instituio validadora

Apresentao da Disciplina

11

Captulo 1 - Introduo a Projetos

14

1.1 Definies de Sistemas


1.2 Projetos WEB
1.2.1 Pginas
1.2.2 Site (stio)
1.2.3 Portal
1.2.4 e-Business
1.2.5 e-Commerce
1.3 Entendendo o ciclo de Vida de um projeto
1.4 Modelo de ciclo de vida
1.4.1 Modelo de Cascata
1.4.2 Modelo em Espiral
1.4.3 Modelo Prototipagem
1.4.4 Modelo Incremental
1.4.5 Comparao dos Modelos
Hora de Praticar

15
15
16
17
17
18
18
19
20
20
21
21
22
22
23

Captulo 2 - Linguagem de Modelagem Unificada 27


2.1 Caractersticas
2.1.1 Diagramas Utilizados
2.2 Orientao a Objetos
2.2.1 Classes
2.2.2 Atributos

28
30
33
34
34

2.2.2.1 Mtodos
2.2.3 Herana
2.2.4 Polimorfismo
2.2.5 Encapsulamento
Hora de Praticar
Captulo 3 - Diagrama de Casos
3.1 Atores
3.2 Casos de Uso
3.3 Documentao de Caso de Uso
3.4 Associao
3.5 Generalizao
3.6 Incluso
3.7 Extenso
3.8 Elementos comuns a todos os diagramas da UML
3.8.1 Notas
3.8.2 Pacotes
Hora de Praticar
Captulo 4 - Diagrama de Atividades

35
36
37
38
39
42
42
43
43
44
44
45
46
47
47
47
49
52

4.1 Ns de Ao
52
4.2 N Inicial
53
4.3 N Final
53
4.4 N de Deciso
53
4.5 Exemplos de Diagrama de Atividade para consulta de
uma conta
54
Hora de Praticar
56
Captulo 5 - Diagrama de Sequncia
5.1 Atores
5.2 Objetos
5.3 Foco de Controle ou Ativao
5.4 Mensagem
5.5 Mensagens de retorno
5.6 Autochamadas ou Autodelegaes
5.7 Condies de Guarda
5.8 Exemplo de Diagrama de Sequncia
Hora de Praticar

57
57
58
58
59
60
61
62
63
64

Captulo 6 - Diagrama de Classes


6.1 Relacionamentos
6.1.1 Associao Unitria ou Reflexiva
6.1.2 Associao Binria
6.1.3 Associao Ternria ou N-ria
6.1.4 Agregao
6.1.5 Composio
6.1.6 Especializao/Generalizao
6.1.7 Dependncia
6.1.8 Realizao
6.2 Classe Associativa
6.3 Exemplo de Diagrama de Classes
Hora de Praticar
Referncias

Anlise e Projetos de Sistemas

65
65
65
66
67
67
68
68
69
69
70
70
72
73

e-Tec Brasil

Palavra do professor-autor
Sou formada em Bacharelado em Computao pela
Universidade de Taubat UNITAU. Atualmente sou professora de Informtica do IFSP Instituto Federal de Educao, Cincia e Tecnologia de So Paulo, Campus Caraguatatuba.
Proprietria intelectual de 19 softwares (conforme leis
9.609/98 e 9.610/98).
Dedico a maior parte do meu tempo aos cursos sobre
padres de projeto, anlise e projeto orientados a objetos e construo 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 Certificao
da Microsoft.
Atualmente estou escrevendo um livro para Editora LT Livros Tcnicos sobre
Hardware.

e-Tec Brasil

Tcnico em Informtica

Outros - instituio validadora


O Decreto presidencial n 7.566, de 23 de setembro de 1909, institucionalizou o ensino profissional no Brasil. Em 1910 surgiu a Escola de Aprendizes
e Artfices de So 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 So Paulo,
oferecendo ensino equivalente ao de primeiro ciclo.

Em 1942 foi promulgada a Lei orgnica do ensino industrial. A nova
orientao visava preparao profissional dos trabalhadores da indstria,
dos transportes, das comunicaes e da pesca.

Em 1976, procedeu-se mudana para a nova sede e, em 1978,
criaram-se os cursos de eletrnica, telecomunicaes e processamento de
dados. Em 1981, instalam-se os cursos complementares de mecnica, eletrotcnica e edificaes, destinados clientela, em grande parte integrada ao
mercado de trabalho, mais que necessitava de uma formalizao profissional
por meio de disciplinas de nvel tcnico de 2 grau. Estes cursos tcnicos
tinham a durao de dois anos, prevendo um estgio obrigatrio.

No ano de 1987 foi implantada a primeira Unidade de Ensino Descentralizada (UNED) no Municpio de Cubato e, em 1996, ocorreu o incio
do funcionamento da UNED Sertozinho. Em 1999, a Escola Tcnica Federal
de So Paulo, foi transformada em Centro Federal de Educao Tecnolgica
de So Paulo CEFET, conforme Decreto de 18 de janeiro de 1999. No ano
de 2005, foi autorizado o funcionamento da UNED Guarulhos. As UNED
de So Joo da Boa Vista e Caraguatatuba foram autorizadas a funcionar a
partir do 1 semestre do ano de 2007, enquanto que as UNED de Bragana
e Salto passaram a funcionar no 2 semestre do ano de 2007.

Em 2008 foram criadas as unidades de So Carlos, So Roque e
Campos do Jordo. No mesmo ano o CEFET-SP se transformou no Instituto
Federal de Educao Cincia e Tecnologia pela Lei 11.892 de 29 de Dezembro de 2008, que instituiu a rede federal de educao profissional, cientfica
e tecnolgica. De acordo com esta lei os institutos federais (IF) tornaram-se

Anlise e Projetos de Sistemas

e-Tec Brasil

instituies de educao superior, bsica e profissional, pluricurriculares e


multicampi, especializados na oferta de educao profissional e tecnolgica
nas diferentes modalidades de ensino, com base na conjugao de conhecimentos tcnicos e tecnolgicos com as suas prticas pedaggicas.

A expanso do CEFET-SP tem ainda previstas os Campus de Araraquara, Avar, Barretos, Birigui, Campinas, Catanduva, Itapetininga, Piracicaba, , Presidente Epitcio, Registro, Suzano e Votuporanga.

A Unidade de Ensino Descentralizada de So Joo da Boa Vista
uma unidade educacional subordinada ao Centro Federal de Educao Tecnolgica de So Paulo, autorizada pela Portaria n 1715 do Ministro da Educao, publicada no Dirio Oficial da Unio de 20/10/2006. Tem estrutura
administrativa definida pela resoluo n 136/06 de 16/11/2006 do Conselho Diretor do CEFET-SP.

A histria do campus se inicia no ano de 1998 quando formulado o
projeto para a criao do CEPRO em So Joo da Boa Vista. No ano seguinte
o anteprojeto aprovado pelo Programa de Expanso da Educao Profissional (PROEP). No mesmo ano se d o incio das obras para construo do
prdio em terreno doado por Paulo Roberto Merlin e Flvio Augusto Canto.
Em 2004, o prdio entregue com 2529m, sendo constitudo de onze
laboratrios, seis salas de aulas, um auditrio com capacidade para 150 lugares, sala de multimdia e demais dependncias. As atividades do Centro de
Educao Profissional so iniciadas em 2005. Em 2006 firmado o convnio
entre o CEPRO e CEFET-SP, com apoio da prefeitura municipal para a federalizao da unidade. Em Janeiro de 2007 o CEFET-SP / UNED SBV iniciou suas
atividades no municpio.

O IFSP, no municpio de So Joo da Boa Vista, veio para atender
a necessidade de educar os jovens so joanenses e da regio, a fim de habilit-los para o ingresso nos setores de indstria e informtica, os quais
demandam trabalhadores capacitados para o progresso no desenvolvimento
econmico e para o fortalecimento do plo educacional na regio leste do
estado.
Atuao do IFSP na Educao a Distncia

No contexto da poltica de expanso da educao superior no pas,
implementada pelo MEC, a EaD coloca-se como uma modalidade im-

e-Tec Brasil

10

Tcnico em Informtica

portante no seu desenvolvimento. Nesse sentido, criou-se uma direo para


EaD dentro do IF SP.

No mbito da poltica de expanso da educao profissionalizante, o
Ministrio da Educao, por meio da articulao da Secretaria de Educao
a Distncia e Secretaria de Educao Profissional e Tecnolgica, lana o Edital
01/2007/SEED/SETEC/MEC, dispondo sobre o Programa Escola Tcnica Aberta do Brasil (e-Tec Brasil).

Tal iniciativa constitui-se uma das aes do Plano de Desenvolvimento da Educao.

Visando oferta de cursos da educao tcnica 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 criao de dois cursos tcnicos a saber: tcnico em informtica para
internet e tcnico em administrao atingindo 5 municpios do estado de
So Paulo (Araraquara, Barretos, Itapevi, Franca e Jaboticabal) e ampliando
em 500 a oferta de vagas do Instituto.

Anlise e Projetos de Sistemas

11

e-Tec Brasil

Apresentao da Disciplina
Em decorrncia da necessidade de padronizao das tcnicas de modelagem
de software para o modelo Orientado a Objetos, a Rational Software Corporation buscou unificar as principais tcnicas existentes e aceitas mundialmente, visando a criao de uma nica tcnica, a UML Unified Modeling
Language como tcnica padro de modelagem, existe hoje, uma grande
procura no mercado por profissionais que dominem esta tcnica.

As empresas exigem sistemas que no s atendam as necessidades
funcionais, como sejam de fcil manuteno.

O objetivo deste curso fornecer ao aluno, uma viso clara de modelagem, conceitos da Orientao a Objetos, descrio dos Diagramas utilizados para o projeto de sistemas e a aplicao desses conceitos em estudos
de casos utilizando a ferramenta JUDE, que oferece uma verso para a comunidade.

Apesar de a UML possuir um grande nmero de diagramas, voc no
dever se sentir obrigado a utilizar todos eles, pois cada um possui uma caracterstica especfica e, algumas vezes, alguns deles no so necessrios em
determinados sistemas. Cabe a voc determinar quais sero necessrios!

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
so softwares que auxiliam na execuo de uma ou mais atividades realizadas durante o processo de Engenharia de Software. Entre as diversas ferramentas existentes no mercado podemos citar:

Rational Rose totalmente orientada UML, uma das ferramentas mais completas disponveis no mercado. Inclusive foi a empresa que
incentivou a criao da UML e a primeira a lanar uma ferramenta CASE
baseada nesta linguagem.

Visual Paradigma for UML ou VP-UML Essa ferramenta oferece uma verso para a comunidade, ou seja, que poder ser baixada gra-

e-Tec Brasil

12

Tcnico em Informtica

tuitamente de sua pgina. Logicamente, esta verso no suporta todas as


opes disponveis da verso Standard ou Professional.

Poseidon for UML Tambm apresenta uma verso para a comunidade.

Enterprise Architect Essa ferramenta no possui verso gratuita, e uma das que mais oferecem recursos compatveis com a UML. A
empresa apenas dispe de uma verso Trial, que poder ser utilizada por
cerca de 60 dias.

Obrigada, espero que voc goste deste curso. Bom estudo!

Anlise e Projetos de Sistemas

13

e-Tec Brasil

Captulo 1
Introduo a Projetos
Objetivos da aula
- Compreender o Conceito de Projeto de Software aplicado
WEB.
- Ciclo de Vida dos sistemas e diferentes modelos


Um projeto consiste num esforo temporrio com um objetivo prestabelecido, seja para criar um novo produto, servio ou processo. Tem incio, meio e fim bem definidos, durao e recursos limitados, numa sequencia
de atividades relacionadas.

Por exemplo, criar um stio novo, ou redesenhar um stio j existente,
um PROJETO, j atualizar um stio um processo operacional permanente,
no um projeto. O resultado de um projeto sempre diferente de outros
produtos e servios existentes.

- Pode ser um produto tangvel: Um livro, uma exposio, um automvel.

- Produto intangvel: Um conjunto de processos desenhados para
a venda online de livros usados.

e-Tec Brasil

14

Tcnico em Informtica

1.1 Definies de Sistema


Sistema consiste em um nmero de elementos, concretos ou no


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 gesto
de projeto de um web site so necessrios para:

- Estabelecer uma viso comum sobre os objetivos do site e divulgar
esta viso a todos os organizadores de modo geral, para que sirvam de referncia aos processos de trabalho.

- Facilitar os processos de deciso, estabelecer as funes e responsabilidades de cada um dos participantes da equipe.

- Dimensionar corretamente o oramento.

- Monitorar os processos, a equipe, os custos e os prazos.

Anlise e Projetos de Sistemas

15

e-Tec Brasil


- Contratar servios e adquirir equipamentos, sistemas, programas e
materiais, se necessrio.

- Fazer o controle da qualidade dos produtos e reduzir o impacto dos
seus riscos.

- Controlar e documentar periodicamente a aderncia do projeto ao
seu escopo e aos seus objetivos.

dos.

- Manter o comprometimento dos patrocinadores com os resulta-


- Reforar continuamente a importncia dos processos e da reviso
dos processos de gesto de projetos.

1.2.1 Pginas

As pginas so documentos de hipertexto, ou seja, possibilita a navegao entre segmentos de texto, o usurio salta de uma informao a
outra, no necessariamente numa ordem sequencial. Elas esto gravadas em
servidores da Internet podendo ser acessadas em qualquer parte do mundo.
Uma pgina WEB tambm pode ser chamada de home Page (pgina principal). Ao iniciar o browser (navegador), ser carregada uma pgina definida
na configurao do programa como pgina inicial.

Figura 1: Pgina

e-Tec Brasil

16

Figura 2: Pgina

Tcnico em Informtica

1.2.2 Site (stio)



um conjunto de pginas harmonicamente interligadas, com base
num endereo-base (URL) nico, que podem ser acessadas atravs de um
browser.

Figura 3: Pgina

Figura 5: Pgina

Figura 4: Pgina

Figura 6: Pgina

1.2.3 Portal

So (stios) na Internet que servem como ponto de partida para outros sites ou pginas da Web.

O portal globo.com, por exemplo, permite que o usurio encontre,
em uma mesma pgina, acesso a e-mail, vdeos, notcias, entretenimento,
esportes, downloads, jogos, rdios, blogs, fotologs, sites de humor e informaes sobre programao de TVs, entre outros servios e contedos.

A principal funo dos portais conectar pessoas e informaes,
com capacidade de processamento de diversas origens no mesmo ambiente.

Anlise e Projetos de Sistemas

17

e-Tec Brasil

Figura 7: Pgina

Figura 8: Pgina

1.2.4 e-Business

De modo geral, a expresso negcios eletrnicos se refere realizao de processos comerciais pela Internet. Mais abrangente que comrcio
eletrnico, a expresso inclui o relacionamento entre parceiros comerciais,
fornecedores, distribuidores, bem como a prestao de servios a clientes,
a participao em pesquisas, o desenvolvimento de produtos, as transaes
comerciais automatizadas.

Figura 9: Pgina

Figura 10: Pgina

1.2.5 e-Commerce

O comrcio eletrnico consiste na integrao das tecnologias da Internet com processos comerciais (verificao de negociaes, produo e
distribuio), para facilitar trocas de produtos, de servios, capitais, informaes e conhecimento.

e-Tec Brasil

18

Tcnico em Informtica

Figura 11: Pgina

Figura 12: Pgina

1.3 Entendendo o ciclo de vida de um


projeto

Preparao: Nesta fase define-se o objetivo do projeto com base nas


expectativas e se preparam planos preliminares do projeto. Definio
do problema.
Estruturao: Fase onde se domina o detalhamento dos planos operacionais, organizao da equipe e recursos do projeto.
Desenvolvimento: Fase em que os planos so colocados em prtica.
Encerramento: Final do projeto. Neste ponto o projeto deve atingir o
resultado esperado ou previsto. Deve incluir implantaes de solues,
manuteno, treinamento.

Anlise e Projetos de Sistemas

19

e-Tec Brasil

1.4 Modelo de ciclo de Vida



Os modelos existentes possuem diferentes graus de complexidade
e sofisticao. 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 nmero de pessoas envolvidas, milhares de usurios, um processo simples no seria o mais adequado, teramos algo mais formal e disciplinado.

1.4.1 Modelo de Cascata



o modelo mais antigo, sendo o primeiro a ser conhecido na engenharia de software, e continua sendo implantado at hoje.

Trata-se de um modelo sequencial, onde cada passo deve ser completado antes que o prximo seja iniciado. Os nomes de cada passo variam,
mas basicamente inicia-se com a anlise de requisitos, seguindo para a fase
de desenho, codificao, implementao, testes e manuteno. Um problema neste modelo quanto aos requisitos, por ser uma nica etapa e estes
mudarem constantemente. Foi verificada ento a necessidade de dar uma
realimentao aos requistos.

Figura 13: Modelo Cascata

1.4.2 Modelo em Espiral



uma variao do modelo de Cascata. Quem introduziu este modelo foi Barry Boehm em 1988. A imagem do modelo de uma espiral
que comea no meio e continuamente revisa as tarefas bsicas do usurio:
comunicao, planejamento, anlise de risco, engenharia, construo e implantao, e avaliao do usurio.

e-Tec Brasil

20

Tcnico em Informtica

Figura 14: Modelo Espiral

1.4.3 Modelo Prototipagem



Esse modelo constri uma verso descartvel, ou seja, um prottipo.
Esse prottipo vai testar conceitos e requistos e ser usado para demonstrar
o comportamento aos clientes. Aps a concordncia dos clientes, o software
desenvolvido seguindo as mesmas fases do modelo de Cascata. O esforo
despendido no prottipo geralmente compensado pelo no desenvolvimento de caractersticas desnecessrias.

Figura 15: Modelo Prototipagem

1.4.4 Modelo Incremental



O objetivo era projetar e entregar ao cliente um conjunto mnimo do
sistema que continuasse a ser um sistema usvel. O processo continuar a in-

Anlise e Projetos de Sistemas

21

e-Tec Brasil

teragir ao longo de todo o ciclo e vida com incrementos adicionais mnimos.


As vantagens incluem fornecer logo ao cliente um sistema e novas verses
de trabalho.

Figura 16: Modelo Incremental

1.4.5 Comparao dos modelos

e-Tec Brasil

22

Tcnico em Informtica

Hora de Praticar!
1.

Por que eu preciso fazer um projeto para meu stio?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

2.

Qual (is) a(s) diferena(s) entre stios e portais?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

3.
Voc foi contratado para atualizar um stio, voc necessita de um
projeto? Explique.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

4.
Quais as diferenas entre e-commerce e e-business? Cite exemplos
de cada um deles.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

Anlise e Projetos de Sistemas

23

e-Tec Brasil

5.
Como um modelo de ciclo de vida de fases contempla o gerenciamento de software?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

6.

O que um projeto?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

7.

Cite, pelo menos, trs tipos de projetos.

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

8.
Para cada um dos seguintes documentos, indique a(s) fase(s) do ciclo
de vida do software em que so desenvolvidos:

e-Tec Brasil

a.

Manual final do usurio

b.

Projeto arquitetural

c.

Especificao de mdulos

d.

Cdigo fonte

e.

Plano de teste

24

Tcnico em Informtica

f.

Manual de usurio preliminar

g.

Projeto detalhado

h.

Estimativa de custo

i.

Plano de projeto

j.

Relatrio de teste

k.

Documentao

9.

Ordene as seguintes tarefas em termos do modelo cascata:

a.

Teste de aceitao

b.

Planejamento do projeto

c.

Teste de unidade

d.

Reviso dos requisitos

e.

Estimativa de custos

f.

Projeto em alto nvel

g.

Projeto em baixo nvel

h.

Teste de sistema

i.

Reviso do projeto

j.

Implantao

k.

Especificao de requisitos

l.

Anlise de mercado

Anlise e Projetos de Sistemas

25

e-Tec Brasil

10.

Explique em detalhes o ciclo de vida de um projeto.

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

e-Tec Brasil

26

Tcnico em Informtica

Captulo 2
UML Linguagem de Modelagem
Unificada

Objetivos da aula
- Compreender os conceitos bsicos da UML.
- Assimilar o paradigma da orientao objetos.

Histrico da UML

A UML comeou a ser definida a partir de uma tentativa de Jim Rumbaugh e Grady Booch de combinar dois mtodos populares de modelagem
orientada a objeto: Booch e OMT (Object Modeling Language). Mais tarde,
Ivar Jacobson, o criador do mtodo Objectory, uniu-se aos dois, para a concepo da primeira verso do mtodo UML (Unified Modeling Language).

Figura 17: UML

Anlise e Projetos de Sistemas

27

e-Tec Brasil

2.1 Caractersticas

A UML no uma linguagem de programao e sim uma linguagem
de modelagem de sistemas computacionais por meio da orientao a objetos. Pode ser empregada para visualizar, especificar, construir e documentar
os artefatos de sistemas de software.

Os objetivos da UML so:


- Descrever qualquer tipo de sistema atravs dos diagramas orientados a objetos;

- Estabelecer uma unio fazendo com que mtodos conceituais sejam tambm executveis;

- Criar uma linguagem de modelagem usvel tanto pelo homem
quanto pela mquina.

A UML abrange todas as fases do sistema, desde a fase de especificao 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 cabea. Posso dizer que impossvel no
? Obviamente, voc dever ter um projeto muito bem elaborado, com os
clculos precisos, estimativas de custos, prazos, quantidade de material, etc.
Afinal voc o responsvel pela obra, e qualquer problema voc ter que
arcar com as consequncias no mesmo?

e-Tec Brasil

28

Tcnico em Informtica


Com isso posso dizer que impossvel desenvolver um sistema sem
antes sabermos sua arquitetura.

Existem 05 fases para o desenvolvimento da UML:

1.
Anlise de Requisitos: Voc ter que entender o funcionamento
do sistema e para isso dever realizar vrias entrevistas com seu cliente para
coletar essas informaes.
2.
Anlise: Agora voc ter que analisar todos os dados levantados.
Saber se as necessidades do seu cliente foram na realidade bem compreendidas. Caso contrrio, 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 srios problemas quanto ao prazo estipulado.
3.
Projeto: Consiste em desenvolver um rascunho do que seria seu
sistema. Hoje em dia muito mais fcil desenvolver prottipos utilizando as
linguagens de programao visual como Visual Studio. Com isso voc apresentar o seu prottipo ao seu cliente para que ele tenha uma viso geral do
funcionamento do sistema e verifique se est de acordo com as expectativas.
4.
Programao: nesta fase que voc dever escolher qual linguagem ir utilizar e transformar seu prottipo em cdigo.
5.
Testes: Agora, voc ter que testar seu sistema inmeras 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 funcionamento.

Anlise e Projetos de Sistemas

29

e-Tec Brasil

2.1.1 Diagramas Utilizados



O objetivo era projetar e entregar ao cliente um conjunto mnimo do
sistema que continuasse a ser um sistema usvel. O processo continuar a interagir ao longo de todo o ciclo e vida com incrementos adicionais mnimos.
As vantagens incluem fornecer logo ao cliente um sistema e novas verses
de trabalho.

Figura 18: Diagrama UML


Descreverei agora de forma resumida, todos os diagramas da UML
verso 2.0. Depois iremos ver com detalhes os quatro diagramas mais utilizado na UML (Caso de Uso, Classes, Atividades e Sequencia).

Diagrama de Caso de Uso


Representam as funes do sistema do ponto de vista do usurio.
So representados atravs de atores e casos de uso. Sua representao 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-

30

Tcnico em Informtica

terminando os atributos e mtodos pertencentes a cada classe, alm de estabelecer como as classes se relacionam e trocam informaes entre si.

Diagrama de Atividades


Esse diagrama preocupa-se em descrever os passos a serem percorridos para a concluso de uma atividade especfica.

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 valores armazenados pelos objetos de um diagrama de Classes na execuo de
um determinado processo.

Diagrama de Estrutura Composta


utilizado para descrever a colaborao interna das classes, interfaces ou componentes para especificar uma funcionalidade.

Diagrama de Comunicao


Na verso anterior da UML era chamado de Diagrama de Colaborao, e a partir da verso 2.0 passou a ser Diagrama de Comunicao. Ele
est associado ao diagrama de Sequncia, na realidade, um complementa o
outro. Tem um enfoque com a temporalidade do processo.

Anlise e Projetos de Sistemas

31

e-Tec Brasil

Diagrama de Mquina de Estados


Na verso anterior da UML era chamado de Diagrama de Grfico de
Estados. Ele voltado em acompanhar as mudanas sofridas nos estados
de uma instncia de uma classe, de um Caso de Uso ou at mesmo de um
sistema completo.

Diagrama de Componentes


Ele est associado linguagem de programao escolhida para o
desenvolvimento do sistema modelado. Pode ser utilizado para modelar o
cdigo-fonte, a estrutura fsica de Banco de Dados, at mesmo as interfaces.

Diagrama de Implantao


Esse Diagrama determina as necessidades de hardware do sistema,
as caractersticas fsicas como servidores, estaes, topologias e protocolos
de comunicao, ou seja, toda a parte fsica onde o sistema ser executado.

Diagrama de Pacotes


Representa os subsistemas ou submdulos de um sistema determinando as partes que o contm.

Diagrama de Interao Geral


uma variao do Diagrama de Atividade. Esse diagrama passou a
existir a partir da UML 2.0. Ele engloba diversos tipos de diagramas de interao para demonstrar um processo geral.

Diagrama de Tempo


utilizado para demonstrar a mudana no estado de um objeto no
tempo em resposta a eventos externos.

2.2. Orientao a Objetos


32

Antes de comearmos a desenvolver um sistema orientado a obje-

Tcnico em Informtica

tos, necessrio pensar orientado a objetos! Mas o que isso??



Um objeto uma instncia (criao) de uma classe. uma abstrao
de coisas do mundo real, como pessoas, animais, carros, etc. Esses objetos
possuem caractersticas (atributos), como andar, falar, altura, peso, raa, cor,
marca, etc.

Figura 19: Objetos do Mundo Real


Mas o que abstrao? Segundo o dicionrio o ato de separar
mentalmente um ou mais elementos de uma totalidade complexa (coisa,
representao, fato), os quais s mentalmente podem subsistir fora dessa
totalidade; o resultado de abstraes (termo, conceito, ideia, elemento da
classe, etc.). Traduzindo para o nosso mundo programtico significa extrair as ideias mais importantes de um objeto, descartando o restante.

Quando instanciamos um objeto, ele adquire um espao em memria para armazenar seu estado (valores de seus atributos) e um conjunto de
operaes que podem ser aplicadas ao objeto.

2.2.1 Classes

So categorias, e os objetos so membros ou exemplos dessa categoria. So formadas basicamente por mtodos e atributos. Por exemplo:

Anlise e Projetos de Sistemas

33

e-Tec Brasil


A classe representada por um retngulo que pode ter at trs divises. A primeira armazena o nome da classe, a segunda os atributos pertencentes classe e a terceira os mtodos que a classe possui. Veja um
exemplo:

2.2.2 Atributos

Representam as caractersticas de uma classe. Tambm so conhecidas como propriedades. Essas caractersticas nos permitem diferenciar um
objeto de outro da mesma classe devido tais variaes. Por exemplo:

e-Tec Brasil

Atributos de uma Classe Pessoa:

- Nome da pessoa;

34

Tcnico em Informtica

- Altura da pessoa;

- Peso da pessoa.


Os atributos possuem algumas caractersticas importantes, como visibilidade, nome, tipo de dado e valor inicial. A visibilidade de um atributo
pode ser:

Pblica: representada pelo sinal de adio (+), apresentado na
frente do nome do atributo ou mtodo e significa que o atributo acessvel
(enxergado) por outras classes.

Privado: representada pelo smbolo de subtrao (-) e significa
que o atributo acessvel apenas pela prpria classe.

Protegida: representada pelo smbolo sustenido (#) e significa
que o atributo acessvel somente pela prpria classe e suas subclasses.
O tipo de dado e o valor inicial dependem da linguagem de programao
utilizada no modelo. O valor inicial refere-se a um valor definido automaticamente quando o objeto for iniciado (criado). Veja a representao na figura
16.

2.2.2.1 Mtodos

So os comportamentos ou aes que um objeto de uma classe pode
executar. Assim, os mtodos so conjuntos de instrues que so executadas
quando o mtodo chamado.
Exemplo:


Um mtodo pode ou no receber parmetros (valores que so utilizados durante a execuo do mtodo) e, em geral, pode ou no retornar
valores. Esses parmetros so colocados entre os parnteses do mtodo.

Anlise e Projetos de Sistemas

35

e-Tec Brasil


Um mtodo possui como caractersticas: visibilidade, nome, lista de
parmetros e tipo de retorno. O tipo de argumentos e de retorno depende
da linguagem de programao adotada.

2.2.3 Herana

uma caracterstica poderosa na orientao a objetos. Com ela voc
pode reaproveitar os atributos e mtodos existentes em uma classe, reduzindo o tempo de desenvolvimento, alm de reduzir tambm as linhas de
cdigo e facilitar futuras manutenes.

Vamos fazer um exemplo:


Digamos que voc queira desenvolver um sistema de Transportes.
Primeiramente voc criaria uma superclasse ou classe me chamada de Veiculo, por exemplo, e nela definiria todos os atributos e mtodos comuns
aos demais veculos. Depois criaria as subclasses ou classes filhas ou derivadas, como nibus, Carro, Caminho, e em cada uma delas voc definiria os atributos e mtodos especficos de cada classe. Portanto, com isso,
voc no necessita repetir cdigo quando programar as classes derivadas,
pois elas estariam herdando todas as caractersticas definidas na superclasse.
Exemplo:

e-Tec Brasil

36

Tcnico em Informtica

Figura 22: Representao da Herana

2.2.4 Polimorfismo

a capacidade de objetos diferentes possurem operaes com o
mesmo nome e a mesma lista de argumentos, mas que executam tarefas de
formas diferentes.
Exemplo:

O mtodo acelerar da classe Veculo poder ser chamado pela classe
Carro, como tambm 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 Mtodos

quando voc tem uma ao que pode ter diferentes dados de entrada, mas com um mesmo resultado. Para solucionar esse problema na
orientao a objetos, voc poder criar vrios mtodos com o mesmo nome
que executam a mesma ao, cada um possuindo um tipo de dado de entrada diferente, mas fornecendo a mesma reposta. Isso tambm pode ser
considerado Polimorfismo.
Exemplo:

O mtodo soma que poderia estar utilizando variveis inteiras ou re-

Anlise e Projetos de Sistemas

37

e-Tec Brasil

ais, e retorna como resultado a soma dos dois nmeros fornecidos na forma
de um nmero real. Vejamos como ficaria isso na forma de pseudocdigo:


Alguns autores trabalham com a possibilidade dos mtodos sobrecarregados possurem tipos de dados de retorno diferentes, referenciandoos como falso-polimorfismo.

2.2.5 Encapsulamento

o ato de esconder informaes, ou seja, determinados detalhes
ficam ocultos aos demais e dizem respeito apenas ao prprio objeto. Por
exemplo:

No exemplo Veculo, como funciona o mtodo acelerao no nos
diz respeito. No interessa ao motorista como o funcionamento interno
do motor, isso responsabilidade do projetista do veculo. O motor de um
carro 0 km certamente bastante diferente do motor do carro fabricado 30
anos atrs. Mas no precisamos reaprender a dirigir por causa disso, pois a
acelerao continua a mesma.

A grande vantagem do encapsulamento o isolamento dos dados.
Vamos usar como exemplo uma classe Pessoa, onde qualquer aplicao poder usar a classe para instanciar (criar) objetos, mas jamais ter acesso
forma de como definido o nome da pessoa por exemplo.

e-Tec Brasil

38

Tcnico em Informtica

Hora de Praticar!
1.

O que UML? Qual a sua finalidade?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

2.
Quais so 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 todos
eles para modelar um sistema? Explique.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

Anlise e Projetos de Sistemas

39

e-Tec Brasil

5.

Diferencie Classe e Objeto.

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

6.

Quais so os componentes de uma classe? Explique cada um deles.

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

7.

O que torna uma linguagem de programao Orientada a Objetos?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

8.

Quais as vantagens de utilizar Herana?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

e-Tec Brasil

40

Tcnico em Informtica

9.

Quais as vantagens do Encapsulamento?

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

10.

Defina Sobrecarga de Mtodos.

________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________

Anlise e Projetos de Sistemas

41

e-Tec Brasil

Captulo 3
Diagrama de Caso de Uso

Objetivos da aula
- Compreender os componentes e a utilizao dos casos de
uso.


No captulo anterior vimos que o Diagrama de Caso de Uso visto
sob a perspectiva do usurio. Essencial para anlise, implementao, 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 principais: Atores e Casos de Uso.

3.1 Atores

Os atores representam os papis desempenhados pelos diversos usurios que podero utilizar o sistema, podendo tambm representar um hardware e at mesmo outro software.

So representados atravs de bonecos, contendo uma breve descrio do seu significado abaixo do seu smbolo.

Figura 23: Modelo de Atores

e-Tec Brasil

42

Tcnico em Informtica

3.2 Casos de Uso



Representam as tarefas, servios ou funes que podem ser utilizados pelos usurios do sistema, como emitir um relatrio ou cadastrar a
venda de um produto.

Podemos associar tambm um caso de uso com uma tela do sistema,
mas isso no uma regra, podendo tambm abranger vrias telas de um
sistema, como at mesmo um boto.

So representados por uma elipse, contendo dentro dela um texto
com sua descrio do tipo de servio a que se refere.

Figura 24: Exemplo de Caso de Uso

3.3 Documentao de Casos de Uso



Atravs de uma linguagem bem informal, descrevemos a interao
dos autores, as funes dos casos de uso, quais etapas so executadas pelo
autor e pelo sistema para que o caso de uso execute sua funo.

No existe um formato especfico para essa documentao, sendo
bastante flexvel, fazendo com que usurios leigos consigam entender o funcionamento do sistema.

Um exemplo de documentao do Caso de Uso Devoluo de Livros
(sistema de Biblioteca):

Anlise e Projetos de Sistemas

43

e-Tec Brasil

3.4 Associao

Casos de uso e atores interagem entre si enviando sinais um ao outro, indicamos isso num diagrama atravs de associaes. Uma associao
serve para mostrar quais atores se comunicam com o caso de uso.

Figura 25: Associao


A associao entre um Ator e um Caso de Uso representada por
uma reta ligando o Autor ao Caso de Uso. Essa associao tem uma propriedade de navegabilidade, ou seja, o sentido que as informaes trafegam. Se
por exemplo for representado apenas por uma reta, significa que o trfego
de informaes dos dois lados, bidirecional. Se for representado por uma
seta, e ela apontar para o autor, significa que o autor inicia a interao; se
ela apontar para o caso de uso, significa que ele inicia a interao.

e-Tec Brasil

44

Tcnico em Informtica

3.5 Generalizao - Especializao



quando existe uma associao entre dois ou mais atores ou dois ou
mais casos de uso.

Num processo de identificao dos atores, por abstrao, voc descobre que um ator pode exercer vrios papis em relao ao sistema. Assim,
voc poder representar um ator que herda vrios autores. O mesmo ocorre
aos casos de uso.

Figura 26: Exemplo de Especializao entre autores

Figura 27: Exemplo de Especializao entre Casos de Uso


Observando a Figura 26, podemos dizer que o ator Fsica uma
especializao de Pessoa, bem como, Pessoa uma generalizao de
Jurdica. O mesmo raciocnio se aplica aos casos, da Figura 27, podemos
dizer que Conta Especial uma especializao de Conta, e Conta
uma generalizao de Conta Especial e de Conta Comum.

Anlise e Projetos de Sistemas

45

e-Tec Brasil

3.6 Incluso

Os relacionamentos de incluso ocorrem quando existe um servio,
situao comum a mais de um caso de uso. Indicam uma obrigatoriedade,
ou seja, a execuo do primeiro obriga tambm a execuo do segundo.

representada por uma seta tracejada com uma seta em uma das
suas extremidades, apontando para o caso includo. Alm disso, costumam
apresentar um Esteretipo (destaque) que contm o texto include, entre dois sinais de << (menor) e dois sinais de >> (maior).

Figura 28: Exemplo de Incluso


De acordo com o caso de uso representado acima podemos verificar
que sempre que houver um saque ou um depsito dever fazer um registro
de movimento. Portanto, o caso de uso Registrar Movimento ser executado
obrigatoriamente sempre que o caso de uso Depsito ou Saque forem utilizados.

3.7 Extenso

So utilizados para descrever cenrios opcionais de um caso de uso,
ou seja, poder ou no acontecer. A representao de uma extenso bastante semelhante associao de incluso, diferenciando-se apenas o do
esteretipo conter o texto extend em vez de include e na direo
da seta.

e-Tec Brasil

46

Tcnico em Informtica

Figura 29: Exemplo de Extenso


No exemplo acima, um cliente vai at o funcionrio de um banco e
solicita o encerramento de sua conta. Como todos sabem, para podermos
encerrar uma conta necessrio que o saldo da conta seja igual a zero. Portanto, 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 consequentemente encerr-la, portanto acionando o caso Saque. Se a conta estiver negativa, acionar o caso de uso Depsito para que o cliente deposite o valor
necessrio para poder zerar a conta e encerr-la.

3.8 Elementos comuns a todos os diagramas da UML


3.8.1 Notas

Uma nota um componente existente na maioria dos diagramas
da UML. Sua funo apresentar um texto explicativo a respeito de um determinado componente do diagrama. So representadas por um retngulo
com uma dobra no canto superior direito, e so ligadas aos componentes
atravs de uma linha tracejada, chamada ncora.

Figura 30: Exemplo de Notas

Anlise e Projetos de Sistemas

47

e-Tec Brasil

3.8.2 Pacotes

Organizam elementos em grupos e costumam ser utilizados na modelagem de sistemas muito extensos, principalmente quando existem vrios
sistemas ou subsistemas integrados. Ele utilizado para estruturar o modelo
de caso de uso, dividindo-o em partes menores, mais fceis de entender.
Possibilita tambm organizar a distribuio dos trabalhos e responsabilidades dos desenvolvedores de acordo com a rea de competncia de cada
membro da equipe em um ambiente de desenvolvimento paralelo.

So representados por um retngulo grande com uma aba, semelhante a uma pasta de trabalho. A visibilidade de um elemento de pacote
pode ser indicada por um smbolo de adio + para o pblico e de subtrao - para o privado.

Figura 31: Exemplo de Pacotes

e-Tec Brasil

48

Tcnico em Informtica

Hora de Praticar!
1.
Desenvolva um Diagrama de Casos de Uso para um sistema de videolocadora equivalente ao mdulo de locao de fitas de filmes de acordo
com as seguintes afirmaes:
a.
Ao realizar uma locao, o scio deve primeiro informar seu cdigo
para que o atendente possa verificar se o mesmo se encontra cadastrado.
Se o scio no estiver cadastrado, ento a locao dever ser recusada, e o
scio ser informado de como proceder para se cadastrar. Caso esteja cadastrado, o atendente deve verificar se o scio em questo j devolveu todas
as locaes feitas anteriormente. Se no o tiver feito, a locao dever ser
recusada.
b.
Caso o scio tenha quitado todas as locaes anteriores, ento este
dever informar os nmeros das cpias dos filmes que deseja locar. Em seguida, o atendente registrar a locao e fornecer as cpias em questo ao
scio.
c.
responsabilidade do atendente realizar a manuteno dos filmes
e de suas respectivas cpias. Registrando os novos filmes adquiridos pela
locadora, por exemplo.

2.
Desenvolva um Diagrama de Casos de Uso para um sistema de cursos de informtica equivalente ao mdulo de matrcula de acordo com os
seguintes fatos:
a.
O aluno primeiramente solicita informaes ao atendente sobre quais
cursos a empresa oferece. Se o aluno se interessa por algum deles, pedir
informaes a respeito de quais turmas do curso em questo encontra-se
em aberto, qual o horrio em que as aulas sero ministradas, a data prevista
para incio das aulas e o mnimo de alunos necessrios para que uma turma
inicie o curso.
b.
Caso o horrio de alguma turma seja compatvel com os horrios
do aluno, este realizar a matrcula em uma turma relativa ao curso em que
se interessou. Caso o aluno nunca tenha feito nenhum curso na empresa
e, portanto no esteja cadastrado, dever ser registrado antes de realizar a

Anlise e Projetos de Sistemas

49

e-Tec Brasil

matrcula.

3.
Desenvolva um Diagrama de Casos de Uso para um sistema de venda de passagens areas pela internet, equivalente ao mdulo de compra de
passagens por um cliente, levando em considerao 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 boto consultar (se as opes
que lhe foram apresentadas o satisfizeram, pode acontecer de no haver
vos para a cidade desejada, caso em que o cliente ser obrigado a desistir),
para visualizar os horrios e classes (econmico, executivo, etc.) disponveis
do voo desejado.
c.
Caso o cliente esteja de acordo com o horrio e o preo de algum
dos voos apresentados, ento ele deve pressionar o boto comprar passagens, onde selecionar as poltronas disponveis, bem como o nmero 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 Agncia de Turismo que possui as especificaes a seguir.
a)
O cliente poder fazer pesquisa de preos, reservar passagens e comprar passagens;
b)
O atendente poder lanar preos de passagens, efetivar venda de
passagens, sendo que aps a efetivao da venda poder, eventualmente,
emitir nota fiscal;
c)
O gerente efetua as operaes de acompanhamento de vendas, levantamento de frequncia dos funcionrios.

e-Tec Brasil

d)

A venda de passagens pode ser via depsito bancrio, carto de cr-

50

Tcnico em Informtica

dito, ou transferncia on-line.


5.
Identifique os atores e casos de uso em cada um dos planos de discurso a seguir.
a)
o sistema possibilita ao cliente atualizar seus dados cadastrais
acessando o site na internet.
b)
o caixa eletrnico permitir ao associado da cooperativa emitir
um extrato da sua conta, bem como retirar ou depositar uma quantia financeira na sua conta.
c)
a secretria pode importar o Registro Acadmico dados dos alunos 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.

Anlise e Projetos de Sistemas

51

e-Tec Brasil

Captulo 4
Diagrama de Atividades

Objetivos da aula
- Compreender os componentes e o uso dos diagramas de
classe.


Esse diagrama utilizado para modelar atividades, que podem ser
um mtodo ou um algoritmo, ou at mesmo um processo completo.

O diagrama de atividades o diagrama com maior nfase ao nvel de
algoritmo da UML e provavelmente um dos mais detalhistas. Ele apresenta
muitas semelhanas com os antigos fluxogramas, sendo comum encontrarmos diagramas de Atividades utilizando pseudocdigo ou at mesmo uma
linguagem de programao real como C ou Pascal.

O diagrama de Atividades baseia-se no conceito de Rede de Petri,
um modelo grfico que permite analisar a estrutura e o comportamento
dinmico de sistemas concorrentes, paralelos, etc.

4.1 Ns de Ao

Representa um passo, uma etapa que deve ser executada em uma
atividade. Um n de ao no pode ser decomposto, ele atmico. Um n
de ao no possui aes internas e sua execuo considerada to rpida
que no pode ser interrompida. representado por um retngulo com bordas arredondadas, conforme mostrado na figura 28.

Figura 32: Ns de Ao

e-Tec Brasil

52

Tcnico em Informtica

4.2 N Inicial

utilizado para representar o incio da Atividade, e representado
por um crculo preenchido.

Figura 33: N Inicial

4.3 N Final

utilizado para representar o final da Atividade, e representado
por um crculo preenchido dentro de um vazio.

Figura 34: N Final

4.4 N de Deciso

tambm um de n de controle, utilizado para representar uma
escolha entre dois ou mais fluxos. uma tomada de deciso, onde de acordo com essa deciso, o fluxo optar por executar um determinado fluxo ou
conjunto de Ns de Ao. Um N de Deciso representado por um smbolo
de losango.

Anlise e Projetos de Sistemas

53

e-Tec Brasil

Figura 35: N de Deciso


Ao analisarmos a Figura 31, veremos que ao ser solicitado os dados
para efetuar o login sero analisados e se estiverem corretos ser validado.
No caso dos dados no estarem corretos ir para o final.

4.5 Exemplo de Diagrama de Atividade


para consulta de uma Conta

Figura 36: Diagrama de Atividades


A consulta de uma conta inicia com o recebimento do nmero da
conta que se deseja consultar. Na segunda etapa do algoritmo, tenta-se encontrar uma conta com um nmero igual ao informado. Na terceira etapa
toma-se uma deciso, caso tenha-se encontrado uma conta com um nmero
informado. Ento ser apresentada na tela uma mensagem de conta vlida;
caso contrrio, surgir na tela uma mensagem de conta invlida. Note que
utilizado um smbolo de deciso tambm para unir o fluxo de controle sepa-

e-Tec Brasil

54

Tcnico em Informtica

rado pelo ponto deciso anterior, e, a partir deste, o diagrama finalizado.

Anlise e Projetos de Sistemas

55

e-Tec Brasil

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 videolocadora (1 exerccio do mdulo de Diagrama de Caso de Uso).

2.
Desenvolva o Diagrama de Atividades para o sistema de Cursos de
Informtica (2 exerccio do mdulo de Diagrama de Caso de Uso).

3.
Desenvolva o Diagrama de Atividades para o sistema de venda de
passagens areas pela internet (3 exerccio do mdulo de Diagrama de Caso
de Uso).

e-Tec Brasil

56

Tcnico em Informtica

Captulo 5
Diagrama de Seqncia

Objetivos da aula
- Compreender os componentes e o uso dos diagramas de
sequencia.


Este diagrama faz parte de um grupo conhecido como Interao de
Objetos, composto pelo diagrama de Sequncia e pelo diagrama de Colaborao, procura determinar a sequencia de eventos que ocorrem em um
determinado processo, identificando quais mtodos devem ser disparados
entre os atores e objetos envolvidos e em que ordem.

O diagrama de Sequncia baseia-se no diagrama de Caso de Uso,
mas nem sempre um caso de uso gera um diagrama de Sequncia.

Vejamos agora os componentes utilizados em um diagrama de Sequncia.

5.1 Atores

So os mesmos do diagrama de Caso de Uso, ou seja, entidades
externas que interagem com o sistema. Sua representao so os bonecos
s que agora com uma linha de Vida, que nada mais o tempo em que o
objeto existiu durante o processo. Elas so representadas por linhas finas
verticais tracejadas, partindo do retngulo que representa o objeto. A Linha
de Vida interrompida com um X quando o objeto destrudo.

Anlise e Projetos de Sistemas

57

e-Tec Brasil

Figura 37: Exemplo de Ator

5.2 Objetos

Representam as instncias das classes. Ele pode existir desde o incio
do processo ou ser criado durante o decorrer da execuo do mesmo. So
representados como retngulos contendo um texto com o nome do objeto
em minsculo, e depois o nome da classe, com a inicial maiscula, a qual o
objeto pertence. Essas duas informaes so separadas por (:) dois pontos.
Tambm possuem uma linha de Vida, representada por uma linha tracejada
que surge abaixo do objeto.

Figura 38: Exemplo de Objeto

5.3 Foco de Controle ou Ativao



Identifica os momentos em que um objeto est executando um ou
mais mtodos utilizados em um processo especfico. So representadas por
uma linha tracejada mais grossa.

e-Tec Brasil

58

Tcnico em Informtica

Figura 39: Exemplo de Linha de Vida e Foco de Controle

5.4 Mensagens

So provocadas pelos eventos e pode conter uma descrio, uma
chamada de um mtodo ou ambos. As mensagens podem ser disparadas
entre:

Dois autores, o que no muito comum, pois pode deixar os diagramas mais extensos;

Um ator e um objeto;

Dois objetos;

Um objeto e um ator.


As mensagens so 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 foro o envio da mensagem e qual mtodo foi chamado.
Elas so representadas na posio horizontal entre as linhas de vida dos
componentes, e sua ordem sequencial demonstrada de cima para baixo
no diagrama, alm de possurem uma numerao identificadora da tempo-

Anlise e Projetos de Sistemas

59

e-Tec Brasil

ralidade em que foram sendo disparadas.



Uma mensagem que chama um mtodo em um objeto representada por uma reta contendo uma seta grossa, enquanto que a mensagem que
identifica apenas a ocorrncia de um evento, sem especificar a chamada de
um mtodo, possui uma seta fina.

Figura 40: Mensagem Simples e Mensagem com Disparo de Mtodo


Ao compararmos as duas figuras, podemos perceber que a mensagem 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 mtodo.

Uma mensagem tambm pode representar um mtodo destrutor, ou
seja, um mtodo que elimina um objeto que no mais necessrio.

Figura 41: Mensagem com disparo de mtodo destrutor

5.5 Mensagens de retorno


e-Tec Brasil

60

a resposta a uma mensagem para um objeto ou um ator que a

Tcnico em Informtica

chamou. Pode retornar informaes especficas do mtodo chamado ou


simplesmente um valor indicando se o mtodo foi executado com sucesso
ou no. So representadas por uma seta tracejada contendo uma seta fina
que aponta para o objeto ou o ator que recebe o resultado de um mtodo
posicionando na outra extremidade da reta.

Figura 42: Mensagem de retorno

5.6 Autochamadas ou Autodelegaes



So mensagens que um objeto envia para si mesmo; ela parte do
objeto e atinge o prprio objeto.

Figura 43: Autochamada

Anlise e Projetos de Sistemas

61

e-Tec Brasil

5.7 Condies de Guarda



Indica que a mensagem s poder ser enviada se a condio for verdadeira. Essas condies so descritas entre colchetes.

Figura 44: Condio de Guarda


Analisando a figura 43, podemos perceber que o mtodo Gravar s
ser disparado se for considerado necessrio, conforme demonstra o texto
entre os colchetes na mensagem.

Associada s Condies de Guarda, possvel representar o disparo
de uma mensagem a vrios objetos, utilizando o smbolo de asterisco (*), e
dever estar posicionado antes da Condio de Guarda.

Figura 45: Mensagem enviada a vrios objetos

e-Tec Brasil

62

Tcnico em Informtica


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 Sequncia

Figura 46: Exemplo de Abertura de Contas


Analisando a figura 43, o cliente solicita o pedido de abertura de
conta, com a devida documentao necessria exigida pelo banco. O banco,
que est representado pelo funcionrio, ir consultar o cadastro de clientes,
disparando o mtodo ConCPF na classe Fsica e passando como parmetro
o CPF do cliente, para verificar se j se encontra cadastrado. Se ele estiver
cadastrado, a consulta retornar as informaes do cliente, caso contrrio
retornar um valor significando que o cliente ainda no possui cadastro no
banco.
Em seguida, o cadastro do cliente poder ser atualizado, caso necessrio,
podendo gerar uma nova instncia da classe Cliente, se o solicitante no
estiver cadastrado.

Antes de finalizar a atualizao do cliente, algumas consistncias devem ser levadas a efeito, uma delas o disparo do mtodo para validao
do CPF pelo prprio objeto da classe cliente. Aps o trmino da atualizao,
o objeto da classe cliente retornar algum sinal para o funcionrio do banco,
indicando que o cliente foi atualizado com sucesso ou se ocorreu algum
erro.

O banco ir, ento, informar ao cliente se o seu pedido foi ou no
aprovado. Em caso de aprovao, o cliente ir fornecer o valor inicial neces-

Anlise e Projetos de Sistemas

63

e-Tec Brasil

srio para a abertura da conta e escolher a senha para consultar a conta. O


banco ir ento disparar o mtodo para Abertura na classe Conta Comum
para abrir uma nova conta, gerando uma nova instncia da classe Conta Comum, ou seja, um objeto Conta Comum. A gerao de uma nova instncia
da classe conta comum identifica um mtodo construtor, representado pelo
mtodo Abertura neste caso.

Aps ter sido criado pela chamada Abertura, o objeto conta1 ir disparar o mtodo Gravar para gerar uma nova instncia da classe Histrico, 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 mtodo Gravar retornar, ento, um sinal indicando que o movimento foi registrado com sucesso e o mtodo Abertura disparado na classe Conta Comum,
por sua vez, retornar o nmero 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 Sequncia.
1.
Desenvolva o Diagrama de Sequncia para o sistema de videolocadora (1 exerccio do mdulo de Diagrama de Caso de Uso).

2.
Desenvolva o Diagrama de Sequncia para o sistema de Cursos de
Informtica (2 exerccio do mdulo de Diagrama de Caso de Uso).

3.
Desenvolva o Diagrama de Sequncia para o sistema de venda de
passagens areas pela internet (3 exerccio do mdulo de Diagrama de Caso
de Uso).

e-Tec Brasil

64

Tcnico em Informtica

Captulo 6
Diagrama de Classes

Objetivos da aula
- Compreender o uso de diagramas de classes, bem como os
seus componentes.


O diagrama de Classe mostra a estrutura esttica do modelo, em
que os elementos so representados por classes, com sua estrutura interna
e seus relacionamentos. Tambm podem organizados em pacotes, mostrando somente o que relevante em um pacote especfico, considerando, por
exemplo, o contexto que um grupo de classes tem em comum (estoque,
venda, etc.), ou os atores que utilizem seus servios (vendedor, almoxarife,
etc.).

o diagrama mais utilizado da UML. Pode ser utilizado para modelar
o modelo lgico de um Banco de Dados, quando se assemelha aos antigos
Modelos Entidade-Relacionamento.

importante destacar a existncia de Classes persistentes e no persistentes. Uma classe persistente uma classe cujos objetos precisam ser preservados fisicamente de alguma maneira, o que no ocorre em classes no
persistentes, cujos objetos so destrudos durante a execuo do sistema ou
quando este for encontrado.

6.1 Relacionamentos

As classes se relacionam entre si com o objetivo de compartilhar informaes e colaboram para a execuo dos processos executados pelo sistema. Veremos agora as possveis formas de relacionamentos em diagramas
de Classes.

6.1.1 Associao Unitria ou Reflexiva

Anlise e Projetos de Sistemas

65

e-Tec Brasil


Ocorre quando existe um relacionamento de um objeto de uma classe com objetos da mesma classe.

Figura 47: Associao Unitria

6.1.2 Associao Binria



Ocorrem quando so identificados relacionamentos entre objetos de
duas classes.

Figura 48: Associao Binria


Uma instncia da classe Scio pode no ter nenhum dependente (0),
ou pode ter vrios (*).

6.1.3 Associao Ternria ou N-ria


e-Tec Brasil

66

So aquelas que conectam mais de duas classes. So representadas

Tcnico em Informtica

por um losango para onde convergem todas as ligaes da associao.

Figura 49: Associao Ternria

6.1.4 Agregao

um tipo especial de Associao onde se tenta demonstrar que as
informaes de um objeto (chamado objeto todo) precisam ser complementadas pelas informaes contidas em um ou mais objetos de outra Classe
(chamados objeto parte). Este tipo de Associao tenta demonstrar uma
relao Todo/Parte entre os objetos associados.

Figura 50: Agregao


Na figura 47, indica que a classe Pedido armazena os objetos todo e
uma classe item_Pedido, onde so armazenados os objeto parte; portanto
Pedido possui item_Pedido.

6.1.5 Composio

Esta associao uma variao da Agregao, onde apresentado
um vnculo mais forte entre os objetos todo e os objetos parte, procurando
demonstrar que os objetos parte tem que estar associados a um nico objeto todo.

Figura 51: Composio

Anlise e Projetos de Sistemas

67

e-Tec Brasil

6.1.6 Especializao/Generalizao

uma associao similar e de mesmo nome utilizada no Caso de
Uso. Seu objetivo identificar classes-me, chamadas gerais e classes filhas,
chamadas especializadas. Essas associaes demonstram a ocorrncia de herana e possivelmente mtodos polimrficos na classe especializada.

Figura 52: Especializao/Generalizao

6.1.7 Dependncia

Esse tipo de relacionamento no costuma ser encontrado com muita
frequncia nos diagramas de classes. utilizado quando gera algum grau de
dependncia de uma classe em relao outra, isto , sempre que ocorrer
uma mudana na classe da qual uma classe depende, esta dever tambm
sofrer a mudana. 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.

Figura 53: Dependncia

6.1.8 Realizao

e-Tec Brasil

68

um tipo de associao especial que mistura caractersticas dos re-

Tcnico em Informtica

lacionamentos de generalizao e dependncia, sendo usada para identificar classes responsveis por executar funes para classes que representam
interfaces. Esse tipo de relacionamento herda o comportamento de uma
classe, no sua estrutura.

Figura 54: Realizao

6.2 Classe Associativa



So produzidas quando ocorrem associaes que possuam multiplicidade muitos (*) em todas as suas extremidades. Elas podem ser perfeitamente ser substitudas por classes normais, chamadas de Classes Intermedirias, mas que desempenham exatamente a mesma funo das classes
associativas.

Figura 55: Classe Associativa

6.3 Exemplo de Diagrama de Classes



Veremos agora um exemplo de um diagrama de Classes de um sistema para controle de locaes de revistas cientficas, apresentado na figura
53.

Anlise e Projetos de Sistemas

69

e-Tec Brasil

Figura 56: Diagrama de Classes para Controle de Locao de Revista Cientfica


Como podemos observar na figura 56, uma revista cientfica tem
ao menos uma edio, mas poder ter diversas. No entanto, uma edio
pertence nica e exclusivamente a uma revista, motivo pelo qual representamos essa associao como uma composio. Outro exemplo de composio
ocorre entre a classe Edio e a classe Artigo, em que tem obrigatoriamente
de publicar no mnimo seis artigos, podendo vir a publicar at dez. No entanto, um artigo cientfico s pode ser publicado uma vez, o que determina
que uma instncia da classe Artigo s possa se relacionar com uma instncia
especfica da classe Edio, o que identifica uma composio.

Em seguida, podemos observar que existe uma associao binria
entre as classes Edio e Autor. Tal associao significa que um artigo pode
ser escrito por muitos autores e um autor pode escrever muitos artigos. Com
a multiplicidade das duas extremidades da associao possui o valor muitos
(*), fora a existncia de uma classe associativa para armazenar os atributoschave das duas classes envolvidas na associao.

Podemos ainda identificar uma agregao entre as classes Locao e
item Locao. Cada Locao precisa ser registrada. No entanto, no possvel saber quantas revistas seriam locadas por um scio em cada locao,
podendo ser apenas uma ou vrias.

Um scio pode realizar muitas locaes ao longo do tempo, no entanto uma locao refere-se a um nico scio. Como as informaes de
locao no constituem um complemento obrigatrio da classe Scio, a as-

e-Tec Brasil

70

Tcnico em Informtica

sociao entre as duas classes uma associao binria 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 exerccio do mdulo de Diagrama de Caso de Uso).

2.
Desenvolva o Diagrama de Classes para o sistema de Cursos de Informtica (2 exerccio do mdulo de Diagrama de Caso de Uso).

3.
Desenvolva o Diagrama de Classes para o sistema de venda de passagens areas pela internet (3 exerccio do mdulo de Diagrama de Caso de
Uso).

Anlise e Projetos de Sistemas

71

e-Tec Brasil

Bibliografia
LIMA S. A. UML 2.0 Do Requisito Soluo. 3 ed. So Paulo: Editora rica,
2008.
GUEDES, G. T. A. UML Uma Abordagem Prtica. 3 ed. So 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. Califrnia, USA:
Sybex, 2002.

e-Tec Brasil

72

Tcnico em Informtica

Anda mungkin juga menyukai