22 de out. de 2010

Primeiro Incremento

Essa semana começamos o primeiro incremento: a implementação do fluxo de compra, que contempla o requisito número 4 - "O sistema deve fornecer uma ferramenta de Carrinho de Compra" e parte do requisito número 3 - "O sistema deve gerenciar o sistema financeiro do shopping.", os quais foram escolhidos devido a relevância para o sistema.

Apresentação do dia 15/10/10

Abaixo segue o link contendo o Power Point usado na primeira apresentação do software "Shopping Virtual" e também o link contendo o protótipo de interface.

Office.Live.com

Protótipo de Interface

8 de out. de 2010

Planejamento para Sexta-feira (15/10/2010)

Será feita uma apresentação sobre o projeto dividido nos seguintes temas:
  • Definição de Escopo - Raul Lermen
  • Ferramentas e Tecnologias - Matheus Matos
  • Ciclo de Vida escolhido - Luis Serra
  • Requisitos - Bruno Morais
  • Protótipo de Interface - Matheus Matos

Requisitos

Requisitos Funcionais

1. O sistema deve gerenciar o cadastro dos Usuários do Sistema.
    1.1 Gerenciando as lojas dos usuários, caso possuam. 
2. O sistema deve gerenciar o cadastro dos produtos das Lojas.
    2.1 Dando permissão para o donos da loja cadastrar, editar e excluir seus produtos.
3. O sistema deve gerenciar o sistema financeiro do shopping.
    3.1 Gerenciando as vendas realizadas pelos clientes.
    3.2 Gerenciando o aluguel dos espaços para as lojas.
4. O sistema deve fornecer uma ferramenta de Carrinho de Compra.
    4.1 Onde os usuários poderão gerenciar suas compras.
5. O sistema deve gerenciar a publicidade das ofertas.
    5.1 Diariamente o sistema deve mudar as ofertas que irão aparecer na página inicial do sistema.

Requisitos Não-Funcionais

1. O tempo de resposta do sistema não deve ultrapassar 5 segundos.
2. Uma operação no sistema não deve ter mais que 3 cliques.
3. A interface do sistema deve ser simples.
4. O sistema deve suportar múltiplas operações.

7 de out. de 2010

Análise de Requisitos

Utilizaremos como base para analisar os requisitos do nosso sistema o livro “Engenharia de Software” de Sommerville, pois no capítulo 5 ele apresenta, de uma forma mais clara, como descrever os requisitos propriamente ditos. Como dito, podemos analisá-los sob 3 aspectos:

- requisitos do usuário – as funções que o sistema deverá fornecer e as restrições sob as quais deverá operar.

- requisitos do sistema – estabelecer detalhadamente as funções e as restrições do sistema.

- especificação do projeto de software – descrição abstrata do projeto de software. Base para o projeto e a implementação mais detalhado.

Seguindo a linha de pensamento de Sommerville, analisaremos os requisitos não funcionais, no qual diz respeito à confiabilidade, eficiência do software e facilidade de uso (abrangendo a parte de requisito de produto); e os funcionais, observando o que o sistema deverá fornecer e como deverá se comportar em determinadas situações.

Utilizaremos também como base para analisar os requisitos do nosso software o modelo proposto pelo sistema iSEC, onde ele apresenta as seguintes questões para definir-mos bem os requisitos:

• Qual o objetivo do sistema?
• Qual é a situação atual?
• O que já se tem pronto ?
• Quais são os problemas atuais?
• O que se espera deste novo sistema?
• Que tipo de restrições o sistema deve atender?
• Que entradas e saídas o sistema deve fornecer?
• Quais são as restrições temporais?
• Quais são os outros requisitos?

O iSEC conclui que a cada um dos requisitos é importante atribuir-se uma prioridade: baixa, média ou alta, simbolizando-se assim a quantidade de esforço que será empregado para que esses requisitos sejam atendidos, de acordo com a seguinte classificação:
• Alta: requisitos essenciais ao projeto e ao funcionamento da biblioteca. O objetivo do projeto depende diretamente do cumprimento de todos os requisitos com esta prioridade.
• Média: requisitos desejáveis ao projeto, mas não essenciais. O não cumprimento destes requisitos não afeta o objetivo do projeto, mas acarreta uma redução significativa na funcionalidade da biblioteca.
• Baixa: requisitos desejáveis ao projeto, não essenciais e que estão ligados a aplicações específicas e especializadas da biblioteca. O não cumprimento destes requisitos não afeta a funcionalidade da biblioteca, uma vez que estes requisitos podem ser implementados no futuro, quando e se necessário.

O documento final será apresentado ao cliente (no caso específico, ao professor ou alunos), que irá dar sugestões e aprovará ou não o trabalho para autorizar a nova fase de desenvolvimento.

Fontes:
• Livro “Engenharia de Software”, Sommerville.Capítulo 5.
• http://www.iset.com.br/solucoes/desenv_sistemas.php,iSET, Sistemas e Aplicações web.

Protótipo de Interface

Utilizaremos como referência para a construção do protótipo de interface o livro "Engenharia de Software" de Roger S. Pressman e também seguiremos as idéias propostas por Luiz Agner em seu livro "Ergodesign e Arquitetura de Informação" para basear a usabilidade.

Primeiramente, faremos a interface de algumas telas desenhando em papel e depois utilizaremos alguma ferramenta para a continuidade do protótipo.

Ciclo De vida do Software

A engenharia de software tem produzido inúmeros modelos de ciclo de vida. O ciclo de vida de um software descreve as fases pelas quais o software passa desde a sua concepção. As grandes fases de qualquer processo de desenvolvimento são:

  • LEVANTAMENTO DE REQUISITOS
  • ANÁLISE
  • PROJETO
  • IMPLEMENTAÇÃO
  • TESTES
  • MANUTENÇÃO

É essencial, antes do desenvolvimento de um produto, preparar um plano geral , ou seja, escolher um modelo de ciclo de vida. Este pode ser personalizado, se adaptando ao tamanho, complexidade e/ou nível de confiabilidade/segurança do projeto.

Tipos Processo de Desenvolvimento

Modelo Constroi e Conserta [codifica - remenda](caótico)

O produto é constuido sem qualquer especificação ou projeto. O produto é retrabalhado quantas vezes for nescessário para satisfazer o cliente. Este modelo pode funcionar razoavelmente para micro projetos. No entanto para projetos maiores ele é inadequado.

Modelo Cascata

  • Cascata Pura;
  • Prototipação
  • Incremental;
  • Espiral.

Cascata Pura

Define fases seqüenciais ao fim de cada uma das quais são produzidos documentos para verificar a conformidade, antes de passar à seguinte. É um dos modelos de ciclo de vida mais simples e mais conhecidos das organizações de desenvolvimento de software. Nele, as fases do projeto são executadas em uma seqüência linear e uma próxima fase só tem início quando a fase anterior está completamente pronta.

Prototipação

Neste modelo, os desenvolvedores iniciam o projeto e a implementação das partes essenciais do sistema em um protótipo e refinam o mesmo, adicionando novas funcionalidades e melhorias até ele se tornar o produto de software final que eventualmente se tornará o produto a ser entregue.

Iterativo Incremental

Tenta combinar os benefícios do modelo cascata e da prototipação. A idéia básica é que um software deveria ser desenvolvido em partes, cada qual adicionando alguma capacidade funcional ao mesmo até que o software completo esteja implementado.

Espiral

É um modelo de ciclo de vida orientado a riscos, que reparte o projeto em mini-projetos.

Cada ciclo da espiral envolve alguns passos para que o mesmo seja concluído, dentre os quais:

. Determinar objetivos, alternativas e incertezas;
. Identificar e resolver riscos;
. Avaliar as alternativas;
. Desenvolver os produtos de entrega para aquela interação e verificar seu grau de correção;
. Planejar a próxima interação.

O Modelo escolhido por nossa equipe é o Iterativo incremental, por ser, na nossa concepção inicial o que melhor se encaixa às necessidades de tempo/planejamento/execução, requeridas à proposta de trabalho.

Fontes:

  • · http://imasters.uol.com.br/noticia/1861/gerencia/modelos_de_ciclo_de_vida_por_que_precisamos_deles_no_desenvolvimento/
  • · http://pt.wikipedia.org/wiki/Modelos_ciclo_de_vida
  • · http://www2.dem.inpe.br/ijar/CicoloVidaSoftPrado.html
  • · Engenharia de Software - Roger S. Pressman

6 de out. de 2010

Ferramentas e Tecnologias

Listaremos aqui no decorrer do trabalho todas as ferramentas e tecnologias que utilizarmos no projeto.

Ferramentas:
NetBeans
Servidor Apache Tomcat
Astah / Jude
Axure

Tecnologias:
Java
JSP
jQuery
MySQL
HTML

Escopo inicial

Shopping Virtual

O shopping virtual é um sistema web que irá propocionar ao usuário a experiência de visitar e fazer compras de produtos de diversos segmentos através de um único portal.

A idéia principal é criar um único canal entre diversas lojas e clientes, criando um ambiente seguro de compra.

Uma loja poderá alugar um espaço virtual com uma estrutura de comércio eletrônico montada, onde a loja poderá divulgar e vender seus produtos.

Um cliente ao entrar no shopping virtual terá acesso a diversas lojas e poderão comprar os produtos através do shopping, que será o mediador da compra e venda. Sendo assim, o cliente paga ao shopping e o shopping repassa a venda às lojas.

Apresentação

A devirtual é um grupo de trabalho da disciplina Tópicos Especiais de Engenharia de Software do curso Sistemas de Informação da UNEB.

Os integrantes do grupo são:

  • Bruno Morais
  • Luis Serra
  • Matheus Matos
  • Raul Lermen