Requisitos de software
trabalhei em uma empresa em que as telas do sistema eram muito amarradas, por exemplo, ficava-se tentando adivinhar o que o usuário iria fazer de "cagada".
Por exemplo, fazia-se validações para não permitir cadastrar unidades de produtos com o mesmo nome, não deixava-se cadastrar estados com o mesmo nome, datas, eram todas validadas. Ou seja tudo que pudesse fazer o usuário fazer "besteira" era bloqueado.
O que vocês acham disso? é uma boa prática? Ou o usuário deve ser responsável pelo que faz no software?
Felipe Rosa
Melhor post
Marisiana Battistella
31/07/2014
- Requisitos (Requirements) de Software
- Projeto (Design) de Software
- Construção (Construction) de Software
- Teste (Testing) de Software
- Manutenção (Maintenance) de software
- Gerência de Configuração de Software
- Gerência de Engenharia de Software
- Processos de Engenharia de Software
- Ferramentas e Métodos de Engenharia de Software
- Qualidade (Quality) de Software
Com base nessas informações, pode-se concluir que Testes de Software é uma etapa fundamental a ser executada para se obter a qualidade, pois a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento.
Em todos os processos do desenvolvimento existe uma etapa de verificação que consiste em analisar se etapa do processo está atendendo os requisitos de qualidade de software daquela etapa.
Mais Respostas
Fernanda Acacia
06/11/2013
Aluisio Cavalcante
06/11/2013
Roniere Almeida
06/11/2013
trabalhei em uma empresa em que as telas do sistema eram muito amarradas, por exemplo, ficava-se tentando adivinhar o que o usuário iria fazer de "cagada".
Por exemplo, fazia-se validações para não permitir cadastrar unidades de produtos com o mesmo nome, não deixava-se cadastrar estados com o mesmo nome, datas, eram todas validadas. Ou seja tudo que pudesse fazer o usuário fazer "besteira" era bloqueado.
O que vocês acham disso? é uma boa prática? Ou o usuário deve ser responsável pelo que faz no software?
é só não deixar passar pelo banco de dados.
Marcio Araujo
06/11/2013
Roniere Almeida
06/11/2013
Felipe Rosa
06/11/2013
Felipe Rosa
06/11/2013
Marcos Oliveira
06/11/2013
Se você não "amarrar" nada no cadastro, seu cliente terá problemas e lógico, precisará de suporte. Isso pode sobrecarregar o suporte da empresa, já que o cliente muitas vezes por ser leigo, não sabe o que está fazendo errado.
Por outro lado, se você "amarrar" muito, pode sobrecarregar a programação, uma vez que esse tipo de tratamento pode ser muito trabalhoso.
Acho que deve haver aí um meio termo, entre facilitar a vida do suporte e a vida da programação, sem esquecer de facilitar a vida do cliente.
No meu caso, eu opto por tratar tudo de forma a ficar claro pro cliente. Quanto menos ele me ligar, melhor pra mim.
Att,
Marcos
Carlos Thompson
06/11/2013
Se você não "amarrar" nada no cadastro, seu cliente terá problemas e lógico, precisará de suporte. Isso pode sobrecarregar o suporte da empresa, já que o cliente muitas vezes por ser leigo, não sabe o que está fazendo errado.
Por outro lado, se você "amarrar" muito, pode sobrecarregar a programação, uma vez que esse tipo de tratamento pode ser muito trabalhoso.
Acho que deve haver aí um meio termo, entre facilitar a vida do suporte e a vida da programação, sem esquecer de facilitar a vida do cliente.
No meu caso, eu opto por tratar tudo de forma a ficar claro pro cliente. Quanto menos ele me ligar, melhor pra mim.
Att,
Marcos
Acredito que seja como o Marcos falou, o ideal é buscar o equilíbrio e bom senso para não bloquear ou liberar demais o sistema para que o usuário venha a cometer algumas falhas de preenchimento. Algumas coisas básicas como data, campo do tipo numérico não permitir texto. Lembrando sempre que essas validações ou restrições devem vir acompanhadas de mensagens (Avisos) para que o usuário entenda o porquê da restrição.
O foco principal é atender as necessidades do cliente buscando "facilitar para ele o uso de sistema" (Usabilidade), porque se o software não facilita sua vida então é melhor usar um formulário em papel que talvez dê menos trabalho. "Esse pode ser o pensamento de um cliente".
Abraços.
Alex Lekao
06/11/2013
Concordo com o Marcos e com o Thonsom.
e o Roniere, mencionou algo que eh interessante, alguns tratamentos podem ser dados no banco de dados, com isso integrando esse tratamento feito no banco com algo no sistema, pode ficar mais tranquilo de se contornar essa questao.
Agora na minha opniao, deve-se prever o maximo possivel de problemas, desde que nao interfira no desempenho e usabilidade, como ja foi mencionado, para que o usuario nao cometa erros.
Vejo sistemas que nao tem esses bloqueios unica e exclusivamente para se esquivar da responsabilidade da culpe pelo erro, ou operacao errada no caso, ai eh mais facil deixar a cargo do usuario, assim vc nao eh "responsavel", eu particularmente nao concordo.
Se vc deixar muito aberto, vc tem que ter um Phd para trabalhar e fazer algumas operacoes, embora se vc bloquear demais eh melhor um robo para fazer o trabalho ou usar papelo como foi dito que eh menos trabalhoso.
O melhor dos dois mundo eh interessante, se ha bloqueios mas nao eh burocratico e engessado demais, pq nao?
Abraco.
Alex - Lekao
Roniere Almeida
06/11/2013
Fernanda Acacia
06/11/2013
Thiago Palmeira
06/11/2013
Fernanda Acacia
06/11/2013
Thiago Palmeira
06/11/2013
Fernanda Acacia
06/11/2013
Thiago Palmeira
06/11/2013
Fernanda Acacia
06/11/2013
Marisiana Battistella
06/11/2013
trabalhei em uma empresa em que as telas do sistema eram muito amarradas, por exemplo, ficava-se tentando adivinhar o que o usuário iria fazer de "cagada".
Por exemplo, fazia-se validações para não permitir cadastrar unidades de produtos com o mesmo nome, não deixava-se cadastrar estados com o mesmo nome, datas, eram todas validadas. Ou seja tudo que pudesse fazer o usuário fazer "besteira" era bloqueado.
O que vocês acham disso? é uma boa prática? Ou o usuário deve ser responsável pelo que faz no software?
Não considero essas questões que descrevestes como besteiras que o usuário possa fazer.
É responsabilidade de quem fornece o produto garantir a qualidade dele. Se vc não fizer todas validações e controles necessários, vocês está deixando de cumprir regras básicas que vão interferir na qualidade dos dados que serão armazenados e isso vai ter muitas consequências quando o cliente for analisar seus dados para tomar decisões.
Essas questões não devem ser tratadas como besteira pois são questões que interferem nos resultados e dificultam a gestão empresarial devido a baixa qualidade de dados que foi armazenada.
É obrigação dos desenvolvedores garantir que os dados sejam armazenados da melhor forma possível além de realizar um bom treinamento aos usuários na entrega do produto.
Tem questões q podem ser insignificantes para um usuário que trabalha, por exemplo, no caixa da loja, mas para os gestores e tomadores de decisões são fundamentais.
Marisiana Battistella
06/11/2013
Mas afirmo q é um inferno analisar os dados de um estrutura mal elaborada, com informações inconsistentes e com falhas nas validações de dados que deveriam ter sido tratadas por quem desenvolveu o sistema.
Fernanda Acacia
06/11/2013
Marisiana Battistella
06/11/2013
Nesse sentido, muitos problemas podem ser evitados se pelo menos a TI fizer a parte dela completa.
Conforme o Thompson mencionou:
O foco principal é atender as necessidades do cliente buscando "facilitar para ele o uso de sistema" (Usabilidade), porque se o software não facilita sua vida então é melhor usar um formulário em papel que talvez dê menos trabalho. "Esse pode ser o pensamento de um cliente".
O cliente não quer saber o que os profissionais de TI devem ou não fazer ele quer que o produto final que ele vai receber seja bom e de qualidade.
Fernanda Acacia
06/11/2013
Marisiana Battistella
06/11/2013
Mas a qualidade que o cliente quer ver no produto não está apenas no resultado do trabalho do analista de sistemas.
Quando se fala na qualidade do produto final envolve o resultado do trabalho de cada membro da equipe.
Fernanda Acacia
06/11/2013
Marisiana Battistella
06/11/2013
É pra isso que existe uma área de conhecimento dentro da Engenharia de software que se chama "Qualidade de Software".
Fernanda Acacia
06/11/2013
Thiago Palmeira
06/11/2013
Marisiana Battistella
06/11/2013
Alex Lekao
06/11/2013
temos pequenas empresas bem estruturada como grandes empresas e temo grandes e medias empresas estruturadas como pequenas.
jja vivi nos dois cenarios, eh muito complicado. srsr
Fernanda Acacia
06/11/2013
no processo de desenvolvimento e em seguidas os testes, por etapas ou modulos?
Thiago Palmeira
06/11/2013
Mas isso na realidade é bem difícil de acontecer. Nada contra, pois também sou desenvolvedor, pois pela experiência que tenho e vejo nos estudos de profissionais consagrados, poucos são desenvolvedores que testam ...
Fernanda Acacia
06/11/2013
Mas isso na realidade é bem difícil de acontecer. Nada contra, pois também sou desenvolvedor, pois pela experiência que tenho e vejo nos estudos de profissionais consagrados, poucos são desenvolvedores que testam ...
assunto delicado pois os profissionais que estudam para ser desenvolvedor serão desenvolvedores e não testadores, o problema está na empresa e nos processos de desenvolvimento de software. problemas que envolvem profissionais e o produto, enfim é complicado demais.
Marisiana Battistella
06/11/2013
no processo de desenvolvimento e em seguidas os testes, por etapas ou modulos?
Depende de como foi definido no projeto, se as entregas serão por módulos, cada módulo deve ser testado e aprovado antes de ser validado com o cliente.
Marisiana Battistella
06/11/2013
Mas isso na realidade é bem difícil de acontecer. Nada contra, pois também sou desenvolvedor, pois pela experiência que tenho e vejo nos estudos de profissionais consagrados, poucos são desenvolvedores que testam ...
Isso é verdade. Vejo muito disso...
Não estou querendo criticar ou dizer q tá tudo errado, apenas desenvolvi a discussão para se fazer uma reflexão sobre como é a realidade e como deveria ser.
Vc não acha que todo desenvolvedor deve ser também analista e testador?
Como o desenvolvedor vai garantir que a solução que ele criou é eficaz e eficiente se ele não souber analisar a situação para encontrar a melhor solução a ser utilizada e se ele não tiver testado para ver se realmente está de acordo com o q foi proposto?
De certa forma todos são, mas como nem todos param pra pensar nesses detalhes, nem todos desenvolvem as habilidades que deveriam desenvolver. Ou, então, desenvolvem, mas não distinguem e por isso deixam de fazer com excelência.
Fernanda Acacia
06/11/2013
no processo de desenvolvimento e em seguidas os testes, por etapas ou modulos?
Depende de como foi definido no projeto, se as entregas serão por módulos, cada módulo deve ser testado e aprovado antes de ser validado com o cliente.
dependendo do cronograma do projeto seria interessante fazer, eu acho.
Marisiana Battistella
06/11/2013
Thiago Palmeira
06/11/2013
Conheci pessoas que trabalham em empresas que não sabem nem o que cadastrar na carteira se é programador ou desenvolvedor ou técnico....huhuauahua
Acredito que com um sindicato, o profissional poderia tirar um registro como um advogado precisa fazer para começar as suas atividades e ter credibilidade. Além disso, essa ação poderia trazer para mais qualidade no desenvolvimento e entrega dos sistemas.
Só acho!
Fernanda Acacia
06/11/2013
bem lembrado.
Varallo, acho interessante essa discussão, da entender que o trabalho qualificado de T.I, não importando se é desenvolvedor, DBA, analista(todos os tipos), todos serão considerados a pessoa que mexe com informatica e nada mais, sobre a questão da carteira, é triste ver situações assim.
Marisiana Battistella
06/11/2013
Engenharia de software não tem nada a ver com funções, cargos e salários...
Isso que o Varallo comentou é outro caso, é uma questão organizacional e de RH.
Fernanda Acacia
06/11/2013
Marisiana Battistella
06/11/2013
Ronaldo Lanhellas
06/11/2013
trabalhei em uma empresa em que as telas do sistema eram muito amarradas, por exemplo, ficava-se tentando adivinhar o que o usuário iria fazer de "cagada".
Por exemplo, fazia-se validações para não permitir cadastrar unidades de produtos com o mesmo nome, não deixava-se cadastrar estados com o mesmo nome, datas, eram todas validadas. Ou seja tudo que pudesse fazer o usuário fazer "besteira" era bloqueado.
O que vocês acham disso? é uma boa prática? Ou o usuário deve ser responsável pelo que faz no software?
Obviamente que quanto mais tratamentos melhor, não podemos simplesmente deixar na "mão do usuário" e esperar que ele faça tudo conforme mandam as regras, temos que pensar que ele sempre fará pelo lado errado.
Fernanda Acacia
06/11/2013
tudo certo então, entendi a sua observação.
Marisiana Battistella
06/11/2013
Obviamente que quanto mais tratamentos melhor, não podemos simplesmente deixar na "mão do usuário" e esperar que ele faça tudo conforme mandam as regras, temos que pensar que ele sempre fará pelo lado errado.
Outra questão a ser considerada, é que o usuário que recebeu treinamento hoje, amanhã pode sair da empresa e o novo usuário não terá o mesmo treinamento que o usuário anterior teve.
Sem contar que tem usuários que "não estão nem aí" com a qualidade da informação que estão alimentando no sistema (situação bem comum em cadastros de produtos, clientes, etc.).
Thiago Palmeira
06/11/2013
Marisiana Battistella
06/11/2013
Fernanda Acacia
06/11/2013
ja ouvi falar bastante de situações assim, nesses casos o que pode se tentar fazer para minimizar o "estrago"?
Thiago Palmeira
06/11/2013
Fernanda Acacia
06/11/2013
Marisiana Battistella
06/11/2013
Geralmente tem que ser um colaborador que esteja a mais tempo na empresa e que tenham uma boa posição (cargo), pois isso indica que é uma pessoa que tem mais compromisso com a empresa. Além de ter que ser uma pessoa que conheça os processos que são realizados na empresa.
Fernanda Acacia
06/11/2013