Buscar

Produto e Processo de Software

Prévia do material em texto

Curso: Bacharelado em Sistemas de Informação Turma BSI11 
Disciplina: Engenharia de Software I 
Professora: Cátia dos Reis Machado 
 
 
 PRODUTO E PROCESSO DE SOFTWARE 
 
Ana Paula Reinecke¹; Larissa Rozza Peluso2 
 
RESUMO 
 
O presente artigo tem por objetivo apresentar alguns principais aspectos sobre produto e 
processo de software, analisando a relação entre eles, o processo de engenharia de requisitos, 
as atividades presentes no processo de software e como melhorar esse processo, e os níveis de 
maturidade do processo; no produto de software são abordados os seguintes tópicos: tipos de 
produtos de software e suas especificações, os testes realizados no software (que garantem o 
correto funcionamento do sistema) e seus estágios de testes. 
 
Palavras-chave: produto – processo – software – qualidade 
1 INTRODUÇÃO 
 Para facilitar o controle das tarefas desenvolvidas durante o modo produtivo, o 
processo de software é de fundamental importância, pois este é uma estratégia que define a 
ordem em que as atividades envolvidas na produção do sistema de software serão executadas, 
no qual o produto (software) é o resultado final desse processo, ou seja, o processo influencia 
no produto (se o processo for ruim ou se houver problemas no decorrer do mesmo, 
possivelmente, o produto gerado sofrerá consequências). 
Torna-se necessário, também, no âmbito do desenvolvimento de sistemas, definir 
métricas de avaliação de qualidade, para que haja um padrão qualitativo a ser seguido, em que 
os prazos de entrega do produto são cumpridos corretamente, o software consegue atender a 
todos os requisitos solicitados pelo usuário, além deste software ser fácil de usar, altamente 
extensível e adaptável, e, principalmente, que satisfaz a necessidade do cliente. 
 Produto e Processo de Software não podem ser tratados isoladamente, porque há uma 
forte relação entre eles na análise da qualidade. 
 
2 PROCESSO DE SOFTWARE 
 
 O processo de software é um conjunto de atividades bem definidas organizadas na 
produção do sistema de software em uma ordem de execução das tarefas. 
Os sistemas podem ser desenvolvidos com base em diversos modelos de 
desenvolvimento de software, de acordo com a necessidade de cada organização, dos quais 
podemos citar: Cascata, Espiral, Prototipação, Scrum, Extreme Programming (XP), Rational 
Unified Process (RUP), V e Balbúrdia. 
 
_____________________ 
1 Acadêmica da Turma BSI11, aninhareinecke@hotmail.com 
2 Acadêmica da Turma BSI11, larissa.rozza1993@hotmail.com 
 
2.1 Processo de Engenharia de Requisitos 
 
 Na especificação do software a ser desenvolvido é preciso definir quais serviços são 
necessários a ele, identificando as restrições operacionais e de desenvolvimento do sistema. 
 Há quatro tópicos importantes no processo de engenharia de requisitos, são eles: 
Estudo de viabilidade, Elicitação e análise de requisitos, Especificação de requisitos e 
Validação de requisitos. 
 
Estudo de viabilidade: É um estudo que indica se vale a pena o esforço para desenvolver a 
ideia, visando tanto à tomada de decisão, quanto a sugestão de possíveis alternativas de 
solução, ou seja, nesse estudo é analisado se o produto pode ser feito ou não, se o produto 
final beneficiará os usuários interessados, e inclusive, se há conhecimento suficiente e 
ferramentas necessárias para o desenvolvimento do produto, além de ser feito uma análise de 
custos (manutenção, instalação, dentre outros). 
 
Elicitação e análise de requisitos: A elicitação pode ser denominada descoberta de requisitos, 
que objetiva descobrir o domínio de aplicação, os serviços a serem fornecidos, como também, 
as restrições, envolvendo stakeholders (usuários finais, gerentes, especialistas no domínio, 
pessoal envolvido na manutenção). Após esta etapa, é feita a análise desses requisitos, para 
entender melhor o que foi especificado. 
 
Especificação de requisitos: Na especificação de requisitos, são definidos, cuidadosamente, 
todos os requisitos a serem utilizados no sistema ou em parte do sistema, visando obter 
produtos de software de melhor qualidade, e que satisfaça as necessidades dos clientes no 
prazo correto e com orçamento adequado, isto é, ao especificar os requisitos, é preciso 
compreender exatamente o que deve ser feito e o que é esperado como resultado. Os erros na 
definição dos requisitos podem afetar todo o restante do projeto. 
 
Validação de requisitos: Para validar os requisitos é preciso demonstrar que estes requisitos 
definidos no sistema estão de acordo com o que o cliente realmente deseja. 
 
 
 
Figura 1. Processo de engenharia de requisitos. 
 
2.2 Atividades de Processo de Software 
 
Especificação de Software: Clientes e engenheiros definem que software deve ser produzido e 
suas restrições sobre o funcionamento. 
 
 
Desenvolvimento de Software: É a implementação do software, no qual este é projetado e 
programado. 
 
Validação de Software: O software é verificado para garantir que este atenda as necessidades 
do cliente. 
 
Evolução de Software: O software é modificado para refletir mudanças de requisitos do 
cliente e do mercado. 
 
2.3 Níveis de Maturidade do Processo 
 
Nível 1: Nível inicial – Caos (essencialmente descontrolada). 
 
Nível 2: Repetível – Os processos que gerenciam produtos são definidos e usados. 
 
Nível 3: Definido – O gerenciamento de processos e estratégias são definidos e usados, ou 
seja, já existe um processo e uma estratégia definidos, que são usados posteriormente. 
 
Nível 4: Gerenciado – Estratégias que gerenciam a qualidade são definidas e usadas – 
Processos são bem geridos. 
 
Nível 5: Otimizando – Estratégias para otimizar processos são definidas e usadas. 
 
2.4 Melhoria no Processo de Software 
 
As melhorias no processo de software ocorrem a partir do correto entendimento desses 
processos existentes, alterando-os para que aumente a qualidade do produto e/ou reduza 
custos e tempo de desenvolvimento. 
 
3 PRODUTO DE SOFTWARE 
 
 
 
 
Figura 2. Estrutura de conceitos. 
 
 
 
É considerado produto, o software desenvolvido, que pode ser utilizado em diversas 
áreas do conhecimento, e atender as mais variadas necessidades, bem como as atividades de 
gerenciamento de informações. 
 
3.1 Tipos de Produtos de Software 
 
3.1.1 Produtos Genéricos 
 
 Os produtos genéricos são sistemas autônomos comercializados e vendidos a qualquer 
cliente que deseja comprá-los, como por exemplo, os softwares para PC (programas gráficos; 
ferramentas de gerenciamento de projetos; software CAD; software para propósitos 
específicos, como os sistemas de registros odontológicos). 
 
3.1.2 Produtos sob Encomenda 
 
 O produto sob encomenda é o software encomendado por um cliente específico para 
suprir suas próprias necessidades, como por exemplo, os sistemas de controle integrado, 
software de controle de tráfego aéreo, sistemas de monitoramento de tráfego. 
 
3.2 Especificação dos Produtos de Software 
 
 Nos produtos genéricos a especificação do que deve ser feito pelo software, além das 
posteriores decisões sobre as mudanças, é de propriedade do desenvolvedor de software. 
 Já nos produtos sob encomenda, quem especifica o que precisa ser feito no software é 
o cliente, e, inclusive, é ele quem toma decisões sobre as mudanças necessárias no software. 
 
3.3 Testes de Software 
 
 É importante sempre realizar os testes de software ao final do desenvolvimento de 
sistemas, pois a partir desses testes, os programadores podem descobrir os defeitos no 
programa e removê-los no processo de debugging, garantindo que o sistema funcionará 
corretamente, ou seja, o produto precisa ser entregue em perfeito estado ao cliente, por isso é 
necessário testar o sistema antes da entrega final. Abaixo segue um exemplo de processo de 
debugging. 
 
 
 
Figura 3. Processo de debugging. 
 
 
3.3.1 Processo de Testes de Software 
 
 O processo de testes de software pode serdividido em três estágios, que são: teste de 
componente, teste de sistema e teste de aceitação. 
 
Teste de componente: Os componentes (ou funções) são testados individualmente, e, depois, 
integrados com o restante do projeto. 
 
 
Teste de sistema: O sistema é testado como um todo, no qual, é particularmente importante 
testar as propriedades emergentes. 
 
Teste de aceitação: O teste no sistema é feito com os dados do cliente para verificar se o 
mesmo atende às suas necessidades. 
 
 
 
Figura 4. Processo de teste. 
4 CONCLUSÃO 
 
 Concluímos que o produto e o processo de software são fortemente relacionados, no 
qual a qualidade do produto vai depender de como o processo ocorre, ou seja, caso este 
processo seja ruim, o produto, consequentemente, será ruim, o que torna importante a 
existência de melhorias no processo, para que seu resultado seja qualitativo. 
 É de suma importância, primeiramente, descobrir quais são os requisitos do sistema a 
ser desenvolvido, antes de começar sua implementação, analisando-os com cuidado 
(verificando se os mesmos estão de acordo com o que o cliente deseja), pois se estes tiverem 
erros, todo o projeto poderá ser afetado futuramente. 
Torna-se necessário, inclusive, fazer um estudo detalhado sobre tudo que vai ser 
utilizado durante o desenvolvimento de software, bem como os custos totais do projeto, para 
que este não precise ser interrompido, o que, consequentemente, gera problemas em relação 
ao tempo de produção. 
Sobre os testes de software, podemos concluir, também, que estes tem grande 
importância no desenvolvimento, pois garantem o correto funcionamento do sistema, evitando 
surpresas desagradáveis com os devidos erros que podem surgir. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
REFERÊNCIA 
 
[NASCIMENTO, R]. Produto x Processo x Projecto. 2012. Disponível em: 
<https://docs.google.com/viewer?a=v&q=cache:ouJmele6uUEJ:w3.ualg.pt/~rnascimento/aula
sES-2006/aula4.ppt+&hl=pt-BR&gl=br&pid=bl&srcid=ADGEESguJfG4qaKXTLXQBav-
Q84C-QKMpoPNren4xr_Y54BsJ4G2Kc7D2xxWo1ZwxJd5CkYUSxR-
cMT6voDKz8BrxEeb0IyA4qbwh6nDvCYqwcjZhZiQW-
pDdBIR1UMJ1tSJeOW9q6Rs&sig=AHIEtbR6imMQeptRmelQSL3Ia8-qWAD4wA>. 
Acesso em: 20 nov. 2012. 
 
SOMMERVILLE, Ian. Processos de Software. 2007. Disponível em: <http://www.ifc-
camboriu.edu.br/~catia/BSI11/CAP04.pdf>. Acesso em: 19 nov. 2012. 
 
SOMMERVILLE, Ian. Capítulo 26 Melhoria de Processos. 2011. Disponível em: 
<http://www.ifc-camboriu.edu.br/~catia/BSI11/Capitulo_26_melhoria_processo.pdf>. Acesso 
em: 19 nov. 2012. 
 
VASCONCELOS, Alexandre. Engenharia de Requisitos. Disponível em: 
<https://docs.google.com/viewer?a=v&q=cache:_jArceq0Q5QJ:www.cin.ufpe.br/~if682/aula
s/04%2520-%2520Requisitos.ppt+&hl=pt-
BR&gl=br&pid=bl&srcid=ADGEESiuIEZ1M0rybEHZfxdQBdYVdGo6mcJsCY48lSMVND
wRqCrXSLjYrpTFYvfUQ4ZOH8y2T3RCkRLcDw0V3xfYYpQN5mzc5WPhnOR_KRDaxB
ywDv5PT2v64kQRpGpvMD-
YCSjFiqIc&sig=AHIEtbSFnr_VDncI8fmUVEHCRGd9I_R3gg>. Acesso em: 18 nov. 2012. 
 
MACORATTI, José Carlos. Conceitos: Especificação de requisitos. Disponível em: 
<http://www.macoratti.net/07/12/net_fer.htm>. Acesso em: 18 nov. 2012.

Mais conteúdos dessa disciplina