您现在的位置是:首页 >技术杂谈 >【软件工程】复习题网站首页技术杂谈
【软件工程】复习题
一.单选(105 题)
1、可行性分析研究的主要目的是( B )
A.定义项目
B.项目是否值得开发
C.开发项目
D.规划项目
2、经济可行性研究的范围包括( C )
A.资源有效性
B.管理制度
C.效益分析
D.开发风险
3、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
A. 确定
B.行或不行
C.正确
D.无二义
4、可行性研究要进行一次( B )需求分析。
A.详细的
B.全面的
C.简化的、压缩的
D.彻底的
5、确定测试计划是在( D )阶段制定的。
A.总体设计
B.详细设计
C. 编 码
D.测试
6、需求分析是回答系统必须( D )的问题
A..为谁做
B.怎么做
C.何时做
D.做什么
7、需求分析中开发人员要从用户那里了解( A )
A.软件做什么
B.用户使用界面
C.输入的信息
D.软件的规模
8、需求分析阶段的任务是确定( D )
A.软件开发方法
B.软件开发工具
C.软件开发费
D.软件系统的功能
9、需求分析是软件生存周期中的一个重要阶段,它应该是在( B )进行。
A.维护阶段
B.软件开发全过程
C.软件定义阶段
D.软件运行阶段
10、软件需求规格说明的内容不包括( B )
A.主要功能
B.算法的详细描述
C.用户界面及运行环境
D.软件的性能
10、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是( C )
A.数据库设计
B.数据通信
C.数据定义
D.数据维护
11、进行需求分析可使用多种工具,但是( D )不适用。
A.数据流图
B.PAD 图
C.用例图
D.数据字典
12、生命周期方法设计软件的过程中,画用例图属于( A )阶段的工作。
A.需求分析
B.概要设计
C.详细设计
D.软件维护
13、PDL 属于( B )语言。
A.高级程序设计语言
B.伪码
C.中级程序设计语言
D.低级程序设计语言
14、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于( D )
A.维护时期
B.开发时期
C.运行时期
D.计划时期
15、瀑布模型的存在问题是( B )
A.用户容易参与开发
B.缺乏灵活性
C.用户与开发者易沟通
D.适用可变需求
16、原型化方法当中,不正确的描述( C )
A.原型化方法适用于需求不明确的软年开发
B.在开发过程当中可以废弃不用早期构造的软件原型
C.原型化方法可以直接开发出最终产品
D.原型化方法利于确定各项系统服务的可用性
17、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。
A.需求不确定性高的
B.需求确定的
C.管理信息
D.实时
18、原型化方法是一种( A )型的设计过程。
A.自外向内
B.自顶向下
C.自内向外
D.自底向上
19、在详细设计阶段,经常采用的工具有( A )
A.PAD
B.SA
C.SC
D.DFD
20、 详细设计的结果基本决定了最终程序的( c )
A.代码的规模
B.运行速度
C.质量
D.可维护性
21、编码阶段是位于( A )阶段之后
A.详细设计
B.可行性研究
C.总体设计
D.需求分析
21、下面( D )阶段不属于软件的开发时期
A.编码
B.测试
C.需求分析
D.维护
22、软件测试的目的是( B )
A. 为了表明程序没有错误
B.为了发现程序中的错误
C. 为了说明程序能正确地执行
D.为了评价程序的质量
23、软件测试可以发现软件中的( B ),但不能证明软件没有错误。
A.所有错误
B.错误
C.逻辑错误
D.设计错误
24、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试( D )
A.结构合理性
B.软件外部功能
C.程序正确性
D.程序内部逻辑
25、下列白盒测试法,哪种是最强的覆盖准则( D )
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖
26、使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A.程序的内部逻辑
B.程序的复杂度
C.该软件的编译人员
D.程序的功能
27、下面哪些测试属于黑盒测试( C )。
A.路径测试
B.循环测试
C.等价类划分
D.条件判断
28、若有一个计算类型的程序,它的输入量只有一个 X,其范围是[-2.0,2.0],现从输入的角度考虑一组测试用列-2.001,-2,20,2.001,设计这组测试用列的方法是( C )
A.条件覆盖法
B.等价分类法
C.边界值分析法
D.错误推测法
29、系统测试时,将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试,( B )不是系统测试的内容。
A.安装测试
B.可靠性测试
C.路径测试
D.安全测试
30、各种软件维护的类型中最重要的是( A )
A.完善性维护
B.纠错性维护
C.适应性维护
D.预防性维护
31、可维护性的特性中相互促进的是( A )
A.可理解性和可测试性
B.效率和可移植性
C.效率和可修改性
D.效率和结构好
32、在数据流图中,圆圈符号表示的是( B )
A.数据源点或终点
B.数据处理
C.数据存储
D.数据流
33、第一个体现结构化编程思想的程序设计语言是( B )
A.FORTRAN 语言
B.Pascal 语言
C.C 语言
D.PL/1 语言
34、程序的三种基本控制结构是( B )
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
35、程序的三种基本控制结构的共同特点是 ( D )
A.不能嵌套使用
B.只能用来写简单程序
C.已经用硬件实现
D.只有一个入口和一个出口
36、结构化程序设计采用的三种基本控制结构是( A )
A.顺序、选择、重复
B.选择、循环、重复
C.顺序、分支、选择
D.输入、变换、输出
37、结构化程序思想提出之前。在程序设计中曾强调程序的效率,现在人们更重视的是程序的
( D )
A.技巧性
B.保密性
C.一致性
D.可理解性
38、面向对象的分析方法主要是建立三类模型,即( D )
A.系统模型、ER 模型、应用模型
B.对象模型、动态模型、应用模型
C.ER 模型、对象模型、功能模型
D.对象模型、动态模型、功能模型
39、( A )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是 隐蔽的,外界只能通过有限的接口与对象发生联系。
A.封装
B.继承
C.多态性
D.消息
40、对象实现了数据和操作的结和,对象是数据和操作的( C )
A.结合
A.隐藏
C.封装
D.抽象
41、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合
B.隐藏
C.封装
D.抽象
42、在下列四种模块的耦合性中,信息隐蔽性能最好的是( C )
A.控制耦合
B.内容耦合
C.数据耦合
D.特征耦合
43、内聚是衡量模块内部聚合能力的量度。内聚越高,说明模块内各成分彼此联系的程度
( C )
A.越松散
B.彼此相等
C.越紧密
D.没有联系
44、模块内聚可分为七类,最低的内聚是( D )
A.顺序内聚
B.时间内聚
C.过程内聚
D.偶然性内聚
45、在 ER 模型中,包括以下基本成分( C )
A.数据、对象、实体
B.控制、联系、对象
C.实体、联系、属性
D.实体、属性、操作
46、以下不属于 IT 企业当中过程管理和过程改进模型的是( C )
A.ISO9001
B.CMMI
C.软件企业文化
D.UML
47、在 UML 中,类是用 ( A )表示的
A.矩形框
B.椭圆
C.箭头
D.菱形框
48、在 UML 的用例图中,人形符号表示的是( C )
A.关联
B.用例
C.角色
D.系统
49、在 UML 中,协作图反映收发消息的对象的结构组织,它与( B )是同构的
A.用例图
B.时序图
C.活动图
D.类图
50、( A )不是 UML 体系的组成部分。
A.应用领域
B.规则
C.基本构造块
D.公共机制
51、在 UML 中,有四种事物,下面哪个不是( B )。
A .结构事物
B.静态事物
C.分组事物
D.注释事物
52、以下( C )不是 RUP 中的优秀方法。
A.迭代的开发软件
B.不断的验证软件质量
C.配置管理与变更管理
D.支持正向与逆向工程
53、下面( D )属于 UML 中的动态视图。
A.类图
B.用例图
C.对象图
D.状态图
54、在 UML 中,( A )把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。
A.泳道
B.同步条
C.活动
D.组合活动
55、用例之间有几种不同的关系,下列哪个不是他们之间可能的关系( B )。
A.include
B.connect
C.generalization
D.extend
56、通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是
UML 中的类成员访问限定性( D )。
A.public
B.protected
C.private
D.friendly
57、在 UML 中,类之间的关系有一种关系称为关联,其中多重性用来描述类之间的对应关系, 下面哪个不是其中之一( A )。
A. *….*
B.0….*
C.1….*
D.0….1
58、关于包的描述,不正确的是( B )。
A.和其他建模元素一样,每个包必须有一个区别于其他包的名字
B.export 使一个包中的元素可以单向访问另一个包中的元素
C.包的可见性分为 public、protected、private
D.包中可以包含其他元素,比如类、接口、组件、用例等等
59、Use Case 用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例 “创建新订单”、“更新订单”与用例“检查用户帐号”之间是( C )关系。
A.aggregation
B.extend
C.include
D.classification
60、UML 中,用例图展示了外部 Actor 与系统所提供的用例之间的连接,UML 中的外部 Actor 是指( D )。
A.人员
B.单位
C.人员和单位
D.人员或外部系统
61、在 UML 中,用例可以使用( A )来描述。
A.活动图
B.类图
C.状态图
D.协作图
62、下列关于 UML 叙述正确的是( B )。
A.UML 是一种语言,语言的使用者不能对其进行扩展
B.UML 是独立于软件开发过程的
C.UML 仅是一组图形的集合
D.UML 仅适用于系统的分析与设计阶段
63、UML 中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种类来表示,分别是( C )。
A.状态图和时序图
B.活动图和协作图
C.时序图和协作图
D.状态图和活动图
64、当( A )时,用例是捕获系统需求最好的选择。
A.系统有很多参与者
B.系统具有很少的接口
C.系统算法复杂,功能单一
D.系统具有很少的用户
65、下面( C )不是 UML 的关系。
A.依赖关系
B.关联关系
C.继承关系
D.泛化关系
66、构件图用于对系统的静态实现视图建模,这种视图主要支持系统构件的配置管理,通常可以 分为四种方式来完成,下面哪种不是其中之一( D )。
A.对源代码建模
B.对可执行体的发布建模
C.对物理数据库建模
D.对事物建模
67、封装是把对象的( A )结合在一起,组成一个独立的对象。
A.属性和操作
B.信息流
C.消息和事件
D.数据的集合
68、封装是一种( C )技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。
A.工程化
B.系统维护
C. 信息隐蔽
D. 产生对象
69、面向对象方法中的( D )机制使子类可以自动拥有(复制)父类的全部属性和操作。
A. 约 束
B.对象映射
C.信息隐蔽
D.继承
70、使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是
( D )。
A.继承
B.多态性
C.约束
D.接口
71、UML 的软件以( A )为中心,以系统体系结构为主线,采用循环、迭代、渐增的方式进 行开发。
A.用例
B.对象
C. 类
D. 程序
72、UML 的( B )模型图由类图、对象图、包图、构件图和配置图组成。
A.用例
B.静态
C.动态
D.系统
73、UML 的( C )模型图由活动图、顺序图、状态图和合作图组成。
A.用例
B.静态
C.动态
D.系统
74、UML 的最终产物就是最后提交的可执行的软件系统和( D )。
A.用户手册
B.类图
C.动态图
D.相应的软件文档资料
75、在 UML 的需求分析建模中,( B )模型图必须与用户反复交流并加以确认。
A.配置
B.用例
C.包
D.动态
76、可行性研究分析报告包括经济可行性分析、技术可行性分析和( B )可行性分析。
A.风险
B.法律
C.资源
D.效益
77、UML 的客户需求分析模型包括( A )模型、类图、对象图和活动图组成。
A.用例
B.静态
C.动态
D.系统
78、UML 客户需求分析使用的 CRC 卡片上“责任”一栏的内容主要描述类的( C )和操作。
A.对象成员
B.关联对象
C. 属 性
D.私有成员
79、UML 客户需求分析产生的用例模型描述了系统的( D )。
A. 状 态
B.体系结构
C.静态模型
D.功能要求
80、在 UML 的需求分析建模中,用例模型必须与( B )反复交流并加以确认。
A.软件生产商
B.用户
C.软件开发人员
D.问题领域专家
81、在 UML 的需求分析模型中,对用例模型中的用例进行细化说明应使用( A )。
A.活动图
B.状态图
C.配置图
D.构件图
82、活动图中的分劈和同步接合图符是用来描述( A )。
A.并发处理行为
B.对象的时序
C.类的关系
D.系统体系结构框架
83、UML 的系统分析进一步要确立的三个系统模型是( B )、对象动态模型和系统功能模型。
A.数据模型
B.对象静态模型
C.对象关系模型
D.体系结构模型
84、UML 的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符( A )。
A.完全相同
B.完全不同
C.不可以通用
D.稍有差异
85、类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有( C )。
A.正负号
B.动作
C.具体值
D.私有成员
86、UML 系统需求分析阶段产生的包图描述了系统的( B )。
A.状态
B.系统体系层次结构
C.静态模型
D.功能要求
87、设计模式在面向对象系统设计中是( D )的一种形式。
A.软件调用
B.设计方法
C.子系统
D.软件复用
88、“对象容器”设计模式对有限的对象进行管理,它不能( C )对象。
A.查找
B.修改
C.创建
D.删除
89、UML 系统设计的一般步骤包括系统对象设计、系统体系结构设计和系统设计的( C )和审查。
A.建模
B.完善
C.优化
D.迭代
90、顺序图和合作图主要用于用例图中( B )的建模,用它们来描述用例图的行为。
A.数据流
B.控制流
C.消息流
D.数据字典
91、顺序图的模型元素有( A )、消息、链接等,这些模型元素表示某个用例中的若干个对象 和对象之间所传递的消息,来对系统的行为建模。
A.对象
B.箭头线
C.活动
D.状态
92、顺序图描述( D )对象之间消息的传递顺序。
A.某个
B.单个
C.一个类产生的
D.一组
93、顺序图和合作图建立了 UML 面向对象开发过程中的对象动态( A )模型。
A. 交互
B. 状态
C.体系结构
D.软件复用
94、状态图可以表现( B )在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移而引起的动作。
A.一组对象
B.一个对象
C.多个执行者
D.几个子系统
95、状态图描述一个对象在不同( A )的驱动下发生的状态迁移。
A.事件
B.对象
C.执行者
D.数据
96、一个( D )迁移图符可以有多个源状态或目标状态,它们可以把一个控制分解为并行运行的并发状态,或将多个并发线程接合成单个线程。
A.状态
B.对象
C.活动
D.同步并发
97、活动图中动作状态之间的迁移不是靠( B )触发的,当活动(动作)状态中的活动完成
时迁移就被触发。
A.对象
B.事件
C.执行者
D.系统
98、状态图和活动图建立了 UML 面向对象开发过程中的对象动态( B )模型。
A. 交 互
B. 状 态
C.体系结构
D.软件复用
99、系统体系结构是用来描述系统各部分的结构、接口以及它们用于通信的( A )。
A.一种机制
B.形式
C.原理
D.结构
100、UML 可以图描述硬件之间的互联关系,也能描述硬件单元上的( B )系统的分布。
A.对象
B.软件
C.系统体系结构
D.数据
101、( B )是对系统的用例、类、对象、接口以及相互间的交互和协作进行描述。
A.系统体系结构
B.软件(逻辑)系统体系结构
C.硬件(物理)系统体系结构
D.系统框架
102、( D )要对系统的构件、节点的配置进行描述。
A.软件(逻辑)系统体系结构
B.系统体系结构
C.系统架构
D.硬件(物理)系统体系结构
103、( A )是软件(逻辑)系统体系结构(类、对象、它们之间的关系和协作)中定义的概念和功能在物理体系结构中的实现。
A.构件
B.节点
C.软件
D.模块
104、( D )由节点和节点之间的联系组成,描述了处理器、设备和软件构件运行时的体系结构。
A.构件图
B.状态图
C.顺序图
D.配置图
105、( C )的基本元素有节点、构件、对象、连接、依赖等。
A.构件图
B.状态图
C.配置图
D.顺序图
二.填空题(16 题)
- 软件的定义可以简单的表述为:软件 =( 程序 + 文档 )
- 软件开发工作量的度量单位一般采用:( 人天、人月、人年 )
- 成功的测试是( 运行测试用例后,发现了至今为止尚未发现的程序错误 )
- 软件的测试可以分为 4 个步骤,主要包括( 单元测试 )、集成测试、( 确认测试 )和系统测试。
- 在软件的开发过程中,必须遵循的原则是抽象、信息隐蔽和( 模块化 )。
- 结构化设计方法以数据流图为基础,按一定步骤映射成软件结构,数据流图有两种基本结构:变换型结构和( 事务流行结构 )。
- 测试技术有黑盒测试和白盒测试两种,根据程序的功能来设计测试用例,这种方法称为( 黑盒 )测试。
- 在面向对象的系统设计过程中,有 4 种主要的设计组件必须定义,它们是领域组件、( 人机交互组件 ) 、任务管理组件和数据管理组件。
- 软件维护的内容包括纠错性维护,( 适应性维护 )、完善性维护和( 预防性维护 )。
- 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、( 可移植性 )、可使用性和效率。
- 为使软件适应运行环境的改变而进行的一类维护称之为( 适应性维护 )。
- 向一个已经拖期的项目追加开发人员,可能使它完成得更晚。鉴于这一发现的重要性, 许多文献称之为( Brooks )定律。
- 在 UML 的图形符号中,虚线箭头表示的是两个元素之间的 ( 依赖 )关系。
- 统一建模语言是面向对象软件工程所使用的一种建模工具,其英文缩写是( UML )
- 常用( 耦合 )和内聚这两个定性度量标准来评定模块的独立性。
- 软件结构的深度、宽度、扇人、扇出四个特征,定义了软件结构的形态。( 扇出 )是指一个模块直接调用的下属模块的数目。
三.名词解释(11 题)
1、软件危机
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2、软件的可维护性
维护人员理解、改正、改动和改进这个软件的难易程度。
3、软件工程
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、软件生存周期模型
人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考。
5、软件复用
在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。
6、信息隐蔽
信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。
7、数据字典(DD)
数据字典是描述数据的信息的集合,是对系统中使用的所有数据元素/数据流图中包含的所有元素 的定义的集合。
8、类
具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。
9、多态性
多态性是面向对象程序设计的重要特性之一,本质意思是指,在面向对象程序设计中,指同样的方法被不同对象执行时会有不同的执行效果。
10、白盒法
按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法
11、路径覆盖
在设计白盒测试时,设计若干个测试用例,然后运行被测程序,要求覆盖程序中所有可能的路径。
四.简答论述题(14 题)
1、什么是软件危机?软件危机的表现是什么?其产生的原因是什么?
什么是软件危机:
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机的表现:
(1)对软件开发成本和进度的估计常常很不准确
(2)用户对“已完成的”软件系统不满意的现象经常发生
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生的原因:
(1)与软件本身特点有关
(2)软件开发与维护的方法不正确有关
2、请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?
软件文档的作用:
提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。
软件开发项目生存期各阶段应包括的文档以及与各类人员的关系如下:
可行性研究报告、项目开发计划、软件需求说明书、 数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。
3、试写出模块化的完整定义和模块化的实现原则。
模块化的完整定义包括:
(1)模块可分解性;
(2)模块可结合性;
(3)模块可理解性;
(4)模块连贯性;
(5)模块保护性。
模块化的实现原则包括:
(1)语言化的模块单元;
(2)少量接口;
(3)小的接口耦合性;
(4)显式的接口;
(5)信息的隐藏化.
4、面向对象方法有哪些主要特点?
(1)使人们更好地认识客观世界。
(2)能很好地适应需求变化。
(3)容易实现软件复用。
(4)系统易于维护和修改。
5、OOA 主要遵循哪些原则?
(1)构造和分解相结合的原则。
(2)抽象化和具体化相结合的原则。
(3)封装的原则。
(4)相关的原则。
(5)行为约束的原则。
6、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?
黑盒测试设计测试用例的方法有:等价类划分法、边界值分析法、错误推测法、因果图法。
特点:
(1)等价类划分法:测试的内容相同;一个等价类中的某个测试可以发现缺陷,那么这个等价类的其他测试也能发现缺陷;一个等价类中的某个测试不能发现缺陷,那么这个等价类的其它测试也不能发现缺陷。
(2)边界值分析法:用边界值分析时时常收获较大,它是在等价类的边界上选择测试用例。
(3)错误推测法:没有确定的步骤,很大程度上是凭借经验进行的。
(4)因果图法:考虑输入条件间的组合关系,考虑输出条件对输入条件的信赖关系,测试用例发现错误的效率高:能查出功能说明中的某些不一致或遗漏。
7、什么是软件生存周期?其可以划分为几个时期?每个时期又可分为几个阶段?每个阶段的主要任务是什么?
软件生存周期:软件从概念形成到退役的整个过程。
软件生命周期可划分为:软件定义、软件开发、软件运维。
每个时期可划分为多个阶段:
(1)软件定义:问题定义、可行性研究、需求分析。
(2)软件开发:总体设计、详细设计、编码和单元测试、综合测试。
(3)软件维护:运行维护。
每个阶段的主要任务:
(1)问题定义阶段必须回答要解决的问题是什么。
(2)可行性研究阶段要回答对于上一个阶段所确定的问题有行得通的解决办法吗。
(3)需求分析阶段要准确地确定为解决此问题,目标系统必须做什么。
(4)总体设计阶段必须回答应如何解决此问题
(5)详细设计阶段回答该怎样具体地实现这个系统
(6)编码和单元测试阶段是写出正确的、易理解、易维护的程序模块。
(7)综合测试阶段是通过各种类型的测试、调试使软件达到预定要求。
(8)运行维护阶段对软件进行改正性、适应性、完善性和预防性维护活动。
8、如何做好软件质量保证工作?
(1)在软件开发生命周期中,从软件规格说明书到软件维护,将质量控制体系融入到软件开发中;
(2)通过开发过程中的检查、测试和验收等活动来确保软件的质量;
(3)通过管理系统的完善和改进,来持续改善软件质量。
9、软件开发模型有几种?并简述其特点?
软件开发模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。
以下是每个模型的特点:
-
瀑布模型(Waterfall Model):
- 瀑布模型是一种线性顺序的开发模型,将软件开发过程划分为一系列连续的阶段,如需求分析、设计、开发、测试和部署。
- 每个阶段在前一个阶段完成后开始,并严格按照顺序进行。
- 瀑布模型适用于需求明确且不太可能发生变化的项目。
-
快速原型模型(Rapid Prototype Model):
- 快速原型模型侧重于快速构建一个原型,以验证用户需求和系统设计的有效性。
- 开发团队在与用户紧密合作的情况下创建原型,以便在早期阶段获取反馈并进行迭代改进。
- 快速原型模型适用于需求不明确或高度交互性的项目。
-
增量模型(Incremental Model):
- 增量模型将软件开发过程划分为多个增量或部分,每个增量都包含完整的开发生命周期。
- 每个增量都是一个可交付的产品版本,具备一定的功能。
- 每个增量在前一个增量的基础上进行开发,每个增量都经过测试和验证。
- 增量模型适用于大型项目,可在开发过程中逐步增加功能和逐渐交付。
-
螺旋模型(Spiral Model):
- 螺旋模型结合了瀑布模型和快速原型模型的特点。
- 它采用迭代的方式进行软件开发,每个迭代都经历需求分析、设计、开发和测试等阶段。
- 每个迭代的目标是确定和解决风险,并在下一个迭代中进行进一步开发。
- 螺旋模型适用于大型、复杂且风险较高的项目。
-
喷泉模型(Fountain Model):
- 喷泉模型是一种以需求为中心的开发模型,强调灵活性和持续改进。
- 它将开发过程视为不断迭代的过程,以满足不断变化的需求。
- 开发团队通过快速迭代、快速发布和快速反馈来推动开发过程。
- 喷泉模型适用于需求变化频繁、灵活性要求高的项目。
10、系统设计的内容是什么?
(1)架构设计:确定系统的整体结构和组织方式。
(2)数据设计:定义系统中的数据模型和数据存储方式。
(3)接口设计:定义系统与外部系统或模块之间的接口规范。
(4)模块设计:对系统进行模块化划分,并设计各个模块的功能和实现方式。
(5)用户界面设计:设计系统的用户界面,以提供用户友好的交互方式。
(6)安全设计:考虑系统的安全需求,并设计相应的安全机制和措施。
(7)性能设计:考虑系统的性能要求,并设计系统以满足这些要求。
(8)可靠性设计:设计系统以保证其可靠性和可用性。
11、什么是 UML?使用 UML 进行建模有哪些目的?
UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
使用UML进行建模的目的有:
(1)使用模型可以更好地理解问题。
(2)加强人员之间的沟通。
(3)更早地发现错误或疏漏的地方。
(4)获取设计结果。
(5)为最后的代码生成提供依据。
12、请根据 UML 的图在不同架构视图中的应用将把它们分类。
(1)用户模型视图:用例图。
(2)结构模型视图:类图、对象图。
(3)行为模型视图:时序图、协作图、状态图、活动图。
(4)实现模型视图:构件图。
(5)环境模型视图:部署图。
13、根据下列条件,使用等价划分法设计测试用例。
某一 8 位微机,其十六进制常数定义为:以 0x 或 0X 开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如 0X13,0X6A,-0X3c。
根据等价划分法,我们可以将输入条件划分为以下几个等价类:
- 有效的十六进制整数:范围为-7f~7f,包括正数和负数。
- 非十六进制整数:超出有效范围的数值,例如大于7f或小于-7f。
- 非法的十六进制整数:不以"0x"或"0X"开头的数。
基于这些等价类,我们可以设计以下测试用例:
-
有效的十六进制整数:
-
输入:0x13
-
预期输出:有效的十六进制整数
-
输入:0X6A
-
预期输出:有效的十六进制整数
-
输入:-0X3C
-
预期输出:有效的十六进制整数
-
-
非十六进制整数:
-
输入:0x80
-
预期输出:非十六进制整数
-
输入:-0x90
-
预期输出:非十六进制整数
-
输入:0X7F
-
预期输出:非十六进制整数
-
输入:-0X7F
-
预期输出:非十六进制整数
-
-
非法的十六进制整数:
-
输入:13
-
预期输出:非法的十六进制整数
-
输入:0x1G
-
预期输出:非法的十六进制整数
-
输入:-0x1c
-
预期输出:非法的十六进制整数
-
输入:ABC
-
预期输出:非法的十六进制整数
-
14、分析并绘制出相应的模块结构图
某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业 管理系统,其中:
-
生产科的任务是:
-
根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月 生产计划。
-
根据车间实际生产日报表、周报表调整月生产计划
-
以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
-
将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
-
-
技术科的任务是:
-
根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生 外购需求计划给供应科,并产生产品自制物料清单。
-
根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件 厂。
问题:请写出以上系统中“生产科”和‘技术科’处理的软件结构图。(写在答题卡上有效)