软件工程实践(1)
另一方面与软件开发和维护方法不正确有关, 这是主要原因。
特别是忽视软件需求分析的重要性
忽视软件需求分析的重要性
对用户要求没有完整准确的认识就匆忙 着手编写程序 软件开发与编程等同 忽略文档 软件定义不明 轻视维护
对软件开发的错误认识(1)
已经有了关于建造软件的标准和规程
课程目的
面向软件工程的工程应用 了解软件工程的基本概念 了解软件工程过程 掌握基本的软件工程技术方法 掌握基本的软件工程管理方法
课程安排
60学时(20周,每周3学时),20讲 参考教材:《软件工程 —— 实践者的研 究方法》,(美)Roger S. Pressman著, 第四版,黄柏素、梅宏 译,北京:机械 工业出版社,1999年10月
课时
每周二晚上6:40开始 二号楼106多媒体教室 每节课45分钟,休息10分钟 第一节课6:40-8:00 休息15分钟(8:00-8:15) 第二节课8:15-9:10
课程内容(旧)
第一讲 软件工程原理 第二讲 软件过程 第三讲 结构化方法概论 第四讲 需求分析 第五讲 需求分析方法 第六讲 软件设计 第七讲 软件设计方法 第八讲 软件编码和调试 第九讲 软件可靠性安全性设 计指南 第十讲 软件测试策略 第十一讲 软件测试方法 第十二讲 软件维护和软件重 用 第十三讲 软件项目策划 第十四讲 项目控制和风险管 理 第十五讲 软件配置管理和需 求管理 第十六讲 软件质量保证和软 件评审与审查 第十七讲 SW-CMM介绍 第十八讲 新发展热点 第十九讲 复习 第二十讲 考试
什么是软件危机?
软件危机是指在计算机软件的开发和维护中 所遇到的一系列严重问题。 几乎所有软件都不同程度地存在这些问题 概括地说软件危机包含两方面问题:
如何开发软件,怎样满足对软件的日益增长的需 求 如何维护数量不断膨胀的已有软件
软件危机主要表现
1.对软件开发成本和进度的估计很不准确 2.用户对“已完成的”软件不满意的现象经常发生 3.软件产品的质量靠不住 4.软件不可维护 5.软件没有适当的文档资料 6.软件成本占计算机系统总成本的比例逐年上 升 7.软件开发生产率提高的速度远远跟不上计算机应 用迅速普及深入的趋势
第讲
软件工程原理
内容和目的
为什么要实施软件工程? 实施软件工程的益处? 软件工程的基本内容?
计算机系统工程
概念 系统分析和定义 软 件
系统(总体 )设计
硬 件
软件工程
硬件工程
计算机软件
计算机软件定义(GB):
a. 与计算机系统的操作有关的计算机程 序、规程、规则,以及可能有的文件、文档 及数据。 b. 与计算机系统的操作有关的程序、规 程、规则及任何与之有关的文档。
产生软件危机的原因
一方面与软件本身的特点有关
在软件运行前,软件开发过程的进展难衡量,质量 难 评价,因此管理和控制软件开发过程相当困难; 在软件运行中,软件维护意味着改正或修改原来的 设计,较难维 护; 软件的显著特点是规模庞大,复杂度超线性增长。 要保证高质量 大型软件的开发,极端复杂困难,不 仅涉及技术问题(如分析方 法、设计方法、版本控 制),更重要的是必须有严格而科学的管理。
要求在定义、开发和维护阶段的每一步中都采用经 过验证的方法 要求一系列的复查,以便在产品开发中保证质量 规定在每一步中要产生的特定的文档 鼓励能够加速开发的各种工具和方法的使用与研制 提供从原始产品概念到最后产品制造的一个可追溯 的途径
有了目标的一般描述就可以开始写程序
对软件开发的错误认识(3)
项目需求不断变化,但软件很灵活,变 化能够很容易地得到满足
软件需求的变化确实是经常的,但其产生的 影响随着引入的时间不同而不同
写出程序并使其正常运行,工作就结束 了
越早开始写程序,就要花越长时间才能够完 成
对软件开发的错误认识(4)
在程序真正开始运行前,无法评估其质 量
正式的技术评审 质量过滤器 软件=程序+文档+数据 文档是成功开发的基础 文档为维护提供指导
成功项目唯一应该提交的就是运行程序
解决办法...
全 面解决软件危机需要一 系列综合措施:
在软件研制的各个阶段采用好的工具; 对软件的实现提供有效的构件块; 为保证软件质量提供自动设计技术; 以及为协调、控制、管理提供基本理论和技 术——软件工程。
软件危机...
计算机硬件性能/价格比和质量稳步提高 软件成本逐年上升,质量没有可靠的保证 软件已成为限制计算机系统发展的关健因素 将软件开发和维护过程中遇到的一系列严重问题 统称为“软件危机” 在60年代后期开始认真研究解决软件危机的方 法,逐步形成了新兴的计算机软件工程学
...软件危机
...解决办法
软件工程这一要素将驾驭前面的工具、 构件决和技术 软件工程把管理、控制、评审等方法与 分析、设计、编码、测试、维护等技术 结合起来 没有坚实的软件开发方法学,即使最先 进的工具和技术也不能使软件危机有所 减轻
软件工程—工程化方法
用于解决任何产品开发的一种工程化方法是:
课程内容(新)
第一讲 软件工程原理 第二讲 软件过程 第三讲 结构化方法概论 第四讲 需求分析 第五讲 软件设计 第六讲 软件编码和调试 第七讲 软件可靠性安全性设 计指南 第八讲 软件测试 第九讲 软件维护和软件重用
第十讲 项目管理概念和资质评估 第十一讲 软件项目策划 第十二讲 项目控制和风险管理 第十三讲 配置管理和需求管理 第十四讲 质量保证和评审与审查 第十五讲 SW-CMM介绍 第十六讲 SPI和SW-CMM评估 第十七讲 A5案例 第十八讲 新发展热点 第十九讲 复习 第二十讲 考试
使用了吗? 开发者知道吗? 适用吗? 完整吗? 还需要计算机辅助软件工程(CASE)工具
已经有了很好的软件开发工具
对软件开发的错误认识(2)
如果计划落后,可以增加人员赶回来
给一个已经延迟的软件项目增加人手只会使 其更加延迟 原有人员需要抽实践训练新手 不完善的系统定义是项目失败的主要原因
软件工程实验一visio的使用
业务处理。
2.绘制业务流程图
双击图元添加文字,了解绘制业务流程图的方法。
(二)利用Visio绘制数据流图。
1.制作数据流图图元
数据流图4种基本图元(外部项、处理功能、数据流和数据存储)中,外部项 也需要利用“直线”和“正方形”对象组合形成,其他图元类似前面方法绘制。
实验一
一、
掌握用Visio完成软件结构化分析方法中相关文档的编制和图表绘制。
二、
1.研读国家标准GB/T8567-2006,掌握软件文档编制的规范。
2•熟练应用Visio绘制软件开发图形的基本操作,完成绘制业务流程图、数据流图、
功能模块图、软件结构图和软件界面。
二、完成情况
(一)利用Visio绘制业务流程图。
1、制作业务流程图图元
业务流程图5种基本图元(主体、单证、业务处理、 数据存储和业务流程流转 方向)可直接利用Visio提供的基本图形对象绘制,也可利用多个对象组合形成。
可选择“文件”->“形状”->“框图”->“基本形状”绘制主体(圆形)、单 证(文档)和业务处理(矩形);选择“文件”->“形状”->“软件”->“Gane-Sarson” 选项,打开Gane-Sarson图形对象集绘制数据存储;选择“文件”->“形状”io绘制概要设计模型。
可选择“文件”->“形状”->“软件”->“窗口和对话框”绘制主体;选择“文 件”->“形状”->“软件”->“公共控件”选项绘制按钮文本框;
四、
1.车辆业务购置流程
软件工程实训项目案例
软件工程实训项目案例在软件工程的学习过程中,实训项目是非常重要的一部分,它能够帮助学生将理论知识应用到实际项目中,提升实际操作能力和团队合作能力。
在这篇文档中,我们将结合一个软件工程实训项目案例,介绍项目的背景、目标、实施过程和成果,希望能够对读者有所启发和帮助。
项目背景。
本次实训项目的背景是一个校园二手交易平台的开发。
随着大学生群体的不断扩大,校园内的二手交易需求也日益增加,然而现有的二手交易平台存在着信息不够真实、交易不够安全等问题。
因此,我们的项目目标是开发一个安全、便捷、真实的校园二手交易平台,满足大学生群体的实际需求。
项目目标。
我们的项目目标主要包括以下几点:1. 开发一个用户友好的校园二手交易平台,实现用户注册、发布商品、浏览商品、下单购买等功能。
2. 提供安全可靠的交易环境,包括支付系统、评价系统、举报系统等,保障交易双方的权益。
3. 提供真实的商品信息,包括商品描述、图片上传、价格标注等,确保交易信息的真实性和准确性。
4. 实现平台的推广和运营,吸引更多的用户加入,形成良好的用户生态。
实施过程。
在项目的实施过程中,我们首先进行了需求分析和项目规划,明确了项目的功能模块和开发计划。
然后进行了团队组建和分工,确定了项目的开发人员、测试人员、运营人员等角色。
接下来是系统设计和开发,我们采用了敏捷开发的方法,不断进行迭代和优化,保证项目的质量和进度。
最后是测试上线和运营推广,我们进行了系统的测试和优化,然后进行了上线和推广工作,确保项目的顺利运行。
项目成果。
经过几个月的努力,我们最终实现了项目的目标,开发了一个功能完善、界面友好、运行稳定的校园二手交易平台。
平台上线后,得到了广大大学生群体的欢迎和认可,交易量不断增加,形成了良好的用户生态。
同时,我们也建立了完善的运营体系,包括用户维护、市场推广、运营活动等,确保了平台的持续发展和稳定运行。
总结。
通过这次实训项目,我们不仅学习到了软件工程的理论知识,还锻炼了团队合作能力和项目管理能力,收获了实际操作的经验。
19春北交《软件工程与实践》在线作业一答案
------------------------------------------------------------------------------------------------------------------------------ (单选题)1: 以下不属于白盒测试技术的是( )A: 逻辑覆盖B: 基本路径测试C: 循环覆盖测试D: 等价类划分正确答案:(单选题)2: 可行性研究的步骤中不包括( )的内容.A: 复查初步分析结果.B: 研究现有的系统C: 导出新系统高层逻辑模型.D: 建立新系统的物理模型解法.正确答案:(单选题)3: 为改正软件系统中潜藏的错误而进行的维护活动称为( )A: 纠错性维护B: 适应性维护C: 改善性维护D: 预防性维护正确答案:(单选题)4: 操作系统可以定义为()。
A: 与计算机硬件紧密相关的一层系统软件B: 建立和使用通信硬件和软件的一套规则和规范C: 执行计算机数据处理的软件模块D: 一套计算机硬件管理规范正确答案:(单选题)5: 进程的以下哪个状态转换是不可能的()。
A: 就绪状态-执行状态B: 执行状态-就绪状态C: 阻塞状态-就绪状态D: 等待状态-执行状态正确答案:(单选题)6: 下列()地址可分配给主机作为B类IP地址使用。
A: 127.0.0.1B: 192.12.25.255C: 202.96.96.0D: 162.3.5.1正确答案:(单选题)7: 如果一个C类网络用掩码255.255.255.224划分子网,那么会产生()个可用的子网。
A: 16B: 6C: 2D: 4正确答案:------------------------------------------------------------------------------------------------------------------------------ (单选题)8: 实践表明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的( )A: 30B: 50C: 70D: 90正确答案:(单选题)9: 软件的发展经历了( )个发展阶段A: 1B: 2C: 3D: 4正确答案:(单选题)10: 盒图也称为( )或Chapin图.这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题.A: 流程图B: 框图C: 判定表D: N-S图正确答案:(单选题)11: 人机界面的风格大致经过了( )代的演变.A: 三B: 四C: 五D: 六正确答案:(单选题)12: 判定表由四部分组成:左上部列出( ).A: 条件组合与动作之间的对应关系B: 所有条件C: 所有可能的动作D: 可能的条件组合正确答案:(单选题)13: 面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( )到计算机世界的方法.A: 对应B: 映射C: 反映D: 反射正确答案:(单选题)14: 需求分析的任务不包括( ).A: 问题分析B: 系统设计C: 需求描述------------------------------------------------------------------------------------------------------------------------------ D: 需求评审.正确答案:(单选题)15: 技术可行性是可行性研究的关键,其主要内容一般不包括( ).A: 风险分析B: 资源分析C: 人员分析D: 技术分析正确答案:(单选题)16: 从事物的属性侧面来描述事物的方法就是( )的方法.A: 面向对象B: 面向数据C: 面向过程D: 面向属性正确答案:(单选题)17: 根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为( ). A: 纠错性维护B: 适应性维护C: 改善性维护D: 预防性维护正确答案:(单选题)18: 以下不属于逻辑覆盖的是( ).A: 语句覆盖B: 判定覆盖C: 条件覆盖D: 基本路径正确答案:(单选题)19: 面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的( )结构A: 程序B: 数据C: 逻辑D: 物理正确答案:(单选题)20: 有A、B、C三个元素依次入栈,不可能的出栈顺序是()。
软件工程-实践者的研究方法
软件工程-实践者的研究方法在软件工程领域,实践者经常面临着各种各样的问题,需要进行研究来解决这些问题。
研究方法在实践者的工作中起到了至关重要的作用,帮助他们系统地获取、分析和应用相关信息。
本文将介绍几种常见的软件工程实践者的研究方法,包括案例研究、调查研究、实验研究和文献综述。
一、案例研究案例研究是软件工程实践者常用的一种研究方法。
它通过详细地调查和分析实际的软件项目或实践案例,来获取关于软件开发和维护过程的有用信息。
案例研究可以帮助实践者深入了解实际工作中的问题、挑战和解决方法,从而提高他们的技术水平和工作效率。
二、调查研究调查研究是另一种常用的软件工程实践者的研究方法。
它通过问卷调查、访谈或观察等方式收集数据,以了解实践者在软件开发和维护过程中的实际行为、经验和观点。
调查研究可以帮助实践者了解目标用户的需求和期望,从而指导他们进行需求分析和设计工作。
三、实验研究实验研究是一种系统的、科学的研究方法,广泛应用于软件工程领域。
实践者可以设计和进行实验,以验证和评估不同的软件开发方法、工具和技术。
实验研究可以帮助实践者比较不同的解决方案,评估其性能和效果,从而帮助他们做出更为科学和合理的决策。
四、文献综述文献综述是软件工程实践者常用的一种研究方法。
它通过查阅和分析已有的文献和相关资料,来了解和总结某个特定主题的研究进展、方法和结果。
文献综述可以帮助实践者了解目前领域内的最新进展和成果,从而指导他们的实际工作和研究方向。
除了上述几种常见的研究方法,实践者还可以结合不同的方法进行混合研究。
例如,可以通过案例研究和调查研究相结合,来获取更全面和准确的信息;或者可以通过实验研究和文献综述相结合,来验证和支持已有的理论和方法。
总之,软件工程实践者在进行研究时可以选择多种方法,根据实际情况来确定最合适的方法。
无论选择哪种方法,都应该注重数据的收集和分析,严谨地进行研究,以获取有价值的结果,并将其应用到实际工作中,不断提高软件开发和维护的质量和效率。
软件工程习题(1)
简单好学
逆转性差
可 以 分 阶 段 提 有时用户不同意 交 需求可变 开发速度快 需求可变 提高开发效率 风险大 不利于创新 建设周期长 不利于项目的管理
瀑布模型的特点: 过程逆转性很差或者说不可逆转, 因为根据上游的错误会在下游进行发散 性传播的原理,所以逆转将会延误工期,增加成本,造成重大损失。 选择瀑布模型必须满足下列条件: (1) 在开发时间内需求没有或很少变化。 (2) 分析设计人员对应用领域很熟悉。 (3) 低风险项目(对目标、环境很熟悉) 。 (4) 用户使用环境很稳定。 (5) 用户除提出需求以外,很少参与开发工作。 瀑布模型适合于功能和性能明确、完整、无重大变化的软件开发
5、根据下列条件使用等价类划分法设计测试用例。(书 P118 例) 某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的 范围是-177~177,如 05,0127,-065 (1)划分等价类并编号,如下表示:
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子
(3)为不合理等价类测试用例,至少设计一个测试用例
6、将下面给出的伪码转换为 N-S 图。 (8 分) void root ( float root1, float root2 ) { i = 1; j = 0; while ( i <= 10 ) { 输入一元二次方程的系数 a, b, c; p = b*b – 4*a*c; if ( p < 0 ) 输出“方程 i 无实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) { 求出重根并输出; j = j + 1; } i = i +1; } 输出重根的方程的个数 j; }
8、使用 PAD 图描述在数组 A(1)~A(10)中找最大数的算法
北交《软件工程与实践》在线作业一【答案58926】
13.下列关于进程的描述错误的是()。 A.进程是动态的 B.进程有生命期 C.多个进程可以并行执行,不需同步机构 D.程序的执行过程是进程
14.线性链表的地址()。 A.必须连续 B.部分地址必须连续 C.一定不连续 D.连续与否均可以
10.存储器的读写速度排列顺序正确的是()。 A.RAMCache硬盘软盘 B.CacheRAM硬盘软盘 C.Cache硬盘RAM软盘 D.RAM硬盘软盘Cache
11.面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的 ()结构 A.程序 B.数据 C.逻辑 D.物理
7.从事物的组成部件及每个部件的属性,功能来认识事物.这种方法被称为()的方法. A.面向对象 B.面向数据 C.面向过程 D.面向属性
8.Jackson方法在需求分析阶段的主要步骤不包括(). A.了解实体行为 B.标识实体与行为
C.生成实体结构图 D.创建软件系统模型
9.在下列功能中,()最好地描述了OSI模型的网络层。 A.保证数据正确的顺序、无错和完整 B.提供用户与网络的接口 C.处理信号通过介质的传输 D.控制报文通过网络的路由选择
4.分配到必要资源并获得了处理机时的进程状态称为()。 A.就绪状态 B.执行状态 C.等待状态 D.阻塞状态
5.人机界面的风格大致经过了()代的演变. A.三 B.四 C.五 D.六
6.为改正软件系统中潜藏的错误而进行的维护活动称为() A.纠错性维护 B.适应性维护 C.改善性维护 D.预防性维护
18.软件的发展经历了()个发展阶段 A.1 B.2 C.3 D.4
19.有一数列:87 55 66 13 19 39 48 经过一趟排序后得到: 55 87 13 66 19 39 48 请问使用的 是何种排序方法?() A.简单插入排序 B.冒泡排序 C.2路归并排序 D.快速排序
软件工程 自动售货机(一)2024
软件工程自动售货机(一)引言概述:自动售货机是一种常见的自动化设备,通过使用软件工程的原理和方法,可以实现售卖商品的自动操作。
本文将对自动售货机的软件工程实现进行探讨,包括需求分析、设计、编码、测试和维护等五个大点。
正文:一、需求分析1. 确定售货机的基本功能需求:能够接受用户选择和支付,出货,并且提供合适的找零。
2. 收集并分析用户需求:了解用户对售货机的期望和功能需求,包括界面友好性、支付方式、库存管理等。
3. 确定系统性能需求:包括响应时间、安全性、可扩展性等方面的要求。
4. 进行权衡分析,确定功能和性能需求的优先级。
5. 编写需求规格说明书,明确系统的功能和性能需求。
二、设计1. 针对系统需求,进行概要设计和详细设计,确保系统的可靠性和可扩展性。
2. 设计售货机的用户界面,包括选择商品、支付方式、显示金额等。
3. 设计商品库存管理系统,包括库存监控、商品补货等。
4. 设计支付系统,包括现金支付、电子支付等。
5. 设计售货机的硬件接口,确保系统与硬件设备的连接正常。
三、编码1. 根据设计文档,进行编码工作,实现系统的各项功能。
2. 使用合适的编程语言和开发工具进行编码,确保编码规范和代码质量。
3. 编写各个模块的单元测试用例,并进行单元测试验证。
4. 进行代码审查,确保代码的可读性和稳定性。
5. 完成编码工作后,进行集成测试,确保各个模块之间的协同工作正常。
四、测试1. 进行系统功能测试,验证系统是否满足用户需求。
2. 进行性能测试,包括系统的响应时间、并发访问能力等方面的测试。
3. 进行安全测试,保障系统的安全性,防止恶意攻击和数据泄露。
4. 进行用户界面测试,保证用户友好性和易用性。
5. 根据测试结果,改进系统的设计和实现,保证系统的质量和稳定性。
五、维护1. 监控售货机的运行情况,及时发现和处理系统故障。
2. 定期进行系统更新和维护,增加新的功能和改进系统性能。
3. 收集用户反馈,改进系统的设计和功能,提高用户满意度。
软件工程基础(一)有答案
软件工程基础(一)一、选择题1. 软件工程学的提出起源于软件危机,而其目的应该是最终解决软件的______ 问题。
A.质量保证B.生产危机C.生产工程化D.开发效率答案:C2. 软件生命周期分为几个阶段,需求分析属于______ 阶段的任务。
A.定义B.开发C.维护D.编码答案:A3. 软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指______。
A.结构化方法B.面向对象方法C.二者都对D.二者都不对答案:A4. 软件生命周期一般可以分为3大的阶段,它们分别是______ 。
A.分析、设计和维护B.定义、开发和测试C.分析、编码和测试D.定义、开发和维护答案:D5. 软件工程上常用的表达工具有______ 。
A.图形工具B.表格工具C.语言工具D.以上全是答案:D6. 软件工程环境一般应具有某些特征,下列叙述中______ 不是它必须具备的特征。
A.一组工具的集合B.按方法或模式组合的工具C.提供完善的移植工具D.支持全周期或阶段的工具答案:C7. 结构化分析方法(SA) 是一种______ 。
A.自顶向下逐层分解的分析方法B.自底向上逐层分解的分析方法C.面向对象的分析方法D.以上都不对答案:A8. 自顶向下设计把下列______ 结合起来交叉进行。
A.设计、编码、维护B.设计、编码、测试C.设计、编码、调试D.模块设计、程序设计、算法设计答案:C9. 数据流图是进行软件需求分析常用的工具,其中最基本的图符是:变换、数据流、数据存储和外部实体,其中用______ 图符来代表图中的数据池(数据最终的目的地)。
A.变换B.数据流C.数据存储D.外部实体答案:D10. 由事务型数据流图映射为软件结构的设计首先应设计一个______ ,它有两个功能:接收事务数据,根据事务类型调度相应的处理模块。
A.总控模块B.事务中心C.变换中心D.事务调度答案:B11. 面向数据流的设计方法把______ 映射成软件结构。
软件设计师软件工程(一)模拟题
[模拟] 软件设计师软件工程(一)选择题第1题:在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述中,不正确的是______。
A.Gantt图表现了各个活动的持续时间B.Gantt图表现了各个活动的起始时间C.Gantt图反映了各个活动之间的依赖关系D.Gantt图表现了完成各个活动的进度参考答案:C第2题:耦合度描述了______。
A.模块内各种元素结合的程度B.模块内多个功能之间的接口C.模块之间公共数据的数量D.模块之间相互关联的程度参考答案:D第3题:内聚是一种指标,表示一个模块______。
A.代码优化的程度B.代码功能的集中程度C.完成任务的及时程度D.为了与其他模块连接所要完成的工作量参考答案:B第4题:在软件项目开发过程中,评估软件项目风险时,______与风险无关。
A.高级管理人员是否正式承诺支持该项目B.开发人员和用户是否充分理解系统的需求C.最终用户是否同意部署已开发的系统D.开发需要的资金是否能按时到位参考答案:C第5题:最主要的软件质量度量指标有正确性、可维护性、完整性和可用性,下面关于这些质量指标的描述中正确的是______。
A.软件维护的工作量比开发阶段的工作量小B.正确性用每千行代码的故障(fault)数来度量C.软件完整性是指软件功能与需求符合的程度D.可用性与用户的操作效率和用户对软件的主观评价有关参考答案:D第6题:某工程计划图如图4-1所示,弧上的标记为作业编码及其需要的完成时间(天),作业E最迟应在第______天开始。
A.7B.9C.12D.13参考答案:D第7题:正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中不正确的是______。
A.评审产品,而不是评审生产者的能力B.要有严格的评审计划,并遵守日程安排C.对评审中出现的问题要充分讨论,以求彻底解决D.限制参与者人数,并要求在评审会之前做好准备参考答案:C第8题:两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是______个。
软件工程习题与答案(第1次)
软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。
2、N-S图中的顺序结构:在PAD图中表示为:PAD图设置五种基本控制结构,并允许递归使用。
3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此之间相互依赖的紧密程度。
内聚衡量一个模块内部各个元素彼此结合的紧密程度。
4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。
二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。
A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。
A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。
A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。
A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。
(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。
(√)3、在软件开发中采用原型系统策略的主要困难是成本问题。
(√)4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。
(√)5、下图表示的是WHILE 型循环。
(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。
(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。
