A Construção de Software
Por: Rai Alcantara • 6/9/2018 • Trabalho acadêmico • 1.937 Palavras (8 Páginas) • 249 Visualizações
Revisão de Tec. e Construção de Software[pic 1]
- Quais são os considerados problemas fundamentais e acidentais da Engenharia de Software?
Essenciais - pertinentes à natureza do software, modelo conceitual para o sistema(conjunto de dados, relação entre esses itens de dados e a chamadas de funções).
Acidentais - dificuldades que se tem na produção do software, mas que não são inerentes às regras de negócio implementadas pelo software (linguagem, tecnologias, etc).
- Sobre Métricas de Software, conceitue: métrica é uma medida quantitativa do grau com que o sistema, componente ou processo possui um dado atributo.
- Atributos. - Conceito observado, o qual se deseja realizar a medição sobre.
- Medida - Fornece uma indicação quantitativa (da extensão, quantidade, dimensão, capacidade ou tamanho de algum atributo) sobre um produto ou processo.
- Medição. - Realização de uma medida.
- Métrica. - Medida quantitativa do grau em que um sistema se encontra em relação a um determinado atributo.
- Indicadores. - métrica ou combinação de métricas que fornece uma compreensão de um processo/projeto/produto.
- Por que usar métrica em algo abstrato como um software? Porque a métrica ajuda a entender o comportamento e funcionamento do software, ajuda avaliar e determinar padrões, metas e critérios de aceitação, ajuda a controlar processos, produtos e também ajuda e prevenir valores de atributos.
- O que é métrica direta? Explique e exemplifique. É uma métrica mensurável diretamente a partir da observação. (custo, esforço, linhas de código, velocidade de execução, memória)
- O que é métrica indireta? Explique e exemplifique. É uma métrica mensurável indiretamente, a partir de outras características. (Funcionalidade, qualidade, eficiência, complexidade).
- Além de direta e indireta, há também a possibilidade de classificar Métricas de Software como relacionado nos itens abaixo. Sobre cada um, discorra.
- Métrica orientada a tamanho. - Número de linhas de código. Não tamanho de armazenamento ou processamento. Não há um consenso sobre esta métrica, em vista de contabilização, ou não, de linhas com comentários e espaços.
- Métrica orientada à funcionalidade. - A métrica orientada à função concentra-se na funcionalidade do software, com a vantagem de poder ser aplicada independente da tecnologia usada para desenvolver o software. É baseada na visão de negócio do usuário.
- Métrica orientada a pessoas. - Dão indicações sobre a forma como as pessoas desenvolvem os programas de computador e percepções humanas sobre a efetividade das ferramentas e métodos.
- Alguns autores contestam a métrica orientada a tamanho, alegando que a mesma não é consistente. Por que?
- Sobre Análise de Pontos de Função (doravante APF), qual seu propósito? É uma técnica para a medição de projetos de desenvolvimento de software, visando a estabelecer uma medida de tamanho, em Pontos de Função (PF), considerando a funcionalAidade implementada, sob o ponto de vista do usuário.
- Por que a APF deve analisar o software a partir do ponto de vista do usuário e não do desenvolvedor? É possível realizar a APF do ponto de vista do desenvolvedor? É melhor analisar pelo ponto de vista do usuário porque tem que medir a funcionalidade solicitado pelo usuário antes do projeto de software para estimar seu tamanho e custo. É necessário medir também após o projeto de software para verificar o tamanho e custo comparando com o que foi originalmente estimado
- O que seria o foco do ponto de vista do usuário, sobre o sistema? Medir a funcionalidade solicitada antes do e depois do projeto.
- Relembrando as 5 categorias em que se incluem funções para a realização da APF:
- Arquivo lógico interno – ALI. - Um Arquivo Lógico Interno é um grupo de dados ou informações de controle, logicamente relacionado,identificável pelo usuário, mantido na fronteira da aplicação. O objetivo de um ALI é armazenar dados mantidos por meio de um ou mais processos elementares. São exemplos de ALI: tabelas de banco dedados mantidos pela aplicação, arquivos de parâmetros de negócio mantidos pela aplicação ou arquivos mantidos não só pela aplicação, mas também por outra aplicação.
- Arquivo lógico externo – AIE. - É um agrupamento logicamente relacionado de dados ou informações de controle que é apenasreferenciado (lido) pela aplicação. É identificável pelo usuário e serve para armazenar dadosreferenciados (lidos) por meio de processos elementares dentro da fronteira da aplicação e mantidos poroutra aplicação. Exemplo: Arquivos de movimentos recebidos de outra aplicação para manter um ALI.
- Entrada externa – EE. É um processo elementar que processa dados ou informações de controle recebidos de fora da fronteirada aplicação. Sua principal função é manter um ou mais ALI do sistema ou modificar o seu comportamento. Cada entrada externa se origina de um usuário ou é transmitida de outra aplicação e fornece dados distintos orientados à aplicação do software ou informação de controle. Exemplos de Entradas Externas: Transações que recebem dados externos para manter ALI, janelas para inserir, alterar e excluir registros, processamento de lotes de atualização de dados cadastrais.
- Saída externa – SE. - É um processo elementar que envia dados ou informações de controle para fora da fronteira do sistema.Sua principal intenção é apresentar a informação ao usuário por meio de lógica de processamento quenão seja apenas a recuperação de dados. A lógica de processamento deve conter pelo menos umafórmula matemática ou gerar dados derivados. São exemplos de SE: relatórios com totalização dedados, relatórios que também atualizam arquivos, consultas com cálculos ou apresentação de dadosderivados, Informações em formato gráfico, tela de login com criptografia.
- Consulta Externa – CE. - É um processo elementar que envia dados ou informações de controle para fora da fronteira do sistemapor meio de uma simples recuperação de dados ou informações de controle de AIE ou ALI. A lógica deprocessamento não deve conter fórmula matemática ou gerar dados derivados. São exemplos de CE:Drop-downs (simples recuperação e apresentação de dados) de ALI ou AIE, tela de login semcriptografia.
Discorra sobre cada uma dela, explicando e exemplicando.
- Para se atribuir um ponto de função a algum componente, é necessário ter definidas as fronteiras do sistema. Seria possível pontuar sem se conhecer as fronteiras? Como é possível ter sempre de posso as fronteiras do sistemas, tendo em vista que o software é abstrato?
- Com o uso da APF, como é possível medir a produtividade da equipe de desenvolvimento?
- Com o uso da APF, como é possível medir o esforço dispensado no desenvolvimento?
- Com o uso da APF, como é possível medir a taxa de manutenção do sistema?
- O que seria o conceito de Programação Defensiva?
- Padronização na nomenclatura utilizada na construção do software pode ser considerada uma boa prática de Programação Defensiva? Se sim, por que?
- Discorra sobre as boas práticas de Programação Defensiva abordadas em sala. Nunca faça código mais complexo que o necessário. Complexidade alimenta bugs, incluindo problemas de segurança. Se possível, reutilize o código ao invés de reescrever do zero. Todo código é inseguro até prova em contrário. Se dados vão ser checado por correção, cheque se é correto, não se é incorreto.
- A auto-documentação, embora seja uma boa prática da Programação Defensiva pode
acabar se tornando um incomodo posterior. Por que? Porque se você ficar muito tempo sem mexer no código a auto documentação pode ficar confusa. Se você colocar muitos comentários ou poucos comentários no código também pode ser confuso.
...