segunda-feira, 18 de abril de 2011

ATPS Etapa 03

Este documento apresenta todos os requisitos necessários para o desenvolvimento e implantação do sistema CLIVET. O aplicativo deve ter interface intuitiva de modo que facilite a interpretação por parte do usuário de suas funções. As funções dispostas pelo software deverão ficar em um lugar padrão para todos as telas.


































Tiago Ap. Pessoa RA: 0911345828
Wesley S.Dia RA: 0959532446
Evandro D. Oliveira RA: 0919435 437
Marcio S. Oliveira RA: 0920349523









Trabalho apresentado para avaliação na disciplina de Engenharia de Software e análise de projeto de sistema, do curso de Ciência da Computação, período noturno, da Universidade Anhanguera de Campinas FAC III, ministrado pela professora Tânia Ramires.


























1ª ETAPA






















Opções de metodologias de processo









• FDD (Feature Driven Development )
• CASCATA
• SCRUM






























Processo FDD


É uma metodologia ágil para gerenciamento e desenvolvimento de software

Vantagens

Recomendado para qualquer tipo de desenvolvimento. Foco em características de valor para o cliente FDD prioriza aquilo que o cliente prioriza FDD possui requisito maus formais.


Desvantagens

Questionamento a eficácia aplicabilidade de FDD. Controvérsias sobre o tamanha mínimo de um time FDD
Manutenção


Funcionalidade

Pequena o suficiente para ser implementada no máximo em 2 semanas. Oferece valor para o cliente às vezes pode ser o próprio caso de uso conceito muito próximo ao de um requisito funcional,

Exemplos: Calcular o total de uma venda

Autorizar uma transação com cartão de um cliente


































Processo CASCATA



O modelo clássico ou cascata, que também é conhecido por abordagem “top-down”, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação geral. Esse modelo foi derivado de modelos de atividade de engenharia com o fim de estabelecer ordem no desenvolvimento de grandes produtos de software. Comparado com outros modelos de desenvolvimento de software, este é mais rígido e menos administrativo.




Vantagens


O modelo em cascata só avança para a tarefa seguinte quando o cliente valida e aceita os produtos finais da tarefa atual. O modelo pressupõe que o cliente participa ativamente no projeto e que sabe muito bem o que quer. Este modelo minimiza o impacto da compreensão adquirida no decurso de um projeto, uma vez que se um processo não pode voltar atrás de modo a alterar os modelos e as conclusões das tarefas anteriores, é normal que as novas idéias sobre o sistema não sejam aproveitadas.

Não fornece feedback entre as fases e não permite a atualização ou redefinição das fases anteriores;

∙ Não suporta modificações nos requisitos;
∙Não prevê a manutenção;
∙Não permite a reutilização;
∙É excessivamente sincronizado;
∙Se ocorrer um atraso todo o processo é afetado;
∙ Faz aparecer o software muito tarde.


Desvantagens

O risco desta abordagem é que, na ausência de um processo de gestão do projeto e de controlo das alterações bem definido, podemos passar o tempo num ciclo infinito, sem nunca se atingir o objetivo final, ou seja disponibilizar o sistema a funcionar.






Comparação com o modelo em cascata

O desenvolvimento ágil tem pouco em comum com o modelo em cascata. Na visão de alguns este modelo é desacreditado, apesar de ser um modelo de uso comum. O modelo em cascata é uma das metodologias com maior ênfase no planejamento, seguindo seus passos através da captura dos requisitos, análise, projeto, codificação e testes em uma seqüência pré-planejada e restrita. O progresso é geralmente medido em termos de entrega de artefatos—especificação de requisitos, documentos de projeto, planos de teste, revisão do código, e outros. O modelo em cascata resulta em uma substancial integração e esforço de teste para alcançar o fim do ciclo de vida, um período que tipicamente se estende por vários meses ou anos. O tamanho e dificuldade deste esforço de integração e teste é uma das causas das falhas do projeto em cascata. Métodos ágeis, pelo contrário, produzem um desenvolvimento completo e teste de aspectos (mas um pequeno subconjunto do todo) num período de poucas semanas ou meses. Enfatiza a obtenção de pequenos pedaços de funcionalidades executáveis para agregar valor ao negócio cedo, e continuamente agregar novas funcionalidades através do ciclo de vida do projeto.
Algumas equipes ágeis usam o modelo em cascata em pequena escala, repetindo o ciclo de cascata inteiro em cada iteração. Outras equipes, mais especificamente as equipes de Programação extrema, trabalham com atividades simultaneamente.







Processo SCRUM

Na indústria de software, devido á alta complexidade e ao desenvolvimento, impulsionada pela necessidade de obter resultados diferentes dos obtidos pelos métodos tradicionais, quando os processos definidos eram menos adequados para obter a alta produtividade e qualidade no produto final, verificou-se que pessoas válidas estavam propondo métodos sérios e factíveis. Desta forma, determinadas práticas ágeis começaram a ser utilizadas em projetos de software sem a agressividade pela adoção plena de uma metodologia ágil.
As empresas de software começaram a estudar essa metodologia, que propõe novos métodos em substituição aos métodos praticados tradicionalmente, pois o mercado de tecnologia da Informação está cada vez mais competitivo.
Os métodos ágeis, como uma alternativa aos processos tradicionais em decorrência da insatisfação dos profissionais de desenvolvimento de software, com a rigidez e resultados limitados obtidos através do uso de práticas tradicionais de gestão de projetos. Tais projetos partem da premissa de que se devem permitir mudanças nos requisitos a qualquer tempo.

• Interação entre indivíduos é mais importante que processos e ferramentas;
• Produto em funcionamento mais que documentação extensa;
• Colaboração com o cliente mais que negociação de contratos;
• Responder a mudanças mais que seguir um plano.
.


Ciclo do Processo do Scrum

No início de um projeto Scrum, mesmo que ainda se tenha uma visão superficial no principio, há uma formalização de todas as coisas que se pretende fazer ou que se precisa construir no projeto. A partir dessa visão inicial, elabora-se uma lista enxuta dos principais itens; cada item desta lista representa um requisito funcional, ou requisito não funcional, ou questão de tecnologia ou infraestrutura. Esta lista é denominada Product Backlog.



Podemos traduzir Product Backlog como uma lista de prioridade de entrega que indica o quanto de valor ele gera para o negócio. Esta lista não precisa estar completa logo no começo, ela pode ganhar outros itens no decorrer do projeto, em outras palavras, é qualquer coisa que represente um trabalho que precisa ser feito para o produto.







No projeto real, o Product Backlog nunca é finalizado. Existe uma natural evolução e maturidade dos requisitos nesta lista. Requisitos novos podem aparecer, requisitos existentes podem perder prioridade e podem até serem eliminados. Apesar de se permitir que áreas usuárias manifestem seus pedidos nesta lista, somente o Product Owner pode priorizar o Backlog.
O Product Owner possui a responsabilidade de definir a ordem que os requisitos serão produzidos pela equipe de desenvolvimento. Esta equipe deve ser pequena, multi-disciplinar e capaz de desenvolver todos os requisitos, ou um gerente de projeto, ou um patrocinador do projeto, um membro da equipe de marketing ou um cliente interno. Estas equipes recebem o nome de Scrum Teams. A preparação dos trabalhos é denominada Sprint Planning.
Sprint Planning é composta dos seguintes ingredientes: Product Backlog, a capacidade de desenvolvimento da equipe, as condições e exigências do negócio, as características da tecnologia a ser usada e o comprometimento em entregar produtos executáveis incrementais. A mistura são revisões, administração e organização. Os resultados são Sprint Goal e Sprint.
O Scrum Team deve desenvolver os itens separados pelo Product Owner em um determinado prazo previamente combinado. No início de cada iteração a equipe seleciona os itens do Product Backlog, de acordo com as suas prioridades e o prazo previamente combinado, este prazo é definido como Time Box e o trabalho de desenvolver os itens separados neste time box é denominado Sprint. Estes itens separados do Product Backlog fazem parte de uma nova lista. Esta lista, chamada Sprint Backlog, será de total responsabilidade do Scrum Team que deverá mantê-la e organizá-la de tal forma a atender os objetivos do específico Sprint.
É importante que a equipe identifique os itens e tamanho do Sprint Backlog, porque ela estará comprometida a finalizar tais tarefas. Os seus membros são quem deverão escolher com o que irão se comprometer e deverá mantê-la e organizá-la de tal forma a atender os objetivos. Nesse momento as tarefas maiores são subdivididas em partes menores.
Logo após o Sprint Backlog estar concluído, o total de horas trabalhadas é comparado com o total previsto anteriormente no Product Backlog. Caso haja uma diferença significativa, a equipe Scrum deve negociar novamente com o cliente o número correto de horas, para que o Sprint seja realizado com maior probabilidade de sucesso.












Este método de liderança é exercido através de recorrentes tipos de reunião:
• Scrum Planning Meeting: É o início de uma Sprint, onde o Product Owner possui a responsabilidade de definir a ordem que os requisitos serão produzidos pela equipe de desenvolvimento e a oportunidade de atualizar a priorização dos itens do Product Backlog e definir juntamente com a equipe um Product Increment a ser entregue ao cliente ao final do Sprint.
Esta reunião é realizada com a presença do Product Owner, Scrum Master (líder facilitador do projeto), de todo Scrum Team (equipe), e quaisquer interessados, diretores ou representantes do cliente. Durante a reunião o Product Owner explica as funcionalidades de maior prioridade para o Scrum Team, e este faz as perguntas que sejam suficientes para que eles possam, depois da reunião, definir quais atividades eles irão mover do Product Backlog para o Sprint Backlog.



A reunião Sprint Planning é composta dos seguintes ingredientes: Product Backlog, a capacidade de desenvolvimento da equipe, as condições e exigências do negócio, as características da tecnologia a ser usada e o comprometimento em entregar produtos executáveis incrementais. O Scrum Team reúne-se separadamente para discutir o que foi dito e decidir o quanto eles se comprometem a fazer durante o próximo Sprint. Em alguns casos, haverá negociações com o Product Owner, mas será sempre prerrogativa do Scrum Team determinar o quanto eles podem se comprometer.


• Daily Scrum Meeting: O desenvolvimento de projetos de software é um desafio constante, é uma atividade complexa. Todo processo complexo exige uma intensa comunicação entre todos os membros do projeto. Scrum Daily Meeting é a resposta para promover a comunicação da equipe. É um encontro diário realizado pela equipe e o Scrum Master onde os membros discutem aquilo em que trabalharam, no que irão trabalhar e possíveis impedimentos que estejam atrapalhando o progresso do trabalho. Esta reunião é uma maneira eficiente de manter os membros cientes dos objetivos e impedir que o projeto “saia do rumo”.

São tipicamente rápidas e objetivas, realizadas em pé, preferencialmente pela manhã, duram de 15 a 30 minutos, para responder a importantes perguntas:

• O que eu fiz desde a última Scrum Daily Meeting até agora?
• O que eu vou fazer hoje?
• O que pode me impedir?






As Daily Scrum Meeting não representam uma forma de cobrança vinda de um gerente de projetos, mas é uma maneira de sincronizar a equipe às tarefas e relatar os impedimentos que podem estar interferindo no bom andamento do Sprint.
• Criação do Product Increment: A finalização das funcionalidades definidas para um determinado Sprint marca a realização de um Product Increment. Os membros da equipe trabalham de maneira colaborativa de forma a realizar todas as metas definidas para aquele Sprint.
• Sprint Review: é uma reunião tipica de final de Sprint, neste momento a equipe exibe o Product Increment, potencialmente utilizável que foi construído, ao Product Owner, que é responsável por validar e/ou solicitar ajustes para que o projeto se torne adequado aos anseios do cliente. Os participantes desta reunião incluem tipicamente: o Product Owner, o Scrum Team, o Scrum Master, a diretoria, clientes e engenheiros de outros projetos. O ideal é que a equipe tenha concluído todos os itens do Product Backlog alocados para o Sprint.
• Sprint Retrospective: é uma reunião que também acontece ao final do Sprint com o objetivo de fortalecer a unidade de ação da equipe. Acontece apos a revisão do Sprint, o Scrum Master faz uma reunião de retrospectiva com a equipe. Esta objetiva identificar os pontos positivos e negativos do Sprint que entregou o último Product Increment e busca corrigir os problemas encontrados com o propósito de aperfeiçoá-los.

Nessa reunião é debatido o que funcionou na Sprint, o que precisa ser melhorado e quais ações devem ser tomadas para colocar as melhorias em prática. Geralmente o Sprint Retrospective tem de três a quatro horas de duração.
• Atualização do Product Backlog: O Product Owner é responsável por re-priorizar toda lista de itens do Product Backlog para que um próximo Sprint possa ser iniciado de acordo com os itens mais prioritários.
Os principais artefatos produzidos no processo do Scrum são o Product Backlog, Sprint Backlog, Burndown Chart e o TaskBoard.
O Burndown Chart é o gráfico de andamento do Sprint, relacionando horas e data em relação ao restante de tempo hábil para o término do ciclo.

Com o Burndown Chart podemos ver claramente o andamento do projeto ao longo do seu ciclo de desenvolvimento (Sprint). Também, no meio do projeto, podemos calcular facilmente a velocidade com que o projeto está andando e assim estimar uma data para que o Sprint seja concluído.
Este dado estimativo pode ser comparado com o prazo que o Scrum Master definiu para que possamos saber se o projeto vai acabar ou não no prazo.
Este é um dos mais importantes trabalhos que o Scrum Master terá que fazer e o Burndown Chart é o indicador perfeito para ele gerenciar o tempo de projeto e sua equipe de desenvolvimento.
O taskboard é um grande painel onde podem ser colocadas várias informações importantes para o acompanhamento do Sprint. O Sprint Backlog, ou seja, as atividades não iniciadas, as que estão em andamento e as concluídas ficam sempre visíveis e disponíveis para todos os interessados no projeto.
Algumas características das equipes de desenvolvimento são:














SCRUM FDD CASCATA

REUNIÃO P P P

DOCUMENTAÇÃO P P P

A.REQUISITOS P P P

MUDANÇAS / PLANEJAMENTO PP P PP


PRAZO E CUSTO
NP NP P


























Vantagens Desvantagens
Cascata O modelo em cascata só avança para a tarefa seguinte quando o cliente valida e aceita os produtos finais da tarefa atual. Pressupõe que o cliente participa ativamente no projeto e que sabe muito bem o que quer. Este modelo minimiza o impacto da compreensão adquirida no decurso de um projeto, uma vez que se um processo não pode voltar atrás de modo a alterar os modelos e as conclusões das tarefas anteriores O risco desta abordagem é que, na ausência de um processo de gestão do projeto e de controlo das alterações bem definido, podemos passar o tempo num ciclo infinito, sem nunca se atingir o objetivo final, ou seja disponibilizar o sistema a funcionar.

FDD Recomendado para qualquer tipo de desenvolvimento.
Foco em características de valor para o cliente
FDD prioriza aquilo que o cliente prioriza
FDD possui requisito maus formais Questionamento a eficácia aplicabilidade de FDD
Controvérsias sobre o tamanha mínimo de um time FDD
Manutenção

Scrum Velocidade.
Motivação maior dos programadores.
Evita surpresas com os resultados.
Diminuição dos Bugs. Prioridade podem ser alteradas.
Funcionalidade que agregam valor, veem primeiro. Sensação de informalidade;
Prazo.
Falta planejamento de escopo


















2ª ETAPA





















Requisitos do Processo


TIPOS DE REQUISITOS CLASSIFICAÇÃO

Requisitos funcionais Cadastro
Gerenciamento
Geração de relatório
Requisitos não funcionais Funcionalidade/usabilidade

Confiabilidade/Desempenho

Suportabilidade
Suplementares
Acessibilidade deficiência visual





















3ª ETAPA



















Níveis de acesso

Usuário Requisito funcional Ações
Proprietário Gerenciamento, geração de relatório, Usabilidade, suporte Incluir, alterar, excluir, consultar
Secretaria Gerenciamento, geração de relatório, Usabilidade, suporte Incluir, alterar, excluir, consultar
Veterinário Usabilidade Alterar, consultar
Balconista Usabilidade Consulta

Termo Descrição sinônimos
Tipo de animal Qual a espécie do animal exemplo (cão, gato, passarinho, etc Espécie de animal
Tipo de medicação Qual a medicação usada, se medicação controlada ou não Remédio
Tipo de ração Qual a ração especifica para o animal Comida
Peso , idade Dosagem de medicação Magro, ideal, gordo, novo ou velho
Agenda Agenda completa de serviço Calendário
Cadastro do cliente Dados do cliente Informação do dono
Cadastro de usuário Identificar qual usuário esta usando Informação do funcionário
Balancete Abertura e fechamento do caixa Saber o quanto foi vendido e quanto tinha em caixa
Relatório de contas Saber o que vai pagar ou receber Quem vai receber e para quem vai pagar
Geração de boleto Gera boleto bancário para pagamento Pagamento no banco
Reajuste de preço Atualização de preço Alteração de preço
Produtos adversos Tipo coleira, bolinha, etc Outras produtos diferentes do citado dom brinquedos e outro
Relatório Entrada e saída de produtos Saber o que tem o que foi vendido e o que comprou
Backup Copia de segurança dos dados copia
Modulo de clinica veterinária Emissão e documentação para uso veterinário Receitas veterinária e outro do mesmo










Engenharia de Software e análise de projeto de sistema














Entrevista com Cliente CLIVET

Campinas 18 de abril, 2011




Clivet; Meus funcionários vão poder administrar o programa sem dificuldades?

R: Sim, Além de o software possuir uma interface amigável, após a conclusão do software oferecemos uma palestra detalhada ao responsável da área.



Clivet; A empresa desenvolvedora do software garante o sigilo e segurança da informação do sistema?

R: Não só garante, mas firmamos um contrato de responsabilidade junto ao cliente como prova do sigilo absoluto ao mesmo.

Clivet; Meu sistema deve possuir um código único aos clientes da clinica.

R: Pensamos e desenvolvemos todo o sistema voltado a uma chave única para cada cliente da clinica, onde através deste pode ser alterado e modificado com um usuário com permissões especiais.
















Documento de Requisitos


Requisitos Funcionais:

Cadastro de cliente: criar cadastro de cliente de forma que os campos seja dinâmicos, ou seja do momento que o cliente queira alterar os campos do cadastro, ele possa habilitar ou desabilitar os campos preestabelecidos. Cada cliente cadastro terá uma chave de identificação única, onde este não pode ser alterada.

Cadastro de Animal; criar cadastro do animal de forma que os campos seja dinâmicos, ou seja do momento que o cliente queira alterar os campos do cadastro, ele possa habilitar ou desabilitar os campos preestabelecidos.



Relatório; Gerar relatório de todo o sistema que contenha todos os dados do cliente e serviços comprados pelo mesmo, sendo que após o termino da exibição este relatório possa ser impresso.


Disponibilidade; O sistema estará disponível vinte e quatro horas por dia nos sete dias da semana para caso de extensão do horário por parte dos funcionários ou caso de acesso externo a qualquer hora do dia por parte dos funcionários ou ainda no caso de trabalhar nos finais de semana.


Treinamentos do usuário; o tempo de treinamento ia depender do grau de conhecimento do usuario com a utilização de softwares e a capacitação de absorção. Para usuários simples o tempo Maximo de treinamento será de seis horas, podendo estender no Maximo mais uma hora. Para usuários com conhecimento em outros sistemas o tempo Maximo de treinamento será de três horas.

Confiabilidade: Os dados informados pelos sistema devem ser consistentes em qualquer modulo apresentado, não podendo jamais mostrar a mesma informação com valores distintos em um mesmo instante.













Tempo Médio para reparo;






Tabela de Dificuldades;






Interface do usuário; o usuário é quem comandará o sistema, portanto seu entendimento quanto ao sistema deverá ser pleno.


























Sumário



Opções de metodologias de processo 4
Processo FDD 5
Vantagens 5
Desvantagens 5
Funcionalidade 5
Processo CASCATA 7
Vantagens 7
Desvantagens 7
Comparação com o modelo em cascata 8
Processo SCRUM 9
Ciclo do Processo do Scrum 9
Ciclo de Trabalho 15
Requisitos do Processo 23
Níveis de acesso 25
Engenharia de Software e análise de projeto de sistema 26
Entrevista com Cliente CLIVET 27

ATPS 03























Este documento apresenta todos os requisitos necessários para o desenvolvimento e implantação do sistema CLIVET. O aplicativo deve ter interface intuitiva de modo que facilite a interpretação por parte do usuário de suas funções. As funções dispostas pelo software deverão ficar em um lugar padrão para todos as telas.



















































Tiago Ap. Pessoa RA: 0911345828
Wesley S.Dia RA: 0959532446
Evandro D. Oliveira RA: 0919435 437
Marcio S. Oliveira RA: 0920349523









Trabalho apresentado para avaliação na disciplina de Engenharia de Software e análise de projeto de sistema, do curso de Ciência da Computação, período noturno, da Universidade Anhanguera de Campinas FAC III, ministrado pela professora Tânia Ramires.


























1ª ETAPA

































Opções de metodologias de processo









• FDD (Feature Driven Development )
• CASCATA
• SCRUM






































Processo FDD


É uma metodologia ágil para gerenciamento e desenvolvimento de software

Vantagens

Recomendado para qualquer tipo de desenvolvimento. Foco em características de valor para o cliente FDD prioriza aquilo que o cliente prioriza FDD possui requisito maus formais.


Desvantagens

Questionamento a eficácia aplicabilidade de FDD. Controvérsias sobre o tamanha mínimo de um time FDD
Manutenção


Funcionalidade

Pequena o suficiente para ser implementada no máximo em 2 semanas. Oferece valor para o cliente às vezes pode ser o próprio caso de uso conceito muito próximo ao de um requisito funcional,

Exemplos: Calcular o total de uma venda

Autorizar uma transação com cartão de um cliente







































Processo CASCATA



O modelo clássico ou cascata, que também é conhecido por abordagem “top-down”, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação geral. Esse modelo foi derivado de modelos de atividade de engenharia com o fim de estabelecer ordem no desenvolvimento de grandes produtos de software. Comparado com outros modelos de desenvolvimento de software, este é mais rígido e menos administrativo.




Vantagens


O modelo em cascata só avança para a tarefa seguinte quando o cliente valida e aceita os produtos finais da tarefa atual. O modelo pressupõe que o cliente participa ativamente no projeto e que sabe muito bem o que quer. Este modelo minimiza o impacto da compreensão adquirida no decurso de um projeto, uma vez que se um processo não pode voltar atrás de modo a alterar os modelos e as conclusões das tarefas anteriores, é normal que as novas idéias sobre o sistema não sejam aproveitadas.

Não fornece feedback entre as fases e não permite a atualização ou redefinição das fases anteriores;

∙ Não suporta modificações nos requisitos;
∙Não prevê a manutenção;
∙Não permite a reutilização;
∙É excessivamente sincronizado;
∙Se ocorrer um atraso todo o processo é afetado;
∙ Faz aparecer o software muito tarde.


Desvantagens

O risco desta abordagem é que, na ausência de um processo de gestão do projeto e de controlo das alterações bem definido, podemos passar o tempo num ciclo infinito, sem nunca se atingir o objetivo final, ou seja disponibilizar o sistema a funcionar.






Comparação com o modelo em cascata

O desenvolvimento ágil tem pouco em comum com o modelo em cascata. Na visão de alguns este modelo é desacreditado, apesar de ser um modelo de uso comum. O modelo em cascata é uma das metodologias com maior ênfase no planejamento, seguindo seus passos através da captura dos requisitos, análise, projeto, codificação e testes em uma seqüência pré-planejada e restrita. O progresso é geralmente medido em termos de entrega de artefatos—especificação de requisitos, documentos de projeto, planos de teste, revisão do código, e outros. O modelo em cascata resulta em uma substancial integração e esforço de teste para alcançar o fim do ciclo de vida, um período que tipicamente se estende por vários meses ou anos. O tamanho e dificuldade deste esforço de integração e teste é uma das causas das falhas do projeto em cascata. Métodos ágeis, pelo contrário, produzem um desenvolvimento completo e teste de aspectos (mas um pequeno subconjunto do todo) num período de poucas semanas ou meses. Enfatiza a obtenção de pequenos pedaços de funcionalidades executáveis para agregar valor ao negócio cedo, e continuamente agregar novas funcionalidades através do ciclo de vida do projeto.
Algumas equipes ágeis usam o modelo em cascata em pequena escala, repetindo o ciclo de cascata inteiro em cada iteração. Outras equipes, mais especificamente as equipes de Programação extrema, trabalham com atividades simultaneamente.
















Processo SCRUM

Na indústria de software, devido á alta complexidade e ao desenvolvimento, impulsionada pela necessidade de obter resultados diferentes dos obtidos pelos métodos tradicionais, quando os processos definidos eram menos adequados para obter a alta produtividade e qualidade no produto final, verificou-se que pessoas válidas estavam propondo métodos sérios e factíveis. Desta forma, determinadas práticas ágeis começaram a ser utilizadas em projetos de software sem a agressividade pela adoção plena de uma metodologia ágil.
As empresas de software começaram a estudar essa metodologia, que propõe novos métodos em substituição aos métodos praticados tradicionalmente, pois o mercado de tecnologia da Informação está cada vez mais competitivo.
Os métodos ágeis, como uma alternativa aos processos tradicionais em decorrência da insatisfação dos profissionais de desenvolvimento de software, com a rigidez e resultados limitados obtidos através do uso de práticas tradicionais de gestão de projetos. Tais projetos partem da premissa de que se devem permitir mudanças nos requisitos a qualquer tempo.

• Interação entre indivíduos é mais importante que processos e ferramentas;
• Produto em funcionamento mais que documentação extensa;
• Colaboração com o cliente mais que negociação de contratos;
• Responder a mudanças mais que seguir um plano.
.


Ciclo do Processo do Scrum

No início de um projeto Scrum, mesmo que ainda se tenha uma visão superficial no principio, há uma formalização de todas as coisas que se pretende fazer ou que se precisa construir no projeto. A partir dessa visão inicial, elabora-se uma lista enxuta dos principais itens; cada item desta lista representa um requisito funcional, ou requisito não funcional, ou questão de tecnologia ou infraestrutura. Esta lista é denominada Product Backlog.



Podemos traduzir Product Backlog como uma lista de prioridade de entrega que indica o quanto de valor ele gera para o negócio. Esta lista não precisa estar completa logo no começo, ela pode ganhar outros itens no decorrer do projeto, em outras palavras, é qualquer coisa que represente um trabalho que precisa ser feito para o produto.







No projeto real, o Product Backlog nunca é finalizado. Existe uma natural evolução e maturidade dos requisitos nesta lista. Requisitos novos podem aparecer, requisitos existentes podem perder prioridade e podem até serem eliminados. Apesar de se permitir que áreas usuárias manifestem seus pedidos nesta lista, somente o Product Owner pode priorizar o Backlog.
O Product Owner possui a responsabilidade de definir a ordem que os requisitos serão produzidos pela equipe de desenvolvimento. Esta equipe deve ser pequena, multi-disciplinar e capaz de desenvolver todos os requisitos, ou um gerente de projeto, ou um patrocinador do projeto, um membro da equipe de marketing ou um cliente interno. Estas equipes recebem o nome de Scrum Teams. A preparação dos trabalhos é denominada Sprint Planning.
Sprint Planning é composta dos seguintes ingredientes: Product Backlog, a capacidade de desenvolvimento da equipe, as condições e exigências do negócio, as características da tecnologia a ser usada e o comprometimento em entregar produtos executáveis incrementais. A mistura são revisões, administração e organização. Os resultados são Sprint Goal e Sprint.
O Scrum Team deve desenvolver os itens separados pelo Product Owner em um determinado prazo previamente combinado. No início de cada iteração a equipe seleciona os itens do Product Backlog, de acordo com as suas prioridades e o prazo previamente combinado, este prazo é definido como Time Box e o trabalho de desenvolver os itens separados neste time box é denominado Sprint. Estes itens separados do Product Backlog fazem parte de uma nova lista. Esta lista, chamada Sprint Backlog, será de total responsabilidade do Scrum Team que deverá mantê-la e organizá-la de tal forma a atender os objetivos do específico Sprint.
É importante que a equipe identifique os itens e tamanho do Sprint Backlog, porque ela estará comprometida a finalizar tais tarefas. Os seus membros são quem deverão escolher com o que irão se comprometer e deverá mantê-la e organizá-la de tal forma a atender os objetivos. Nesse momento as tarefas maiores são subdivididas em partes menores.
Logo após o Sprint Backlog estar concluído, o total de horas trabalhadas é comparado com o total previsto anteriormente no Product Backlog. Caso haja uma diferença significativa, a equipe Scrum deve negociar novamente com o cliente o número correto de horas, para que o Sprint seja realizado com maior probabilidade de sucesso.












Este método de liderança é exercido através de recorrentes tipos de reunião:
• Scrum Planning Meeting: É o início de uma Sprint, onde o Product Owner possui a responsabilidade de definir a ordem que os requisitos serão produzidos pela equipe de desenvolvimento e a oportunidade de atualizar a priorização dos itens do Product Backlog e definir juntamente com a equipe um Product Increment a ser entregue ao cliente ao final do Sprint.
Esta reunião é realizada com a presença do Product Owner, Scrum Master (líder facilitador do projeto), de todo Scrum Team (equipe), e quaisquer interessados, diretores ou representantes do cliente. Durante a reunião o Product Owner explica as funcionalidades de maior prioridade para o Scrum Team, e este faz as perguntas que sejam suficientes para que eles possam, depois da reunião, definir quais atividades eles irão mover do Product Backlog para o Sprint Backlog.



A reunião Sprint Planning é composta dos seguintes ingredientes: Product Backlog, a capacidade de desenvolvimento da equipe, as condições e exigências do negócio, as características da tecnologia a ser usada e o comprometimento em entregar produtos executáveis incrementais. O Scrum Team reúne-se separadamente para discutir o que foi dito e decidir o quanto eles se comprometem a fazer durante o próximo Sprint. Em alguns casos, haverá negociações com o Product Owner, mas será sempre prerrogativa do Scrum Team determinar o quanto eles podem se comprometer.


• Daily Scrum Meeting: O desenvolvimento de projetos de software é um desafio constante, é uma atividade complexa. Todo processo complexo exige uma intensa comunicação entre todos os membros do projeto. Scrum Daily Meeting é a resposta para promover a comunicação da equipe. É um encontro diário realizado pela equipe e o Scrum Master onde os membros discutem aquilo em que trabalharam, no que irão trabalhar e possíveis impedimentos que estejam atrapalhando o progresso do trabalho. Esta reunião é uma maneira eficiente de manter os membros cientes dos objetivos e impedir que o projeto “saia do rumo”.

São tipicamente rápidas e objetivas, realizadas em pé, preferencialmente pela manhã, duram de 15 a 30 minutos, para responder a importantes perguntas:

• O que eu fiz desde a última Scrum Daily Meeting até agora?
• O que eu vou fazer hoje?
• O que pode me impedir?






As Daily Scrum Meeting não representam uma forma de cobrança vinda de um gerente de projetos, mas é uma maneira de sincronizar a equipe às tarefas e relatar os impedimentos que podem estar interferindo no bom andamento do Sprint.
• Criação do Product Increment: A finalização das funcionalidades definidas para um determinado Sprint marca a realização de um Product Increment. Os membros da equipe trabalham de maneira colaborativa de forma a realizar todas as metas definidas para aquele Sprint.
• Sprint Review: é uma reunião tipica de final de Sprint, neste momento a equipe exibe o Product Increment, potencialmente utilizável que foi construído, ao Product Owner, que é responsável por validar e/ou solicitar ajustes para que o projeto se torne adequado aos anseios do cliente. Os participantes desta reunião incluem tipicamente: o Product Owner, o Scrum Team, o Scrum Master, a diretoria, clientes e engenheiros de outros projetos. O ideal é que a equipe tenha concluído todos os itens do Product Backlog alocados para o Sprint.
• Sprint Retrospective: é uma reunião que também acontece ao final do Sprint com o objetivo de fortalecer a unidade de ação da equipe. Acontece apos a revisão do Sprint, o Scrum Master faz uma reunião de retrospectiva com a equipe. Esta objetiva identificar os pontos positivos e negativos do Sprint que entregou o último Product Increment e busca corrigir os problemas encontrados com o propósito de aperfeiçoá-los.

Nessa reunião é debatido o que funcionou na Sprint, o que precisa ser melhorado e quais ações devem ser tomadas para colocar as melhorias em prática. Geralmente o Sprint Retrospective tem de três a quatro horas de duração.
• Atualização do Product Backlog: O Product Owner é responsável por re-priorizar toda lista de itens do Product Backlog para que um próximo Sprint possa ser iniciado de acordo com os itens mais prioritários.
Os principais artefatos produzidos no processo do Scrum são o Product Backlog, Sprint Backlog, Burndown Chart e o TaskBoard.
O Burndown Chart é o gráfico de andamento do Sprint, relacionando horas e data em relação ao restante de tempo hábil para o término do ciclo.

Com o Burndown Chart podemos ver claramente o andamento do projeto ao longo do seu ciclo de desenvolvimento (Sprint). Também, no meio do projeto, podemos calcular facilmente a velocidade com que o projeto está andando e assim estimar uma data para que o Sprint seja concluído.
Este dado estimativo pode ser comparado com o prazo que o Scrum Master definiu para que possamos saber se o projeto vai acabar ou não no prazo.
Este é um dos mais importantes trabalhos que o Scrum Master terá que fazer e o Burndown Chart é o indicador perfeito para ele gerenciar o tempo de projeto e sua equipe de desenvolvimento.
O taskboard é um grande painel onde podem ser colocadas várias informações importantes para o acompanhamento do Sprint. O Sprint Backlog, ou seja, as atividades não iniciadas, as que estão em andamento e as concluídas ficam sempre visíveis e disponíveis para todos os interessados no projeto.
Algumas características das equipes de desenvolvimento são:


































Processo
















Ciclo de Trabalho





























SCRUM FDD CASCATA

REUNIÃO P P P

DOCUMENTAÇÃO P P P

A.REQUISITOS P P P

MUDANÇAS / PLANEJAMENTO PP P PP


PRAZO E CUSTO
NP NP P


























Vantagens Desvantagens
Cascata O modelo em cascata só avança para a tarefa seguinte quando o cliente valida e aceita os produtos finais da tarefa atual. Pressupõe que o cliente participa ativamente no projeto e que sabe muito bem o que quer. Este modelo minimiza o impacto da compreensão adquirida no decurso de um projeto, uma vez que se um processo não pode voltar atrás de modo a alterar os modelos e as conclusões das tarefas anteriores O risco desta abordagem é que, na ausência de um processo de gestão do projeto e de controlo das alterações bem definido, podemos passar o tempo num ciclo infinito, sem nunca se atingir o objetivo final, ou seja disponibilizar o sistema a funcionar.

FDD Recomendado para qualquer tipo de desenvolvimento.
Foco em características de valor para o cliente
FDD prioriza aquilo que o cliente prioriza
FDD possui requisito maus formais Questionamento a eficácia aplicabilidade de FDD
Controvérsias sobre o tamanha mínimo de um time FDD
Manutenção

Scrum Velocidade.
Motivação maior dos programadores.
Evita surpresas com os resultados.
Diminuição dos Bugs. Prioridade podem ser alteradas.
Funcionalidade que agregam valor, veem primeiro. Sensação de informalidade;
Prazo.
Falta planejamento de escopo








































2ª ETAPA




































TELA PRINCIPAL:


























TELA DE CADASTRO:



























TELA DE BUSCA:


























TELA DE RELATORIO:
























Requisitos do Processo


TIPOS DE REQUISITOS CLASSIFICAÇÃO

Requisitos funcionais Cadastro
Gerenciamento
Geração de relatório
Requisitos não funcionais Funcionalidade/usabilidade

Confiabilidade/Desempenho

Suportabilidade
Suplementares
Acessibilidade deficiência visual
































































3ª ETAPA



















Níveis de acesso

Usuário Requisito funcional Ações
Proprietário Gerenciamento, geração de relatório, Usabilidade, suporte Incluir, alterar, excluir, consultar
Secretaria Gerenciamento, geração de relatório, Usabilidade, suporte Incluir, alterar, excluir, consultar
Veterinário Usabilidade Alterar, consultar
Balconista Usabilidade Consulta

Termo Descrição sinônimos
Tipo de animal Qual a espécie do animal exemplo (cão, gato, passarinho, etc Espécie de animal
Tipo de medicação Qual a medicação usada, se medicação controlada ou não Remédio
Tipo de ração Qual a ração especifica para o animal Comida
Peso , idade Dosagem de medicação Magro, ideal, gordo, novo ou velho
Agenda Agenda completa de serviço Calendário
Cadastro do cliente Dados do cliente Informação do dono
Cadastro de usuário Identificar qual usuário esta usando Informação do funcionário
Balancete Abertura e fechamento do caixa Saber o quanto foi vendido e quanto tinha em caixa
Relatório de contas Saber o que vai pagar ou receber Quem vai receber e para quem vai pagar
Geração de boleto Gera boleto bancário para pagamento Pagamento no banco
Reajuste de preço Atualização de preço Alteração de preço
Produtos adversos Tipo coleira, bolinha, etc Outras produtos diferentes do citado dom brinquedos e outro
Relatório Entrada e saída de produtos Saber o que tem o que foi vendido e o que comprou
Backup Copia de segurança dos dados copia
Modulo de clinica veterinária Emissão e documentação para uso veterinário Receitas veterinária e outro do mesmo










Engenharia de Software e análise de projeto de sistema






Projeto de gestão Veterinária

























Entrevista com Cliente CLIVET

Campinas 18 de abril, 2011




Clivet; Meus funcionários vão poder administrar o programa sem dificuldades?

R: Sim, Além de o software possuir uma interface amigável, após a conclusão do software oferecemos uma palestra detalhada ao responsável da área.



Clivet; A empresa desenvolvedora do software garante o sigilo e segurança da informação do sistema?

R: Não só garante, mas firmamos um contrato de responsabilidade junto ao cliente como prova do sigilo absoluto ao mesmo.

Clivet; Meu sistema deve possuir um código único aos clientes da clinica.

R: Pensamos e desenvolvemos todo o sistema voltado a uma chave única para cada cliente da clinica, onde através deste pode ser alterado e modificado com um usuário com permissões especiais.
























Documento de Requisitos


Requisitos Funcionais:

Cadastro de cliente: criar cadastro de cliente de forma que os campos seja dinâmicos, ou seja do momento que o cliente queira alterar os campos do cadastro, ele possa habilitar ou desabilitar os campos preestabelecidos. Cada cliente cadastro terá uma chave de identificação única, onde este não pode ser alterada.

Cadastro de Animal; criar cadastro do animal de forma que os campos seja dinâmicos, ou seja do momento que o cliente queira alterar os campos do cadastro, ele possa habilitar ou desabilitar os campos preestabelecidos.



Relatório; Gerar relatório de todo o sistema que contenha todos os dados do cliente e serviços comprados pelo mesmo, sendo que após o termino da exibição este relatório possa ser impresso.


Disponibilidade; O sistema estará disponível vinte e quatro horas por dia nos sete dias da semana para caso de extensão do horário por parte dos funcionários ou caso de acesso externo a qualquer hora do dia por parte dos funcionários ou ainda no caso de trabalhar nos finais de semana.


Treinamentos do usuário; o tempo de treinamento ia depender do grau de conhecimento do usuario com a utilização de softwares e a capacitação de absorção. Para usuários simples o tempo Maximo de treinamento será de seis horas, podendo estender no Maximo mais uma hora. Para usuários com conhecimento em outros sistemas o tempo Maximo de treinamento será de três horas.

Confiabilidade: Os dados informados pelos sistema devem ser consistentes em qualquer modulo apresentado, não podendo jamais mostrar a mesma informação com valores distintos em um mesmo instante.













Tempo Médio para reparo;



Tabela de Dificuldades;





Interface do usuário; o usuário é quem comandará o sistema, portanto seu entendimento quanto ao sistema deverá ser pleno.







Sumário



Opções de metodologias de processo 4
Processo FDD 5
Vantagens 5
Desvantagens 5
Funcionalidade 5
Processo CASCATA 7
Vantagens 7
Desvantagens 7
Comparação com o modelo em cascata 8
Processo SCRUM 9
Ciclo do Processo do Scrum 9
Ciclo de Trabalho 15
Requisitos do Processo 23
Níveis de acesso 25
Engenharia de Software e análise de projeto de sistema 26
Entrevista com Cliente CLIVET 27

ATPS – Etapa 3

Faculdade Anhanguera de Campinas FAC III Edward Furumoto 0901413362 Lucas Santana Melo 1099433969 Suelen Cosma de Camargo 0950168 Wagner Martins Barbosa 0919400026 ATPS – Etapa 3 Engenharia de Software e Análise de Projeto de Sistemas Professora Tânia Regina Ramires Bezerra 5º Ciências da Computação Campinas 2011 Sumário Introdução 3 Entrevista com cliente 4 Requisitos funcionais 5 Perfis de usuários 7 Glossário 8 Introdução Desenvolver softwares com qualidade, eficiência, que atenda aos anseios dos usuários, sem se esquecer dos custos e prazos acordados são um dos maiores desafios dentro da área da computação. Engenharia de Software é um ramo da ciência da computação que determina a metodologia de desenvolvimento e de manutenção de sistemas. Quando se pensa em desenvolver uma solução computacional o profissional deve aplicar diversos conhecimentos que vão desde quais metodologias de desenvolvimento serão escolhidas para o projeto, passando pela elaboração dos requisitos, análise, codificação, testes, implementação e manutenção do produto desenvolvido. Quando se pensa em escolher uma metodologia que seja a mais indicada para um determinado projeto, devem-se aplicar os conhecimentos adquiridos em relação às diversas técnicas de desenvolvimento. Além de se escolher a melhor metodologia, a equipe deve levar em consideração as melhores práticas para se realizar a etapa da codificação e teste do produto. Neste campo, também existem algumas opções como a análise estruturada e a orientada a objetos. O plano de testes é outro ponto muito importante que não pode ser deixado de lado. Em muitos cenários pode-se observar que a equipe de desenvolvimento acaba relegando a segundo plano os testes do produto. E, por causa desta visão, o produto final pode apresentar sérios problemas a ponto de ser rejeitado pelo usuário por não atender às suas expectativas. O nosso desafio consiste em desenvolvermos um projeto envolvendo as etapas referentes à engenharia de software e análise de sistemas. Para tanto, deve-se montar uma equipe de 3 a 5 alunos para que a troca de conhecimentos e experiências propicie, ao final desta atividade, uma proposta de desenvolvimento de software coerente e concisa como solução ao problema proposto. Entrevista realizada com a CLIVET Qual a necessidade real da Clínica CLIVET? Um sistema para controle de cliente, serviços, produtos e financeiro. Somente estas necessidades? Sim. Qual o tempo para desenvolvimento e implantação? O mais rápido possível. Podemos implantar o sistema por parte e incrementá-lo? Sim. Há disponibilidade da sua participação no projeto? Sim. Qual é a quantidade de clientes, tipos de serviços e produtos? Hoje temos em torno de 500 clientes, oferecemos 100 tipos de serviços e 500 produtos diferentes. Pretendem aumentar esses números? Sim, em 1000%. Pretende abrir outra clínica? Não. REF. FUNÇÃO Grau RF01. 1 Tela para cadastro de clientes poderá incluir, alterar ou excluir dados do cliente, como: Nome, CPF/CNPJ, tipo de pessoa (física ou Jurídica), Endereço completo ( Av /Rua, nº, complemento), código da cidade, UF, CEP, Bairro, código do país. 1 RF01. 2 Código do cliente deve ser fornecido pelo próprio sistema e não deve ser alterado ou excluído após que tenha um histórico com a empresa. 1 RF01. 2 O cadastro do cliente deve exigir alguns dados obrigatórios como (Endereço completo, CPF ou CNPJ, e-mail, código da cidade), para que caso haja necessidade de emissão de nota fiscal eletrônica esses dados são indispensáveis. 1 RF01. 3 Relatório que mostre todos os clientes com seus principais dados cadastrais citados na RF01.1, que poderá ser usado para emissão de etiquetas e mala-direta 2 RF02. 1 Tela para cadastro de serviços poderá incluir, excluir ou alterar um serviço. Cadastrar dados como: descrição do serviço e preço. 1 RF02. 2 Sistema deve gerar um relatório de serviços com seus respectivos preços para que seja enviado aos clientes. 2 RF02. 3 Código de serviço deve ser fornecido pelo próprio sistema. 1 RF03. 1 Tela de cadastro de produtos poderá incluir, alterar ou excluir dados como: descrição, código de tributação, NCM e preço. Deverá apresentar um Text field com a quantidade em estoque do produto, não poderá ter alteração neste campo. 1 RF03. 2 Código de produtos deve ser fornecido pelo próprio sistema e não deve ser alterado ou excluído caso haja histórico de compra ou venda do mesmo. 1 RF03. 3 O sistema deve ter uma tela para lançamento de compra de produtos. Será lançada de acordo com a nota fiscal do fornecedor, por isso a tela de compra deve receber os respectivos dados passados pela nota. 1 RF03. 4 Relatório de venda de produtos, por dia ou um período especifico. 2 RF03. 5 Sistema deve gerar um relatório de produtos com seus respectivos preços para que seja enviado aos clientes. 2 RF04. 1 Relatório de fechamento de caixa deverá conter informações de todos os lançamentos feitos no dia e no final, calcular entradas e saídas e mostrar o resultado final do dia. 1 RF04. 2 Tela para cadastro de conta corrente poderá incluir, alterar ou excluir uma conta corrente e pedir ao usuário que forneça os dados como: descrição da conta, tipo de conta corrente (caixa geral ou bancária). Apresentar em um Text field o saldo da conta e este campo não poderá sofrer alterações. 2 RF04. 3 O código de conta corrente deverá ser fornecido pelo sistema, iniciando pelo código 2, pois o código 1 será do caixa geral e receberá todos os movimentos diários. 1 RF05. 1 Tela para inventário de produtos apresentará uma coluna com o nome do produto, quantidade contábil (fornecida pelo sistema), quantidade escritural (que o cliente digitará) e uma coluna de diferença que será negativa ou positiva caso haja. 2 RF05. 2 O sistema deve gerar um relatório de trilha de auditoria, mostrando todas as alterações, inclusões, exclusões feitas, descriminando o usuário a data e o horário da determinada ação realizada no sistema. 1 RF05. 3 Tela de cadastro de usuários do sistema poderá incluir, excluir ou alterar um usuário. Dados solicitados nessa tela, são: nome e tipo de usuário. 1 RF05. 4 Cadastro de usuário deverá ter 4 tipos de usuário sendo que “máster” é o mais completo e possui todo acesso e permissão para fazer qualquer tipo de alteração, modificação e exclusão no sistema. 1 Usuário Requisito Funcional Ações Master Sem restrição para uso do sistema Insere, exclui, altera, consulta. Administrador Cadastro de Clientes (RF01.1) Insere, exclui, altera Supervisor Cadastro de Clientes Altera Operador Cadastro de Clientes Insere Master Relatório de Clientes (RF01.3) Consulta Supervisor Relatório de Clientes Consulta Operador Relatório de Clientes Consulta Master Cadastro de Serviços (RF02.1) Insere, exclui, altera Supervisor Cadastro de Serviços Insere Operador Cadastro de Serviços Insere Administrador Relatório de Serviços (RF02.2) Consulta Supervisor Relatório de Seviços Consulta Operador Relatório de serviços Consulta Administrador Cadastro de Produto (RF03.1) Insere, exclui, altera Supervisor Cadastro de Produto Altera Operador Cadastro de Produto Insere Administrador Lançamento de Compra de produto (RF03.3) Insere, exclui, altera Supervisor Lançamento de Compra de produto Insere Operador Lançamento de Compra de produto Insere Administrador Relatório de Produtos (RF03.5) Consulta Supervisor Relatório de Produtos Consulta Operador Relatório de Produtos Consulta Administrador Relatório de Venda de Produtos (RF03.4) Consulta Supervisor Relatório de Venda de Produtos Consulta Operador Relatório de Venda de Produtos Consulta Administrador Relatório de Fechamento de Caixa (RF04.1) Consulta Supervisor Relatório de Fechamento de Caixa Consulta Operador Relatório de Fechamento de Caixa Consulta Administrador Cadastro de Conta Corrente (RF04.2) Insere, Exclui, Altera Supervisor Cadastro de Conta Corrente Insere Operador Cadastro de Conta Corrente - Administrador Inventário (RF05.1) Insere, Exclui, Altera Supervisor Inventário Altera Operador Inventário Insere Administrador Trilha de Auditoria (RF05.2) Consulta Supervisor Trilha de Auditoria - Operador Trilha de Auditoria - Administrador Cadastro de usuário (RF05.3) Altera Supervisor Cadastro de usuário - Operador Cadastro de usuário - GLOSSÁRIO TERMO DESCRIÇÃO SINÔNIMOS NCM Nomeclatura comum do Mercosul deve ser informado para os produtos na Nota Fiscal Eletrônica TextField Componente de texto que permite edição de uma única linha Campo de texto Inventário Relação de quantidade existente e o local onde se encontra Trilha de auditoria Relatório minucioso de todas ações realizadas dentro do sistema DANFE Instrumento auxiliar para consulta da NF-e Documento auxiliar da Nota fiscal eletrônica Backup Cópia de segurança Porta 4545 Ponto físico (hardware) ou lógico (software), no qual podem ser feitas conexões, ou seja, um canal através do qual os dados são transferidos entre um dispositivo de entrada e o processador ou entre o processador e um dispositivo de saída. IP Protocolo de Internet (em inglês: Internet Protocol, ou o acrónimo IP) é um protocolo de comunicação usado entre duas ou mais máquinas em rede para encaminhamento dos dados. E, o endereço IP (Internet Protocol), de forma genérica, é um endereço que indica o local de um determinado equipamento (normalmente computadores) em uma rede privada ou pública. Quantidade escritural Quantidade que é resultado da contagem do funcionário. É o que consta no estoque físico. Quantidade contábil Quantidade que o sistema fornece, mediante os lançamentos de compra/venda dos produtos. Código de tributação Faixa de tributação que o produto se encaixa
Requisitos de Software e Processos de Engenharia de Requisitos. O software é parte de um sistema computacional mais abrangente e que a Análise de Sistemas é a atividade de identificar os problemas do domínio, apresentar alternativas de soluções e o estudo da viabilidade de cada uma delas. Uma vez que se tenha feito a análise do sistema computacional, e delimitado o escopo do software, os requisitos do software devem ser definidos e especificados.O objetivo da definição dos requisitos é especificar o que o sistema deverá fazer e determinar os critérios de validação que serão utilizados para que se possa avaliar se o sistema cumpre o que foi definido. USUARIO REQUISITO FUNCIONAL AÇÕES GERENTE O software deve possibilitar o cálculo dos gastos diários, semanais, mensais e anuais com pessoal. Pode incluir alterar, excluir e consultar. SECRETARIA O software deve emitir relatórios de compras e vendas a cada quinze dias Pode incluir alterar e consultar ATENDENTE (usuários) Os usuários devem poder obter o número de consultas (veterinárias), aprovações, reprovações (médicas) e trancamentos (desistências) em todas as consultas marcadas por um determinado período de tempo. Pode incluir alterar, excluir e consultar. VETERINARIOS O software deve mostrar a agenda atualizada a cada 1 (uma)hora. Pode incluir alterar e consultar. Glossário TERMO DESCRIÇÃO SINONIMÔS administrador Administra o programa tendo acesso total ao progama adm CRT+a Seleciona todo o texto da pagina aberta Selecionar Ctr+c Copia todo os textos selecionados Copiar Ctr+v Cola todo os texto selecinonado em outra pagina aberta Colar Vet Abreviação de veterinaria Veterinária Selecionar Seleciona algo desejado dentro do programa Nível de usuario Determina o que o usuário do programa pode fazer nos arquivos solicitados User Suporte É dado assim que o usuário encontrar dificuldade para usar o programa Cadastro É tudo que necessite alteração ou inserção de tela ex:novo cliente,novo funcionário e etc. Restrições É imposta pelo administrador para controlar entrada e saída de documentos. Log É quando você usa seu nome e senha para usar o programa Status Mostra se o programa esta normal ou se esta travando.Mostra o tempo de resposta. Login/logout quando é feito um acesso ao programa que necessite nome e senha dos funcionarios Exit Sair ou fechar alguma tela ou o programa sair Transações Todo tipo de operação feita dentro do sistema ex:comprar,vender,alterar e etc. ANHANGUERA EDUCACIONAL CAMPINAS UNIDADE IIICURSO DE CIÊNCIA DA COMPUTAÇÃO SERIE 5ª ATPS DE ENGENHARIA DE SOFTWARE ETAPA 3 Estevan Caetano RA:0991003743 Carlos Ap. Galvão RA:0943475647 Professora: Tânia Regina Ramires Bezerra

ATPS ENGENHARIA DE SOFTWARE...

ANHANGUERA EDUCACIONAL => CAMPINAS UNIDADE III

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

[ATPS] 3a Etapa

Abaixo os links do trabalho:

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