Este blog tem o objetivo de compartilhar conhecimento referente à Disciplina de Engenharia de Software e
Análise de Projeto de Sistemas da turma de Ciência da Computação da Faculdade Anhanguera de Campinas/SP - Unidade 3 - 1° sem/2011.
Email: computacaoes012011@googlegroups.com
segunda-feira, 18 de abril de 2011
ATPS ENGENHARIA DE SOFTWARE...
CURSO DE CIÊNCIA DA COMPUTAÇÃO
SERIE 5ª
ENGENHARIA DE SOFTWARE E ANALISE DE PROJETO DE SISTEMA
Professora: Tania Regina Ramires Bezerra
ATIVIDADES PRÁTICAS SUPERVISIONADAS
Donizeti de Assis Dantas RA: 0995534163
Cinara Saraiva Cardoso RA: 0901345894
Kivia F. Azevedo Ramos RA: 2507415553
Campinas – Abril 2011
SUMARIO:
• Introdução...................................................................................................1
• Entrevista....................................................................................................2
• Objetivo do Software..................................................................................3
• Características do Software........................................................................3
• Tabela com as versões do Software...........................................................4
• Tabela com as vantagens e desvantagens...................................................4
• Abertura do sistema....................................................................................5
• Tabela de Prioridades.................................................................................5
• Requisitos...................................................................................................5
• Manutenção................................................................................................6
• Segurança...................................................................................................6
• Tipos de usuário.........................................................................................7
• Menu duvidas.............................................................................................7
Introdução:
Neste documento apresentamos uma previa de um projeto de software que pode ser implantado na empresa para auxiliar no controle de clientes , no fluxo de caixa, estabilidade na qualidade de atendimento e projeções para futuros investimentos no campo de atuação na rede de pet shop.
Entrevista
1) Qual o nome da empresa?
Resp: Clivet
2) Quanto tempo no mercado?
Resp: Há 5 anos.
3) Tipo de animais atendidos?
Resp: Animais domésticos.
4) Tipos de tratamentos que serão realizados?
Resp: Banho, tosa , vacinação e clinica geral.
5) Tipos de dados a empresa gostaria de obter do cliente?
Resp: Nome, CPF, RG, Endereço completo, Telefone residencial, celular.
6) Informações desejadas sobre o animal a ser atendido?
Resp: Nome, raça, idade, sexo, vacinas já tomadas, histórico de viroses, fotos do animal.
7) Qual tipo de controle gostaria de fazer referente a utilização do sistema?
Resp: Controle dos serviços prestados;
Controle das vendas;
Controle de estoque;
Relatório de contas a pagar (por mês);
Relatório de contas a receber (por mês);
Controle de caixa diário;
Controle de Agendamento;
8) Gostaria que o sistema fosse acessível a todos funcionários ou restrito?
Resp: Restrito a funcionários devidamente registrados.
9) Gostaria que o sistema gerasse relatórios para impressão?
Resp: Sim.
10) Gostaria de sistema de pré-visualização das fichas e dos relatórios?
Resp: Sim.
VETSOFT ALL
Um novo software de gerenciamento para sua clínica veterinária CLIVET. Desenvolvido para atender as novas necessidades de sua clínica veterinária, ele se preocupa não somente em “guardar” os dados e informações dos clientes e animais, e sim fazer com que essas informações se transformem na principal ferramenta de trabalho do Novo Médico Veterinário.
Desenvolvido exclusivamente para o mercado de Clínica, procuramos fazer com que o relacionamento Médico Veterinário – Cliente não seja passageiro e voltado para o pronto atendimento e atividades. Queremos transformar esse relacionamento entre o Clínico e o seu Cliente em uma relação duradoura, traçando um Plano de Vida baseado na Medicina Veterinária Preventiva. Fundamentado nesse conceito, oferecemos ferramentas que irão facilitar e revolucionar o uso do software de gerenciamento de sua clínica veterinária.
O formato criativo de apresentação de todas as informações “dados” do Cliente e animal em uma mesma e principal página se mostra de fácil visualização e entendimento, pois em uma única visualização você pode ter todas as informações sobre o seu cliente, o seu animal, todo o seu histórico de relacionamento e tratamento assim como o seu status contábil. Nessa mesma página além da agenda de retornos, baseados no Plano de Vida dos seus animais previamente traçado levando em consideração a idade cronológica dos animais. Essa ferramenta permite que automaticamente você tenha todas as informações dos próximos procedimentos programados durante toda a vida do animal e daqueles que não foram realizados, uma vez que do lançamento no histórico do animal do procedimento realizado, os lembretes se atualizarão automaticamente. Tendo em mãos as informações dos clientes, dos animais e os procedimentos programados.
CARACTERISTICA
Abertura do Sistema:
Tela de Acesso ao sistema Acesso com usuário e senha.
Cadastros Básicos: Cadastro de Funcionários, usuários e senhas: Cadastro de Funcionários, usuários e senhas de acesso ao sistema, Controle de permissões do nível de acesso de cada usuário cadastrado, os funcionários são cadastrados separados por funções.
Cadastro de Clientes: Dados cadastrais do cliente, Informações adicionais, limite de crédito, Animais do cliente.
Cadastro de Animais: Dados cadastrais do animal, Observações do Animal, Álbum de fotos é possível adicionar infinitas fotos do animal.
Cadastro de Fornecedores: Dados cadastrais do fornecedor, Histórico de compras do fornecedor, aqui é exibido todas as compras realizadas com este fornecedor, Ficha cadastral do fornecedor, é possível imprimir todos os dados do fornecedor para arquivar em uma ficha.
Cadastro de Produtos: Listagem / Pesquisa de Produtos, os produtos são separados por grupos, Dados cadastrais de um produto, Histórico de compras do produto, Histórico de Vendas do produto, Movimentação de Estoque do produto (compras, vendas, ajuste de estoque e devolução).
CARACTERISTICA 2
Controle de Estoque:
Lançamento de Notas de compra (entrada de produtos no estoque): Listagem de todas as notas de compras lançadas no sistema, Registrando uma nota de entrada de mercadorias, Programando pagamentos de uma compra de produtos.
Ajuste de Estoque (quantidades e preços) e Reajuste automático de preços: Ajuste de estoque, aqui você pode alterar preços e quantidades de estoque dos produtos de uma forma rápida e eficiente, Reajuste automático de preços, você informa os parâmetros e o sistema recalcula os preços.
CARACTERISTICA 3
Módulo de Vendas:
Dados de Vendas: Abertura de caixa, Registrando a venda de um serviço, escolhendo funcionário que executou e determinando sua comissão, Integração com o módulo de agenda, Fechamento do caixa.
Impressão de Etiquetas de código de barras dos produtos: Seleção de Produtos e quantidade de etiquetas para cada produto, Seleção do modelo de etiqueta (todos modelos podem ser personalizados), Visualização da impressão de etiquetas.
CARACTERISTICA 4
Módulo Financeiro:
Contas a pagar (integrado com compras de produtos): Calendário de contas a pagar, Dados de uma conta a pagar, Relatórios de contas a pagar.
Contas a Receber (integrado com débitos dos clientes): Calendário de contas a receber, Listagem geral de contas a receber, Dados de uma conta a receber.
CARACTERISTICA 5
Módulo de Agendamento:
Listagem da agenda: Grade de exibição dos serviços agendados por data e horário, Listagem geral de serviços agendados, Agendando um serviço (com impressão de comanda para uso interno), Agenda de Telefones.
Relatórios do sistema:
Modulo de Relatórios: Todos os relatórios podem ser gerados em MS-Excel.
Módulo de Segurança:
Backup: Módulo de Backup do Sistema.
VETSOFT
SILVER VETSOFT
GOLD VETSOFT PLATINUM
CARACTERISTICA 1 PP P P
CARACTERISTICA 2 PP P P
CARACTERISTICA 3 PP PP P
CARACTERISTICA 4 NA PP P
CARACTERISTICA 5 NP NA P
VANTAGENS DESVANTAGENS
VETSOFT
SILVER CUSTO BAIXO POUCO RECURSO
VETSOFT
GOLD CUSTO BENEFICIO SEM SUPORTE A ATUALIZAÇÕES POSTERIORES
VETSOFT
PLATINUM SUPORTE A ATUALIZAÇÕES SEM CUSTOS NÃO TEM
Etapa2:
Abertura do Sistema:
Constara dois icones para acesso: acesso administrador e funcionarios.
Acesso administrador: Poderá acessar todas as areas do software ativando e desativando acessos, relatorios de clientes, financeiro e estoque.Podendo realizar qualquer tipo de alteração nas informações.
Será o administrador que dara a cada funcionario cadastrado o nivel de acesso permitido por cada um deles no sistema.
Tabela de prioridades:
Nivel Tipos de permissões
1 - Permite cadastrar dados de clientes;
- Cadastrar dados dos animais;
- Alterar informações de ambos;
- Abertura de caixa ;
- Registrar vendas produtos/serviços
- Selecionar qual vendedor foi responsavel pela negociação
2 - Permite acesso a todos os ambientes do software
Requisitos que o software permitirá:
*Gerara código do cliente no momento da conclusão do cadastro.
*Inserir:
Dados do cliente (nome completo, endereço , CPF , RG, telefone fixo , telefone movel, e-mail).
Dados do animal (nome, idade, raça, data de nascimento, foto do animal).
Observações que sejam pertinentes da vida do animal.
*Alterar:
Dados do cliente (nome completo, endereço , CPF , RG, telefone fixo , telefone movel).
Dados do animal (nome, idade, raça, data de nascimento, foto do animal).
Ficha cadastral de fornecedores;
Produtos;
*Excluir:
Dados do animal (nome, idade, raça, data de nascimento, foto do animal).
Ficha cadastral de fornecedores negativados;
Produtos não mais comercializados
*Impressão:
Ficha cadastral do cliente:
Ficha cadastro do animal;
Ficha cadastral de fornecedores;
Extrato de caixa diario e mensal;
Relação de produtos;
Notas de compras;
Notas a pagar;
Valores a receber;
Agenda de serviços;( com o codigo do cliente, nome do animal e horario agendado e o tipo de serviço).
Manutenção:
Software de facil manuseio com resposta rapida as consultas em até 20 segundos em caso de pane no sistema a manutenção possuo a previsão de restabelecimento em até 06 horas.
Segurança:
Utiliza sistema de login e senha com restrição de prioridades de acesso aos arquivos de acordo com cada registro de usuario, possui backup programado automatico para o servidor.
Requisitos Nivel de prioridade
Código de cliente 1
Dados do cliente 2
Dados do animal 1
Ficha cadastral de fornecedores negativados 2
Produtos 1
Produtos não mais comercializados 2
Extrato de caixa diario 1
Notas de compras 1
Notas a pagar 1
Valores a receber 1
Agenda de serviços 2
Manutenção 1
Segurança 1
Etapa 3:
Tipos de usuario:
Usuario Requisito funcional Ações
Administrador Gerente responsavel pela empresa Pode realizar qualquer tipo de alteração no sistema.
Financeiro Responsavel pelas finanças, da empresa bem como pagamento de faturas, recebimentos e encargos e balanços. Cadastrar , alterar status , excluir, gerar relatorios, consultar.
Vendedora Responsavel por registrar clientes e as vendas dos produtos e serviços. Cadastrar, registrar, consultar e alterar dados.
Estoquista Registrar no sistema a entrada de produtos, codigos e valores. Cadastrar produtos, alterar , consultar.
Menu Duvidas:
Termo Descrição Sinonimo
Login Dados necessario para acessar o sistema. Usuario
Cadastrar Local onde você insere os dados do cliente Nome
Código de cliente É uma sequencia de 5 numeros que identifica a conta de cada cliente Registro de cliente
Categoria do animal Informar qual é o tipo do animal.Ex: Cachorro, gato ou passaro. Genero do animal
Raça É a descendencia do animal Pedigree
Fotos Local onde você pode inserir fotos no animal. Imagem
Data de nascimento Dia em que o animal nasceu Certificado de posse
Informações adicionais Local onde se registra de informações pertinentes sobre a vida do animal de estimação. Historico
Limite de credito É o valor maximo que o cliente pode gastar com produtos e serviços, para pagamento via boleto bancario. Faturamento
Agenda Onde se registra os horarios de tratamento dos animais. Banho
Código de produto Numeral que identifica cada produto Numero
Cadastro de Fornecedores Empresas que estão fornecendo produtos a empresa atualmente Ativos
Pagaveis Faturas a pagar Notas
Recebiveis Valores a receber Boletos
Estoque Informa todos os produtos e numero de peças disponiveis. Código do produto
domingo, 17 de abril de 2011
ATPS - Etapas: I, II e III
Índice
Tópico Página(s):
Metodologia de desenvolvimento 2
Comparação entre metodologias 3
Desenvolvimento do software / solução 4
Qualidades do projeto 4, 5
Interface do cliente 5
Análise dos requisitos (funcionais e não funcionais) 5, 6
Grupos de usuários / permissões de acesso 7
Glossário apresentado ao clientes e aos desenvolvedores 8, 9
Etapa I 2, 3
Etapa II 4, 5, 6
Etapa III 7, 8, 9
Tabela I 2
Tabela II 3
Tabela III 6
Tabela IV 6
Tabela V 7
Tabela VI 8, 9
Equipe 9
Dados da Disciplina 9
ATPS de Engenharia de Software
Etapa I
Introdução
Tentamos agendar duas reuniões com o cliente CLIVET, para discutirmos as características do projeto, como necessidades e tempo de entrega do mesmo, porém, como o mesmo estava muito ocupado, ambas reuniões não puderam ser realizadas.
Devido a tal fato, e a nossa vontade e competência em entregar um produto que agregue mais valor aos serviços da CLIVET e, à maior ou total satisfação de nosso cliente, resolvemos trabalhar com algum método/metodologia que nos permita entregar: ou protótipos ou fazer com quem nosso software seja facilmente modificado.
Mediante à impossibilidade de entrevistarmos nosso cliente, perguntando ao mesmo sobre as características desejadas do software, complexidade, integração com qual tipo de banco de dados (se necessário), tamanho da base de dados do mesmo, necessidade (ou não) de ser acessado via web, ser expansível para possíveis filiais, vontade do mesmo em ter um software que possa ser atualizado facilmente, etc, resolvemos seguir nossa intuição, e trabalharmos com algum método que nos permita entregar um protótipo ou então, que possa ser facilmente modificado (não temos um escopo inicial por parte de nosso cliente).
Desenvolvimento
Diagramamos duas tabelas, para a apresentação ao nosso cliente; mesmo ele não podendo comparecer às reuniões e discutir sobre tais metodologias, nós resolvemos escolher entre as 3 metodologias inicialmente propostas, a que julgamos ser melhor pelo comportamento de nosso cliente, e pelo que julgamos que o cliente quer / espera do software.
|
| Clássico (cascata) | Prototipação | Metodologia Ágil / Scrum |
| Exige extensa documentação: | P | P | PP* |
| Software é facilmente modificado / expansível: | PP | P | P |
| Gerar um protótipo / beta: | NP | P | P |
| Exige excelentes/experientes programadores: | NA** | NA** | P |
| Cálculo do fator risco: | NP | NP | P |
| Fácil cálculo do tempo de entrega do software | PP | NA | P |
Tabela I: requisitos das metodologias.
Onde: P = possui; PP = possui parcialmente; NA = não se aplica ;NP = não possui.
* = se o cliente desejar, é feito; porém não é uma característica da metodologia
** = a menos que a empresa já conte com excelentes programadores; em teoria, não é necessário.
Vamos, agora, apresentar uma tabela comparativa entre as três metodologias:
|
| Vantagens | Desvantagens |
| Clássico (cascata) | *É antigo; *É muito utilizado; *Minimiza o tempo de planejamento; *Funciona bem com equipes tecnicamente mais fracas; *É linear. | *Perde-se muito tempo com documentações, nem sempre necessárias; *Projetos chegam a levar muitos meses para serem concluídos; *Cliente só vê o programa em funcionamento ao final de todo o processo; *Não necessita de uma equipe bem integrada, o que pode gerar falhas ou incapacidade do programa ser atualizado; *Não tem análise de risco. |
| Prototipação | *Trabalha com um protótipo do software; *Cliente recebe uma versão protótipo do mesmo, para utilização e testes; *Pode ser utilizado quando a comunicação com o cliente não é completa; *Facilmente atualizável; *Bom para softwares com mudanças de requisitos constantes. | *Cliente pode se contentar com o protótipo, e esquecer a versão final; *Impossível determinar com exatidão o tempo que o processo vai durar; *Não há formas de saber o número de iterações necessárias; *Mutias vezes, o protótipo acaba atrapalhando o desenvolvimento da versão final; *Não há análise de risco.. |
| Ágil / Scrum | *É ágil; *Utiliza análise de risco; *Focado na negociação interna e com clientes; *Agrega muito valor ao produto e ao cliente; *Geralmente, traz alto grau de satisfação do cliente com o produto; *Time pequeno. | *Necessita de um time bem entrosado; *Necessita de bons programadores; *Ambiente que facilite a fácil comunicação entre os membros; *Quebra de paradigmas é complicado; *Difícil de gerenciar projetos que precisam de muitas pessoas. |
Tabela II: comparação entre as metodologias.
Conclusão
Resolvemos optar, mesmo não sendo excelentes programadores, pelo método Scrum, pois temos uma boa comunicação, um time pequeno, e visamos a total satisfação de nosso cliente, em um curto período de tempo, visando, também, um software que possa ser facilmente atualizável, e, sem uma extensa documentação.
Etapa II
Introdução
Vamos apresentar o documento de requisitos do software da veterinária CLIVET. Procuramos seguir passos para uma adequada elaboração dos requisitos necessários para o bom desenvolvimento e funcionamento da aplicação voltada à tal empresa.
Desenvolvimento
Basicamente, dividimos todo o programa de desenvolvimento em 3 etapas, podendo estas, serem subdivididas em outras “n” etapas.
As 3 principais etapas são:
*Desenvolvimento do aplicativo em PHP;
*Integração do mesmo com o banco de dados MySQL;
*Integração da base de dados com o sistema operacional Linux.
Apresentaremos os motivos pelos quais escolhemos tais conjuntos de ferramentas, abaixo.
*PHP mostra uma excelente integração com bases de dados, é muito portável (rodas em inúmeras diferentes plataformas), e é muito leve, no que diz respeito à necessidade de um hardware / investimento em hardware;
*MySQL é uma ferramenta livre e grátis, e, muito poderosa; tem uma excelente performance para bases de dados pequenas e médias, mantendo um excelente controle e segurança dos dados arquivados; além disso, é bem leve, mais uma vez, contribuindo com o baixo custo do projeto, no que diz respeito ao hardware;
*Um navegador web (ex: Firefox, Google Chrome, etc), livres, sem custo;
*Como servidor, utilizaremos um Linux, Debian GNU; muitíssimo leve, grátis, altamente configurável e seguro. Tal sistema rodará a base de dados SQL escolhida, um servidor web APACHE local integrado ao PHP, e um firewall.
Nosso sistema (analisando o hardware) precisará de:
*Um roteador (simples) de 4 portas (preço em torno de 60 reais);
*Um computador (servidor) com 512MB RAM (mínimo), cerca de 50 GB de Hard-Disk (hdd), com um processador Pentium 3 ou Pentium 4 (hardware simples), com uma placa de rede;
*Um computador (cliente) que consiga rodar um browser (Firefox, por exemplo), com monitor, teclado, mouse e uma placa de rede;
*3 cabos de rede (tipo CAT-5, pelo menos).
*Impressora (pode ser qualquer uma, porém, uma impressora com placa de rede seria ótimo).
Qualidades do software / sistemas
Com um setup destes, fica fácil expandir o software; caso necessário, podemos adicionar mais clientes ao servidor; caso seja necessário a empresa expandir (filiais), basta contratar um link de internet com um provedor, e linkar os novos clientes/filiais ao servidor; backups de dados podem ser feitos facilmente; acessos podem ser controlados por regras de firewall e permissões de usuário (segurança praticamente garantida); pode-se ainda criar um disaster-recovery, bastando clonar o servidor de dados! Com um setup destes, fica claro o motivo da escolha feita por tais aplicativos
O cliente (computador cliente) fica sendo um mero detalhe; só precisa de um navegador, com uma página de acesso bem feita, bem diagramada e auto-explicativa, que registra os dados, mandando-os em tempo-real ao servidor.
Com um no-break conectado ao servidor, pode-se ainda contar com muito mais segurança de dados, disponibilidade e escalabilidade do sistema.
Característica da página, no(s) computador(es) cliente(s)
Será apresentada uma página inicial, com o logotipo da empresa, e campos de nome e senha; nesta página, pode-se entrar como usuário com privilégios de consulta (apenas), cadastro de clientes e animais, e diagnósticos/vacinas/compras de produtos, etc.
São 3 graus de privilégios de usuário, sendo eles, do menor grau de privilégios, para o maior:
Consulta < Cadastro < Completo
*Consulta é auto-explicativo; serve apenas para consulta de dados (de clientes, animais, produtos e horários livres para consultas, geralmente acessado pela secretária/recepcionista); é acessado pelo veterinário, para a impressão de receitas, e, pela secretária, para a impressão de boletos/cobranças;
*Cadastro é utilizado pela secretária/recepcionista, para cadastrar novos clientes, animais, e agendar consultas;
*Completo pode ser utilizado pelo próprio veterinário, para atualizar os dados dos animais, carteira de vacinação, internação, ficha veterinária, compra de produtos, etc; pode-se ser escalonado para utilização, também, da secretária, para anexar estes dados, caso o veterinário esteja em um dia muito cheio.
Temos, ainda, um último grau de usuário, que é o admin; este login é de exclusividade do administrador dos sistemas, utilizado para o upgrade dos softwares, e manutenção dos mesmos e da base de dados.
Análise dos requisitos não-funcionais
Quanto aos itens abaixo, temos:
*Manutenibilidade: simples, rápida, fácil e eficiente; caso seja necessário adicionar/remover algum campo na base de dados, basta replicar isso à página PHP; pode-se utilizar novas formas de “select” na base de dados, para melhor organização e visualização de dados; o sistema todo, em si, é de uma facilidade enorme de manutenção; além disso, MySQL proporciona recuperação de dados com facilidade; pode-se ainda fazer backups regulares do disco, no período da madrugada, etc;
*Eficiência: altíssima; todos os softwares utilizados são reconhecidos mundialmente, grátis e extremamente qualificados para um altíssimo desempenho;
*Segurança: enorme; um Debian sempre atualizado é um dos sistemas mais seguros do mundo;
*Confiabilidade: altíssima, e, pode ser expansível para um grau “paranóico” de segurança e disponibilidade de serviços; funcionamento 24/7 praticamente garantido;
*Portabilidade: o cliente pode rodar em quase qualquer plataforma, até celulares, caso queiram utilizar uma rede wireless/3G; o servidor é transparente ao usuário do sistema.
Por seguir o modelo “cliente-servidor”, tal sistema é otimizado ao máximo, podendo passar por manutenções, novo escalonamento, etc, sem a necessidade da interrupção de serviços do mesmo!
Tabela de definição de prioridades dos requisitos (funcionais e não-funcionais)
| Prioridade | Grau |
| Urgente | 0 |
| Alta | 1 |
| Média | 2 |
| Baixa | 3 |
| Futuras | 4 |
Tabela III: prioridades dos requisitos (Códigos)
Tabela dos requisitos (a serem garantidos e desenvolvidos):
| Nome | Tipo | Grau |
| Efetuar login no sistema | Funcionais | 1 |
| Segurança no login | Não-Funcionais | 1 |
| Cadastro de dados no sistema | Funcionais | 0 |
| Segurança de dados do cadastro | Não-Funcionais | 0 |
| Backup de dados/cadastros | Misto | 0 |
| Rotate/exclusão programada dos backups | Misto | 2 |
| Gerência de usuários | Funcionais | 1 |
| Portabilidade do “computador cliente” | Não-Funcionais | 1 |
| Segurança do servidor | Não-Funcionais | 1 |
| Expansibilidade | Misto | 1 |
| Manutenibilidade | Misto | 0 |
| Disponibilidade | Misto | 0 |
| Suporte ao cliente | Não-Funcionais | 1 |
| Tela para inserção/remoção/consulta de dados | Funcionais | 0 |
| Apresentação da aplicação | Funcionais | 0 |
| Firewall | Não-Funcionais | 3 |
Tabela IV: requisitos do projeto
PS: Misto engloba requisitos funcionais e não-funcionais
Etapa III
Passo 1
Introdução
Conforme sugere a Etapa III, devemos descrever os usuários que irão interagir com o sistema da CLIVET. Tal descrição fora previamente apresentada na Etapa II, de antemão, porém, iremos reapresentá-la aqui (apesar de julgar ser um desperdício de papel e bytes de arquivo...).
Desenvolvimento
Segue, abaixo, a Tabela V, referente aos usuários (nível de privilégio dos usuários, ou, permissão de acesso dos grupos de usuários) do sistema CLIVET.
| Grupo | Requisitos Funcionais | Ações |
| Consulta (Monitor) | Autoexplicativo; serve apenas para consulta de dados (de clientes, animais, produtos e horários livres para consultas, geralmente acessado pela secretária/recepcionista); é acessado pelo veterinário, para a impressão de receitas, e, pela secretária, para a impressão de boletos/cobranças; além disso, pelo pessoal do suporte, para análise do DB / BD. | Consultar e imprimir; |
| Recepção | Utilizado pela secretária/recepcionista, para cadastrar novos clientes, animais, e agendar consultas; | Cadastro básico; |
| Veterinário | Utilizado para atualizar os dados dos animais, carteira de vacinação, internação, ficha veterinária, compra de produtos, etc; pode-se ser escalonado para utilização, também, da secretária, para anexar estes dados, caso o veterinário esteja em um dia muito cheio; por padrão, pode ser “apenas” consultado pelo grupo Recepção, porém, pode-se adicionar permissões de escrita para tal grupo, ou um usuário de outro grupo neste grupo; | Cadastro completo de dados; |
| Admin | Utilizado para o upgrade dos softwares, manutenção dos mesmos e da base de dados; criação de novas tabelas e modelos de select. | Completo / desenvolvimento e suporte. |
Tabela V: grupos de usuários.
Passo 2
Introdução
Devemos gerar um glossário com pelo menos 15 termos que poderiam gerar dúvidas de interpretação por parte do cliente ou de nossa equipe. Para cada termo, elaboramos uma descrição do seu significado e também, em alguns deles, quais os sinônimos relacionados ao mesmo, com uma visão do mundo veterinários.
Desenvolvimento
Segue, abaixo, a Tabela VI, referente ao glossário de termos que podem levar as pessoas (cliente e nossa equipe) a dúvidas.
| Termo | Descrição | Sinônimos |
| Documentação | Textos/diagramas que auxiliam no desenvolvimento e uso das aplicações; | Fluxogramas, help, dicas, treinamento. |
| Software Expansível | Inserção de novos módulos e funções nos produtos, após os mesmos terem sido entregues ao cliente; | Updates, novas versões; |
| Protótipo / versão alfa ou beta | Versão teste, de desenvolvimento; |
|
| Atualização | Visa corrigir erros dos produtos, e melhorias de segurança e performance; | Revisão; |
| Modelo “Cliente Servidor” | Analogia com “matriz e filiais” em uma empresa; uma concentra os dados e gerências; as demais, atuam, informando a matriz; |
|
| Banco/Base de Dados | Aplicação que “guarda” todos os dados dos animais, clientes, produtos, consultas, etc, em tabelas; |
|
| Browser/Navegador | Refere-se ao aplicativo onde serão feitas consultas e inserções de dados na base de dados | Firefox, Internet Explorer |
| Servidor | Analogia à matriz de uma empresa; |
|
| Cliente | Analogia às filiais de uma empresa; |
|
| Disaster-Recovery | Backups/cópias de segurança dos dados, feitas em um local distinto; |
|
| Backup da base de dados | Cópia de segurança dos dados da CLIVET, de seus clientes, etc; |
|
| Operação em tempo-real | A partir de um tempo muito curto, informações salvas podem ser consultadas, impressas e alteradas; |
|
| Confiabilidade | Capacidade dos sistemas e dados manterem-se disponíveis; |
|
| Segurança dos dados | Sigilo da informação; confiança que os dados somente serão acessados por pessoas/grupos autorizados; | Backup, Disaster-Recovery, Firewall, controle de acessos; |
| Dados do Cliente | Endereço, nome, telefone, sexo, etc; |
|
| Dados do(s) animal(is) | Nome, raça, tipo (cachorro, gato, ave, silvestre, etc), histórico de consultas, etc; |
|
| Vacina(s) | Tabela com todas as vacinas e datas, aplicadas aos animais; |
|
| Produtos | Controle de estoque da CLIVET; |
|
| Horário de Consultas | Gerência de horários da CLIVET; |
|
| Cálculo de lucro e gastos | Relação das consultas e gastos com produtos e salários. |
|
Tabela VI: glossário.
Alunos:
Samir Piccolotto RA: 0943486061
Nathalia Elias RA: 0832494
Jean Pavanelli RA: 0945489169
Gustavo Chinaglia RA: 0901348552
Cesar Cardoso RA: 0901412846
Ciência da Computação
FAC-3, 5º Semestre, 2011
Engenharia de Software
Campinas, Abril de 2011
segunda-feira, 11 de abril de 2011
[Seminário] Modelagem Ágil
Suelen Cosma de Camargo RA 0950168
Introdução
A modelagem é um método eficiente que tem como objetivo tornar mais produtivo os esforços da tarefa de modelar. Os valores, princípios e práticas da Modelagem Ágil podem auxiliar as equipes na definição de componentes técnicos de alto e baixo nível que farão parte do desenvolvimento de software.
Sendo uma das dificuldades mais comuns capturar as necessidades dos usuários, iremos abordar neste trabalho alguns conceitos e aspectos importantes da modelagem ágil, bem como seus benefícios.
Visão geral
A modelagem ágil é vista como um processo de desenvolvimento de software baseado em práticas que visam aumentar a eficiência das equipes dentro dos projetos. Busca a construção e manutenção eficiente de artefatos, criando-os apenas quando agregam valor real ao projeto e focando principalmente os esforços no desenvolvimento do software.
A modelagem ágil visa construir e manter modelos de sistema de maneira eficaz e eficiente, podendo ser utilizada dentro de metodologias ágeis e tradicionais. Pode ser aplicada fazendo com que as pessoas envolvidas nos projetos colaborem para que a solução atenda ao negócio. Uma equipe de desenvolvimento de software é mais eficiente se todos são capazes de fazer todas as atividades. Esta boa prática proporciona um trabalho muito mais colaborativo e integrado.
Durante a construção de um software são consideradas basicamente quatro atividades principais:
1- Compreender que o usuário quer;
2- Definir como os elementos de software resolverão as necessidades do usuário;
3- Escrever esses elementos de software e integrá-los;
4- Testar os elementos e homologá-los com o usuário.
Aspectos humanos e técnicos no desenvolvimento de software
A modelagem ágil é baseada em uma coleção de práticas guiadas por princípios e valores que podem ser aplicados por profissionais de software no dia a dia. Provê sugestões de como ser mai efetivo. Busca o ponto de melhor custo/benefício entre os artefatos que devem ser criados para que o sistema e o custo de manutenção e atualização destes artefatos.
Podemos citar duas motivações principais para a criação desta metodologia:
1- O objetivo primário de um projeto de software é o próprio software, e não um grande número de documentos sobre ele;
2- Um artefato é criado primordialmente para permitir a comunicação e a troca de informações entre a equipe e permitir a discussão e refinamento do modelo do sistema. Assim, se um artefato não está passando informações relevantes ao projeto, ele não cumpre seu objetivo básico.
Na verdade o que se quer com a modelagem do sistema é satisfazer as necessidades dos usuários, garantindo a qualidade interna do software (integridades dos dados ou codificação mais adequada) e respeitando as restrições de custo e prazo do projeto.
A missão de um bom modelador é administrar as expectativas do cliente, avaliando com Le quais problemas são prioritários. Uma das coisas que a metodologia ágil trouxe a tona é a importante participação dos usuários ou clientes para auxiliar na modelagem do sistema, seja elaborando um mapa mental, rascunhando uma tela ou testando um release que acabou de ser liberado.
É sempre importante estabelecer o escopo da modelagem ágil para esclarecer o que pode e o que não pode ser atendido por este processo. A modelagem ágil é um complemento de processos existentes. A idéia por trás dela é utilizar os esforços de maneira mais racional e permanecer focado no projeto, aumentando sua eficiência no desenvolvimento do mesmo.
Rascunhos como forma de modelagem
Quando falamos em modelagem de software, uma das grandes dúvidas das equipes de projeto é quão longe devemos nos aprofundar em detalhes. Como ponto de partida podemos nortear nosso raciocínio através de questionamentos como:
1- Qual é o nome do projeto?
2- Qual é a dúvida que eu tenho?
3- Quem poderá modelar isso junto comigo para obter as respostas?
4- Qual é o modelo certo?
Lembrando que ao conversar com nosso cliente, nosso principal objetivo é ter uma compreensão em alto nível do sistema, e não de todos os detalhes.
Um dos valores da modelagem ágil é modelar com um propósito, o que significa buscar os critérios de sucesso do projeto. A modelagem busca atender ao usuário apresentando qualidade e reduzindo custo ou prazo do projeto. Há uma quantidade infinita de maneiras de modelar. Um esboço feito de forma conjunta com as partes interessadas é um meio muito eficiente de capturar requisitos e descobrir como atingir o objetivo de fazer um software com qualidade externa (atendimento às funcionalidades acordadas com o cliente ou desempenho esperado pelo software) que atendas às expectativas dos usuários.
A importância de se escrever documentos de requisitos
Num contexto geral, software funcionando ainda é o melhor artefato para levantamento de requisitos. Dessa forma os usuários olham o software e solicitam alterações no mesmo e não em documentos. Software é a única coisa concreta que realmente validamos com os usuários.
Documentos de requisitos têm como objetivo registrar o que os usuários esperam da aplicação independente da solução técnica. Isso faz com que esses documentos sejam simples e rápidos de serem elaborados. Mesmo mais importante é que estes artefatos sejam elaborados em reunião de levantamento e não em casa.
Modelagem na obtenção da qualidade
A modelagem ágil possui um princípio chamado Travel Light. Este princípio diz que manter modelos é difícil, e pode se tornar ainda mais se estes forem complexos e detalhados. Três ou quatro modelos são suficientes para melhorar a comunicação da equipe desde que forneçam uma visão geral da análise, da arquitetura e do design. É errado pensar que quanto maior o número de documentações, melhor será o projeto. A documentação precisa ser enxuta.
Para direcionar os esforços em torno da modelagem ágil, existem alguns princípios que devem ser observados para que o processo adotado seja realmente ágil.
- Software é seu principal objetivo: produzir softwares que funcionem;
- Racionalização de artefatos: racionalização da documentação, escolhendo aqueles que serão mantidos durante o processo de desenvolvimento;
- Modele com um propósito: para atender a realidade e para melhorar a comunicação;
- Conteúdo é mai importante que a apresentação: o software é uma poderosa forma de validação junto ao cliente;
- Cada um tem algo a aprender com o outro: na modelagem ágil é comum a participação ativa do cliente. Esta interação permite que ambas as partes se entendam melhor trazendo importantes ganhos para o projeto;
- Adapte o modelo à organização: cada projeto possui suas particularidades que precisam ser observadas;
- Comunicação transparente e honesta: transparência das informações que devem estar em comum acordo para ambas as partes;
- Atentar para os instintos da equipe: ouvir sugestões e reclamações da equipe pois talvez o problema que ela encontrou pode dificultar o restante da implementação.
Conclusão
Modelagem é uma atividade em grupo e tudo que se faz deve ser focado em melhorar a qualidade do software e a produtividade da equipe. O mais importante de tudo é focar nas atividades de desenvolvimento. Durante o levantamento de requisitos, as atividades de conversar com o usuário, obter informações e enriquecer o conhecimento são mais importantes que os casos de uso, protótipos ou modelos que surgirem destas atividades. O que o cliente quer é o software e não os documentos que abstraem o que se espera do software.