Baixe o app para aproveitar ainda mais
Prévia do material em texto
A norma ISO/IEC/IEEE 12207 (2017) define os processos de software que podem ser executados tanto para a aquisição, fornecimento, desenvolvimento, operação, manutenção e descarte de sistemas, produtos e serviços de software. O objetivo dela é facilitar a comunicação, já que ela fornece uma nomenclatura básica. Por isso ela é uma norma bastante interessante para a Engenharia de Software. Para cada processo a norma descreve apenas o seu propósito, seus resultados esperados e as atividades e tarefas. Porém, ela não indica como os processos são executados. Portanto, ela não trata de modelos de ciclo de vida, métodos de desenvolvimento, métodos em geral, técnicas, ferramentas ou mesmo artefatos. Mais que isso, ela não define uma ordem de execução dos processos. Cada empresa pode definir esses aspectos da forma que achar mais apropriado e ainda assim atender a norma. O atendimento da norma pode ser usado para facilitar a avaliação dos processos da organização ou mesmo como base para melhoria de seus processos (que discutiremos mais adiante na disciplina). Organização A norma organiza os processos em quatro grupos: • Processos de acordo: trata dos processos de aquisição e fornecimento de um produto, serviço ou sistema de software. • Processos organizacionais habilitadores do projeto: são os processos que provêm os recursos para permitir a existência de projetos de software na empresa. Eles tratam de questões estratégicas da organização, essenciais para quaisquer projetos como o pessoal, a infraestrutura, o ambiente para realização dos projetos, além de questões estratégicas relativas à qualidade. • Processos de gerência técnica: tratam da gestão de recursos e ativos. • Processos técnicos: são os processos que transformam as metas e necessidades dos stakeholders em produtos ou serviços e, portanto, necessários para criar ou usar um software. Processos Os processos definidos na norma são apresentados na Figura 1. Convém ressaltar que os processos podem ser executados em paralelo e em uma ordem diferente da apresentada na norma. Mais que isso, os processos podem ser executados em paralelo dentro de um projeto (nada impede que a verificação e a implementação sejam feitas em paralelo, por exemplo). Eles também podem ser feitos de forma repetitiva no projeto, permitindo um desenvolvimento iterativo e incremental, por exemplo. Figura 1: Processos definidos pela ISO 12207 (2017) A seguir é apresentada uma breve descrição do propósito de cada processo da norma. Processos de acordo • Processo de aquisição: obter o produto ou serviço de acordo com os requisitos definidos. Isso envolve a busca e seleção de um fornecedor, além do acordo, monitoramento do progresso das atividades e o aceite. TEXTO-BASE Os processos da ISO 12207 | Fábio Levy Siqueira • Processo de fornecimento: é o processo “espelho” da aquisição. Ele tem como objetivo prover o produto ou serviço seguindo o que foi acordado. Processos organizacionais habilitadores do projeto • Processo de gerência do modelo de ciclo de vida: é responsável pelos processos executados pela organização. Ele define políticas, processos, modelos e procedimentos compatíveis com os objetivos da organização. Para isso ele estabelece os processos, os avalia e realiza melhorias neles. • Processo de gerência de infraestrutura: provê e mantém a infraestrutura e serviços necessários para os projetos da organização. Isso inclui as instalações, ferramentas, formas de comunicação e recursos tecnológicos necessários. • Processo de gerência de portfólio: é responsável por iniciar (autorizando) e sustentar os projetos necessários para que a organização atinja seus objetivos. Ele avalia frequentemente os projetos de forma a decidir se eles são ainda necessários e termina-los, caso não sejam. • Processo de gerência de recursos humanos: provê os recursos humanos necessários para a organização atingir seus objetivos, além de manter suas competências (através de treinamentos). • Processo de gerência da qualidade: busca garantir que os produtos e serviços atendem aos objetivos da organização e do projeto, além da satisfação do cliente. Para isso estabelece políticas, objetivos e procedimentos. Esse processo também avalia os resultados da garantia da qualidade dos projetos, realizando ações corretivas e preventivas conforme a necessidade. • Processo de gerência do conhecimento: busca permitir que conhecimento, habilidades e ativos de conhecimento sejam reaplicados, aproveitando-os. Processos de gerenciamento técnico • Processo de planejamento de projeto: produz e coordena planos. Identifica saída, tarefas e entregáveis. Também define o cronograma e os recursos e papéis necessários. • Processo de avaliação e controle de projeto: avalia se os planos estão alinhados e são factíveis. Além disso, acompanha o projeto, analisando se o desempenho é apropriado, se o orçamento está seguindo o planejado e se os objetivos técnicos estão sendo satisfeitos. • Processo de gerência de decisão: permite identificar, caracterizar e avaliar alternativas para decisões em qualquer momento do projeto. Trata também da seleção de uma alternativa. • Processo de gerência de risco: identifica, analisa, trata e monitora os riscos do projeto. • Processo de gerência de configuração: gerencia e controla os elementos do sistema e configurações. Esse processo também controla mudanças e cuida da liberação (release) de novas versões. • Processo de gerência de informação: gera, obtêm, confirma, transforma, retém, busca, dissemina e descarta informações, considerando os stakeholders e suas necessidades. • Processo de medição: coleta, analisa e reporta dados e informações para apoiar a gestão. • Processo de garantia da qualidade: avalia os produtos, serviços e processos considerando as políticas, procedimento e requisitos da gerência da qualidade. Portanto, busca garantir que o processo de gerência de qualidade é executado corretamente no projeto. Processos técnicos • Processo de análise de negócio ou da missão: busca analisar o negócio, problemas ou oportunidades, determinando possíveis classes de solução. • Processo de definição das necessidades e requisitos dosstakeholders: define os requisitos do ponto de vista dos stakeholders, tratando de suas necessidades e features do sistema. Também identifica quais são os stakeholders e restrições sobre o sistema. • Processo de análise dos requisitos de sistema / software: transforma os requisitos dos stakeholders em uma especificação do que precisa ser feito (requisitos de sistema / software), mas sem entrar em detalhes de implementação. • Processo de definição da arquitetura: gerar alternativas de arquitetura e selecionar a mais apropriada considerando os requisitos. • Processo de definição do design: busca detalhar suficientemente o sistema de forma que ele possa ser implementado, seguindo a arquitetura definida. • Processo de análise de sistema: provê uma base rigorosa de dados e informação para auxiliar tecnicamente o processo decisório. Isso inclui análise matemática, simulação, experimentos e outras técnicas para a resolução de conflitos de requisitos, avaliação de alternativas arquiteturais ou de elementos do sistema e avaliação de estratégias de desenvolvimento, por exemplo. • Processo de implementação: implementa um elemento do sistema, considerando o seu design, arquitetura e requisitos. • Processo de integração: junta os diversos elementos do sistema, obtendo um sistema que satisfaz a arquitetura, o design e os requisitos. • Processo de verificação: provê evidência objetiva que o sistema satisfaz os requisitos e características definidas. Identifica anomalias e provê a informação necessária para que elas sejam resolvidas. • Processo de transição: coloca o sistema em seu ambiente real (ambiente de produção). Para isso, é necessário preparar o ambiente e instalar o sistema e, caso necessário, resolver possíveis problemas. • Processo de validação: provê evidência objetiva que o sistema satisfaz os objetivos de negócio e a missão, assimcomo os requisitos dos stakeholders. Veremos melhor, em aulas futuras, a diferença entre a verificação e a validação. • Processo de operação: usa o sistema para entregar os seus serviços. • Processo de manutenção: busca manter a capacidade do sistema em prover seus serviços. • Processo de descarte: termina a existência de um sistema ou de um de seus elementos para um determinado uso. Bibliografia ISO. Systems and software engineering - Software life cycle processes. ISO/IEC/IEEE 12207. 2017
Compartilhar