内科大软件工程导论复习内容笔记
创始人
2024-04-27 13:27:46
0

文章目录

  • 一、 概念(共60分,单选题、多选题)
    • 1. 软件是程序、数据、文档的集合。
    • 2. 软件的分类(按规模、性质分)
    • 3. 软件危机的表现、缓解软件危机的途径
    • 4. 软件工程方法学主要有两种:结构化的软件工程方法学_瀑布模型、面向对象的软件工程方法学_喷泉模型
    • 5. 软件生命周期包含哪几个阶段、软件开发过程包含哪几个阶段。
    • 6. 软件开发模型有哪些,各种模型的适用范围。
    • 7. 问题定义阶段的任务:确定软件的性质、规模、目标。
    • 8.可行性研究应从经济、技术、法律、操作这四个方面来做。
    • 9. 可行性研究阶段生成的文档是可行性研究报告、项目开发计划。
    • 10.结构化方法中,需求分析阶段的任务是:
    • 11. 需求分析阶段要生成的文档是需求规格说明书、初步的用户手册。
    • 12.在数据字典中,需对数据流图中的哪几种成分进行定义。
    • 13. 结构化方法中,总体设计阶段的任务是:
    • 14.结构化的总体设计方法是将数据流图转化为软件结构图。
    • 15. 数据流图有三种类型:变换型、事务型、混合型。
    • 16.总体设计要遵循的概念、原理
    • 17. 影响模块独立性的指标有耦合、内聚。
    • 18. 结构化程序设计原则
    • 19. 判断一个算法是否为结构化的依据
    • 20. 描述算法的工具有程序流程图、N-S图、PAD图、PDL、判定表/判定树。
    • 21.测试的原则
    • 22.测试的过程分为哪些阶段
    • 23. 测试的方法有:黑盒测试法、白盒测试法。
    • 24. 白盒测试法有哪几种
    • 25. 黑盒测试法有:等价划分法、边界值分析法、错误推测法。
    • 26. 软件的质量用可靠性来衡量,软件的可靠性用MTTF来衡量,MTTF的公式。
    • 27.程序中错误总数的估算
    • 28.维护可分为:改正性维护、完善性维护、适应性维护、预防性维护。各种维护活动
  • 二、综合题(共40分)(参考例题、习题)
    • 2.1给出伪码程序 (20分)
    • 2.2 给出问题描述,画出系统的顶层数据流图、0层数据流图。 (20分)
      • 2.2.1 计算机储蓄系统
      • 2.2.2 机票预订系统
      • 2.2.3 患者监护系统
    • 2.3 伪代码押题
    • 2.4伪代码押题2

一、 概念(共60分,单选题、多选题)

1. 软件是程序、数据、文档的集合。

2. 软件的分类(按规模、性质分)

规模

(1)微型:1人,1~4周,0.5K

(2)小型:1人,16月,12K

(3)中型:25人,12年,5K~50K

(4)大型:520人,23年,50~100K

(5)甚大型:1001000人,45月,1M

(6)极大型:20005000人,510年,1M~10M

性质

(1)系统软件:os、汇编程序、编译程序、解释程序、DBMS、网络通信软件。

(2)应用软件:

1)事务型:MIS(1、建立数据库 2、事务操作(增、删、改、查询、统计) 3、决策)

​ 2)实时软件:数据采集构件-à分析构件-à响应构件 协调构件

​ 3)工程、科学计算软件:用数值算法

​ 4)人工智能软件:(AI)用非数值算法(归约—推理机制)如专家系统、模式识别。

​ 5)嵌入式软件:驻留于产品的ROM中,如全自动的洗衣机的控制软件。

​ 6)个人计算机软件:字处理、电子表格……

​ 7)网络应用软件:网络游戏、网上购物系统……

(3)工具软件:辅助软件开发、维护的软件。软件的辅助分析、设计、编码、测试的软件。

(4)可重用软件:标准库函数(如C中的tg( ))à用户自定义的数据类型à类

3. 软件危机的表现、缓解软件危机的途径

表现:

1.软件开发的成本,进度估计不准确

2.用户对已完成的软件不满意

3.软件的质量差

4.软件开发成本高开发机构

5.软件不可维护

6.生产效率低

**途径:**组织管理措施和技术方法两个方面综合考虑

产生软件危机的原因

(1)与软件本身特点有关

• 知识技术 — 软件(客观上导致开发成本、进度难估计、质量不可靠等问题)

(2)与开发维护软件的方法不正确有关

• 目前软件开发中没能彻底贯彻工程化方法

• 忽视计划(没有详尽的进度计划、成本预算)—成本进度估计不准确

• 忽视分析(没有弄清用户需求,急于开发)—开发出的软件用户不满意

• 忽视设计(没有建立起良好的软件结构,急于编程)—质量差,不可维护

• 轻视可维护性(提高可维护性——提高质量——运用质量保证手段:技术、管理、质量评审、文档、测试)

为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。

4. 软件工程方法学主要有两种:结构化的软件工程方法学_瀑布模型、面向对象的软件工程方法学_喷泉模型

5. 软件生命周期包含哪几个阶段、软件开发过程包含哪几个阶段。

件生命周期包括:软件定义、软件开发、运行维护。

软件开发:系统设计(总体设计、详细设计)、系统实现(编码和单元测试、综合测试)

6. 软件开发模型有哪些,各种模型的适用范围。

瀑布模型:需求确定的软件的开发、面向过程方法学。

快速原型模型:需求不确定的软件的开发。

喷泉模型:面向对象的软件开发方法。

增量模型:大型复杂系统(需求确定的)。

螺旋模型:需求不确定的大型复杂系统。

7. 问题定义阶段的任务:确定软件的性质、规模、目标。

8.可行性研究应从经济、技术、法律、操作这四个方面来做。

9. 可行性研究阶段生成的文档是可行性研究报告、项目开发计划。

10.结构化方法中,需求分析阶段的任务是:

(1)功能分析:用数据流图和数据字典建立功能模型;(2)数据分析:用ER图建立数据模型。

11. 需求分析阶段要生成的文档是需求规格说明书、初步的用户手册。

12.在数据字典中,需对数据流图中的哪几种成分进行定义。

数据流、数据存储、数据加工和外部实体

13. 结构化方法中,总体设计阶段的任务是:

(1)软件结构设计: 将数据流图转化为软件结构图;(2)数据设计:根据ER图建立数据库表结构。

14.结构化的总体设计方法是将数据流图转化为软件结构图。

15. 数据流图有三种类型:变换型、事务型、混合型。

16.总体设计要遵循的概念、原理

决定怎样做

总体设计=概要设计/初步设计

任务

1、 划分出组成系统的物理元素——程序、文件、数据库、人工文档等;

2、 设计软件结构,系统之间的模块

总体设计主要由两部分组成:系统设计阶段、结构设计阶段

准则

1、 模块化

2、 抽象

3、 逐步求精

4、 信息隐藏

5、 模块独立

17. 影响模块独立性的指标有耦合、内聚。

18. 结构化程序设计原则

1、采用自顶向下,逐步求精的设计方法。

2.程序中用顺序、选择、多分支、while型循环、until型循环五种基本控制结构结构表示程序逻辑

3.每种控制结构单入口、单出口。

4、程序语句组成模块,每个模块单入口、单出口。

5、复杂的结构用五种基本控制结构组合嵌套实现。

6、严格控制GoTo语句

7、不仅要注意程序的结构化,还要注意数据结构的合理化。

19. 判断一个算法是否为结构化的依据

1、由五种基本控制结构组成

2、每种控制结构单入口、单出口

3、模块单入口、单出口

20. 描述算法的工具有程序流程图、N-S图、PAD图、PDL、判定表/判定树。

21.测试的原则

1.尽早的和不断的进行测试

2.事先制定测试计划,严格执行测试计划,排除测试的随意性。

3.测试应从规模测试开始,逐步进行大规模测试。

4,充分注意测试中的集群现象。

5.精心设计测试结果,使测试方案充分的覆盖程序逻辑,尽可能的发现程序中的错误。

6.设计测试方案时,应当包括合理的输入条件和不合理的输入条件。

7应由独立的第三方从事测试工作。

22.测试的过程分为哪些阶段

单元测试阶段、集成测试阶段,系统测试阶段,验收测试阶段。

23. 测试的方法有:黑盒测试法、白盒测试法。

24. 白盒测试法有哪几种

语句覆盖、判定 覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

25. 黑盒测试法有:等价划分法、边界值分析法、错误推测法。

26. 软件的质量用可靠性来衡量,软件的可靠性用MTTF来衡量,MTTF的公式。

27.程序中错误总数的估算

28.维护可分为:改正性维护、完善性维护、适应性维护、预防性维护。各种维护活动

二、综合题(共40分)(参考例题、习题)

2.1给出伪码程序 (20分)

(1)求该算法的环形复杂度

(2)用逻辑覆盖法设计测试方案,满足各种逻辑覆盖标准。

(3)判断该算法是否为结构化的。

image-20221220200452824

image-20221220200425858

2.2 给出问题描述,画出系统的顶层数据流图、0层数据流图。 (20分)

2.2.1 计算机储蓄系统

image-20221220200540160

image-20221220200547393

2.2.2 机票预订系统

image-20221220200624799

image-20221220200633330

2.2.3 患者监护系统

image-20221220200657543

image-20221220200704596

2.3 伪代码押题

画出下列伪代码程序的流程图,计算它的环形复杂度。这个程序的逻辑有什么问题吗?

C	EXAMPLE
LOOP:DO WHILE Z>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP

程序流程图

在这里插入图片描述

流图

在这里插入图片描述

环形复杂度

V(G)=判断结点+1=6+1=7
其中判断结点为 1 , 3 , 6,8, 10, 11

逻辑问题

有问题:当Z>0时,容易形成死循环,条件Y<5中包含条件Y=2

2.4伪代码押题2

算法如下:

INPUT(A,B)
IF A>B+3 THEN X=A
​     ELSE X=B
IF A>10 THEN Y=B
​    ELSE Y=A+B
OUTPUT(X,Y)

(1)该算法的环形INPUT(A,B)

IF A>B+3 THEN X=A​     ELSE X=BIF A>10 THEN Y=B​    ELSE Y=A+BOUTPUT(X,Y)

复杂度V(G)=( 3 )

(2)下列测试方案满足何种逻辑覆盖标准。

​ ①[(A=3,B=0),(X=0,Y=3)]

这组方案满足( 语句 )覆盖。

​ ②Ⅰ[(A=5,B=0),(X=5,Y=5)]

​ Ⅱ[(A=11,B=10),(X=10,Y=10)]

这两组方案同时满足( 判定 )覆盖、( 条件 )覆盖、( 判定/条件 )覆盖和条件组合覆盖。

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...