domingo, 27 de março de 2011

[ATPS] ATPS - Etapa 2


ATPS de Engenharia de Software

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)

Códigos:
Prioridade
Grau
Urgente
0
Alta
1
Média
2
Baixa
3
Futuras
4
Tabela I


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 II
PS: Misto engloba requisitos funcionais e não-funcionais

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

2 comentários:

  1. PS: tou cuspindo sangue, com uma dor do cão, pós-cirurgia; num vou à aula essa semana; se alguem falar q tah com saudades, eu processo por calunia!!! Se me chamarem pro bar, eu choro! Se me oferecerem um porpetonni, eu peço pra morrer! Se pedirem pr'eu tocar bateria, eu enfio uma baqueta em cada orelha sua!!! Se Red Bull te dá asas, analgésico corta as mesmas... ...e dá mais ressaca que vinho! Abraços...

    ResponderExcluir
  2. PQPlaystation, esse NTP do google continua zuado; como que esses caras ganham bilhões e nem um NTP conseguem configurar??? santa "iNguinoranSSia" e "iNcomPTenÇia"!!!

    ResponderExcluir