内科大软件工程导论复习内容笔记

news2025/1/24 1:36:05

文章目录

  • 一、 概念(共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>0
   A=B+1
   IF A>10
   	THEN X=A
   	ELSE Y=Z
   END IF
   IF Y<5
   	THEN PRINT X,Y
   	ELSE IF Y=2
   		THEN GOTO LOOP
   		ELSE C=3
   		END IF
   END IF
   G=H+R
   END DO
   IF F>0
   	THEN PRINT G
   	ELSE PRINT K
   END IF
   STOP

程序流程图

在这里插入图片描述

流图

在这里插入图片描述

环形复杂度

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=AELSE X=B
IF A>10 THEN Y=BELSE Y=A+B
OUTPUT(X,Y)

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

IF A>B+3 THEN X=AELSE X=B

IF A>10 THEN Y=BELSE Y=A+B

OUTPUT(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)]

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/105242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

借助 Material Design,帮助您打造更好的无障碍应用 (上篇)

随着时代的发展&#xff0c;"无障碍体验" 对开发者的意义也愈发重大。我们准备了无障碍设计文章&#xff0c;帮助您为更多用户打造精彩应用。本文是第一篇内容&#xff0c;将为您介绍辅助技术&#xff0c;层次结构&#xff0c;颜色和对比度等内容。了解无障碍改进产品…

[前端攻坚]:Set的使用

总结一些日常需要用到的一些api&#xff0c;也是在一些面试中会经常出现的题目&#xff0c;今天分享的是Set的一些用法和个人的一些理解&#xff0c; 同时文章也被收录到我的《JS基础》专栏中&#xff0c;欢迎大家点击收藏加关注。 我们知道Set是一种叫做集合的数据结构&#x…

手把手教你成为荣耀开发者:如何获取平台帮助及最新通知?

荣耀开发者服务平台是荣耀面向开发者的统一生态入口&#xff0c;通过聚合周边内外部系统&#xff0c;分全球多站点部署&#xff0c;为全球开发者提供业务全生命周期的商业支撑服务&#xff0c;拥有应用分发、智慧服务、开放能力、HONOR Connect等众多业务等您来合作。 在与荣耀…

引擎入门 | Unity UI简介–第3部分(2)

本期我们继续为大家进行【Unity UI简介–第3部分】的后续教程 学习内容 4.添加遮挡面板 5.添加内容面板 6.添加按钮 文章末尾可免费获取教程源代码 本篇【Unity UI简介–第3部分】篇幅较长&#xff0c;分为八篇&#xff0c;本篇为第二篇&#xff0c;还未看过第一篇的请点…

Linux学习-89-JDK下载安装(rpm方式)

17.19 JDK下载安装&#xff08;rpm方式&#xff09; linux系统上jdk安装方式比较多&#xff0c;最简单的便是yum安装&#xff0c;可以使用以下步骤来安装&#xff1a; #首先先检查是否已经安装JDK [rootCncLucZK ~]# rpm -qa |grep java[rootCncLucZK ~]# rpm -qa |grep jdk …

Docker ( 三 ) 安装 MySQL

6.2.安装 MySQL 6.2.1.拉取镜像 6.2.1.1.搜索查看可用的mysql镜像 docker search mysql6.2.1.2.拉取最新版本的mysql镜像 docker pull mysql:latest6.2.1.3.查看镜像是否已经有mysql docker images|grep mysql6.2.2.启动容器 6.2.2.1.启动容器实例 启动同时设置名字以及r…

搜遍全网,终于找到了报表自动化的最佳工具,比Excel好用10倍

工作快十年了&#xff0c;最开始是在华为做报表&#xff0c;后来去了美团从事大数据和平台方面的工作&#xff0c;现在在国企干了快三年。辗转各大企业的IT部门&#xff0c;最明显的感知就是企业间数字化程度差距太大了。就从报表这个点来说&#xff0c;互联网公司早就实现了报…

动物宠物领养网站的设计与实现(Vue+Spring Boot+Java)

目 录 摘 要 I Abstract II 目 录 III 图清单 V 表清单 VII 1 绪论 1 1.1 动物领养网站的现状与发展 1 1.2 “万千宠爱”动物领养网站的研究内容 2 1.3 “万千宠爱”动物领养网站的研究目的和意义 2 1.4 本章小结 3 2 本“万千宠爱”动物领养网站的分析 4 2.1 可行性分析 4 2.…

【目标检测】YOLOv5能识别英雄和小兵?原理解析~

目录 一、简介 二、模型结构 1.整体结构图 2.Backbone&#xff08;CSPDarknet&#xff09; 3.SPPF&#xff08;Spatial Pyramid Pooling - Fast&#xff09; 4.Neck&#xff08;FPNPAN&#xff09; 5.Head 三、anchor编解码 1.anchor编码 2.anchor解码 四、损失函数 …

【20天快速掌握Python】day09-模块和包

1.Python中的模块 在Python中有一个概念叫做模块&#xff08;module&#xff09;。 说的通俗点&#xff1a;模块就好比是工具包&#xff0c;要想使用这个工具包中的工具(就好比函数)&#xff0c;就需要导入这个模块 比如我们经常使用工具 random&#xff0c;就是一个模块。使…

车险java开发工程师【10k-15k】13薪

众推职聘”以交付结果为宗旨的全流程化招聘服务平台&#xff01; 今日招聘信息↓ 【工作内容】 1.参与软件项目和产品概要设计&#xff0c;负责详细功能设计、编码实现及相关文档编写&#xff1b; 2.根据模块设计完成相应的模块编码及单元测试&#xff1b; 3.对用户行为、需求…

「React 深入」知悉Fiber,方能百战不殆~

在React v16以上的版本引入了一个非常重要的概念&#xff0c;那就是fiber&#xff0c;实际上fiber是react团队花费两年的时间重构的架构&#xff0c;在之前的文章中也提及到了fiber&#xff0c;那么fiber架构究竟是什么&#xff0c;为什么要使用fiber 在正式开始前&#xff0c…

网络空间安全——MS15_034漏洞验证与安全加固

网络空间安全——MS15_034漏洞验证与安全加固 靶机&#xff1a;windows 2008 安装好iis7.5 1.安装iis7.5,用127.0.0.1访问&#xff0c;将访问页面截图 2.用burpsuite 抓包分析是否存在ms15_034漏洞&#xff0c;抓包验证截图 3.调用msf相应的测试模块进行扫描&#xff0c;…

沥高科技冲刺创业板:拟募资5.45亿 为胡仲杰与岑婵芳夫妻店

雷递网 雷建平 12月20日上海沥高科技股份有限公司&#xff08;简称&#xff1a;“沥高科技”&#xff09;日前递交招股书&#xff0c;准备在深交所创业板上市。沥高科技计划募资5.45亿元&#xff0c;其中&#xff0c;1.79亿元用于航空航天用真空袋工艺材料生产项目&#xff0c;…

Talk预告 | 悉尼科技大学在读博士生胡思逸:MARLlib,全新的多智能体强化学习框架

本期为TechBeat人工智能社区第464期线上Talk&#xff01; 北京时间12月21日(周三)20:00&#xff0c;悉尼科技大学澳大利亚人工智能研究所ReLER实验室在读博士生——胡思逸的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “MARLlib, 全新的多智能体…

2022 年 MathorCup 高校数学建模挑战赛A题

赛道 A&#xff1a;“58 到家”家政服务订单分配问题 “58 到家”是“58 同城”旗下高品质、高效率的上门家政服务平台&#xff0c;平 台向用户提供家政保洁、保姆、月嫂、搬家、维修等众多生活领域的服务。 在家政保洁场景中&#xff0c;用户在平台下单购买服务后&#xff0c;…

非零基础自学Golang 第13章 并发与通道 13.3 channel 13.3.1 channel类型 13.3.2 缓冲机制

非零基础自学Golang 文章目录非零基础自学Golang第13章 并发与通道13.3 channel13.3.1 channel类型13.3.2 缓冲机制第13章 并发与通道 13.3 channel goroutine运行在相同的地址空间&#xff0c;因此访问共享内存必须做好同步。 引用类型channel是CSP模式的具体体现&#xff…

游戏玩得好的AI,已经在看病救人了

一个游戏AI&#xff0c;怎么干起医生的活了&#xff1f; 而且这本事还是从打游戏的经验里总结来的。 喏&#xff0c;拿一张病理全片扫描图像&#xff0c;不用遍历所有高倍镜视野&#xff0c;也能找到病灶所在。 在它看来&#xff0c;这个过程和《我的世界》里伐木居然是类似的…

Diffusion惊艳应用大赏

文&#xff5c;白鹡鸰自从Diffusion模型兴起之后&#xff0c;AI绘画圈又迎来了一波猪突猛进式的强化&#xff0c;早几年还只是Ins的二次元/迪士尼风格滤镜&#xff0c;让人穿上不同服装当接头霸王。现在&#xff0c;你随便输几句话&#xff0c;模型就能刷刷刷给你吐出一大堆精美…

024 | 知行国学:全国领先的线上一对一国学教育平台 | 大学生创新训练项目申请书 | 极致技术工厂

公司产品 公司的产品包括两个部分的内容&#xff0c;一是模块化、智能化的课程体系——“诗书礼乐”快乐国学课程体系&#xff0c;二是梯队化、“以一带群”、联动型的师资培训体系——“知行者”大学生国学师资培训模式。 近年来&#xff0c;国家大力弘扬中华优秀传统文化&a…