软件工程概论样本

软件工程概论样本
软件工程概论样本

软件工程

1、软件危机:软件危机是指在计算机软件开发和维护过程中遇到一系列严重问题。包括两方面问题:(1)如何开发软件,以满足对软件日益增长需求;(2)如何维护数量不断膨胀已有软件。

2、软件危机重要体现:

(1)对软件开发成本和进度预计经常很不精确;

(2)顾客对“已完毕”软件系统不满意现象经常发生;

(3)软件产品质量往往靠不住;

(4)软件经常是不可维护;

(5)软件普通没有恰当文档资料;

(6)软件成本在计算机系统总成本中所占比例逐年上升;

(7)软件开发生产率提高速度,远远跟不上计算机应用迅速普及进一步趋势。

3、产生软件危机因素

(1)从软件特点上看,软件是逻辑部件,不是物理部件;

(2)软件是很大程序,复杂且有诸多技术问题,但缺少严格而科学管理;

(3)软件参加人员多且成分复杂(需求人员,开发人员,顾客,维护人员等);

(4)在软件实践过程中或多或少采用错误(但当时无法知晓)办法和技术(这是重要因素)

4、消除软件危机途径

(1)一方面应当对计算机软件有一种对的结识;

(2)更重要是,必要充分结识到软件开发不是某种个体劳动神秘技巧,而应当是一种组织良好、管理严密、各类人员协同配合、共同完毕工程项目;

(3)应当推广使用在实践中总结出来开发软件成功技术和办法,并且研究摸索更好更有效技术和办法,尽快消除在计算机系统初期发展阶段形成某些错误概念和做法;

(4)应当开发和使用更好软件工具

总之,为理解决软件危机,既要有技术办法(办法和工具),又要有必要组织管理办法。

5、软件工程:软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件一门新兴学科。(1)1968年NATO会议:软件工程就是为了经济地获得可靠且能在实际机器上有效地运营软件,而建立和

使用完善工程原理。

(2)1993IEEE定义:软件工程是①把系统、规范、可度量途径应用于软件开发、运营和维护过程,也就是把工程应用于软件;②研究①中提到途径。

6、软件工程本质特性

(1)软件工程关注于大型程序构造;

(2)软件工程中心课题是控制复杂性;

(3)软件经常变化;

(4)开发软件效率非常重要;

(5)和谐地合伙是开发软件核心;

(6)软件必要有效地支持它顾客;

(7)在软件工程领域中普通由具备一种文化背景人替具备另一种文化背景人创造产品。

7、软件工程基本原理

(1)用分阶段生命周期筹划严格管理

(2)坚持进行阶段评审

(3)实行严格(阶段性)产品控制

(4)采用当代程序设计技术

(5)成果应能清晰地审查

(6)开发小组人员应当少而精

(7)承认不断改进软件工程实践必要性

8、软件生命周期:一种软件从定义、开发、使用和维护,直到最后被废弃,所历经一种漫长时期。涉及:可行性分析和项目开发筹划,需求分析,概要设计,详细设计,编码,测试,维护。

(1)软件定义时期:拟定软件开发工程必要完毕总目的;拟定工程可行性;导出实现工程目的应当采用有关方略及系统必要完毕功能;预计完毕该项工程需要资源和成本,并恰当预计完毕进度表。

(2)软件开发时期:总体设计;详细设计;编码和单元测试;综合测试。

(3)软件维护时期:重要任务是使软件更持久地满足顾客需要。详细地说,当软件在使用过程中发现错误时应当加以改正;当环境变化时应当修改软件以适应新环境;当顾客有新规定期应当及时改进软件以满足顾客新需要。

9、软件生命周期每个阶段基本任务

(1)问题定义:“要解决问题是什么?”;

(2)可行性研究:“对于上一种阶段所拟定问题有行得通解决方案吗?”

(3)需求分析:“为理解决这个问题,目的系统必要做什么。”

(4)总体设计:“概括地说,应当如何实现目的系统?”

(5)详细设计:“应当如何详细地实现这个系统呢?”

(6)编码和单元测试:核心任务是写出对的容易理解、容易维护程序模块。

(7)综合测试:核心任务是通过各种类型测试(及相应调试)使软件达到预定规定。

(8)软件维护:通过各种必要维护活动使系统持久地满足顾客需要。

10、什么是软件生命周期模型?有哪些重要模型?

(1)生存周期模型:描述软件开发过程中各种活动如何执行模型。对软件开发提供强有力支持,为开发过程中活动提供统一政策保证,为参加开发人员提供协助和指引,是软件生存周期模型化技术基本,也是建立软件开发环境核心。

(2)重要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识模型,变换模型。

11、可行性研究任务:用最小代价在尽量短时间内拟定问题与否可以解决。

技术可行性;经济可行性;操作可行性;法律、社会效益、道德、政治等诸多方面因素。

12、可行性研究过程环节:

(1)复查系统规模和目的

(2)研究当前正在使用系统

(3)导出新系统高层逻辑模型

(4)进一步定义问题

(5)导出和评价供选取解法

(6)推荐行动方针

(7)草拟开发筹划

(8)书写文档提交审查

13、可行性分析报告重要内容:

项目背景;客户需求;商务前景;市场筹划;技术方案;实行周期;财务分析;风险管理。

14、数据流图(DFD):以图形方式描述数据在系统中流动和解决过程。只反映系统必要完毕逻辑功能,是一种功能模型。

15、画数据流图应注意事项:

(1)命名:不能使用缺少详细含义名字,加工名应能反映出解决功能。

(2)画数据流而不是控制流,普通不画物质流。

(3)每个加工至少有一种输入数据流和一种输出数据流,反映出此加工数据来源与加工成果。

(4)编号:子图应编号子图上所有加工也应编号,子图编号应与父图编号相相应。

(5)父图与子图平衡:子图输入输出数据流同父图相应加工输入输出数据流必要一致。

(6)局部数据存储。

(7)注意数据流图易理解性。

16、数据字典:数据字典是关于数据信息集合,也就是对数据流图中包括所有元素定义集合。内容:数据流;数据流分量(即数据元素);数据存储;解决。

17、需求分析任务

(1)拟定对系统综合规定

(2)分析系统数据规定

(3)导出系统逻辑模型

(4)修正系统开发筹划

18、软件设计目的和任务:依照用信息域表达软件需求,以及功能和性能需求,进行

数据设计、系统构造设计、过程设计、界面设计。

19、什么是软件概要设计?该阶段基本任务是什么?

(1)把一种软件需求转换为软件表达时,一方面设计出软件总体系构造。称为概要设计或构造设计。(2)基本任务:①设计软件系统构造②进行数据构造及数据库设计③编写概要设计文档④评审。

20、总体设计(概要设计)原理:

(1)模块化:把程序划提成若干个模块,每个模块完毕一种子功能,把这些模块集总起来构成一种整体,可以完毕指定功能,满足问题功能。

(2)抽象:抽出事物本质特性而暂时不考虑它们细节。

(3)逐渐求精

(4)信息隐蔽和局部化

(5)模块独立:每个模块完毕一种相对独立子功能,并且和其她模块之间关系很简朴。

21、模块独立限度衡量原则:耦合和内聚

(1)耦合:也称块间联系,模块之间互相联系限度度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目的。内容耦合、公共耦合、控制耦合、标记耦合、数据耦合、无耦合。

(2)内聚:又称为块内联系,指模块内部各成分之间互有关联限度,以高内聚为设计目的。

偶尔内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。

22、概要设计启发式准则:

(1)改进软件构造,提高模块独立性

(2)模块规模应当适中

(3)深度、宽度、扇出和扇入都应恰当

(4)模块作用域应当在控制域之内

(5)力求减少模块借口复杂限度

(6)设计单入口单出口模块

(7)模块功能应当可以预测

23、面向数据流设计办法:把信息流映射成软件构造。有两种类型:

(1)互换流:依照基本系统模型,信息普通以“外部世界”形式进入软件系统,通过解决后来再以“外部世界”形式离开系统。由输入、输出、变换(或称解决)三某些构成,是一顺序构造。

(2)事务流:数据沿输入通路到达一种解决T,这个解决依照输入数据类型在若干个动作序列中选出一种来执行,此类数据流称为事务流。解决T称为事务中心。

24、详细设计基本任务:

(1)为每个模块进行详细算法设计

(2)为模块内数据构造进行设计

(3)对数据库进行物理设计

(4)其她设计

(5)编写详细设计阐明书

(6)评审

软件工程导论课后习题答案95829882

《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 “软件危机”包含两方面的问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的原因 (1)开发人员与客户认识之间的矛盾 (2)开发人员能力与开发目标之间的矛盾 (3)预估与实际工作量之间的矛盾 (4)客户认识的提高与软件维护之间的矛盾 (5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成” 是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机? 软件工程是知道计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够

软件工程概论.doc

软件工程 1、软件危机:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。 2、软件危机的主要表现: (1)对软件开发成本和进度的估计经常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3、产生软件危机的原因 (1)从软件特点上看,软件是逻辑部件,不是物理部件; (2)软件是很大的程序,复杂且有很多技术问题,但缺少严格而科学的管理; (3)软件的参与人员多且成分复杂(需求人员,开发人员,用户,维护人员等); (4)在软件实践过程中或多或少的采用的错误的(但当时无法知晓的)方法和技术(这是主要原因) 4、消除软件危机的途径 (1)首先应该对计算机软件有一个正确的认识; (2)更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目; (3)应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法; (4)应该开发和使用更好的软件工具 总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 5、软件工程:软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。(1)1968年NATO会议:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。 (2)1993IEEE定义:软件工程是①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 6、软件工程的本质特征 (1)软件工程关注于大型程序的构造; (2)软件工程的中心课题是控制复杂性; (3)软件经常变化; (4)开发软件的效率非常重要; (5)和谐地合作是开发软件的关键; (6)软件必须有效地支持它的用户; (7)在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。 7、软件工程的基本原理 (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的(阶段性)产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 (6)开发小组的人员应该少而精

土木工程概论复习题库

工程管理之《土木工程概论》(06393)复习题库 一、单选题 1、目前世界最高的大厦在 C:阿联酋 2、十八层的房屋建筑属于D:高层建筑 3、建筑工程设计程序正确的是 A:方案设计→初步设计→技术设计→施工图设计 4、房屋建筑结构中的楼板通常是属于哪种基本构件A:受弯构件 5、下面哪个级别的建筑物的耐久性和重要程度最高A:一级建筑物 6、桥梁的下部结构由组成A:桥墩、桥台、基础 7、上海杨浦大桥属于D:斜拉桥 8、某大厦建成后存在严重质量问题,不得不爆破拆除,这说明工程项目具有D:不可逆转性的特征 9、也称片石,是采石场由爆破直接获得的形状不规则的石块 B:毛石 10、第一座依照现代钢框架结构原理建造起来的高层建筑是D:芝加哥家庭保险公司大厦 11、将建筑物从屋顶、墙面、楼层、基础等构件全部断开,即使建筑物的相邻部位也互不牵制,从而避免建筑物开裂的是 B:沉降缝 12、作为跑道和土质地面之间过渡用,主要用来减少飞机一旦冲出或偏离跑道时有损坏的危险C:跑道道肩 13、在地形图上或地面上选定线路的走向,并确定线路的空间位置过程是C:铁路定线 14、跨越码头与人工岛之间的连接通道被称为C:栈桥 15、在正常条件下,一条道路在单位时间内可通过的车辆数,称为道路 C:通行能力 16、下列关于高速铁路模式的说法哪一种是错误的 C:德国ICE模式:全部修建新线,旅客列车专用 17、下面港口堆场的分类是正确的D:按货物种类及使用特点分类:散货堆场、件杂货堆场、集装箱堆场 18、主干路的设计年限为C:20年 19、是建造各类工程设施的科学技术的总称 A:土木工程 20、是关于事物的基本原理和事实的有组织、有系统的知识B:科学 21、美国金门大桥是世界上第一座单跨超过千米的大桥、它属于D:悬索桥 22、桥梁按受力特点和结构体系主要分为C:梁式桥、拱桥、悬索桥、刚架桥、斜拉桥、组合体系桥 23、桥墩的作用是 B:支承在其左右两跨上部结构通过支座传来的竖直力和水平力 24、下列建筑中采用成束筒结构的是D:美国西尔斯塔楼 25、当建筑物建造在土层性质差别较大的地基上,可在房屋适当的位置设置垂直缝隙,将建筑物从屋顶、墙面、楼层、基础等构件全部断开,划分为若干个刚度较好的单元,从而避免建筑物开裂的构造是 B:沉降缝 26、工程项目管理难度最大的阶段是工程项目的A:实施阶段 27、上海东方明珠电视塔属于D:高耸结构建筑 28、是一种带状的、三维空间的人工构造物,它常和桥梁、涵洞、隧道等构成统一的工程实体,是供各种车辆和行人通行的工程设施 B:道路 29、是利用不适合种田的山泥,废土,砂等,加入少量水泥或石灰作固结剂及微量外加剂和适量水混合搅拌压制成型,自然养护或蒸养一定时间制成的 B:非烧结粘土砖 30、用于门窗等洞口上部用以承受洞口上部荷载的梁是 C:过梁 31、在港口中,对于汽车和装卸流动机械共同行驶的道路宽度一般不应小于C:10~12m 32、在路堤的路肩边缘以下、路堑路基面两侧的侧沟外,因填挖而形成的斜坡面,称为C:路基边坡 33、是由人工或机械开采出的较规则的六面体石块A:料石 34、地下铁道的施工方法主要分为两大类A:明挖法、暗挖法 35、高速公路定线的原则包括 B:路线与城市应有一定距离 36、道路的设计标高高于整个自然地面,需全部填土形成路基的是 A:路堤 37、轨道间宽度1435mm的轨道是 A:标准轨 38、下面哪个组成属于港口水域 D:港池、锚地、进港航道

软件工程概论课后习题答案

软件工程概论郑人杰等版 第1章软件与软件工程的概念 1.1 举出你所知道的应用软件的例子。 办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。 1.2 认为“软件就是程序,软件开发就是编程序。”这种观点是否正确?为什么? 认为“软件就是程序,软件开发就是编程序。”这种观点是错误的。 首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。 1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么? 可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。 1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现: (1)对软件开发成本和进度的估计常常很不准确。 (2)用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。

(4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6)软件成本在计算机系统总成本中所占的比例逐年上升。 (7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用 迅速普及深入的趋势。 产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面: (1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。 (2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。 (3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 (4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。 (5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。 1.5 什么是软件工程? 软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 1.6 简述软件生存期由哪些主要的阶段组成,每一阶段的主要任务是什么? (1)问题定义与可行性研究:问题定义必须回答的关键问题是:“要解决的问题是什么”。 可行性研究要回答的关键问题是:“在成本和时间的限制条件下能否解决问题?是否值

软件工程导论部分课后习题答案

第一章 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发 螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。螺旋模型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力时间引起无谓消耗;3成于风险分析,败于风险分析。适用于内部开发的大规模软件项目。 1-8:为什么说喷泉模型叫好的体现了面向对象软件开发过程无缝和迭代的特性?

软件工程概论

第13章软件重用技术 13.1 典型问题分析和解答 【例1】实施软件重用的目的是要使软件开发工作进行得( A )。软件重用的实际效益除了( B )之外,在企业的经营管理方面也渴望达到理想的效益。 新的应用软件开发技术和工具是以( C )作为关键,重用大粒度的( D ),为的是快速开发应用软件。这些新技术包括微软的( E )、( F )、(G ),SUN公司的Java,OMG公司的CORBA、IDL等。 供选择的答案: A. ①更简捷②更方便③更快、更好、更省④更丰富 B. ①重用率②功能扩充③效率④空间利用率 C, D. ①软件②固件③构件④属性 ⑤对象⑥事物⑦数据⑧代码 E~G. ①office ②Visual Basic ③Active X ④Photoshop ⑤OLE ⑥Fortran ⑦COBOL ⑧Delphi 答案:A. ③, B. ①, C. ③, D. ⑤, E. ②, F. ③, G. ⑤。其中,E、F、G的答案顺序可互换。 分析:实施软件重用的目的是要使软件开发工作进行得是更快、更好、更省。“更快”是指在市场竞争环境中,软件开发工作能满足市场上时间方面的要求(即在提供软件产品的时间方面能赛过竞争对手);“更好”是指开发出来的软件在未来的运行中失效可能性小;“更省”是指在开发和维护期间所花费的开销少。 日美一些大公司的资料表明,软件重用率最高可望达到90 %,而且软件重用使得企业在及时满足市场、软件质量、软件开发和维护费用等方面都得到显著的改进。 除了重用率之外,在企业的经营管理方面也可望达到理想的效益。例如,上市时间可缩短2 ~ 5倍;软件产品的缺陷密度可减少5 ~ 10倍;软件产品的维护费用可减少5 ~ 10倍;软件开发总费用可减少15% ~ 75%,其中,75%是针对长期项目,包括开发可重用构件及支持重用的负担。 新的应用软件开发技术和工具是以“构件”作为关键,重用大粒度的“对象”,为的是快速开发应用软件。这些新技术包括微软的Visual Basic、Active X、OLE(对象链接与嵌入),SUN公司的Java,OMG公司的CORBA(公用对象请求代理程序体系结构)、IDL(接口定义语言)等。非面向对象语言(如COBOL和Fortran)在重用实践中已经相当的成功。这些非面向对象程序设计语言构件技术的成功实践说明了实现软件重用并不限于面向对象语言构件或类库。 【例2】以往的软件工程技术不能满足重用的需要,体现在工程、( A )、( B )、经营业务等4个方面。“工程”指软件开发工程,表现在缺乏( C )手段,缺乏( D )构件,缺乏对潜在可重用的( E ),缺乏实施重用的工具。 供选择的答案: A, B. ①需求②过程③环境④组织管理 C ~ E. ①重用②可靠性③灵活性④界定 ⑤工具⑥互连性 答案:A. ②, B. ④, C. ④, D. ①, E. ③。其中,A、B的答案的顺序可互换。

土木工程概论习题汇总(答案)

土木工程概论复习题汇总 一;填空题。 1. 砖按生产工艺分—烧结砖—和非烧结砖。 2. 砂一般分为天然砂和—人工砂________ 。 3. 配置混凝土时应优先选用—中砂______ 。 4. 所谓灰是指石灰_和石膏。 5. 土木工程中使用的钢材是指_线材_______ 和型材。 6. 水泥按其用途及性能分为通用水泥、_专用水泥_、特性水泥。 7. 普通混凝土是由水泥、 _粗骨料_、细骨料、和 _水—拌合,经硬化而成的一种人 造石材。 8. 绝热材料按其成分分为无机材料和_有机材料_。 9. 将上部结构的荷载传给土地基,连接上部结构与地基土的下部结构称为—基 础__ 。 10. 常用工程地质测绘方法有相片成图法和 _实地测绘法—。 11. 通常把位于天然地基上,埋置深度小于5m的一般基础以及埋深度虽超过5m 但小于基础宽度的大尺寸基础,统称为天然地基上的_____ 浅基础。 12. 刚性基础通常由砖、毛石、_素混凝土 _、和灰土等材料做成。 13. 建筑物的基础分为刚性基础和柔性基础,钢筋混凝土基础属于—柔性________ 基 础。 14. 浅基础一般分为单独基础,_条形基础_、伐板基础和箱形基础、壳体基础。 15. 埋置深度大于_ 5米______ 或大于基础宽度的基础,称为深基础。 16. 桩按荷载传递方式分为端承桩和 _摩擦桩_。 17. 建筑物的基本构建可分为梁、板、—柱_、拱。 18. 梁和板都是工程结构中的 _受弯—构件。 19. 梁按支撑方式可分为—简支梁_、悬臂梁和连续梁。 20. 柱是工程结构中的 _ 受压—构件。 21. 框架结构承受—竖向—荷载能力强,但承受水平荷载能力差。 22. 当前我国的公路等级按照其使用任务、功能和适应的交通量分为_ 5 —个等 级。

软件工程导论》期末考试试题与答案

《软件工程导论》期末考试-试题与答案 一、填空题 1.软件工程中的结构化分析 SA 是一种面向________的分析方法。 2.软件模块独立性的两个定性度量标准是_________________。 3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。 4. ________和数据字典共同构成了系统的逻辑模型 5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。二、单选 题 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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构 7.软件测试时为了________而执行程序的过程。A.纠正 错误B.发现错误 C.避免错误 D.证明错误 8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。A.总体 设计B.需求分析C.详细设计D.程序设计 9.面向对象分析是对系统进行_________的一种方法。A.需求 分析B.程序设计C.设计评审D.测试验收 10.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而 且影响软件的_______。A.可理解 性B.可维护性C.可扩展性D.可 移植

软件工程导论第五章课后答案

软件工程导论第五章课后 答案 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第五章习题答案 1、为每种类型的模块耦合举一个具体例子。 答:耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问某一模块的点,以及通过接口的数据,一般模块之间可能的连接方式有7种,构成耦合的7种类型,它们之间的关系为: 下面举例说明以上各种耦合: a.非直接耦合(Nondirect Coupling)在这种情况下,两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。例如在实数的运算中,有两个模块分别完成几个实数的求和,求乘积功能,这两个模块之间没有直接联系,只有在主模块调用中有执行的前后顺序而已,这个例子即属于非直接耦合。 b.数据耦合(Data Coupling)即一个模块访问另一个模块时,彼此之间是通过数据参数来交换输入,输出信息的,这种耦合为数据输入,输出信息的这种耦合为数据耦合。如有两个模块,其中A完成两个烽的比较,求出其中最大的并返回该值,模块B是完成了个数的比较,求出其中最大的并返回该最大值,为完成四个数的比较,模块B调用模块A即可完成,在这种调用关系中,模块A的运算结

果作为一个参烽参加B的运算,这两个模块之间即发生数据耦合。数据耦合是松散的耦合,模块间的独立性比较强。 c.标记耦合(Stamp Coupling),即一组模块通过参数传递记录信息,这就是标记耦合。事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。 d.控制耦合(Control Coupling)即一个模块通过开关标志,名字等控制住处明显的控制,选择另一模块的功能,这就是控制耦合,如下图所示,这一种耦合实质是在单一接口上实现选择多功能模块中的某项功能,如程序设计中用到多路选择结构即是最好的例子。e.外部耦合(External Coupling)即一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递全局数据结构,而且不是通过参数表传递全局变量的信息。如C语言中都访问被说明为extern类型的外部变量的各个模块之间即发生外部耦合。外部耦合引起的问题类似于下面要介绍的公共耦合,区别在于外部耦合中不存在依赖于一个数据结构内部各项的物理安排。f.公共耦合(Common Coupling)若一组模块都访问同一个公共数据环境,则它们之间的耦合就是公共耦合。公共的数据环境可以是全局的数据结构,共享的通信区,内存的公共覆盖区等。如几个模块对同一个数据库的查询就属于这种耦合。公共耦合可以分为松散的公共耦合和紧密的公共耦合,其中松散的公共耦合是单向操作,如两个或多个模块对同一个文件的读操作;而紧密的公共耦合是双

土木工程概论习题答案

土木工程概论习题 第一章绪论 1.1土木工程概论课程的任务 1、简述土木工程的概念及其包含的内容。 答:概念:土木工程是建造各类工程设施的科学技术的总称,它即指工程建设的对象,即建在地上、地下、水中的各种工程设施,也指所应用的材料、设备和所进行的勘探设计、施工、保养、维修等技术。 包含的内容:基础工程、房屋建筑工程、交通土建工程、桥梁工程、港口工程、地下工程、水利水电工程。 1.2土木工程发展历史概述 1、简述古代土木工程的特点。 答:没有系统的设计理论,主要依靠经验 2、简述近代土木工程的特点。 答:(1)、有了比较系统的设计理论,如1683年意大利学者伽利略发表了“关于两门新科学的对话”,首次用公式表达了梁的设计理论;1687年牛顿总结出力学三大定律,为土木工程奠定了力学分析基础;1825年,法国的纳维于1825年建立了土木工程中结构设计的容许应力法。(2)、从材料方面讲,1824年波特兰水泥发明;1867年钢筋混凝土开始应用于土木工程;1859年转炉法炼钢发明 3、简述现代土木工程的特点。 答:(1)、功能要求多样化:由于电子技术,精密机械,生物基因工程,航空航天等高技术工业的发展,许多工业建筑提出了恒湿、恒温、防微震、防腐蚀、防辐射、防磁、无微尘等要求,并向跨度大、分隔灵活、工厂花园化的方向发展。 (2)、城市建设立体化:经济发展、人口增多,造成城市用地紧张、交通拥挤。 (3)、交通工程快速化:市场经济要求运输系统快速、高效,现代化技术的进步提供了条件。(4)、工程设施大型化 1.2土木工程的未来 1、目前土木工程面临的形势有哪些? 答:(1)、世界正经历工业革命以来的有一次重大变革,这便是信息(包括计算机、通信、网络等)工业的迅猛发展,可以预计人类的生产、生活方式将会发生重大变化。 (2)、航空、航天事业等高科技事业的发展,月球上已经留下了人类的足迹,对火星及太阳系内外星空的探索已取得了巨大进步。 (3)、地球上居住人口激增,目前世界人口已经达60亿,预计21世纪末,人口要接近百亿。地球上的资源有限,日益浩劫 (4)、生态环境受到严重破坏,随着工业的发展、技术的进步,人类的生存环境却日益恶化。 2、未来土木工程的发展趋势? 答:(1)、重大工程项目将陆续兴建 (2)、土木工程将向太空、海洋、荒漠地开拓 (3)、工程材料向轻质、高强、多功能化发展 传统材料的改性、化学合成材料的应用 (4)、设计方法精确化,设计工作自动化 (5)、信息和智能化技术全面引人土木工程

软件工程导论试题和答案2

一、判断题:每小题1分,共15分,在正确打上√,错误打 上X 1.快速原型模型可以有效地适应用户需求的动态变化。 () 2.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。() 3.统一的建模语言,是一种软件工程设计语言。() 4.模块化使程序设计比较方便,但比较难以维护。() 5.一个模块实际上就是一个进程。() 6.过程描述语言可以用于描述软件的系统结构。() 7.编程语言应该在软件概要设计时选择。() 8.如果通过软件测试没有发现错误,则说明软件是正确的。() 9.在进行概要设计时应加强模块间联系。() 10.一般人为,软件开发阶段是由设计、编码和测试三个基本活动组成() 11.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。()12.为了提高程序的易读性,尽可能使用高级语言或4GL编写程序。 () 13.为了加强软件维护作业的进度,应尽可能增加维护人员的数目。 () 14.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。() 15.确认测试计划应该在可行性研究阶段制定。()1、√2、√3、×4、×5、×6、×7、×8、×9、×10、×11、×12、√13、×14、√15、× 二、单选题:每题1分,共15分 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、计算机系统工程包含硬件、软件、人机及()工程 A、数据库 B、软件 C、CASE D、开发方法 7、SA法中,DFD图的某个处理过程分解后,一般不超过()处理过程 A、10 B、7 C、5 D、12 8、下列需求陈述中一致的是() A、所有命令响应时间应小于0.1s;BUILD命令的响应时间应小于5s B、所有命令响应时间应小于5s;BUILD命令的响应时间应小于1s C、BUILD命令的响应时间应小于5s;BUILD命令的响应时间应小于1s D、所有命令响应时间必须等于2s;BUILD命令的响应时间应小于3s

软件工程导论作业答案

学号_31009210** 姓名_朱某某班级_软件10* 作业一 1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 “软件危机”包含两方面的问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产速率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的原因 (1)开发人员与客户认识之间的矛盾 (2)开发人员能力与开发目标之间的矛盾 (3)预估与实际工作量之间的矛盾 (4)客户认识的提高与软件维护之间的矛盾 (5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面比较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价俱增。在软件“已经完成”时再引入变动,当然付出的代价更高。一个故障时代码错误造成的,有时这种错误时不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程?他有哪些本质特征?怎样用软件工程消除软件危机? 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程。 本质特征: 软件工程关注于大型软件的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效支持它用户

土木工程概论习题汇总[1]

土木工程概论习题汇总

一、单项选择题 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、()设施一般为高速公路入口控制、交通监控设施。服务性设施一般有综合性服务站、小型休息点、停车场等。 A、安全; B、交通管理; C、服务性; D、环境美化。 7、()设施一般包括标志(如警告、限制、指示标志等)、标线、护栏、隔离设施、照明及防眩设施、视线诱导设施。 A、安全; B、交通管理; C、服务性; D、环境美化。 8、()分为:快速道、主干道、次干道、支道、居住区道路、风景区道路、白行车专用道。 A、高速公路; B、城市道路; C、乡村公路; D、县乡公路。 9、公路基本()形式有:全挖式、台口式和半山洞式。 A、涵洞; B、排水; C、遂道; D、路堑。 10、()是指一条道路在单位时间内,道路与交通正常条件下,保持一定速度安全行驶时,可通过的车辆数。 A、高速公路; B、城市道路; C、通行能力; D、交通能力。 11、第一条完全用于客货运输而且有特定时间行驶列车的铁路,是()年通车的英国利物浦与曼彻斯特之间的铁路,这条铁路全长为563 km。 A、1830; B、1863; C、1892; D、1919。 12、高速铁路的信号与()是高速列车安全、高密度运行的基本保证。 A、灯光系统; B、控制系统; C、路基; D、铁路平顺度。

软件工程导论课后题

1-5、根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算: (1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少? (2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。

2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。 医院对患者8监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。 系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。 此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。 为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。

软件工程概论知识点

软件工程概论知识点总结 第一章 软件定义:是计算机系统中及硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。 软件特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。 软件分类。 (1) 系统软件 (2) 应用软件 (3) 支撑软件 (4) 可复用软件 软件危机的原因:1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。2)软件人员及用户的交流存在障碍,除了知识背景的差异,缺少合适的交流方法和需求描述工具也是重要的一个原因。3)软件开发过程不规范,缺少方法论和规范的指导,软件难以维护。4)随着软件规模的增大,其复杂性往往会呈指数级升高。5)缺少有效的软件评测手段,提交用户的软件质量差 软件工程的定义: 1.指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关学科的理论为指导,采用工程化的概念、原理技术和方法进行软件的开发和维护,把经过时间考虑而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护 2.软件工程的目标:运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。 3.软件的生存周期:软件孕育、诞生、成长、成熟、衰亡的生存过程。由软件定义、软件开发和运行维护三个时期组成。软件定义:解决“做什么”的问题;软件开发:解决“如何做”的问题,分为概要设计、详细设计、编码和测试四个阶段;维护:使软件持久的满足用户的需求。 4.开发过程中的典型文档 a.软件需求规格说明书:描述将要开发的软件做什么。 b.项目计划:描述将要完成的任务及其顺序,并估计所需要的时间及工作量。 c.软件测试计划:描述如何测试软件,确保软件应实现规定的功能,并达到预期的性能。 d.软件设计说明书:描述软件的结构,包括概要设计及详细设计。 e.用户手册:描述如何使用软件 各阶段基本任务:问题定义及可行性研究、需求分析、软件设计、程序编码和单元测试、集成测试和系统测试。 5.软件生存期模型: 瀑布模型。优点:强迫开发人员规范化方法、严格规定每个阶段必须提交的文档、要求每个阶段交出的所有产品必须经过验证。缺点:完全依赖书面规格说明,可能会导致产品及用户需求有差异、只适用于项目开始时需求已确定的情况。需求分析、规格说明、设计、编码、综合测试、维护 快速原型模型。优点:易于满足用户真实需求、已通过及用户的交互验证,能正确描述用户需求、产品开发基本上按线性顺序、规格文档说明正确描述了用户需求,后期错误率和返工率很低、开发人员建立原型

【信息化-精编】软件工程导论课后习题详细答案

软件工程导论课后习题详细答案

《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2)推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3)根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 5-1。(1)在1985年对计算机存储容量的需求,估计是 如果字长为16位,则这个存储器的价格是 ● ●(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。 ●在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指令。 ●为了开发出4474263条指令以装满存储器,需要的工作量是: ●程序员的月平均工资是4000美元,开发出4474263条指令的成本是 ●(3)在1995年对存储容量的需求估计为: ● 7 4080e =4472.0048.01974 1985??=-P )19601995(28.04080-=e M

软件工程概论知识点汇总

软件危机是指在计算机软件的开发和维护过程中遇到一系列严重问题。 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门。 软件工程方法学包含3个要素:方法、工具和过程 目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学 软件生命周期由软件定义、软件开发和运行维护3个时期组成。 软件生存周期是指一个软件从提出开发要求开始直到软件报废为止的整个时期。 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。 软件定义分3个阶段,即问题定义、可行性研究和需求分析。 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的主要内容包括技术可行性、经济可行性和操作可行性3个方面。 开发时期由4个阶段组成:总体设计、详细设计、编码和单元测试,综合测试。其中前两个阶段称为系统设计,后两个阶段称为系统实现。 系统流程图是概括地描绘物理系统的传统工具;而数据流图是系统逻辑功能的图形表示工具。 模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 分析建模的用处是为了更好地理解复杂事物。 软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。 需求分析过程应该建立3种模型,分别是数据模型、功能模型和行为模型。 数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。 结构程序设计的定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制接口进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。 衡量模块独立程序的两个定性标准是内聚和耦合。 确认测试也称为验收测试,它的目标是验收软件的有效性。 等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。一个理想的测试用例能独立发现一类错误。 软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功的运行的概率。 软件的可用性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。 软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 Jackson方法是一种面向数据结构的设计方法。 完整的软件测试一般要经过单元测试、集成测试、确认测试和系统测试等4个阶段。 模块化是指把程序划分成独立命名切可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 软件复杂性度量的参数包括: ①规模②难度③结构④智能度 数据字典应该有下列4类元素的定义组成: 1、数据流; 2、数据流分量(即数据元素) 3、数据存储 4、处理 产生软件危机的原因?

相关文档
最新文档