Documente Academic
Documente Profesional
Documente Cultură
ITABERAÍ / 2010
1
SUMÁRIO
TEMA...............................................................................................................3
LISTA DE ABREVIATURAS.........................................................................3
APRESENTAÇÃO DO TEMA........................................................................3
JUSTIFICATIVA.............................................................................................5
OBJETIVOS.....................................................................................................6
OBJETIVO GERAL.........................................................................................6
OBJETIVOS ESPECÍFICOS...........................................................................6
FUNDAMENTAÇÃO TEÓRICA....................................................................7
2.1 CONSIDERAÇÕES INICIAIS..................................................................7
2.2.1 BREVES CONSIDERAÇÕES SOBRE ORIENTAÇÃO A OBJETOS. 7
2.2.2 CLASSE..................................................................................................8
2.2.3 OBJETO..................................................................................................8
2.2.4 ENCAPSULAMENTO............................................................................8
2.2.5 POLIMORFISMO...................................................................................9
2.2.6 HERANÇA..............................................................................................9
2.3.1 PADRONIZAÇÃO DA MODELAGEM DE SISTEMAS USANDO A UML
..........................................................................................................................10
2.3.2 DIAGRAMA DE CLASSES...................................................................11
2.3.3 DIAGRAMA DE OBJETOS...................................................................11
2.3.4 DIAGRAMA DE PACOTES..................................................................12
2.3.5 DIAGRAMA DE ESTRUTURA COMPOSTA......................................13
2.3.6 DIAGRAMA DE COMPONENTES......................................................14
2.3.7 DIAGRAMA DE IMPLANTAÇÃO.......................................................15
2.3.8 DIAGRAMA DE CASOS DE USO........................................................15
2.3.9 DIAGRAMA DE SEQÜÊNCIA.............................................................16
2.3.10 DIAGRAMA DE MÁQUINA DE ESTADOS.....................................17
2.3.11 DIAGRAMA DE COMUNICAÇÃO....................................................17
2.3.12 DIAGRAMA DE ATIVIDADES..........................................................18
2.3.13 DIAGRAMA DE VISÃO GERAL DE INTERAÇÃO.........................19
2
TEMA
Estudo de caso de análise orientada a objetos para sistema web voltados
para cadastro e consulta de história de músicas.
LISTA DE ABREVIATURAS
OO – Orientação a Objeto
UML – Linguagem de Modelagem Unificada
HTML – Linguagem de Marcação de Hipertexto
PHP - Hypertext Preprocessor
ASP - Active Server Pages
APRESENTAÇÃO DO TEMA
JUSTIFICATIVA
OBJETIVOS
OBJETIVO GERAL
OBJETIVOS ESPECÍFICOS
FUNDAMENTAÇÃO TEÓRICA
Bezerra, contudo não se restringem às explanações únicas desta obra, somam definições e
entendimentos também os adquiridos em Engenharia de Software – Roger S. Pressman (1995) e
Engenharia de Software – Sommerville (2007).
2.2.2 CLASSE
Nas palavras de Pressman (1995), todos os objetos são membros de uma classe mais
ampla e herdam sua estrutura de dados e suas operações, que foram definidas para esta classe, de
outra perspectiva, mas ainda de acordo com Pressman (1995) uma classe seria um conjunto de
objetos com as mesmas características, sendo que um objeto individual é, por conseguinte, uma
instância de uma classe mais ampla. Para ilustrar imaginemos um martelo, ele é um membro ou
instância de uma classe maior de objetos, à qual denominamos ferramenta. Todas as ferramentas
possuem custo, dimensões, peso, cor, numeração entre outros inúmeros atributos. Quer estejamos
falando de um martelo, de um alicate ou de qualquer outro objeto da classe ferramenta, todos
herdam da classe ferramenta os seus atributos, logo, ao instanciarmos um novo objeto da classe
ferramenta, este possuirá os mesmos atributos: cor, peso, custo e etc.
2.2.3 OBJETO
2.2.4 ENCAPSULAMENTO
9
Os objetos criados ao se instanciar uma classe são responsáveis por executar funções
específicas a ele atribuídas, essas operações são os métodos. Segundo os princípios do encapsulamento,
quando um objeto requisita operações de outro objeto este que requisita o serviço não tem acesso aos
trâmites internos envolvidos na execução da operação, apenas recebe o resultado, o objeto encapsulado
restringe aos “olhos” do objeto requisitante o seu comportamento interno, restringe sua estrutura. O objeto
que fornece um serviço deve preocupar-se com como o serviço deve ser fornecido ao usuário, ou seja, os
detalhes de implementação. Eis o resumo de encapsulação fornecido por COX85:
[Um objeto] fornece uma encapsulação, por meio da qual uma estrutura de dados e um
grupo de procedimentos para acessá-la podem ser postos em serviço, de tal forma que os
usuários desse recurso possam acessá-la através de um conjunto de interfaces
cuidadosamente documentadas, controladas e padronizadas. Essas estruturas de dados
encapsuladas, denominadas objetos, resultam em dados ativos que podem ser solicitados
a fazer coisas ao se enviar mensagens a eles. (PRESSMAN, 1995, p. 531).
2.2.5 POLIMORFISMO
2.2.6 HERANÇA
Dessa forma consideremos uma classe chamada Pessoa, esta possui os seguintes
atributos: nome, telefone, endereço, e outros. Da classe Pessoa instanciaremos duas novas classes
chamadas Física e Jurídica, ambas herdarão da classe Pessoa seus atributos e além destes a classe
Física possuirá CPF, data de nascimento, enquanto a classe Jurídica possuirá CNPJ, data da
criação, inscrição estadual entre outros.
Este diagrama fornece uma ilustração de objetos instanciados a partir da visão das
classes após serem munidas de valores, ou seja, após serem preenchidos os seus atributos,
obviamente depende da elaboração do próprio diagrama de classes. Semelhante ao diagrama de
12
classes, porém representa instâncias e ligações entre as instâncias. Com o objetivo de descrever
um conjunto de objetos e seus relacionamentos em um dado espaço de tempo.
Segundo Furlan (1998) o diagrama mostra os objetos e como se relacionam entre si
em um dado espaço de tempo, sendo que sua representação é similar à de uma classe, um
retângulo com duas divisões, em que o primeiro contém o nome do objeto e o segundo os
atributos com seus respectivos valores, conforme exemplifica a figura XX.
É uma visão do sistema como um todo, sob tal perspectiva que se possa observar
todos os subsistemas que o compõem. Tem como proposta apresentar a modelagem estrutural do
sistema em divisões lógicas e suas interações em alto nível.
Segundo Page-Jones (2001) o diagrama de pacotes possui a finalidade de organizar os
elementos em módulos, estes que por sua vez representam coleção de classes, mostrando suas
13
dependências, figura XX. Também pode ser aplicado em bibliotecas adquiridas ou aplicação com
características relativas.
Quando estamos próximos da implementação, este diagrama nos fornece uma visão
modelada entre os módulos do próprio código fonte, bibliotecas e formulários, arquivos de banco
de dados e demais arquivos de sistema. Determina como cada um desses elementos estará
disposto na organização do sistema e como interagem entre si. Mostra os artefatos de que os
componentes são feitos, são eles: os arquivos de código fonte, tabelas de bancos de dados,
bibliotecas, contudo, as associações entre os componentes são possíveis graças às suas interfaces.
15
Um projeto a ser desenvolvido para um ambiente web precisa assim como um projeto
normal de software ser planejado e passar por um processo de engenharia. Pode reger-se pelos
princípios da OO e ter seu processo de modelagem elaborado e apoiado por ferramentas da UML,
mas mesmo assim um projeto de aplicação web segue processos um pouco diferentes, além de
suas regras de negócio obedecerem a outras legislações e particularidades. Contudo, existem
ferramentas que auxiliam de uma maneira mais adequada o desenvolvimento desse tipo de
aplicação, assim sendo se faz necessário que apresentemos os fundamentos da tecnologia web,
20
bem como demonstrar ao cliente que esse tipo de negócio tem detalhes um tanto quanto
particulares tanto na parte do desenvolvimento e da tecnologia aplicada quanto na manutenção do
próprio negócio.
Tudo nas nossas vidas muda os lugares, as pessoas, os costumes e demais coisas.
Metodologias empregadas com sucesso ontem podem não oferecer resultados satisfatórios hoje, e
com a engenharia de software não é diferente, usamos modelos de processo pré-definidos sem
contudo desprezar novas tecnologias, padrões e conceitos.
Desenvolver softwares hoje em dia é mais que apenas programar os componentes de
código, é preciso ter a visão do negócio como um todo, todo o ciclo de desenvolvimento deve ser
organizado e bem definido para que tudo sejam produzido e entregue no prazo.
Com a engenharia de sites também é assim, em sua abordagem global é semelhante a
uma aplicação desktop, porém não existe uma metodologia que seja específica para o
desenvolvimento de aplicações web.
21
ESTUDO DE CASO
Modelagem do Negócio
O processo de desenvolvimento do sistema será baseado no ciclo de vida evolutivo, pois ele
não apresenta requisitos tão claros e definidos, e estará sempre passando por validação e
evolução.
23
LISTA DE REQUISITOS
DIAGRAMA DE CLASSE
28
29
Usuário Visitante
30
31
CADASTRADO USUÁRIO
32
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo alternativo
Fluxo Principal
Fluxo Principal
Fluxo Principal
Fluxo Alternativo
Fluxo Principal
Fluxo Principal
Fluxo Principal
DOCUMENTO VISÃO
Documento Visão
Bruninhaerosmith@gmail.com
Reiscardoso.diego@gmail.com
Oliveirajp77@gmail.com
Ju.santiago08@hotmail.com
Larissa.mmoraes@hotmail.com
50
INTRODUÇÃO
OBJETIVO
SISTEMAS SIMILARES
PROBLEMA
PRODUTO
Produto Deverá facilitar a busca por informações a respeito das canções. Também a
proposto postagem de informações da historia e a armazenagem destes dados.
Oportunidad As buscas terão condições de ser infinitamente mais veloz, uma vez que
e de todo o processo de procura será de fácil entendimento.
melhoria
53
Clientes e usuários
Clientes
Descrever os clientes
Usuários
Os usuários são as pessoas que, de fato, interagem com o sistema web e que fornecem as
informações a serem postadas. Eles estão classificados nas categorias abaixo.
Categoria Papel
Atores Humanos
Usuários logados N1: Cadastrar-se
N2: Fornecer conteúdo ao site.
N3: Cadastrar bandas, histórias, músicas,
gênero, letra, compositores e comentários.
N4: Consultar as postagens.
Administrador N5: Visualiza todo o conteúdo do site e pode
moderá-lo como julgar adequado,
moderando postagens e administrar todo o
sistema.
Ambiente do usuário
54
Perfis de usuários
GLOSSÁRIO DE ATRIBUTOS
Classe: Usuário
Login Texto 20 Guarda o login único que o usuário vai acessar o site.
Senha Texto 30 Guarda a senha que o usuário vai ter para acessar o site.
Classe: Cantor/Banda
Classe: Musica
Classe: Gênero
Classe: Historia
Classe: Postagem
GLOSSÁRIO DE MENSAGENS
Nº Mensagem
01 Cadastre-se!
16 Efetue login.
58
REGRAS DE NEGÓCIO
Numero Regra
CONCLUSÃO
(Hypertext Markup Language) e isso nos deu uma nova visão do funcionamento da web, assim
como nos proveu meios de trabalharmos posteriormente com estas tecnologias ora conhecidas.
Ao analisarmos os efeitos deste trabalho em nossas vidas, pudemos constatar que o
crescimento não é mensurável, além do conhecimento acadêmico e profissional que adquirimos o
peso do mesmo em nossa vida pessoal, e o esforço de que dispomos para concluí-lo faz de nós
hoje pessoas mais maduras além de profissionais mais experientes, e com certeza ao concluirmos
nossa graduação sairemos prontos para enfrentar o mercado de trabalho que anseia por bons
profissionais de tecnologia.
62
BIBLIOGRAFIA
BEZERRA, Eduardo Princípios de Análise e Projeto de Sistemas com UML/ Eduardo Bezerra -
Rio de Janeiro: Elsevier, 2007, 2ª Reimpressão
SOMMERVILLE, Ian Engenharia de Software, 8ª edição / Ian Sommerville São Paulo: Pearson
Addison – Wesley, 2007.
Desenvolvimento de Sistema Web utilizando arquitetura em Três Camadas e Applets, Kanji Hara
Neto, Lucas G Nadalete, Fabio A. Gennari, Antonio A. Carneiro de Freitas
REFERÊNCIAS BIBLIOGRÁFICAS
BEZERRA, Eduardo Princípios de Análise e Projeto de Sistemas com UML/ Eduardo Bezerra -
Rio de Janeiro: Elsevier, 2007, 2ª Reimpressão
Sommerville, Ian