Perguntas finais do exame de introdução à engenharia de software

Perguntas finais do exame de introdução à engenharia de software

um. escolher

1. O modelo cascata divide o ciclo de vida do software em oito estágios: definição do problema, estudo de viabilidade, análise dos requisitos de software, projeto geral do sistema, projeto detalhado, codificação, teste e operação e manutenção. Os oito estágios podem ser resumidos em três estágios principais: estágio de planejamento, estágio de desenvolvimento e (C).
A. Plano detalhado B. Análise de viabilidade

C. Estágio de operação D. Teste e solução de problemas

2. Do ponto de vista do modelo em cascata estruturado, nos oito estágios de seu ciclo de vida, qual link das seguintes opções estiver errado terá o maior impacto no software (C).
A. Fase de projeto detalhado B. Fase de projeto de esboço

C. Fase de análise de requisitos D. Fase de teste e execução

3. No modelo estruturado em cascata, qual fase define o padrão que se tornará o objetivo da fase de teste do sistema em teste de software (A).
A. Estágio de análise de requisitos B. Estágio de projeto detalhado

C. Etapa do projeto de esboço D. Etapa do estudo de viabilidade

4. O surgimento da engenharia de software se deve principalmente a (C).
A. Influência da metodologia de programação B. Influência de outras ciências da engenharia

C. O surgimento da crise de software D. O desenvolvimento de computadores

5. O objetivo da metodologia de engenharia de software é padronizar e projetar a produção de software, e as principais garantias para métodos de engenharia de software a serem implementados são (C) A. Ambiente de hardware B. Ambiente de desenvolvimento de software C. Ferramentas de desenvolvimento de software e ambiente de desenvolvimento de software D. A qualidade dos desenvolvedores 6. Os dois métodos básicos comumente usados ​​no desenvolvimento de software são métodos estruturados e
de prototipagem .



C. Use independentemente D. Use alternadamente

7. UML é uma ferramenta importante no desenvolvimento de software.Em qual método de desenvolvimento de software ela é
mais
usada

?


A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )
A、控制流 B、数据流 C、程序流 D、指令流

10、软件开发的结构化生命周期方法将软件生命周期划分成(A )
A、 计划阶段、开发阶段、运行阶段 B、 计划阶段、编程阶段、测试阶段
C、 总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计

11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )
A、 瀑布模型 B、 对象模型 C、 螺旋模型 D、 层次模型

12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)
A、 分析阶段 B、 设计阶段 C、 编码阶段 D、 测试阶段

2. Preencha os espaços em branco

vinte e um. O fluxograma do sistema é uma ferramenta tradicional para descrever o modelo físico, e cada elemento do sistema é representado por símbolos gráficos para expressar a situação (fluxo de informações) entre vários elementos do sistema.

    [Análise] O fluxograma do sistema é uma ferramenta tradicional para descrever o sistema físico. Ele usa símbolos gráficos para representar cada elemento do sistema, como processamento manual, processamento de dados, banco de dados, arquivos, equipamentos, etc., e expressa o fluxo de informações entre os elementos.

  vinte e dois. O objetivo da análise de custo-benefício é avaliar se é viável desenvolver um projeto do ponto de vista (econômico).

        [Análise] A análise de custo-benefício consiste em primeiro estimar o custo de desenvolvimento do sistema a ser desenvolvido, para depois compará-lo e pesá-lo com os possíveis benefícios, tendo como objetivo avaliar a viabilidade do desenvolvimento de um novo projeto de software do ponto de vista econômico.

vinte e três. O método de teste incremental combinado de cima para baixo tem duas estratégias de combinação ao combinar módulos: estratégia de profundidade primeiro e (estratégia de largura primeiro).

    [Análise] O método de teste incremental possui dois métodos de montagem de módulos: integração de cima para baixo e integração de baixo para cima. Entre eles, a integração de cima para baixo é uma maneira incremental de construir a estrutura do programa. Não precisa escrever o módulo do driver, mas apenas o módulo stub. Ele parte do módulo de controle principal, de acordo com a hierarquia de controle do software, e gradualmente integra cada módulo junto com a estratégia de profundidade primeiro ou largura primeiro.

  vinte e quatro. Um caminho autônomo é um caminho que inclui um conjunto de instruções ou condições que não foram processadas antes. No gráfico do programa, um caminho independente é um caminho que contém pelo menos uma aresta (não em outros caminhos independentes).

    [Análise] No teste de caminho básico, com base no projeto detalhado ou no programa de origem, a estrutura da topologia do fluxograma de controle - o gráfico do programa é derivado. Depois de calcular a complexidade do ciclo do gráfico do programa, é determinado o gráfico do caminho básico contendo apenas caminhos independentes. Um caminho independente é um caminho que inclui um grupo de declarações ou condições que não foram processadas antes. Da perspectiva do grafo do programa, um caminho independente é um caminho que contém pelo menos uma aresta que não foi vista em outros caminhos independentes.

  25. A linguagem assembly é (orientada à máquina) e pode executar funções especiais que não podem ser executadas por linguagens de alto nível, como algumas interfaces com dispositivos externos.

    [Análise] A linguagem assembly é uma linguagem de baixo nível e é uma linguagem orientada à máquina. Em comparação com as linguagens de alto nível, tem muitas vantagens: como operação flexível, pode afetar diretamente a camada mais baixa do hardware e concluir o trabalho de interface com dispositivos externos. É a única linguagem que pode controlar diretamente os dispositivos de hardware usando as características do hardware do computador.

  26. A maneira específica de resolver conflitos estruturais em métodos JSP é (estrutura de dados intermediária ou arquivo intermediário).

    [Análise] O método JSP é um método de design orientado à estrutura de dados. Ele define um conjunto de processos de mapeamento guiados pela estrutura de dados. De acordo com a estrutura de dados de entrada e saída, é mapeado na descrição do processo do software de acordo com certas regras. A maneira específica de resolver o conflito de estrutura no método JSP é introduzir a estrutura de dados intermediária ou o arquivo intermediário, separar as partes conflitantes, estabelecer várias estruturas de programa e, em seguida, usar o arquivo intermediário para conectá-las para formar um sistema como um todo.

  27. A tarefa do projeto detalhado é determinar as características internas de cada módulo, ou seja, o algoritmo (dados utilizados) do módulo.

    [Análise] A tarefa básica do projeto detalhado é realizar o projeto detalhado do algoritmo para cada módulo, projetar a estrutura de dados no módulo e determinar as características internas de cada módulo, incluindo o algoritmo e os dados usados ​​pelo módulo. Projeto físico do banco de dados, etc.

  28. Todos os relatórios de aplicativos de manutenção de software devem ser enviados de maneira prescrita, também chamada de relatório (problema de software).

    [Análise] No processo de manutenção de software, a primeira etapa é a elaboração de um relatório de aplicação de manutenção, também conhecido como relatório de problema de software, que é um documento em fase de manutenção e preenchido pelos usuários que solicitam a manutenção.

  29. Existem dois tipos de técnicas de manutenção: técnicas orientadas à manutenção usadas na fase de desenvolvimento para reduzir erros e melhorar a capacidade de manutenção do software; e (suporte de manutenção) técnicas usadas na fase de manutenção para melhorar a eficiência e a qualidade da manutenção.

    [Análise] A tecnologia orientada à manutenção envolve todos os estágios do desenvolvimento de software, o que pode reduzir erros de software e melhorar a capacidade de manutenção do software. A tecnologia de suporte à manutenção inclui coleta de informações, análise de causas de erros, avaliação do plano de manutenção, etc. É uma tecnologia utilizada para melhorar a eficiência e a qualidade da manutenção na fase de manutenção de software.

  30.Cálculos científicos e de engenharia requerem um grande número de funções de biblioteca padrão para lidar com cálculos numéricos complexos. As linguagens disponíveis são: (linguagem FORTRAN), linguagem PASCAL, linguagem C e linguagem PL/1.

    [Análise] De acordo com as necessidades de diferentes setores, as linguagens de computador têm diferentes ênfases. Em termos de gerenciamento de escritório, algumas linguagens de banco de dados, como FOXPRO e ORICAL, têm muitas aplicações. Na indústria de engenharia, os recursos de computação científica das linguagens de computador são particularmente importantes. Linguagens como MATLAB, PL/1 e FORTRAN são linguagens comumente usadas em cálculos de engenharia.

três. juiz

1. O desenvolvimento e a operação do software geralmente são limitados e restritos pelo hardware. (√)

2.Alta coesão dentro de um módulo geralmente significa baixo acoplamento entre os módulos. (√)

3.Os grafos de Jackson só podem expressar estruturas de programa, não estruturas de dados. (X)


O diagrama de fluxo de dados acima mostra que os dados A e B são inseridos simultaneamente e transformados em C. (X)

5.A qualidade do software é a principal responsável pela aceitação do pessoal, e outros desenvolvedores não precisam se preocupar. (X)

6.A cobertura de decisão não inclui necessariamente a cobertura de condição e a cobertura de condição não inclui necessariamente a cobertura de decisão. (√)

7. A linguagem de máquina deve ser usada para escrever códigos tanto quanto possível para melhorar a eficiência da operação do programa e reduzir o uso de linguagens de alto nível. (X)

8.A UML só pode ser aplicada ao estabelecimento de modelos de sistemas de software. (X)

9.Tolerância a falhas significa que cada programa é escrito usando dois algoritmos diferentes. (X)

10.O objetivo do teste de software é descobrir todos os erros sem omissão. (X)

4. Questões de explicação de substantivos (esta questão principal tem 5 subperguntas, cada uma com 3 pontos, um total de 15 pontos)

  31. Ambiente de desenvolvimento de software

  32. Erro de cálculo

  33. Método de teste de caixa preta

  34. Garantia de Qualidade de Software

  35. Modelo em cascata

31. viabilidade economica

    Solução: Estimar o custo de desenvolvimento e entender a avaliação dos benefícios para determinar se vale a pena investir no desenvolvimento do projeto a ser desenvolvido.

    [Análise] O que deve ser medido para um sistema é se ele é economicamente viável, e a faixa de viabilidade econômica é muito ampla, incluindo análise de benefícios, perspectivas de mercado em potencial, etc.

  32. viabilidade social

    Solução: Se há algum problema de responsabilidade, como violação e obstrução no projeto a ser desenvolvido, se o objetivo e o modo de operação do projeto a ser desenvolvido são viáveis ​​dentro da organização do usuário e se o sistema de gerenciamento existente, a qualidade do pessoal e o método de operação são viáveis.

    [Análise] A viabilidade social inclui contrato, responsabilidade, violação e muitas outras questões que o pessoal técnico não entende bem.

  33. período de retorno

    Solução: O período de retorno é o tempo necessário para igualar os benefícios econômicos cumulativos aos custos iniciais do investimento.

    [Análise] Geralmente usamos o período de retorno para medir o valor de um projeto de desenvolvimento. Quanto menor o período de retorno, mais rápido o lucro será obtido.

  34. Correspondência

    Solução: Ou seja, existe uma relação causal direta que pode ser tratada no programa ao mesmo tempo.

    [Análise] A relação correspondente significa que as unidades de dados têm uma relação causal direta em termos de conteúdo, quantidade e ordem de dados. Para unidades de dados repetidas, a ordem correspondente e o número de repetições são os mesmos.

  35. conflito estrutural

    Solução: A situação em que os dados de entrada e a estrutura de dados de saída não conseguem encontrar um relacionamento correspondente é chamada de conflito de estrutura.

    [Análise] Esse tipo de problema de conflito de estrutura será encontrado ao usar o método JSP. Para isso, Jackson propõe o método de introduzir uma estrutura de dados intermediária ou um arquivo intermediário para separar as partes conflitantes, estabelecer várias estruturas de programa e, em seguida, usar o arquivo intermediário para conectá-los para formar um sistema como um todo.

5. Na Figura a, o módulo G é o julgamento, e o julgamento envolve os módulos B, F e G. Por favor, aponte os erros no projeto e então

Melhore os princípios básicos do diagrama do módulo, desenhe 1 ou 2 esquemas de melhoria (sem alterar a relação de julgamento do módulo G) e explique que ele é baseado em

Qual princípio básico é melhorado.

Solução: A figura b é um esquema de melhoria, a posição do módulo G é aumentada, de forma que sua faixa de operação seja um subconjunto da faixa de controle, reduzindo

poucos links entre os módulos.

40. Use o diagrama PAD e a linguagem PDL para descrever o algoritmo para encontrar o número máximo nas matrizes A(1)~A(10).

    Solução: Linguagem PDL:

    N=1

    ENQUANTO N<=10 FAÇA

    SE A(N)<=A(N+1) MAX =A(N+1);

    ELSE MAX =A(N) ENDIF;

    N=N+1;

    NA CASA;

    Diagrama PAD:

    [Análise] Na busca manual, começa do primeiro elemento, compara o elemento atual com o seguinte, pega o maior como elemento atual e compara com o próximo elemento, e assim sucessivamente até o final do array.

  41. Use o método de particionamento de classe de equivalência para projetar casos de teste de acordo com as seguintes condições.

    Para um microcomputador de 8 bits, sua constante octal é definida como: o número que começa com zero é um inteiro octal e seu valor varia de -177 a 177, como 05, 0127, -065

    Solução: (1) Dividir e numerar as classes de equivalência, da seguinte forma: (4 pontos)

    (2) Projetar casos de teste para classes de equivalência razoáveis, existem duas classes de equivalência razoáveis ​​na tabela, projetar dois exemplos (2 pontos)

    (3) Projete pelo menos um caso de teste para casos de teste de classe de equivalência não razoável (2 pontos)

    [Análise] A divisão de classe de equivalência é um tipo de teste de caixa preta. Ele divide o campo de dados de entrada em várias classes de equivalência, de acordo com sua validade ou inválida. Testar o valor representativo de cada classe de equivalência é igual a testar outros valores da classe. Dessa forma, substituir um grande número de exemplos com a mesma finalidade de teste por um pequeno número de exemplos representativos pode efetivamente melhorar a eficiência do teste. Esta questão é dividida em 3 classes de equivalência razoável e 9 classes de equivalência não razoável para teste, e os resultados esperados são obtidos.

  42. A fábrica de uma empresa do grupo de eletrodomésticos inclui unidades básicas, como o departamento técnico e o departamento de produção. Agora eu quero construir um sistema de gerenciamento empresarial auxiliado por computador, no qual:

    As tarefas do departamento de produção são:

    (1) De acordo com o contrato interno transferido pela empresa de vendas (modelo do produto, especificação, quantidade, data de entrega), é formulado o plano de produção mensal da oficina.

    (2) Ajuste o plano de produção mensal de acordo com o relatório diário de produção real e o relatório semanal da oficina

    (3) Com base no plano de produção mensal, formule um plano mensal para o design do produto (estrutura, processo) e montagem do produto.

    (4) Comunicar o plano de montagem do produto a cada departamento, decompor o plano de montagem mensal em planos semanais e emiti-los para a oficina

    As atribuições da Seção Técnica são:

    (1) Realizar o projeto da estrutura do produto de acordo com o plano de montagem transferido do departamento de produção, gerar desenhos de montagem do produto para o departamento de produção, gerar planos de demanda de terceirização para o departamento de suprimentos e gerar uma lista de materiais de produtos feitos por você mesmo.

    (2) Executar o projeto do processo do produto de acordo com o plano de montagem e gerar um fluxograma do processo para a fábrica de peças de acordo com a lista de materiais do produto. Tente escrever o diagrama de estrutura de software do departamento de produção e do departamento de tecnologia no sistema acima.

    desatar:

    São atribuídos 6 pontos ao desenho da secção de produção e 4 pontos ao desenho da secção técnica.

    [Análise] O diagrama de estrutura de software é a hierarquia de módulos do sistema de software, que reflete a realização da função de todo o sistema, ou seja, a hierarquia de controle do programa futuro, e a estrutura de software é frequentemente representada por uma árvore ou gráfico de estrutura de rede.

Guess you like

Origin blog.csdn.net/qq_67692062/article/details/131816238