Mostrando postagens com marcador Engenharia de Software. Mostrar todas as postagens
Mostrando postagens com marcador Engenharia de Software. Mostrar todas as postagens

WireFrame

Na semana veremos como desenvolver um site estático para análise de usabilidade e fluxo de dados, para isso usaremos um sistema para criar o "esqueleto" do site, a ferramenta Axure.
Pode ser baixado uma versão de teste de 30 dias aqui: http://www.axure.com/download
Com o Axure instalado o que veremos é algo como a tela abaixo...


O sistema Axure oferece estrutura para inserir páginas, imagens, navegação etc. Vamos inserir objetos na projeto em branco.
Para se inserir um objeto, clicamos sobre ele e arrastamos o objeto para dentro da área de wireframe ( área de trabalho ). No projeto abaixo inserimos um objeto imagem, e um objeto placeholder ( objeto que indica que será incluído um novo objeto como texto, imagem, ou até mesmo um espaço).

Note que existem linhas de marcação ao redor da área de trabalho para sabermos o tamanho da página que faremos.

Agora inserimos um BOX ( retângulo em tom de cinza) para sobre ele inserirmos o menu horizontal. Para alterar os textos no menu, clique duas vezes sobre o texto que deseja mudar.

Nos MENUS, podemos inserir SUBMENUS clicando com o botão direito onde queremos o submenu e escolhendo a opção correspondente, Veja...

Deste modo um tema pode ser estruturado para ser melhor apresentado ao usuário...

e saiba que deste mesmo modo podemos inserir ou excluir espaços do menu ou submenu.

O projeto ficou assim para a primeira página, a HOME.

Agora para navegar entre as páginas e observar como o projeto responde, vamos criar a próxima página e lincar ambas. veja...

Para inserir no projeto a página, apenas clique duas vezes sobre pagina 1, na guia "PAGES". Depois configure a página como desejar, veja a página 1.


Com as páginas desenvolvidas, selecione o objeto, preferencialmente o MENU, e linque a navegação. Veja...

Deste modo podemos identificar quando o usuário clicar em algo o que deve acontecer.

Para checar como ficou o progresso do projeto, e sua navegação, selecione "PREVIEW" no canto superior direito... veja.


PRONTO! PRONTO!...
... agora é só pegar aquele seu projeto de TCC e desenvolver o wireframe navegável dele...
... menção garantida!


Desenvolvendo Processos BPM

Nessa semana veremos como os BPM podem ser feitos, para isso vamos utilizar uma ferramenta para facilitar o processo, no entanto, todo o registro pode ser feito manualmente quando necessário.
Vamos neste exemplo desenvolver o processo de uma compra de uma garrafa de água.

Então, "comprar água" será o processo que descreveremos no ciclo. Vamos iniciar instalando o sistema de apoio ao desenvolvimento do BPMN.
O sistema pode ser baixado aqui.


com o sistema instalado e iniciado, a tela que aparece é essa...


Na tela inicial o objeto RAIA já aparece para inserção dos dados, o que podemos de fato utilizar ou apagar. Observe ainda que no canto esquerdo estão os objetos gráficos para os diagramas, "fluxo", "dados" etc. 

Voltando para o nosso processo "comprar água", primeiramente DEVEMOS, conhecer o processo e identificar os agentes envolvidos (usuários, stakeholders), as decisões e caminhos... vejamos como prosseguir.

O CLIENTE pede a água ao ATENDENTE, que verifica o pedido e a disponibilidade do produto solicitado, cobra e entrega o produto ao CLIENTE.

Podemos pensar cada um na sua forma, no entanto o processo acontece sempre com algumas observações chave, como o CLIENTE e ATENDENTE, PEDIR o produto, PAGAR, VERIFICAR ESTOQUE, se um destes itens falhar, não existir, compromete o processo. Possuir uma observação a mais pode até acontecer, ter uma observação chave a menos, nem pensar, imagine vender um produto que não está disponível, ou cobrar por um produto que o cliente não pediu... 

Voltemos ao software, na imagem anterior vemos a raia, e ela será usada neste caso para conduzir os agentes e suas ações. vamos inserir os agentes nas raias do processo. 


Note que para inserir novas raias, clicamos e arrastamos para o local desejado, no caso, para dentro da raia que já tínhamos e uma Nova LINHA aparece.

Agora como queremos dois agentes, vamos inserir um novo como anteriormente. ficará assim...


Clicando sobre o nome "Processo 1" podemos inserir o nome do processo que queremos assim como os agentes veja...


Agora vemos quem está envolvido no processo.
Vamos inserir as etapas do processo, os símbolos são os descritos na aula anterior, como inicio, fim, tarefa, decisão etc. Para inserir um texto no símbolo, clique duas vezes sobre ele.

Observe os símbolos do lado direito do simbolo inserido, clicando sobre ele o "link" será feito imediatamente. Saiba que as tarefas são as ações do processo. No exemplo o inicio está com o cliente que faz o pedido, então essa é a primeira tarefa, o pedido. Depois veremos que o ATENDENTE verifica se o produto solicitado está disponível, caso SIM, cobra o valor do pedido do cliente, e o CLIENTE verifica a possibilidade de pagar pelo pedido...
veja...


Nesta sequencia observe que o processo vai sendo desenvolvido de acordo com as ações de CLIENTE e ATENDENTE quando ao pedido. Observe ainda que você pode excluir ou inserir uma tarefa para ajustar o processo. Veja como ficou no final.


Esse é um dos modos de se realizar o processo de "comprar água".

Agora pegue seu projeto de TCC, e realize esse diagrama com suas atividades. Deste modo podemos identificar os requisitos e ações necessárias.

Pronto! Pronto!

Modelagem de Negócios BPMN Introdução

Modelagem de Negócio é a concepção de Análise, Organização e (RE)Estruturação dos Procedimentos de um determinado Projeto de Negócio. BPMN (Business Process Managment Notation ) é uma metodologia cujo principal objetivo é modelar o fluxo de processos organizacionais e inter organizacionais. Esta metodologia permite a análise, definição, execução, monitoramento e administração de processos, relacionando o processo com a interação de pessoas e aplicações informatizadas (infra-estrutura), definindo metas a serem alcançadas e levantando as regras que gerem o negócio.

Podemos resumir que BPMN é o conjunto de técnicas que devem garantir a monitoração e melhoria contínua dos processos organizacionais, transformando a relação deste com as pessoas envolvidas, como fornecedores, funcionários e clientes, objetivando um posicionamento da empresa no mercado.

Profissionais envolvidos


Os profissionais envolvidos na adoção da metodologia BPM são:


* Gestores: responsáveis pelo monitoramento e gerencia dos processos e definição de novas regras de negócio.




* Analistas de Negócio: responsáveis pelo levantamento e desenho do fluxo dos processos.




* Arquitetos de Negócio: responsáveis pela remodelagem do processo, identificação de gargalos.




* Desenvolvedores: responsáveis pela implementação das regras para execução de tais processos.


Porque usar BPM


Uma vez mapeados os processos é possível identificar fluxos críticos a serem melhorados, otimizando a dinâmica operacional e produtiva.
Cada vez mais empresas estão adotando o BPM como prática para gestão de seus processos internos e externos. A adoção do BPM tem mostrado resultados como a melhoria da qualidade operacional e produtiva, redução significativa dos custos, diminuição dos prazos e tempo do ciclo do processo, agilidade na identificação e solução de problemas de distribuição (logística interna e externa), e adoção de estratégias de negociação de mercado.
Resultado final: maior competitividade, maior visibilidade, melhor saúde financeira, agregação de valor a marca, a empresa e o capital humano e melhora do desempenho corporativo.


O que é BPMN Afinal ?


O BPMN é a notação de modelagem de processos de negócio, cujo objetivo seja facilitar o entendimento de todos os envolvidos na gestão e monitoração dos processos. 
Esta notação deve especificar o fluxo dos processos organizacionais (internos e externos) objetivando a padronização do mapeamento dos processos de negócio. Neste contexto temos que destacar que o uso do BPMN limita-se à modelagem dos aspectos, único e exclusivamente do processo.
Podemos definir um processo como sendo um conjunto de atividades ou tarefas realizadas em uma organização, sendo estas realizadas em etapas.
Para que cada etapa de uma atividade seqüencial seja cumprida, atribui-se a ela regras e definições, podendo usar meios para o controle, como os sistemas informatizados.
O BPM define três tipos de processos existentes em uma organização:


* Processos privados: são inerentes à organização em si. Ocorrem dentro da organização e normalmente envolve seus os funcionários e colaboradores.


* Processos públicos (abstratos): são interações de um processo privado com processos externos (fora de organização). Ocorrem dentro da organização, porém interagem com processos de outra organização, normalmente envolve funcionários, fornecedores ou clientes.


* Processo global (colaboração): são as trocas de mensagens entre processos de negócio, internos, externos ou ambos, dentro do nosso escopo de visão.


Além dos processos, temos os sub-processos, os quais podemos definir como sendo uma série de atividades ou tarefas que formam um novo fluxo.
Os novos fluxos formados podem ser de dois tipos:


* Abertos (Dependentes) - São representados no mesmo diagrama do fluxo original (diagrama pai)


* Fechados (Independentes) - são representados em um diagrama independente do diagrama original. Normalmente estes fluxos são ditos como reutilizáveis, pois podem ser um único sub-processo que ocorre em diferentes processos. Pode-se utilizar o fluxo fechado para representar o processo de tratamento de erros, ações de compensação e controle de transações em processos.


Na notação dos fluxos de processo, existem os elementos representativos dos mesmos.


O BPMN define quatro categorias básicas dos elementos. São elas:


* Objetos de Fluxo




* Objetos de Conexão




* Swinlanes




* Artefatos



OK! Por hora é isso! na próxima vamos observar como BPMN organiza e estrutura as atividades - processos.

Pronto! Pronto!

fonte: uf


Ciclo de Vida de Sistema e Estruturas de Navegação

O Ciclo de Vida do Desenvolvimento de Sistemas ( SDLC – Systems Development Life Cycle), conhecido também com o “ciclo de vida do software” refere-se aos estágios de concepção, projeto, criação e implementação de um determinado Sistema. Um dos seguimentos para o desenvolvimento deste critério é o mostrado abaixo...

Onde temos:
O levantamento das necessidades também chamado de análise de requisitos , identifica as necessidades de informações da organização.

A análise de alternativas consiste na identificação e avaliação de sistemas alternativos.

Projeto trata da construção das especificações detalhadas para o projeto selecionado. Essas especificações incluem o projeto das interfaces, banco de dados, características físicas do sistema, tais como número, tipos e localizações das

estações de trabalho, hardware de processamento, o cabeamento e os dispositivos de rede. Deve especificar os procedimentos para testar o sistema completo antes da instalação

Desenvolvimento inclui o desenvolvimento ou aquisição do software, a provável aquisição do hardware e o teste do novo sistema.

Implementação ocorre após o sistema ter passado satisfatoriamente por testes de aceitação. O sistema é transferido do ambiente de desenvolvimento para o ambiente de produção. O sistema antigo (se existir) deve migrar para o novo.

Manutenção refere-se a todas as atividades relacionadas a um sistema depois que ele é implementado. Deve incluir atividades tais como a correção de software que não funcione corretamente, a adição de novos recursos aos sistemas em resposta às novas demandas dos usuários,...

Não há modelo de SDLC uniformemente aceito. Alguns modelos combinam desenvolvimento e implementação em uma única etapa. Outros combinam o levantamento e a análise das necessidades também em uma única etapa. Alguns modelos dividem o projeto em projeto lógico e projeto físico.


TIPOS de ESTRUTURAS de DESENVOLVIMENTO de SOFTWARE


O SDLC pode parecer sugerir que os novos sistemas sempre progridem de modo regular e seqüencial de um estágio para o seguinte. Na prática, os sistemas nem sempre seguem esta progressão. Os administradores e os profissionais de informática podem mover-se através do SDLC usando o modelo em cascata, a abordagem em espiral, ou outro modelos recursivos.

 O Modelo em Cascata
  
O modelo em cascata segue o SDLC em sequência (como mostra a figura a seguir). Como a água que flui numa cascata, o desenvolvimento movimenta-se somente num sentido, de modo que as etapas não podem ser repetidas.


Observe que as esferas do ciclo de ciclo do sistema em desenvolvimento seguem uma única linha, sem retorno, com testes em um momento, transformando o método em uma operação de risco.


O Modelo em Espiral

A abordagem em espiral implementa os sistemas baseado no conceito de maior necessidade. Ela entrega o sistema em versões. Cada versão passa por todas as etapas do SDLC, exceto a implementação que pode ser adotada por algumas versões, e a manutenção que se aplica somente a última versão.

Veja...


Existem ainda outros modelos de desenvolvimento, como o modelo de layout, que se caracteriza pela prioridade da interface do usuário, ou o modelo agil, que prioriza a programação do código das atividades solicitadas pelo cliente. No entanto, podemos encontrar híbridos, isto é, modelos que se utilizam de recursos uns dos outros, como um sistema de cascata que utiliza testes antes de fechar e passar para a próxima etapa, como no espiral.




ESTRUTURAS de NAVEGAÇÃO




1. Hierárquica




É fácil para os leitores descobrir a posição em que se encontram na estrutura. Nas hierarquias, a home page fornece uma visão geral do conteúdo que está subordinado a ela e ainda define os principais vínculos ás páginas dos níveis inferiores da hierarquia. 

EXEMPLO: Mapa do site .




2. Linear
Neste tipo de estrutura Linear a home page é o título, ou introdução, e todas as outras páginas acompanham em seqüência com vínculos que levam de uma página a outra, normalmente com opções de avançar e retroceder. 

EXEMPLO: instruções passo-a-passo.






3. Estrutura Linear com alternativas


A estrutura linear menos rígida permitindo que o leitor se desvie do caminho principal. Pode ter, por exemplo, uma estrutura linear com ramificações alternativas que partam de um único tronco.

As ramificações podem se reunir ao tronco principal em algum ponto mais adiante, em um nível mais baixo da estrutura, ou continuar se ramificando em níveis inferiores seguindo caminhos próprios até chegar a um "fim".

Além de ramificar a estrutura linear, você pode também oferecer vínculos que permitam aos leitores avançar ou retroceder na cadeia, caso precisem rever alguma etapa ou já conheçam alguma parte do conteúdo.



3. Combinação Estrutura Linear com Hierárquica
Estrutura linear e hierárquica, em cada página do roteiro você deve oferecer vínculos para o leitor avançar, retroceder, retornar ao início e subir um nível.



fonte: pucrj


é isso!
Pronto! Pronto!

Cliente

Quando pensamos em projetos, inevitavelmente temos o princípio do pensamento voltado para àquele que recebe o resultado do projeto, que pode ser um serviço ou um produto, e desde já, temos que identificar quem são os indivíduos que recebem este resultado, quem são os clientes. Vamos observar algumas definições sobre quem é ou melhor, o que é o "cliente".

O conceito de cliente do latim cliens, o permite fazer alusão à pessoa que tem acesso a um produto ou serviço mediante pagamento. A noção tende a ser associada a quem recorrer ao produto ou serviço em questão com assiduidade, ainda que também existam os clientes ocasionais (ou pontuais).

Dependendo do contexto, a palavra cliente pode ser usada como sinônimo de comprador (a pessoa que compra o produto), utilizador (a pessoa que utiliza o serviço) ou consumidor (quem consome um produto ou serviço).

Os especialistas em marketing e vendas fazem a distinção entre diferentes classes de clientes. Os clientes ativos são aqueles que, atualmente, realizam compras com frequência. Os clientes inativos, por sua vez, não realizam compras há já algum tempo, pelo que é provável que estejam a satisfazer as suas necessidades na concorrência.

Outra classificação reúne os clientes em clientes satisfeitos ou clientes insatisfeitos. Ou seja, os clientes têm necessidades que a empresa ou o vendedor tem todo o interesse em satisfazer e que, aquando da realização da compra do produto ou do pagamento do serviço, o cliente tem expectativas quanto àquilo que adquiriu. Se as necessidades não forem satisfeitas ou as expectativas não forem cumpridas, é muito provável que o cliente deixe de comprar.

Este princípio básico de marketing deu lugar à famosa expressão “O cliente tem sempre razão”. A empresa deve portanto centrar os seus esforços na satisfação do cliente, tendo em conta que um cliente satisfeito acaba não só por voltar, mas também por continuar a comprar e a gastar/aplicar o seu dinheiro na dita empresa.

Veja o que trecho que apresenta uma síntese sobre negócios e clientes.
Revista EXAME.
Como descobrir quem é o cliente do seu negócio
Respondido por Richard Vinic, especialista em empreendedorismo
O que você sabe sobre seu cliente? Um dos grandes desafios de qualquer empreendedor é conhecer quem é o seu cliente. Como ele pensa, do que gosta, o que fará com que ele compre mais vezes na sua empresa. Essas são apenas algumas das questões e dilemas de todos que disputam a preferência do cliente.
Uma das mais tradicionais técnicas é a pesquisa de mercado. Para saber quem é seu cliente, basta perguntar a ele. Elabore um questionário de pesquisa ou roteiro de entrevista, definindo algumas questões-chave. Este tipo de recurso, porém, deve considerar a falta de tempo dos clientes. Assim, quanto menos perguntas elaborarmos, maior a possibilidade de retorno.
Contrapondo este tradicional método, entende-se que muitas vezes nem mesmo o cliente sabe o que ele quer. Ou então, a resposta dada no momento da pesquisa representar apenas aquele momento, mas não necessariamente uma opinião.
Outra sugestão que pode trazer mais algumas peças para seu quebra-cabeça é a pesquisa dos chamados dados secundários. Esses dados são os já pesquisados por algum instituto ou organização de determinado segmento de mercado.
Alguns mercados são ricos em dados já coletados e a busca por estas informações, além de exigir apenas o investimento de seu tempo para a procura, certamente contribuirá para entender um pouco mais seu cliente.
Agora, além dos métodos comentados, gostaria de sugerir também a pesquisa a partir da observação, que pode ser realizada analisando como seu cliente se comporta no ponto-de-venda. Por exemplo: quanto tempo fica na loja virtual, qual o percurso que realiza, quais itens observa, como faz a análise de cada produto, quantas vezes por mês frequenta a loja, se está divulgando ou não, o que acha interessante, para seus conhecidos.
Vejam que não tem muito segredo. Com o verdadeiro interesse por entender e conhecer cada vez mais seu cliente, basta começar esta viagem. A cada compra, cada contato e visita, podemos saber um pouco mais sobre ele.
Toda essa busca por novas informações garantirá que você conheça ainda mais seu cliente e, possivelmente, mais do que seu concorrente sabe hoje.








Engenharia Web - Introdução

Quanto a Engenharia para WEB podemos dizer que o surgimento de novas tecnologias e meios de multimídias fizeram com que um novo meio de comunicação ganhasse espaço no mercado, a internet. Antes do seu advento, os meios de comunicação existentes (revistas, livros, TV, rádio) para repassar a informação, permitiam controlar mais facilmente o conteúdo do que era produzido. A internet se expandiu rapidamente e a WEB se tornou o principal veículo para prestação de serviços computacionais, atingindo um número cada vez maior e diversificado de usuários. É possível realizar quase tudo através desse mundo virtual: compras, pesquisas, cursos à distância, programação de viagens, transações bancárias além de economia de correio e burocracia. Com isso as organizações comerciais estão explorando as potencialidades da WWW para se apresentarem ao público e, ao mesmo tempo, vender seus produtos e serviços com rapidez e ampliar o seu universo de consumidores, que estão se tornando cada vez mais exigentes, e escolhendo entre os sites visitados aqueles que melhor resolvam seus problemas. 

Para garantir a qualidade e a satisfação dos usuários, facilitar a manutenção e o desenvolvimento é necessário a utilização da Engenharia, que atenda as características específicas da WEB; já que a Engenharia Tradicional não atende totalmente aos requisitos dessas aplicações. A tendência do mercado está voltada para o desenvolvimento para WEB, portanto os profissionais que não utilizarem as metodologias da Engenharia para WEB, que ainda é uma ciência em evolução, não conseguirão produzir Software com qualidade e por esta razão estarão fora do mercado. 

Considerando que o desenvolvimento para a Web é para ofertar algum serviço em tempo real, alguns aspectos devem ser considerados;

- Imediatismo: os aplicativos para WEB são acessados por vários usuários ao mesmo tempo. Com isso o tráfego de informação aumenta e isso gera sobrecarga na aplicação. O desenvolvedor deve se preocupar em criar uma aplicação que gere resultados rápidos;

- Segurança: existe uma dificuldade de limitar ou controlar o número de usuários que irão acessar um aplicativo WEB, pois está disponível via rede. Para proteger o seu conteúdo é necessário implementar medidas rígidas de segurança no aplicativo, na transmissão dos seus dados e na sua infra-estrutura. Uma medida de segurança seria definir permissões impedindo assim que pessoas não autorizadas acessem determinadas funções e dados da aplicação. Outra medida é a utilização da criptografia de dados no caso de 
operações de compra, movimentação financeira, leilões, etc; 

- Estética: a estética de uma aplicação é tão importante quanto o seu projeto. O usuário deseja que a informação seja apresentada da forma mais agradável e confortável possível. Uma aplicação sem estética tende a perder o acesso de seus usuários no caso de outras aplicações semelhantes e que apresentarem uma estética melhor. 


O Desenvolvedor deve ficar atento ao que se refere a qualidade do sistema desenvolvido, quanto às aplicações WEB, os usuários da Internet possuem pontos de vista diferentes sobre o que constitui uma boa aplicação. Muitos apreciam gráficos atraentes, enquanto outros textos simples, boa navegação, muita informação, ou ainda informações resumidas. Mas quando se fala em alta qualidade, as seguintes características definidas por Olsina (1999) e detalhadas por ROCHA (2001) são indispensáveis por qualquer usuário: 

• Usabilidade: entendimento geral do site, feedback e help on-line, facilidade de localização das informações, ausência de erros na navegação, disponibilidade de atalhos. 

• Funcionabilidade: recursos de busca e recuperação, características de navegação e navegador e características relacionadas ao domínio da aplicação. 

• Confiabilidade: processar corretamente todos os links, recuperar erros, validar, recuperar dados de entrada do usuário, tolerância à falhas, segurança. 

• Eficiência: ser eficiente no tempo de resposta, rapidez na geração de páginas e de gráficos. 

• Manutenibilidade: ter facilidade na correção, adaptação e extensibilidade. 


Estudo de Caso – Lojas Americanas 

As lojas virtuais desempenham um papel estratégico para qualquer negócio na Internet. Através delas que o visitante será apresentado aos produtos e, se interessado, irá se sentir motivado para realizar a compra. Neste momento a qualidade da loja virtual em transmitir informações precisas, sua confiabilidade, segurança e facilidade de navegação são fatores decisivos. Para exemplificar o uso da Engenharia, bem como suas características e importância em aplicações WEB, será utilizada a loja virtual AMERICANAS.COM, por já ter recebido os seguintes prêmios: 

IBest Categoria B2C (Business to Consumer): Melhor site de comércio eletrônico do Brasil em 2005 / 2004 / 2003 / 2002 / 2001 pelo júri popular. 

iBest 2001 - Prêmio Revelação: Site revelação de 2000 pelo júri oficial. 

Info Exame 2000 - Loja on-line: Melhor loja on-line do Brasil em 2000. 

Info Exame 2000 - Site do ano: Melhor site do Brasil em 2000. Prêmio Summit de Varejo 2002: Case "Brazil´s Premmiere e-commerce company". 

Folha iBrands – 2001: Loja de Departamento mais lembrada pelo internauta brasileiro. 

O site foi avaliado segundo os seguintes critérios de alta qualidade indispensáveis a qualquer aplicação para WEB: 

- Usabilidade Trata-se de um site comercial, é uma loja virtual com objetivo de apresentar seus produtos da maneira mais simples possível, possibilitando a todos os tipos de usuários uma navegação fácil e rápida. Os produtos são divididos por categoria de modo que não haja dificuldade para encontrá-los. Cada categoria é ainda subdivida com a intenção de fornecer varias opções ao usuário de como localizar as informações desejadas. Exemplo de uma compra: A Categoria CD é subdividida em artista e gênero musical; na maioria das vezes apenas uma dessas duas opções de busca é conhecida pelo usuário, no caso da busca por artista, os nomes são apresentados em ordem alfabética, ao selecionar um artista traz a listas de todos os seus CD’s por ordem de lançamento, permitindo assim ao usuário encontrar mais facilmente o CD procurado. O site dispõe de atalhos em todas as páginas, através dos mecanismos de apoio a navegação: menus, saltos arbitrários etc; apresenta também um serviço de atendimento ao cliente, que possui perguntas separadas por assunto tanto sobre como utilizar o site quanto como realizar uma compra e localizar um produto além de help on-line. 

- Funcionalidade Diversas funcionalidades são oferecidas pelo site, entre elas está a disponibilidade de recursos de busca, através do mecanismo de Pesquisa presente em todas as categorias do site. Possui também um sistema de identificação que agiliza o processo de compras, este sistema armazena apenas os dados cadastrais (nome, sexo, telefone, e-mail). Assim além de facilitar as compras futuras cria de acordo com o perfil do usuário, ofertas especiais, um atendimento personalizado na próxima compra, onde o cliente será recebido nominalmente com uma saudação especial, e estabelece um vínculo com este cliente enviando constantemente e-mail contento ofertas especiais e informações sobre a loja. Outras funcionalidades são os serviços Avise-me e Histórico de Pedidos, o primeiro é utilizado para informar ao cliente quando um produto já está disponível em estoque, já o segundo permite acompanhar o processamento do pedido desde aprovação do pagamento até a entrega à transportadora. No caso de alterações neste processamento, o sistema envia automaticamente e-mail de alerta ao cliente, os pedidos também são confirmados via e-mail. O site apresenta também espaço para contato em caso de dúvidas e sugestões. 

- Confiabilidade Foi observado no site o processamento correto de todos os links, e a presença de mecanismos de validação (dados cadastrais, CPF) e mecanismos de tratamento de erro (mensagem acusando que o CPF não é válido ou alerta sobre quantos caracteres deve possuir a senha). 

- Segurança O aplicativo possui foco na segurança e está entre os principais sites do Brasil que criaram o programa Internet Segura, ele oferece uma série de garantias de privacidade e segurança dos dados pessoais. Os dados pessoais são criptografados e as informações são codificadas antes de serem transmitidas. Em hipótese alguma o número do cartão e outras informações relativas ao pagamento são armazenadas após processar a compra, ocorre a destruição destes dados e a compra está sujeita a confirmação através de telefone e e-mail. A segurança do site é certificada pela Verisign: a maior autoridade de segurança na Internet; o que garante que todo cliente pode fornecer tranquilamente seus dados no processo de compra. O site afirma também que não comercializa informações pessoais de seus clientes, mas agrupam estas informações segundo determinados critérios objetivando um melhor atendimento conforme o perfil do usuário. Todas as mudanças na política de privacidade são publicadas no site. 

- Eficiência Em diversas máquinas com diferentes configurações de browsers, sistemas operacionais, o site carregou rapidamente sem causar espera ao usuário, o que também contribui para isso é o fato da interface apresentar poucas faixas de propaganda e o mínimo de animação. Sempre que um usuário realiza um evento o aplicativo gera uma resposta, os desenvolvedores se preocuparam em tratar erros e enviar alertas de mensagens aos usuários para evitar que os mesmos ficassem perdidos na navegação e não soubessem se suas operações foram realizadas ou não. 

- Manutenibilidade No estudo de caso disponível não foi possível avaliar esta característica pois o acesso ao aplicativo nessas condições não é permitido. 

- Projeto de Arquitetura Este aplicativo é um exemplo da combinação das diferentes estruturas para apresentar o conteúdo ao usuário. A Estrutura Linear se mostra presente ao efetuar uma compra, o usuário é obrigado a seguir o seguinte caminho: Sacola, Identificação, Pagamento e Confirmação Final. Este processo gera uma senha e um login para o usuário e proporciona mais segurança a transação, permitindo que só o usuário realmente cadastrado efetue a compra através de uma série de validações. A Estrutura em Grade é utilizada nas subdivisões existentes dentro de cada categoria, de modo a facilitar o entendimento do usuário e agilizar a navegação. Um exemplo seria a subdivisão da categoria CD em artista e gênero musical. Já a Estrutura de Rede permite o acesso a todas as páginas a partir de qualquer uma delas, e é empregada através do menu. 

- Interface e Estética Conforme matéria publicada no site Livra.com pesquisas demonstraram que o Site das Lojas Americanas apresenta uma interface agradável, de fácil navegação, bem desenhada e interativa (através dos serviços de cadastro de usuário, compras, histórico das compras, help on-line). As cores utilizadas para construção da interface não desapontam os usuários, não são cores fortes e berrantes e estão de acordo com o logotipo da empresa. Outras características positivas da interface são a presença de menus em todas as páginas, assim como outros mecanismos de navegação e a ausência de links que não levam a lugar nenhum ou “Em Construção” que causam certo desapontamento ao usuário. 

Pronto! Pronto!

Fonte: Artigo-Engenharia de Software para Web



UML - Caso de Uso

UML


UML - Unified Modeling Language (UML) é uma linguagem de modelagem de dados e seus relacionamentos baseados em requisitos dos agentes ou sistema. A UML não é uma metodologia de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos.


Objetivos da UML

Os objetivos da UML são: especificação, documentação, estruturação para sub-visualização e maior visualização lógica do desenvolvimento completo de um sistema de informação. A UML é um modo de padronizar as formas de modelagem.


O Futuro da UML

Embora a UML defina uma linguagem precisa, ela não é uma barreira para futuros aperfeiçoamentos nos conceitos de modelagem. O desenvolvimento da UML foi baseado em técnicas antigas e marcantes da orientação a objetos, mas muitas outras influenciarão a linguagem em suas próximas versões. Muitas técnicas avançadas de modelagem podem ser definidas usando UML como base, podendo ser estendida sem se fazer necessário redefinir a sua estrutura interna.

História


A UML tem origem na compilação das “melhores práticas de engenharia” que provaram ter sucesso na modelagem de sistemas grandes e complexos. Sucedeu aos conceitos de Booch, OMT (Rumbaugh) e OOSE (Jacobson) fundindo-os numa única linguagem de modelagem comum e largamente utilizada. A UML pretende ser a linguagem de modelagem padrão para modelar sistemas concorrentes e distribuídos.

A UML ainda não é um padrão da indústria, mas esse objetivo está a tomar forma sob os auspícios do Object Management Group (OMG). O OMG pediu informação acerca de metodologias orientadas a objetos que pudessem criar uma linguagem rigorosa de modelagem de software. Muitos líderes da indústria responderam na esperança de ajudar a criar o padrão.

Os esforços para a criação da UML tiveram início em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational. Com o objetivo de unificar os métodos Booch e OMT, decorrido um ano de trabalho, foi lançado, em outubro de 1995, o esboço da versão 0.8 do Unified Process – Processo Unificado (como era conhecido). Nesta mesma época, Jacobson se associou à Rational e o escopo do projeto da UML foi expandido para incorporar o método OOSE. Nasceu então, em junho de 1996, a versão 0.9 da UML.

Finalmente em 1997, a UML foi aprovada como padrão pelo OMG (Object Management Group), um consórcio internacional de empresas que define e ratifica padrões na área de Orientação a Objetos.

Visão Geral da UML



Elementos de um CASO DE USO

De estrutura:
Classe
Objetos
Interface
Componente
Colaboração
Nó
De comportamento:
Casos de uso
Iteração
Máquina de estados
De agrupamento:
Pacote
Modelo
Subsistema
Framework
De anotação:
Notas
Relacionamentos
Agregação
Associação
Composição
Generalização
UML usa os seguintes conceitos:
Ator
Atividade
Interface
Package ou Pacote
Classe
Evento

CASO DE USO

Caso de Uso é uma técnica de modelagem de requisitos que descreve o que um sistema faz.

Deste modo, Caso de Uso é o envolvimento dos agentes com sistema para a realização de uma atividade necessária. Segundo Jacobson;

"um caso de uso é um documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar um processo".

A ferramenta descreve como os usuários interagem com o sistema (as funcionalidades do sistema) , dando uma visão externa do sistema , indicando o conjunto de casos de uso necessário para se comunicar a funcionalidade e o comportamento do sistema para o cliente - agente(ator). No entanto, o caso de uso descreve o que o sistema faz, mas NÃO especifica como isso deve ser feito, e, geralmente é definido por um verbo, que simboliza uma ação.

Veja um Exemplo de diagrama de caso de uso...



No caso, vemos um atendente que vende CDs e um Gerente que Administra o estoque e também vende CDs.
No entanto, Atendente e Gerente o que são no diagrama ? Veremos os Atores/Agentes a seguir.

Atores
Os atores ou Agentes representam os papéis desempenhados por elementos externos ao sistema

• Ex: humano (usuário), dispositivo de hardware ou outro sistema (cliente)

Agentes são elementos que interagem com o sistema.

Representação Gráfica:


Mas, como foram identificados os atores no caso da loja de CDs, o primeiro passo para a confecção do diagrama de caso de uso é o domínio do ambiente espacial e operacional dos eventos existentes. Veja uma descrição de como os Agentes foram encontrados.

"– Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. "
Desta forma, identificamos como Agentes o Atendente e o Gerente, e, note ainda que o Cliente não é agente para este caso já que não tem envolvimento com o Sistema.
Agora observe como foram encontrados os eventos - atividades - ações que o estudo de caso - caso de uso possui. Observe o trecho novamente que as ações estão lá, veja os casos do esquema...

"– Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos."

Agora identificamos as ações, isto é, os casos de uso do sistema. Vamos representá-los sempre com os balões. Veja


Certo! Agora que temos os casos de uso (ações) e os agentes teremos que observar como eles se relacionam. Estes relacionamentos podem ser variados e possuem suas características próprias.


Relacionamento de Associação

Este tipo de relacionamento indica que há uma interação (comunicação) entre um caso de uso e um ator, no entanto, Associações NÃO representam fluxo de informação, apenas que eles podem se comunicar.Um ator pode se comunicar com vários casos de uso
Veja o Diagrama;




O gráfico indica um agente e sua relação com o caso de uso.
Vamos voltar ao exemplo da loja de Cds e ver como as relações de associação existem.

Agora temos o atendente que se relaciona com a venda de CDs, assim como o gerente e o gerente que se relaciona com a administração do estoque.


Relacionamento de Generalização

Generalização de Atores
Dizemos que houve generalização de Atores quando dois ou mais atores podem se comunicar com o mesmo conjunto de casos de uso ou um filho (herdeiro) pode se comunicar com todos os casos de uso que seu pai se comunica. No exemplo da loja de CD, o Gerente é o filho do Atendente e deste modo consegue fazer tudo o que o atendente faz.

Veja;

Generalização de Casos de Uso
Quando generalização acontece em caso de uso o caso de uso filho herda o comportamento e o significado do caso de uso pai, assim como o caso de uso filho pode incluir ou sobrescrever o comportamento do caso de uso pai. Pode ainda o caso de uso filho substituir o caso de uso pai em qualquer lugar que ele apareça. Note que Generalização de Caso de Uso deve ser aplicada quando uma condição resulta na definição de diversos fluxos alternativos.
Vamos acrescentar itens ao comportamento ao sistema em estudo - A Loja de Cds. Veja;
Novos requisitos:


– As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor.
• No caso de uma venda à vista, clientes cadastrados na loja e que compram mais 
de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro.
• No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.

Veja o Diagrama de caso de uso com as novas informações.





Vender Cds a prazo ou a vista ainda é uma ação de Vender CDs e pode ser realizado pelo Atendente ou pelo Gerente.

Observe ainda mais generalizações dos relacionamentos de Vender a Prazo.

Agora as vendar de CDs podem ser a prazo ou a vista, e, quando a prazo podem ser Boleto ou Cartão.


Relacionamento de Dependência

Extensão:
Extensão como dependência de relacionamento é uma variação/extensão do comportamento do caso de uso base que é estendido e só é executado sob certas circunstâncias, separando partes obrigatórias de partes opcionais.

Considere o seguinte critério:

– No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. 
– No caso de uma venda a prazo para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras à vista.
Deste modo temos partes opcionais que serão realizadas somente em certa situação, causando a extensão do caso de uso para uma nova ação. Veja;





Agora vemos que quando o pagamento é a vista ou com o cartão (respeitando as condições) o calculo do desconto será realizado. EXTEND tem a linha da seta pontilhada, dizendo que aquela relação é condicional.

Relacionamento de Dependência

Inclusão
A inclusão é a relação utilizada para evitar repetição ao fatorar uma atividade comum a dois ou mais casos de uso, ou, quando um caso de uso pode incluir vários casos de uso

Considere;
Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema.
Assim, ambos os usuários devem utilizar do sistema para alteração apenas logado.

Veja o diagrama.





Então temos os casos de uso <<include>> que são obrigatórios para se realizar as atividades de administrar o estoque ou vender cds.

Note que a linha também é marcada (pontilhada) devido a sua condição.
Porém o Caso de Uso não acaba por aqui. Ainda temos a descrição que pode ser detalhada ou resumida para elencar os procedimentos previstos pelos desenvolvedores. Veja um exemplo de descrição do Agente Atendente.



Pronto! Pronto!
Fontes:PUC - Rio