【软件工程】第3章-软件系统设计&PKU慕课测试

举报
野猪佩奇996 发表于 2022/01/23 01:10:32 2022/01/23
【摘要】 文章目录 1.软件设计的目标和过程2.软件设计原则3.面向数据流的设计方法4.面向对象设计方法5.程序流程图6.程序复杂度的度量PKU慕课测试 1.软件设计的目标和过程 2.软件设...

1.软件设计的目标和过程

在这里插入图片描述

2.软件设计原则

(1)模块化
(2)抽象
(3)逐步求精
(4)信息隐藏和局部化
(5)模块独立 目标:高内聚,低耦合
1.耦合:软件结构内不同模块之间互连程度的度量
在这里插入图片描述
2.内聚:一个模块内各个元素彼此结合的紧密程度
在这里插入图片描述

3.面向数据流的设计方法

在这里插入图片描述

4.面向对象设计方法

(1)面向对象如何实现模块独立性,其耦合和内聚的含义是什么?

答:对象=数据+这些数据的操作(方法),对象是以数据为中心,没有无关的操作,所以对象内部各种元素高内聚;由于完成对象所需要的元素(数据和方法)基本上都被封装在对象内部,它与外界的联系自然就比较少。因此,对象之间的耦合通常比较松。
总之,面向对象使用对象、类、继承和消息的方法,既使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信来实现模块的独立性

(2)面向对象和面向过程软件工程有哪些区别?

1)面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
2)面向过程是把一件事一项工程分解成为一个个小的功能,用一个个函数来实现;面向对象是把事情看成是一个个小的对象组成的,这些对象之间的相互关系,构成了整个项目.在面向对象的思想中,万物皆对象。而"类",就是对象的抽象。

(3)简述对象、类、消息、方法的基本概念。
1)对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

2)类是具有相同或相似性质的对象的抽象。对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

3)对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

4)类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。

(4)简述面向对象分析设计的三个模型。
答:三个模型:对象模型、动态模型、功能模型
(1)对象模型描述系统的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。构造对象模型的目的在于找出与应用程序密切相关的概念。对象模型用包含对象及对象的关系图表示。
(2)动态模型着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。动态模型包括状态图和事件跟踪图。状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。事件跟踪图则侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本(scenarios),是完成系统某个功能的一个事件序列。脚本通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。
(3)功能模型着重于系统内部数据的传送和处理。功能模型表明,通过计算,从输出数据能得到什么样的输出数据,但不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输出,通过操作和内部存储,直到外部输出的整个数据流情况。
功能模型还包括了对象模型内部数据间的限制。功能模型中的数据流图往往形成一个层次结构,一个数据流图的过程可以由下一层的数据流图作进一步的说明。

5.程序流程图

在这里插入图片描述

6.程序复杂度的度量

在这里插入图片描述

PKU慕课测试

第三周:结构化分析方法1
结构化分析方法的概念
1单选(2分)关于软件开发方法,以下说法正确的是 D
A.软件开发方法是指软件开发过程所遵循的办法和步骤
B.软件开发活动的目的是有效地得到一个运行的系统及其支持文档,并且满足有关的质量要求
C.软件开发方法学指的是规则、方法和工具的集成
D.以上说法都正确.
2多选(2分)结构化方法包括了 ACD
A…结构化分析方法.
B.结构化项目管理方法.
C…结构化设计方法.
D…结构化程序设计方法.
3单选(2分)需求分析的目标不包括 C
A.解决需求陈述中的歧义、不一致的问题
B.作为开发人员和客户间技术契约的基础
C…给出解决问题的具体算法和数据结构.
D.给出问题的形式化或半形式化的描述
结构化分析模型
1单选(2分)结构化分析模型中,支持数据抽象的是哪些术语 A
.①数据流 ②数据存储. ③数据源 ④数据潭 ⑤加工
A.①②
B.③④
C.①②③④
D.③④⑤
2多选(2分)在结构化分析方法中,与数据流图配合使用的是 BD
A.网络图
B…数据字典.
C.程序流程图
D…加工小说明.
3单选(2分)结构化分析方法使用DFD描述 A
A…系统的功能.
B.系统的控制流程
C.系统的数据结构
D.系统的基本加工
4单选(2分)结构化分析阶段,不适用于描述加工逻辑的工具是 D
A.结构化语言
B.判定表
C.判定树
D.流程图
结构化分析过程
1单选(2分)通过 B 可以完成数据流图的细化
A.结构分解
B.功能分解
C.数据分解
D.系统分解
2多选(2分)下列关于数据流图的说法中,正确的是 CD
A.在结构化分析中,采用自顶向下逐层分解的思想,从零层数据流图开始逐步精化
B.可以根据加工的编号识别该加工位于哪一层数据流图
C.加工必须有输入和输出
D.数据存储在数据流图中的作用是在各加工之间建立合理的关系
3单选(2分)数据字典一般不包括下列选项中的 C 条目
A.数据流
B.数据存储
C.加工
D.数据项
4多选(2分)以下说法正确的是 ACD
A.数据流图中的每个数据流和数据存储必须在数据字典中予以定义
B.数据流图中的每个加工必须在加工小说明中予以定义 //叶加工(最底层)必须给出说明
C.数据流图中的图元个数应当控制在7+2以内
D.加工小说明中,必须指出该加工的输入数据流和输出数据流
需求规格说明书
1单选(2分)需求分析最终结果是产生 C
A.项目开发说明书
B.可行性分析报告
C.需求规格说明书
D.设计说明书
2单选(2分)需求规格说明书中不应包括 B
A.功能概述
B.算法设计
C.故障处理
D.性能需求
3单选(2分)需求规约是需求阶段非常重要的文档,它的作用不包括 D
A.软件开发组织和用户之间达成的共识
B.软件后续设计、编码、测试的基本依据
C.软件验收的依据
D.软件可行性分析的依据
结构化设计概念
1单选(2分)结构化设计的目标是 D
A.建立系统软件模型
B.建立软件体系结构和详细的处理算法
C.产生设计规格说明书

D.以上全部
2填空(2分)结构化设计一般又可分为概要设计阶段和详细设计阶段
3单选(2分)总体设计不包括 D
A.体系结构设计
B.接口设计
C.数据设计
D.数据结构设计
4单选(2分)模块结构图中,如果两个模块之间有直线连接,表示他们之间存在 A 关系
A.调用
B.组成
C.连接
D.顺序执行
5单选(2分)关于总体设计阶段的任务,以下说法错误的是 C
A.主要任务是将DFD转为MSD
B.针对不同类型的DFD有不同的设计方法
C.精化MSD不属于总体设计阶段的任务
D.根据穿越系统边界的数据流确定系统与外界的接口

初试模块结构图的设计
1判断(2分)判断题:所有的数据流图都可以看作变换型数据流图。 √
2单选(2分)对于变换设计的基本步骤,正确的顺序是 C
① 确定输入、变换、输出三部分之间的边界
② 系统模块结构图顶层和第一层的设计
③ 复审并精化系统需求模型
④ 自顶向下,逐步求精
A.①②③④
B.②①③④
C.③①②④
D.①③②④
3单选(2分)下列说法错误的是 B
A.变换型DFD是由输入、变换和输出三部分组成
B.变换设计中,有几个物理输入就设计几个输入模块 //是有几个逻辑输入就设计几个输入模块
C.事务型DFD一般只接受一个输入数据
D.通常来说,变换型数据流图更加常见,而事务型数据流图往往作为局部出现
4单选(2分)关于事务设计,下列说法正确的是 B
A.事务设计的第一步是确定事务处理中心 //第一步是 设计准备,复审和精化系统模型
B.在第一级分解中,需要为每一条活动路径设计一个事务处理模块
C.在第一级分解中,需要分别设计输入输出模块
D.在第二级分解中,对各条路径的细化类似于变换设计的细化过程
初始模块结构图精化的原则
1单选(2分)软件概要设计结束后得到 B
A.初始化的模块结构图
B.精化的模块结构图
C.模块详细的算法
D.程序编码
2填空(2分)模块化的基本原则是高内聚,低耦合.
3单选(2分)一个模块把一个数值量作为参数传送给另一模块,这两个模块之间的耦合是 B
A.逻辑耦合
B.数据耦合
C.控制耦合
D.内容耦合
4单选(2分)下列几种耦合中, D 的耦合性最强。
A.公共耦合
B.数据耦合
C.控制耦合
D.内容耦合
5单选(2分)为了提高模块的独立性,模块内部最好是 C
A.逻辑内聚
B.时间内聚
C.功能内聚
D.通信内聚
6单选(2分)通信内聚是指 B
A.把需要同时执行的动作组合在一起形成的模块
B.各处理使用相同的输入数据集或产生相同的输出数据集
C.一个模块内各个元素都密切相关于同意功能且必须顺序执行
D.模块内所有元素共同完成一个功能,缺一不可

文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。

原文链接:andyguo.blog.csdn.net/article/details/114630552

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。