• Nenhum resultado encontrado

GLOSSÁRIO

No documento ÍNDICE DE FIGURAS (páginas 162-175)

Ambiente - Uma disciplina no processo de engenharia de software cuja finalidade é definir e gerenciar o ambiente no qual o sistema está sendo desenvolvido. Inclui descrições do processo, gerenciamento de configuração e ferramentas de desenvolvimento.

Análise - A parte do processo de desenvolvimento de software cuja principal finalidade é formular um modelo do domínio do problema. A análise enfoca o que fazer, enquanto o design enfoca como fazê-lo.

Análise e design - Uma disciplina no Processo Unificado cuja finalidade é mostrar como os casos de uso do sistema serão realizados na implementação; atividades (gerais) durante as quais decisões táticas e estratégicas são tomadas para atender os requisitos funcionais e de qualidade de um sistema.

Arquitetura - A estrutura organizacional de um sistema. Uma arquitetura pode ser repetidamente decomposta em partes que interagem através de interfaces, relações que conectam partes e restrições para associar partes. As partes que interagem através de interfaces incluem classes, componentes e subsistemas.

Artefato - Uma informação que é usada ou produzida por um processo de desenvolvimento de software. Um artefato pode ser um modelo, uma descrição ou um software.

Atividade - Uma unidade de trabalho que um papel pode ser solicitado a executar.

Ator - Alguém ou algo fora do sistema que interage com ele.

Atributo - Um atributo definido por uma classe representa uma propriedade nomeada da classe ou de seus objetos. O atributo tem um tipo que define o tipo de suas instâncias.

Atributo de requisito - Informações associadas a um determinado requisito que fornecem um link entre o requisito e outros elementos do projeto; por exemplo, prioridades, programações, status, elementos de design, recursos, custos, riscos.

Baseline - Um release revisado e aprovado de artefatos que constitui uma base ajustada para desenvolvimento ou evolução posterior e que só pode ser alterado através de um procedimento formal, como gerenciamento de mudança e controle de configuração.

Baseline arquitetural - A baseline no final da fase de Elaboração, quando a estrutura básica e o comportamento do sistema estão estabilizados.

Build - Uma versão operacional de um sistema ou parte dele que demonstra um subconjunto dos recursos a serem fornecidos no produto final.

Camada - Uma forma específica de agrupar pacotes em um modelo do mesmo nível de abstração.

Caso de desenvolvimento - O processo de engenharia de software usado pela organização realizadora. Ele é desenvolvido como uma configuração (ou seja, uma personalização) do produto Unified Process e adaptado às necessidades do projeto.

Caso de teste - A definição (geralmente formal) de um conjunto específico de inputs de teste, condições de execução e resultados esperados, identificados com a finalidade de avaliar um determinado aspecto de um item de teste-alvo. A diferença entre um caso de teste e uma idéia de teste é que o caso de teste é uma especificação do teste formada de maneira mais completa.

Caso de uso - Uma descrição de comportamento do sistema em termos de seqüências de ações. Um caso de uso deve produzir um resultado de valor observável para um ator. Ele contém todos os fluxos alternativos de eventos referentes à produção do "resultado de valor

observável". Mais formalmente, um caso de uso define um conjunto de instâncias de casos de uso ou cenários.

Cenário - Seqüência específica de ações que ilustra comportamentos. Um cenário pode ser usado para ilustrar uma interação ou a execução da instância de um caso de uso.

Ciclo - Um passeio completo pelas quatro fases: iniciação, elaboração, construção e transição. O intervalo de tempo entre o começo da fase de iniciação e o final da fase de transição.

Cliente - Uma pessoa ou organização, interna ou externa à organização produtora, que assume a responsabilidade financeira pelo sistema. Em um sistema grande, não pode ser o usuário final. O cliente é o recipiente definitivo do produto desenvolvido e seus artefatos.

Componente - Uma parte substituível, incomum e praticamente independente de um sistema que cumpre uma função clara no contexto de uma arquitetura bem definida. Um componente fornece e se adapta à realização física de um conjunto de interfaces.

Construção - É a terceira fase do Processo Unificado, na qual o software é trazido de uma baseline arquitetural executável para o ponto no qual está pronto para ser transferido para a comunidade de usuários.

Defeito - Uma anomalia (ou falha) em um produto de trabalho liberado. Alguns exemplos são omissões e imperfeições encontradas durante as fases iniciais do ciclo de vida e sintomas de erros contidos em softwares maduros o suficiente para teste ou operação. Um defeito pode ser qualquer tipo de questão que você deseje rastrear ou resolver.

Design - A parte do processo de desenvolvimento de software cuja finalidade principal é decidir como o sistema será implementado. Durante o design, decisões táticas e estratégicas são tomadas para atender aos requisitos funcionais e de qualidade de um sistema.

Detalhamento do fluxo de trabalho - Um agrupamento de atividades realizadas em colaboração para alcançar algum resultado. As atividades geralmente são realizadas em paralelo ou iterativamente, com a saída de uma atividade servindo de entrada para outra atividade. Os detalhamentos do fluxo de trabalho são usados para agrupar atividades a fim de fornecer um nível mais alto de abstração e aumentar a abrangência dos fluxo de trabalho.

Disciplina - Uma disciplina é uma coleção de atividades relacionadas a uma área de interesse principal. As disciplinas no RUP são: Modelagem de Negócios, Requisitos, Análise e Design, Implementação, Teste, Implantação, Configuração e Gerenciamento de Mudança, Gerenciamento de Projeto, Ambiente.

Documento - Um documento é uma coleção de informações que são representadas em papel ou em uma mídia que representa um papel. Essa representação de papel inclui o conceito de páginas e tem uma seqüência de conteúdo explícita ou implícita. As informações estão em texto ou em imagens bidimensionais. São exemplos de representação de papel: documentos de processadores de texto, planilhas, agendas, gráficos de Gantt, páginas da Web e apresentações de slide.

Domínio - Área de conhecimento ou atividade caracterizada por um conjunto de conceitos e de terminologia conhecidos dos profissionais dessa área.

Elaboração - É a segunda fase do processo em que a visão do produto e sua arquitetura são definidas.

Envolvido - Um indivíduo que é materialmente afetado pelo resultado do sistema.

Especificações de requisitos de software (SRS) - Um conjunto de requisitos que definem completamente o comportamento externo do sistema a ser criado - às vezes é denominada especificação funcional.

Estágio de engenharia - ROYCE (1998) organiza as fases do RUP nos estágios de engenharia e de produção. O estágio de engenharia é composto pelas fases de iniciação e

elaboração enquanto o estágio de produção é composto pelas fases de construção e transição.

Estágio de produção – ROYCE (1998) organiza as fases do RUP nos estágios de engenharia e de produção. O estágio de engenharia é composto pelas fases de iniciação e elaboração enquanto o estágio de produção é composto pelas fases de construção e transição.

Fase - O tempo entre dois marcos primários do projeto, durante o qual um conjunto bem definido de objetivos é atendido, artefatos são concluídos e decisões são tomadas sobre passar ou não para a próxima fase.

Fluxo de trabalho - A seqüência de atividades realizadas em um negócio que produz um resultado de valor observável para um ator individual do negócio.

FURPS+ - Funcionalidade, Usabilidade, Confiabilidade, Desempenho, Suportabilidade (+

outros). Este acrônimo representa categorias para definir requisitos e avaliar a qualidade do produto.

Gerenciamento de configuração (CM) - Um processo de suporte cuja finalidade é identificar, definir e criar uma baseline de itens; controlar modificações e releases desses itens; relatar e registrar status dos itens e solicitações de modificação; assegurar abrangência, consistência e correção dos itens; e controlar armazenamento, gerenciamento e liberação dos itens.

Gerenciamento de escopo - O processo de priorização e determinação do conjunto de requisitos que pode ser implementado no ciclo de um determinado release, com base no tempo e nos recursos disponíveis. Esse processo continua através do ciclo de vida do projeto à medida que as mudanças acontecem. Consulte também gerenciamento de mudança.

Gerenciamento de mudança - A atividade de controle e rastreamento de mudanças em artefatos. Consulte também gerenciamento de escopo.

Gerenciamento de projeto - Uma disciplina no processo de engenharia de software cuja finalidade é planejar e gerenciar o projeto de desenvolvimento.

Gerenciamento de requisitos - Uma abordagem sistemática para identificar, organizar e documentar os requisitos do sistema, além de firmar e atualizar acordos entre o cliente e a equipe do projeto sobre os requisitos variáveis do sistema.

Gerente de projetos - O papel com responsabilidade total pelo projeto. O Gerente de Projeto precisa assegurar que as tarefas sejam programadas, alocadas e concluídas de acordo com a programação do projeto, o orçamento e os requisitos de qualidade.

Implantação - Uma disciplina no processo de engenharia de software cuja finalidade é assegurar uma transição bem-sucedida do sistema desenvolvido para seus usuários. Estão incluídos artefatos como material de treinamento e procedimentos de instalação.

Implementação - Uma disciplina no processo de engenharia de software cuja finalidade é implementar e realizar teste do desenvolvedor em componentes de software.

Iniciação - A primeira fase do Processo Unificado, na qual a idéia original (a solicitação de proposta) referente à geração anterior é consolidada (pelo menos internamente) para entrar na fase de elaboração.

Inspeção - Uma técnica de avaliação formal na qual algum artefato (modelo, documento, software) é examinado por uma pessoa ou grupo que não seja o originador, a fim de detectar erros, violações de padrões de desenvolvimento e outros problemas.

Integração - A atividade de desenvolvimento de software na qual componentes separados de software são combinados em um todo executável.

Interação - Uma especificação de como os estímulos são enviados entre instâncias para realizar uma determinada tarefa. A interação é definida no contexto de uma colaboração.

Iteração - Uma seqüência distinta de atividades com um plano criado através de baseline e critérios de avaliação que resultam em um release (interno ou externo).

Linguagem Unificada de Modelagem (UML) - Uma linguagem para visualizar, especificar, construir e documentar os artefatos de um sistema intensivo de software.

Consulte Linguagem Unificada de Modelagem.

Marco - O ponto onde termina formalmente uma iteração; corresponde a um ponto de release.

Métrica - Um atributo de uma entidade que pode ser avaliado. Por exemplo, o esforço do projeto é uma avaliação (ou seja, métrica) do tamanho do projeto. Para calcular essa métrica, você precisa somar todos os registros do cronograma do projeto.

Métrica original - É um item de dados bruto que é usado para calcular uma métrica. No exemplo acima, os registros do cronograma são as métricas originais. Uma métrica original normalmente é uma métrica que existe em um banco de dados, mas não é interpretada isoladamente.

Modelo de caso de uso - Um modelo que descreve requisitos funcionais de um sistema em termos de casos de uso.

Modelo de casos de uso de negócios - Um modelo das funções pretendidas do negócio. O modelo de casos de uso de negócios é usado como entrada essencial para identificar papéis e produtos liberados na organização.

Modelo de implementação - É um conjunto de componentes e dos subsistemas de implementação que os contém. Os componentes incluem componentes de produtos liberados (como executáveis) e componentes a partir dos quais esses produtos são criados (como arquivos de código-fonte).

Modelo em cascata - Um modelo do processo de desenvolvimento de software no qual as atividades constituintes - fase de concepção, de requisitos, de design, de implementação, de teste, de instalação e de verificação - são executadas nessa ordem, provavelmente com pouca ou nenhuma iteração. Essa definição é aplicada no RUP, com a substituição do termo fase por disciplina. No RUP, as disciplinas são denominadas Modelagem de Negócios, Requisitos, Análise e Design, Implementação, Teste e Implantação. No modelo de desenvolvimento em cascata, elas ocorrem apenas uma vez, em seqüência, com pouca ou nenhuma sobreposição.

Módulo - Uma unidade de armazenamento e manipulação do software. Os módulos incluem módulos de código-fonte, de código binário e de código executável.

Necessidade dos envolvidos - O problema (oportunidade) operacional ou de negócios que deve ser resolvido para justificar a compra ou o uso.

Padrão - Um template de solução para um problema recorrente que seja comprovadamente útil em um determinado contexto. Os bons padrões resolvem os conflitos que definem o problema, e um padrão é escolhido em detrimento de outro com base na forma como ele resolve esses conflitos. Para merecer ser chamado de padrão, pelo menos três aplicações práticas devem ser evidentes. No caso de software, a UML pode suportar a representação de um padrão usando uma colaboração parametrizada, embora a UML não modele diretamente outros aspectos de padrões (como listas de conseqüências de uso, exemplos de uso etc.), pois o texto pode ser usado para isso. Um padrão de software é instanciado através da vinculação de valores a seus parâmetros. Os padrões podem existir em várias escalas e níveis de abstração; por exemplo, como padrões de arquitetura, padrões de análise, padrões de design, padrões de teste e idiomas ou padrões de implementação.

Papel - Uma definição do comportamento e das responsabilidades de um indivíduo - ou conjunto de indivíduos trabalhando em equipe - dentro do contexto de uma organização de engenharia de software.

Processo - Conjunto de passos parcialmente ordenados que visam atingir uma meta. Na engenharia de software, a meta é criar um produto ou aprimorar um já existente; na engenharia de processos, a meta é desenvolver ou aprimorar um modelo de processo;

corresponde a um caso de uso de negócios na engenharia de negócios.

Processo de desenvolvimento - Um conjunto de passos ordenados parcialmente e executados para uma determinada finalidade durante o desenvolvimento de software, como modelos de construção ou de implementação.

Produto - Software resultante de desenvolvimento e alguns dos artefatos associados (documentação, mídia de release, treinamento).

Projeto - Projetos são realizados por pessoas, restringidos por recursos limitados, planejados, executados e controlados. Um projeto é um esforço temporário empreendido para criar um serviço ou produto exclusivo. Temporário significa que todo projeto tem começo e fim definidos. Exclusivo significa que o produto ou serviço é de alguma forma diferente de todos os produtos e serviços semelhantes. Em geral, os projetos são componentes críticos da estratégia de negócios de organizações executoras.

Protótipo - Um protótipo pode ajudar a criar o suporte do produto, mostrando algo concreto e executável aos interessados.

Os protótipos podem ser:

comportamental, que enfatiza a exploração de determinado comportamento do sistema;

estrutural, que explora algumas questões arquiteturais ou tecnológicas;

exploratório, que é descartado quando fica pronto, também chamado de protótipo para descarte;

evolutivo, que gradualmente evolui para se tornar um sistema real.

Rastreabilidade - A capacidade de rastrear um elemento de projeto em outros elementos de projeto relacionados, especialmente os referentes a requisitos. Os elementos do projeto envolvidos em rastreabilidade são chamados de itens de rastreabilidade.

Recurso - Um serviço observável externamente que é fornecido pelo sistema e atende diretamente a uma necessidade dos envolvidos.

Refinamento - Representa uma especificação mais completa de algo que já tenha sido especificado em um certo nível de detalhes. Por exemplo, uma classe de design é um refinamento de uma classe de análise.

Release - Um subconjunto do produto final que é o objeto de avaliação em um marco principal. Um release é uma versão estável e executável do produto, que vem acompanhada dos artefatos necessários para sua utilização (como notas de release ou instruções de instalação, por exemplo). Um release pode ser interno ou externo. Um release interno é usado apenas pela organização de desenvolvimento, como parte de um marco, ou para fazer uma demonstração para usuários ou clientes. Um release externo é liberado para os usuários finais. Um release não é necessariamente um produto completo, mas pode ser apenas uma etapa ao longo do caminho, com sua utilidade avaliada apenas do ponto de vista da engenharia. Uma das funções dos releases é forçar a equipe de desenvolvimento a fazer fechamentos em intervalos regulares, evitando a síndrome do "90% pronto, 90% faltando".

Repositório - Um local de armazenamento para modelos de objetos, interfaces e implementações.

Requisito - Um requisito descreve uma condição ou capacidade à qual um sistema deve se adaptar, seja ela derivada diretamente de necessidades dos usuários ou declarada em um contrato, um padrão, uma especificação ou outro documento formalmente

Requisitos - Uma disciplina no processo de engenharia de software cuja finalidade é definir o que o sistema deve fazer. As atividades mais significativas são desenvolver uma visão, um modelo de casos de uso e especificações suplementares.

Revisão - É uma atividade de grupo executada para descobrir possíveis defeitos e avaliar a qualidade de um conjunto de artefatos.

Risco - Uma relação de altos e baixos que tem alta probabilidade de afetar negativamente o sucesso de marcos principais.

RUP - Rational Unified Process.

Script de teste - Um conjunto de instruções passo a passo que permitem a execução de um teste. Os scripts de teste podem assumir a forma de instruções de texto documentadas e executadas manualmente ou de instruções que podem ser lidas pelo computador para ativar a execução automática do teste.

Sistema - Uma coleção de unidades conectadas que são organizadas para cumprir uma finalidade específica.

Solicitação de envolvidos - Uma solicitação de qualquer tipo - por exemplo, Solicitação de Mudança, solicitação de melhoria, solicitação para uma mudança de requisito, defeito -proveniente de um envolvido.

Subcontratação - Processo encarregado de obter, dentro dos parâmetros definidos de prazo, custo e qualidade, os serviços necessários à implantação de um projeto de software (MELLO FILHO, 2001).

Template - Uma estrutura predefinida de um artefato.

Terceirização - Processo planejado de subcontratação que se caracteriza quando alguma atividade da empresa é transferida permanentemente para ser desenvolvida por outra empresa (MELLO FILHO, 2001).

Teste - Uma disciplina no processo de engenharia de software cuja finalidade é integrar e testar o sistema.

Timebox - A abordagem ao gerenciamento da programação de uma iteração recomendada no RUP: tendo estabelecido inicialmente o escopo e a programação de uma iteração, o gerente de projeto é incentivado a gerenciar de forma ativa esse escopo (e os recursos confirmados para a iteração), a fim de cumprir a data final planejada para a iteração, em vez de adiá-la para acomodar o escopo planejado originalmente, caso o desenvolvimento leve mais tempo que o imaginado. No RUP, é preferível reduzir o escopo do que adicionar recursos para gerenciar uma programação adiada. São duas as motivações para essa abordagem: tornar os resultados de uma iteração visíveis para os envolvidos e avaliar a iteração, para que as lições aprendidas possam ser aplicadas a iterações posteriores.

Tipo de requisito - Uma categorização de requisitos (por exemplo, necessidades dos envolvidos; recursos; caso de uso; requisitos suplementares, de teste, de documentos, de hardware, de software; e assim por diante) baseada em atributos e características comuns.

Transição - A quarta fase do processo em que o software é entregue à comunidade de usuários.

UML - Linguagem Unificada de Modelagem.

Versão - Uma variante de algum artefato; versões posteriores de um artefato normalmente expandem versões anteriores.

Visão - A visão que o usuário ou o cliente tem do produto a ser desenvolvido, especificada no nível das principais necessidades dos envolvidos e recursos do sistema.

Visão de caso de uso - Uma visão de arquitetura que descreve como casos de uso críticos são executados no sistema, dando ênfase principalmente a componentes arquiteturalmente significativos (objetos, tarefas). No RUP, é uma visão do modelo de casos de uso.

ANEXO II

André Jorge Dias de Moura

No documento ÍNDICE DE FIGURAS (páginas 162-175)