软件工程 课堂测验 简答

2023-12-06 07:44

本文主要是介绍软件工程 课堂测验 简答,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

结构化的软件设计的工具有哪些?各有什么特点?
表示软件结构的图形工具:
1)层次图和HIPO图:层次图描绘软件的层次结构,一个矩形框代表一个模块,框间的连线表示调用关系,每个方框可带编号,带编号的层次图称为HIPO图
2)结构图:结构图是进行软件结构设计的工具,同层次图。位于上方的方框代表的模块调用下方的模块,可不用箭头只用直线表示模块间的调用关系。带注释的箭头表示模块调用过程中来回传递的消息。尾部是空心圆表示传递的是数据,尾部是实心圆表示传递的是控制信息。

面向数据流的设计方法:
数据流图:在概要设计阶段使用。数据流分为变换型数据流和事务型数据流。变换:把输入的数据处理后转变成另外的输出数据。事务:非数据变换的处理,将输入的数据流分散成许多数据流,形成若干加工,选择其中一个路径来执行。

面向数据结构的设计方法:
1)Jackson:将数据结构分为:顺序型结构、选择型结构、循环型结构。顺序型结构:数据由一个或多个元素组成,按照确定的次序出现一次。
2)Warnier

数据设计:
1)程序级的数据结构设计:伪代码的方式定义数据结构
2)应用级的数据库设计:物理级的E-R图

过程设计:
流程图:
1)数据流程图
2)程序流程图:顺序型、选择型、先判定型循环、后判断型循环、多分支选择型。不便于逐步求精;可随意控制转移
3)系统流程图
4)程序网格图
5)系统资源图
N-S图:用类似盒子的矩形及矩形之间的嵌套来表示语句或语句序列。内部无箭头,控制流程不能随意控制转移;方便确定作用域、嵌套关系和模块间的层次
PAD图:也称问题分析图,用二维树形结构的图来表示程序的控制流及逻辑结构。执行顺序,自上而下,自左向右;自顶向下、逐步求精;只用于结构化设计;不仅表示程序逻辑,还表示数据结构

#######

请简述面向数据流的设计方法。
面向数据流的设计方法:
数据流图:在概要设计阶段使用。数据流分为变换型数据流和事务型数据流。变换:把输入的数据处理后转变成另外的输出数据。事务:非数据变换的处理,将输入的数据流分散成许多数据流,形成若干加工,选择其中一个路径来执行。

#######

如何理解软件生命周期的内在特征?
软件生命周期是从设计该软件的构思开始,到软件的需求确定、软件设计、软件实现、产品测试与验收、投入使用以及产品的不断更新、到最终被市场淘汰的全过程。分为若干个阶段,每个阶段都完成特定的相对的独立的任务,由于每个阶段的任务相对于总任务的难度大幅降低,在资源分配和时间把握和项目管理上都比较容易控制,合理划分生命周期的各个阶段,是每个阶段即相互联系又相互区别,为每个阶段赋予特定任务。

分为:可行性研究、需求分析、软件设计、编码、软件测试、软件维护

#######

简述E-R图的作用。
表明了数据库的概念结构,提供了表示实体数据对象、属性、联系的方法,用来描述现实世界的概念模型,

#######

请对比白盒测试和黑盒测试。分别有哪些方法?
黑盒测试:将软件系统看作黑盒子,不关心盒子的内部结构和特性,只关注软件的输入数据和输出结果
1)等价类划分法、边界值分析法、错误推测法、因果图法、正交实验设计法
等价类划分法:有效、无效等价类
2)边界值分析法:选择等价类边界的测试用例
3)错误推测法:直觉+经验
4)因果图法:输入条件的各种组合方式、各个输入条件之间的相互制约关系

白盒测试:又称玻璃盒测试,将被观测程序看作透明盒子,关注软件产品的内部细节、逻辑结构
1)逻辑覆盖法:语句、分支、条件、分支-条件、条件组合、路径覆盖
语句覆盖:设计若干测试样例,运行被测试程序,每个可执行程序至少执行一次
分支覆盖:每个判断的取真、取假分支至少执行一次
条件覆盖:每个判断的所有逻辑条件的每种可能取值至少执行一次
分支-条件覆盖:同时满足分支覆盖和条件覆盖的要求
条件组合覆盖:每个判断语句的所有逻辑条件的可能取值组合至少执行一次
路径覆盖:覆盖被测试程序中所有可能的路径
2)基本路径法:在程序控制流程图的基础上,通过分析控制构造的环路复杂度,导出基本可执行程序的路径集合,从而设计测试用例的方法

#######

软件测试应该划分为几个阶段,各个阶段应重点测试的内容是什么?
软件测试步骤:单元测试、集成测试、系统测试、验收测试

单元测试:软件测试的基础,侧重模块的内部处理逻辑、数据结构,利用构件级设计描述作为指南,测试重要的控制路径以发现模块内的错误

集成测试:多个单元的集合,单元组合成模块,模块聚合成子系统 / 系统
体系结构设计、模块设计、接口设计、集成测试策略分析
1)非增量式集成测试:”一步到位“
2)增量式集成测试:自顶向下、自底向上

#######

请比较结构化软件设计方法和面向对象软件设计方法?
结构化软件设计的任务从软件需求规格说明书出发,设计整体结构,形成具体设计方案,解决”怎么做“。
1)概要设计
2)详细设计

面向对象设计原则:
1)模块化
2)抽象化
3)信息隐藏
4)低耦合
5)高内聚
6)复用性

#######

类间的外部关系有几种类型?每种关系表达什么语义?
对象或类之间的关系:依赖、关联、聚合、组合、泛化、实现
1)依赖:”非结构化“,短暂,一个对象会影响另一个对象
2)关联:”结构化“,对象之间的连接
3)聚合和组合:特殊的关联,强调整体和部分之间的从属性,组合是聚合的一种,组合的整体和部分具有很强的归属关系和一致的生命周期
4)泛化和类间的继承相似
5)实现针对类与接口的关系

#######

如何着手从自然语言描述的用户需求中画出用例图?
用例图从用户的角度描述系统的功能,由用例和参与者及它们之间的连线组成。
用例:从用户骄傲都描述系统的行为,将系统的一个功能描述为一系列的事件,这些事件最终对操作者产生有价值的观测结果
参与者:与系统交互的外部实体,可能是使用者,也可能是与系统交互的外部系统、基础设备等

分析用例名称是否合适时,将参与者和用例连在一起,是否构成一个完整的场景或句子

1)包含:不同用例的共同行为,带箭头的虚线
2)拓展:异常行为,带箭头虚线
3)泛化:用例的一般与特殊,带三角形箭头的实线

这篇关于软件工程 课堂测验 简答的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/460995

相关文章

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

小琳Python课堂:深入理解Python对象:状态、创建与管理

大家好,这里是小琳Python课堂。今天我们继续深入理解Python对象的状态、创建与管理。让我们一起来探索这些概念,以帮助你更好地掌握Python编程。 一、Python对象的状态 1. 实例属性与类属性 Python对象的属性分为实例属性和类属性。实例属性是对象独有的,而类属性则被类的所有实例共享。 实例属性:比如汽车的颜色、品牌和价格,每个汽车对象都有其独特的实例属性。类属性:比如

如何快速融入大学课堂

快速融入大学课堂是适应大学生活的重要一步。以下是一些实用的建议,帮助你快速融入大学课堂并取得良好的学习效果。 ### 1. 提前准备 - **课前预习**:在上课前预习课程内容,了解基本概念和知识点,这样在课堂上更容易跟上老师的讲解。 - **准备学习材料**:带上笔记本、笔、课本和其他必要的学习材料,确保在课堂上能够及时记录和查阅。 ### 2. 积极参与课堂 - **主动提问**:在课堂上

实践课堂|2016成都站|报名开始啦!

Hi,QingCloud 的小伙伴们,欢迎参加史上最有营养的云知识讲堂。 QingCloud 实践课堂系列开始于 2014 年末,在深圳、上海、广州、成都、杭州、北京六个城市,QingCloud 的研发工程师们同近千名 CIO 、架构师、开发者、运维工程师……分享了 QingCloud 的技术理念、功能特性和使用技巧,还有来自人民网、融云、泰捷视频、杏树林、友好速搭、百姓网、冰点、顺丰速运、洋葱

小琳AI课堂:大模型的发展历程:从创新到挑战

大家好,这里是小琳AI课堂。今天我们来聊聊大模型的发展历程,这是一段充满创新与挑战的故事。🚀 让我们追溯到20世纪50年代,那时计算机科学和人工智能还处于萌芽阶段。 早期探索(1950s-1970s) 早期探索是大模型发展历程中的一个关键时期,它标志着人工智能作为一门学科的诞生。这个时期,计算机科学和人工智能还处于起步阶段,科学家们充满好奇地探索如何让机器模仿人类智能。这一阶段的探索不仅奠定

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

软件工程技术专业软件开发综合实训室解决方案

一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业的业务收入达到85371亿元人民币,同比增长18.3%,远超同期国内生产总值的增长率。这一成就不仅体现了中国软件行业的韧性和发展潜力,也为未来的持续增长奠定了坚实的基

《软件工程导论》(第6版)第12章 面向对象实现 复习笔记

第12章 面向对象实现 一、面向对象实现概述 1.主要任务 (1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序。 (2)测试并调试面向对象的程序。 2.面向对象程序质量的影响因素 (1)面向对象设计的质量; (2)采用的程序语言的特点; (3)程序设计风格。 3.保证软件可靠性的方法 保证软件可靠性的主要措施是软件测试。面向对象测试的目标是用尽可能低的测试成本发现尽

【软件工程】第一章软件工程引论

【软件工程】第一章软件工程引论 文章目录 【软件工程】第一章软件工程引论1. 什么是软件1.1 软件的定义1.2 软件特征1.3 挑战与危机 2. 什么是工程2.1 什么是工程2.2 怎么做工程 3. 什么是软件工程3.1 软件工程的提出3.2 软件工程的经典定义3.3 软件工程设计的知识域3.4 系统工程3.5 软件工程的全流程 4. AI时代的软件工程4.1 智能软件工程4.2 大模型