Baixe o app para aproveitar ainda mais
Prévia do material em texto
Anotações para prova Processos e negócios de software. O QUE É UM PROCESSO? Segundo o PMBOK (PMI, 2001), é um conjunto de ações e atividades inter- relacionadas que são executadas para alcançar um objetivo. Cada processo é caracterizado por suas entradas, as ferramentas e as técnicas que podem Na gestão de processos negócio (BPM), processo é uma sequência de tarefas ou atividades que, ao serem executadas, transformam insumos em um resultado com valor agregado. Noções sobre Processos de Negócio Dentro da área de processos, quando falamos em Gestão de Processos de Negócios, utilizamos o termo BPM (Business Process Management), que se trata de um modelo para apoiar as organizaçõesa criar e aperfeiçoar seus processos de negócio em tempo real, baseados em tecnologia, com foco na melhoria contínua de processos e, consequentemente, na satisfação dos clientes quanto à melhor qualidade dos produtos, agilidade de entrega de produtos e serviços baseado nas necessidades do mercado. Com o uso do BPM, as empresas têm conseguido entender sua estrutura organizacional a partir da visão de seus processos relacionados e trabalhando de forma integrada, deixando de lado a antiga visão departamental. E para as organizações se manterem competitivas no mercado, é necessário constante revisão destes processos e a sua divulgação. Segundo CBOK (2013), BPM é uma abordagem disciplinar para identificar, desenhar, executar, documentar, medir, monitorar, controlar e melhorar processos de negócio, automatizados ou não, para alcançar resultados consistentes e alinhados com os objetivos estratégicos da organização. Para KROENKE (2012), Processos de Negócio trata-se de uma rede de atividades, funções, recursos, repositórios e fluxos de dados que interagem para executar uma função de negócios, onde: Existem quatro componentes principais no BPM: Engenharia de Processos – uma plataforma robusta de modelagem e execução de processos baseados em aplicações com regras de negócios; Análise de Negócios – permite aos executivos identificar problemas, oportunidades nos processos de negócios e tendências a partir de relatórios e painéis de informações gerenciais (dashboards); Gestão de Conteúdo – provê um sistema para armazenar e disponibilizar com segurança documentos eletrônicos, imagens e outros arquivos; Ferramentas de colaboração – permite eliminar as barreiras de comunicação entre departamentos através de fóruns de discussão, áreas de trabalho dinâmicas e murais virtuais. Um software de BMP deve incluir pelo menos as seguintes funções: Modelagem de processos; Gerenciamento de segurança; Ferramentas de colaboração; Gerenciamento de formulários; Portal de fluxo de trabalho (workflow); Monitoramento de processos; e, Análise de processos; Software profissional O software profissional inclui técnicas para especificação, projeto, implementação e implantação que geralmente não são relevantes ao desenvolvedor pessoal. Comumente, as pessoas associam um software como um programa de computador qualquer, porém, a engenharia de software não trata apenas do programa em si, mas de toda a documentação associada a fazer este programa funcionar corretamente. Outra diferença entre o desenvolvedor profissional e o amador é que o amador escreve um programa para ele mesmo utilizar, não se preocupando em escrever um manual do programa, documentação, etc., enquanto o desenvolvedor profissional, que desenvolve um software para outras pessoas usarem, necessita fornecer informações adicionais, assim como o código do programa. Existem dois tipos e produtos de software: Produtos Genéricos: Ex: Ferramentas de banco de dados, processadores de textos, compactadores de arquivos, pacotes gráficos, sistemas de contabilidade, sistemas comerciais, etc. Produtos sob Encomenda Ex: Sistemas de controle de dispositivos eletrônicos, sistemas especializado para apoio a determinado negócio, sistemas de controle rodoviário, etc. A diferença entre esses tipos de software é que, no genérico, a empresa que desenvolve controla sua especificação, já o sob encomenda, a especificação é controlada pela empresa que está adquirindo osoftware. Quando tratamos da qualidade do software profissional, devemos nos atentar aos seguintes atributos necessários a um bom software: Manutenibilidade, ou seja, a forma na qual o software possa evoluir para atender às necessidades dos clientes. Confiança e proteção, ou seja, um software não deve causar prejuízos físicos ou econômicos no caso de falhas do sistema. Eficiência, isto é, o software não deve desperdiçar recursos do sistema, Aceitabilidade. Ferramenta CASE Ferramentas CASE são sistemas de software que são projetados para apoiar atividades rotineiras no processamento de software, como editar desígnio esquematizado, conferir a consistência de diagramas e rastrear e manter testes de programa que foram feitos. Engenharia de requisitos Na Engenharia de Software, temos uma especialidade que é a Engenharia de Requisitos, sendo um de seus objetivos melhorar a modelagem de sistemas, possibilitando maior entendimento de suas características antes da implementação. Esses processos são utilizados para descobrir, analisar e validar os requisitos dos sistemas. Suas principais atividades são: Estudo de viabilidade; Elicitação (levantamento) e análise de requisitos; Especificação e documentação de requisitos; Validação de requisitos. Classificação dos requisitos Essas classificações auxiliam na descrição de cada uma das tarefas, auxilia na organização de todo processo de software. Requisitos Funcionais: São as declarações de serviço que o sistema deve fornecer, como deve reagir a entradas especificas e se comportar em determinadas situações. Ex : aplicações financeiras como, sacar, transferir. Requisitos Não funcionais: São restrições sobre os serviços ou as funções oferecidos pelo sistema. Especificam desempenho, proteção, disponibilidade e outras propriedades do Sistema. Ex: Um sistema Web. Requisitos de Domínio: São requisitos provenientes do domínio da aplicação do sistema refletem as características e restrições desse domínio. Requisitos de usuário: São declarações, em linguagem natural e diagramas, sobre os serviços que o sistema oferece e as restrições para a sua operação. São escritos para os clientes. Requisitos do Sistema: Estabelecem detalhadamente as funções e restrições do sistema. O documento de requisitos, chamado de especificação funcional, pode servir como um contrato entre cliente e desenvolvedor. Problemas com a análise de requisitos Durante o processo de elicitação e análise dos requisitos, encontramos alguns problemas para realizar a atividade, pois: - Pessoas diferentes podem ter requisitos conflitantes; - Pessoas expressam os requisitos usando termos próprios; - Fatores políticos podem influenciar os requisitos do sistema; - Os requisitos se alteram durante o processo de análise, pois o ambiente econômico e de negócios é dinâmico. Processo de elicitação e análise de requisitos Podemos verificar que cada organização terá a sua própria versão de um modelo para a obtenção e análise de requisitos, dependendo de fatores locais, nível de conhecimento da equipe, tipos do sistema a ser desenvolvido e os padrões dos usuários. As atividades do processo são: - Obtenção de requisitos – um processo que visa coletar requisitos, em que os requisitos de domínio também são descobertos durante esta atividade. - Classificação e organização de requisitos – envolve a coleta de requisitos não estruturados, agrupando-os e organizando-os em conjuntos coerentes. - Priorização e negociação de requisitos – atividade relacionada à priorização de requisitos, devido a requisitos conflitantes (quando há vários stakeholdersatuando), à procura e à resolução de conflitos por meio de negociações. - Documentação de requisitos – são documentados e colocados na próxima volta da espiral, podendo ser produzidos documentos de requisitos formais ou informais. Especificação de software Trata-se de uma especificação abstrata e precisa do software, indicando o que ele deve fazer (sem dizer como), que serve de base para o design e implementação. Ela acrescenta mais detalhes à especificação funcional e é escrita para a equipe de desenvolvimento. Validação de requisitos É o processo pelo qual se verifica se os requisitos elicitados definem o sistema que o cliente realmente quer. A validação também é importante, uma vez que o custo para remover erros de requisitos é grande, quando descobertos tardiamente. Durante o processo de validação de requisitos, diferentes tipos de verificação devem ser efetuados no documento de requisitos. Essas verificações incluem: 1. Validade - O sistema fornece as funções que melhor atendem as necessidades de todos os usuários? 2. Consistência - Existem conflitos de requisitos? 3. Completeza - Todas as funções necessárias foram incluídas? 4. Realismo - Os requisitos podem ser implementados com a tecnologia e orçamento disponíveis? 5. Verificabilidade - Os requisitos podem ser checados? Uma série de técnicas de validação podem ser utilizadas individualmente ou em conjunto, tais como: 1. Revisões de requisitos - é feita uma análise manual sistemática dos requisitos; 2. Prototipação - um modelo executável do sistema é demonstrado para os usuários finais para checar os requisitos; 3. Geração de casos de teste - os requisitos devem ser testáveis, para tal, devem-se desenvolver testes para os requisitos a fim de verificar a testabilidade. Gerenciamento de Requisitos O gerenciamento de requisitos é o processo de controlar as mudanças nos requisitos durante o processo de engenharia de requisitos e desenvolvimento. Torna-se necessário manter o acompanhamento dos requisitos individuais e manter as ligações entre os requisitos dependentes, de modo que seja possível avaliar os impactos das mudanças de requisitos. Evolução dos requisitos Do ponto de vista da evolução, os requisitos dividem-se em duas classes: Requisitos permanentes Requisitos voláteis Gerenciamento de mudanças de requisitos O processo de gerenciamento de requisitos, o qual deve ser aplicado a todas as mudanças propostas aos requisitos. A vantagem de se usar um método formal para gerenciar as mudanças está no fato de que as propostas são tratadas consistentemente e a documentação dos requisitos é feita de maneira controlada. Existem três estágios no processo de gerenciamento de mudanças, que são: Análise do problema e especificação da mudança. Discutem-se os problemas com os requisitos e propõem-se mudanças. Análise e custo da mudança. Avaliam-se os efeitos da mudança em outros requisitos do sistema. Implementação das mudanças. O documento de requisitos e outros documentos são alterados de forma a refletir as mudanças. Técnicas de Requisitos A seguir apresentaremos algumas técnicas para o levantamento e análise de requisitos: Levantamento baseado em pontos de vista; Entrevistas; Cenários de utilização do sistema; Etnografia (análise do ambiente de trabalho dos usuários). Cenários de utilização do sistema Geralmente, as pessoas consideram mais simples relatar exemplos da vida real a que abstrair descrições, desta forma, os cenários podem ser descritos e criticados por eles como uma forma de interação com o sistema de software. Descrições de cenários incluem: Estado do sistema no início do cenário; Fluxo normal de eventos no cenário; O que pode sair errado e como lidar com isso; Outras atividades concorrentes; Estado do sistema no final do cenário. Etnografia (análise do ambiente de trabalho dos usuários) É uma técnica de observação que pode ser usada na compreensão dos requisitos sociais e organizacionais, na qual um analista se insere no ambiente de trabalho onde o sistema será usado, observa o trabalho do dia a dia e anota as tarefas reais nas quais os participantes estão envolvidos. A etnografia é particularmente eficaz para descobrir: Requisitos derivados da maneira como as pessoas realmente trabalham, ao invés da maneira pela qual as definições de processo dizem o que deveria fazer. Requisitos derivados da cooperação e do conhecimento das atividades de outras pessoas.
Compartilhar