Buscar

ESOF - Aula 20 - 2013_1 - SourceInnovation

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 1/11
ESOF - Aula 20 - 2013/1
De SourceInnovation
Engenharia de Software
Ramo da engenharia cujo foco é o desenvolvimento de sistemas de software dentro de custos adequados de alta qualidade.
Não existe limitação física para o potencial do software
Pode se tornar extremamente complexo
Índice
1 Brainstorming
1.1 Idéia
1.2 Problema
1.3 Demanda
2 Método
3 Escopo
4 Requisitos
4.1 Funcionais
4.2 Não-funcionais
5 Objetos
6 Classes
6.1 Primeiro Esboço
6.2 Exercício
6.3 Normalização
6.4 Diagrama Final
7 Casos de Uso
7.1 Diagrama Caso de Uso
7.2 Diagrama Detalhamento Caso de Uso
8 Diagrama de Estado
9 Diagrama de Sequência
10 Diagrama de Atividades
11 Diagrama de Objetos
12 Diagramas de Colaboração
13 Diagrama de Componentes
14 Diagrama de Pacotes
Brainstorming
Tempestade cerebral ou tempestade de ideias
Minas: Toró de parpite.
É uma atividade que serve para testar e explorar a capacidade criativa de indivíduos ou de um determinado grupo. É formada pelos termos ingleses "brain" (cérebro) e
"storm" (tempestade).
A técnica de brainstorming propõe que um grupo de pessoas se reúnam e utilizem seus pensamentos e ideias para que possam chegar a um denominador comum, a fim de
gerar ideias inovadoras que levem um determinado projeto adiante. Nenhuma ideia deve ser descartada ou julgada como errada ou absurda, todas devem estar na
compilação ou anotação de todas as ideias ocorridas no processo, para depois evoluir até a solução final.
Idéia
Uma ideia é uma concepção mental de uma coisa, tendo em conta a sua relação com a realidade.
É transformar o mundo por meio de conhecimento, criatividade e iniciativa.
Problema
Um problema pode ser:
um requisito funcional não disponível
um requisito não-funcional não atendido, envolvendo algumas situações como, por exemplo, usabilidade, segurança, desempenho, robustez, confiabilidade ou
hardware.
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 2/11
Demanda
Uma demanda, pedido, solicitação pode ser encaminhada por:
um projeto que define a necessidade de implementação de um sistema
um superior que requer um determinado software
uma lei que determina a obrigatoriedade de se construir uma aplicação
um cliente que reclama de uma nova solução.
Método
Estruturado, OO ou Serviço?
Optaremos pela Orientação a Objetos devido ao conteúdo atual da disciplina mas poderia ser usado qualquer um dos métodos.
10 Áreas da Engenharia de Software
http://www.sourceinnovation.com.br/index.php?title=ESOF_-_Aula_02_-_2013/1
Escopo:
http://www.sourceinnovation.com.br/index.php/ESOF_-_Aula_04_-_2013/1
Escopo
Desenvolver um sistema que monte uma biblioteca virtual que permite cadastrar os livros de cada usuário e disponibilizá-los na Internet para empréstimos usando
procedimentos de qualificação semelhantes ao Mercado Livre.
Dessa forma, cada usuário pode cadastrar seu acervo próprio e deixá-lo visível para todos e quem desejar um livro emprestado poderá solicitá-lo do proprietário que
liberará o empréstimo baseado num critério de qualificação.
O sistema poderá facilitar o processo de entrega ao solicitante (Retirada pessoal, Correios, Sedex, MotoTáxi, etc) e terá um procedimento para organizar a devolução.
Uma visão de estante poderá ser apresentada na tela mostrando a disposição dos livros tal qual uma estante real (similar ao que aparece no Ipad)
Ainda poderá ser incluído, um forum de discussão sobre cada livro e uma forma de indicação de livros.
Requisitos
Funcionais
01 - Autenticar no Face
Cada usuário no sistema deverá informar seu usuário no Facebook. Automaticamente, este usuario deverá ser autenticado no Facebook.
02 - CRUD Usuário
Ao validar o usuário no Face, deverá haver um menu que permite executar as 4 funções básicas: Criar usuário, alterar dados, excluir registro e pesquisar.
03 - Validar Usuários
Todo usuário poderá ser validado por meio de um procedimento que permite que a cada empréstimo, que o usuario solicitante possa ganhar pontos positivos de
forma similar ao Mercado Livre. Sendo assim, cada vez que o solicitante devolver o livro no prazo e em boas condições, o emprestador terá uma tela com a opção
de pontuá-lo positivamente e ainda fazer comentários. De outra forma, se a devolução não for feita da forma acordada, o emprestador poderá pontuar
negativamente.
04 - CRUD Livros
Um menu com as 4 funções básicas para movimentar um livro deverão ser criadas: Cadastrar livro, alterar dados do livro, excluir livro e pesquisar livros. O código
dos livros serão baseados no padrão ISBN.
05 - Qualificar livros
A opção acima se refere ao momento em que o leitor de um livro dá sua opinião sobre um determinado livro. Um menu com opções do tipo (Excelente, Ótimo,
Médio, Ruim ,Fraco, Difícil leitura, Contagiante) e outros adjetivos podem ser escolhidos. Além disso, um campo Observação deve ser aberto para que o leitor
possa discorrer sobre isso.
06 - Indicar Livros
Será possível que cada usuário indique o livro lido para outros usuários. Bastará que apareça os livros e que ao clicar sobre ele, apareça um campo que permita
escrever o endereço no Face de outro(s) usuário(s).
07 - CRUD Locais
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 3/11
Um menu com as 4 funções básicas para tratar de Locais deverão ser criadas: Cadastrar local, alterar local, excluir local e consultar locais. Estes locais se referem ao
local onde o fica a Biblioteca individual de cada usuário. Pode ser um nome escolhido pelo usuário que internamente tenha um Cep que permita referenciar a Cidade,
Bairro, Rua, etc.
08 - Solicitar Empréstimos
A função acima apresenta uma tela que mostra todos os livros disponiveis e permite que um usuário peça determinado livro emprestado. Além de escolher o livro
este deverá definir uma opção de entrega (Correios, Entrega ao portador, MotoTáxi, etc). Após estes passos, o sistema deverá avaliar o perfil do usuário solicitante
e aprovar ou não o empréstimo.
09 - Limitar Empréstimo
Nesta opção, o usuário proprietário dos livros poderá definir alguns critérios para empréstimo, do tipo (quais livros poderão ser emprestados, para quais cidades
destino, quantos livros poderão sair da sua biblioteca, quantas estrelas o solicitante terá que ter para liberar empréstimo, etc)
10 - Listar Histórico de cada usuário
Esta opção deverá mostrar o histórico de cada usuário solicitante (Data de solicitação do empréstimo, livro solicitado, data devolução, estado devolução, etc)
11 - Definir entrega
Neste ponto, o solicitante poderá definir o tipo de entrega do passo 08
12 - Gerar relatórios de livros existentes
Mostrar uma tela que permita ao usuário listar todos os livros com as seguintes facilidades de seleção: por Local, por Genero, por Autor e por Status (Disponível).
Dados a serem apresentados: Titulo, Autor e Editora
13 - Gerar Código de Barras
Criar um código de identificação que permita gerar a etiquetas com código de barras para os livros de cada biblioteca com a seguinte opção: intervalo de titulo,
intervalo de número, local específico, genero específico, apenas os disponíveis
14 - Mostrar Estante
Deverá ser desenhado na tela uma projeção de estante com as partiçoes verticais dispondo os livros nas seguintes ordens possíveis: por autor, por título, por data de
aquisição ou por genero. Será mostrado a parte do livro como se ele estivesse de pé com a quina da capa voltada para fora e os seguintes dados devem ser
visualizados para cada um: Autor, Título, Editora e Genero.
15 - Gerar relação de bibliotecas individuais disponíveis
O sistema deve permitir a visualizaçãode todas as bibliotecas existentes mostrando o nome da biblioteca (local), proprietário, cidade e quantidade de livros
disponíveis.
16 - Gerar relação de usuários no sistema
Opção que permita mostrar os usuários com suas qualificaçoes e a quantidade de empréstimos feitos por cada um
17 - Gerar relação de usuários em débito
Idem a opção anterior mas apenas os usuários em débito e mostrando o histórico
18 - Mostrar movimento de empréstimos por Usuário
Opção de escolher o usuário e o intervalo de data e mostrar o movimento de empréstimos daquele usuário
19 - Mostrar movimento de empréstimos por Data
O sistema deve permitir a escolha do intervalo de data e mostrar todos os empréstimos realizados independente do usuário
20 - Mostrar movimento de empréstimos por Livro
O sistema deve permitir a escolha do livro (título) e intervalo de data e mostrar todos os empréstimos realizados independente do usuário
21 - Iniciar fórum de discussão
Deve abrir uma janela onde o usuário possa escrever suas opinioes, críticas e elogios sobre determinado livro. Após a edição a tela mostrará cada post em ordem
cronológica e na parte superior o nome do livro, o nome do usuário e a data da postagem
22 - Ler manual online
O sistema deve mostrar a opção de abrir um arquivo PDF com o manual de orientação sobre como utilizar o sistema.
CRUD: Substitui 4 funcionalidades - Create, Read, Update e Delete
Também pode ser referenciado como:
ABCD: Add, Browse, Change e Delete
BREAD: Browse, Read, Edit, Add e Delete
VEIA: Visualizar, Excluir, Inserir, Alterar
Não-funcionais
O sistema quando finalizado deverá:
1. ser disponibilizado na Web
2. estar hospedado na nuvem
3. ser acessado em dispositivos móveis
4. ter um tempo de resposta de no máximo 15 seg em 90 % dos casos
5. Facebook: ???
6. rodar nos sistemas Windows, Linux, IoS e Android
7. seguir o padrão ISBN para codificação dos livros
8. ter versões em Português e Inglês
9. gerar manuais online para leitura pelos usuários
10. atender à disponibilidade de 3 noves
11. ser desenvolvido na linguagem Java
12. manter o banco de dados com solução Open Source
13. resguardar totalmente os dados cadastrais de usuários.
14. se comunicar segundo protocolos TCP/IP e UDP/IP
15. apresentar, associados aos livros visualizados nas pesquisas, links de Moocs (curso online grátis, de nível superior com certificado e com acompanhamento de professor)
que se refiram ao assunto tratado pela obra.
16. ser capaz de armazenar os dados em um SGBD como o MySQL ou PostgreSQL.
17. ter capacidade para recuperar os dados perdidos na última operação que realizou em caso de falha
18. ser compatível, no mínimo, com os seguintes browsers: Internet Explorer, Mozilla Firefox e Chrome.
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 4/11
Objetos
Grupo 2:
1. Livros
2. Código de Barras
3. Estante
4. Reserva
Grupo 3:
1. Usuários
2. Cep
3. Facebook
Grupo 5:
1. Empréstimos
2. Qualificações
3. Indicações
4. Entregas
Grupo 6:
1. Devoluções
2. Locais
3. Forum
4. Manual
Classes
Primeiro Esboço
Arquivo:ESOF - Classes.pdf
Pedro Avelar
Desenhar as 3 classes discutidas em sala de aula
Incluir tipificação e critérios
Publicar print das classes (PDF) na Wiki
Exercício
Arquivo:ESOF - Normalização.xls
ESOF - Aula 15 - Normalização
Normalização
Grupos 2, 3, 5 e 6:
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 5/11
Normalizar classes baseadas nos objetos acima.
Repassar o desenho das classes para Grupo 1
Prazo: 27/08
Normalização de Usuários, CEP e Facebook.
Arquivo:Normalizacaobiblioteca.pdf
Normalização de Livros, Usuários, Empréstimos e Devoluções
http://www.sourceinnovation.com.br/images/3/34/ESOF_-_Classes.pdf
Normalização Emprestimo, Entrega, Avaliação, Indicação
Mídia:Classebiblio.pdf
Biblioteca Virtual - Normalização
Diagrama Final
Grupo 1:
Receber diagramas dos grupos 2, 3, 5 e 6
Criar associações
Implementar Herança
Usar Software sugerido pelo Pedro Avelar
Desenhar Diagrama de Classes final
Publicar PDF na Wiki
Prazo: 03/09
Biblioteca Virtual - Diagrama de Classes
Casos de Uso
Diagrama Caso de Uso
Grupo 4:
Desenhar Diagramas de Casos de Uso
Incluir Estereótipos
Adicionar Métodos nas Classes
Implementar Polimorfismo
Publicar PDF na Wiki
Prazo: 03/09
Arquivo:Total.pdf Diagrama em pdf(faltam funçoes mas essas que estão aqui já foram homologadas pelo grupo 04)
Biblioteca Virtual - Diagramas de Casos de Uso
Diagrama Detalhamento Caso de Uso
Grupo 7:
Detalhar cada um dos Diagramas de Casos de Uso
Incluir Pré e pós-condição
Especificar Requisitos não-funcionais
Apontar Sequências alternativas
Publicar PDF na Wiki
Prazo: 03/09
Arquivo:Detalhamento de casos de uso.pdf
Biblioteca Virtual - Detalhe Casos de Uso
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 6/11
Diagrama de Estado
Status do Livro:
Complementar Diagrama acima
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 7/11
Criar mais um Diagrama de Estado
Diagrama de Sequência
Solicitar empréstimo:
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 8/11
Complementar Diagrama acima:
Diagrama complementado
Desenhar mais um Diagrama de Sequência
Prazo: 03/09
Diagrama de Atividades
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 9/11
Arquivo:Atividades.pdf
Prazo: 03/09
Diagrama de Objetos
Desenhar um Diagrama de Objetos
Instanciar as classes do Diagrama respectivo
Prazo: 03/09
 
Diagramas de Colaboração
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 10/11
Diagrama de Componentes
Desenhar um Diagrama de Componentes
Primeira idéia conceitual do Diagrama de Componentes para discussão, desenvolvido a partir do Diagrama de Classes e Diagrama de Sequência.
Um exemplo:
18/09/13 ESOF - Aula 20 - 2013/1 - SourceInnovation
www.sourceinnovation.com.br/index.php/ESOF_-_Aula_20_-_2013/1 11/11
 
Diagrama de Pacotes
Discutir com equipes que montaram:
Casos de Uso
Classes
Detalhamento dos Casos
Avaliar as funções
Montar Diagrama de Pacotes
Disponível em "http://www.sourceinnovation.com.br/index.php?title=ESOF_-_Aula_20_-_2013/1&oldid=19575"
Esta página foi modificada pela última vez à(s) 16h45min de 12 de setembro de 2013.
Esta página foi acessada 389 vezes.

Outros materiais