下列软件开发模型中(下列软件开发模型中正确的是)

软件开发 51
今天给各位分享下列软件开发模型中的知识,其中也会对下列软件开发模型中正确的是进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、软件的开发模式有哪些?

今天给各位分享下列软件开发模型中的知识,其中也会对下列软件开发模型中正确的是进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

软件的开发模式有哪些?

1.瀑布模型 : 1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。

2.迭代模型 : 在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

3.敏捷开发模型 : 是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本。能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。敏捷建模(Agile Modeling,AM)的价值观包括了XP的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。

4.螺旋模型:螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。

5.快速原型模型:快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。 快速原型模型允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义,快速设计开发出软件系统的原型,该原型向用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维护。

软件的开发模型包括?

1. 边做边改模型(Build-and-Fix Model)

遗憾的是,许多产品都是使用"边做边改"模型来开发的。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。

在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。

这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于:

(1) 缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改;

(2)忽略需求环节,给软件开发带来很大的风险;

(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。

2. 瀑布模型(Waterfall Model)

1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。

瀑布模型中,如图所示,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。

瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:

(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;

(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;

(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。

我们应该认识到,"线性"是人们最容易掌握并能熟练应用的思想方法。当人们碰到一个复杂的"非 线性"问题时,总是千方百计地将其分解或转化为一系列简单的线性问题,然后逐个解决。一个软件系统的整体可能是复杂的,而单个子程序总是简单的,可以用线 性的方式来实现,否则干活就太累了。线性是一种简洁,简洁就是美。当我们领会了线性的精神,就不要再呆板地套用线性模型的外表,而应该用活它。例如增量模 型实质就是分段的线性模型,螺旋模型则是接连的弯曲了的线性模型,在其它模型中也能够找到线性模型的影子。

3. 快速原型模型(Rapid Prototype Model)

快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。

显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。

4. 增量模型(Incremental Model)

又称演化模型。与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。但是,增量模型也存在以下缺陷:

(1) 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

(2) 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

在使用增量模型时,第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。

例如,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能。

5.螺旋模型(Spiral Model)

1988年,Barry Boehm正式发表了软件系统开发的"螺旋模型",它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

如图所示,螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

(1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

(2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;

(3) 实施工程:实施软件开发和验证;

(4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:

(1) 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。

(2) 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。

(3) 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。

一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。

6.喷泉模型(fountain model)(也称面向对象的生存期模型, OO模型)

喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。

7.智能模型(四代技术(4GL))

智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码。

这种方法需要四代语言(4GL)的支持。4GL不同于三代语言,其主要特征是用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序;它是一种声明式、交互式和非过程性编程语言。4GL还具有高效的程序代码、智能缺省假设、完备的 数据库和应用程序生成器。目前市场上流行的4GL(如Foxpro等)都不同程度地具有上述特征。但4GL目前主要限于事务信息系统的中、小型应用程序的 开发。

8.混合模型(hybrid model)

过程开发模型又叫混合模型(hybrid model),或元模型(meta-model),把几种不同模型组合成一种混合模型,它允许一个项目能沿着最有效的路径发展,这就是过程开发模型(或混合模型)。实际上,一些软件开发单位都是使用几种不同的开发方法组成他们自己的混合模型。各种模型的比较每个软件开发组织应该选择适合于该组织的软件开发模型,并且应该随着当前正在开发的特定产品特性而变化,以减小所选模型的缺点,充分利用其优点,下表列出了几种常见模型的优缺点。各种模型的优点和缺点:

模型优点缺点瀑布模型文档驱动系统可能不满足客户的需求快速原型模型关注满足客户需求可能导致系统设计差、效率低,难于维护增量模型开发早期反馈及时,易于维护需要开放式体系结构,可能会设计差、效率低螺旋模型风险驱动风险分析人员需要有经验且经过充分训练

9.RUP模型

RUP(Rational Unified Process)模型是Rational公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP具有两个轴,一个轴是时间轴,这是动态的。另一个轴是工作流轴,这是静态的。在时间轴上,RUP划分了四个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。在工作流轴上,RUP设计了六个核心工作流程和三个核心支撑工作流程,核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。RUP 汇集现代软件开发中多方面的最佳经验,并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板。但是同样由于该模型比较复杂,因此在模型的掌握上需要花费比较大的成本。尤其对项目管理者提出了比较高的要求。

它具有如下特点:

(1)增量迭代,每次迭代都遵循瀑布模型能够在前期控制好和解决风险;

(2)模型的复杂化,需要项目管理者具有较强的管理能力。

10.IPD模型

IPD(Integrated Product Development)流程是由IBM提出来的一套集成产品开发流程,非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。

IPD从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件、软件、结构工业设计、测试、资料开发等)、制造、财务到市场、采购、技术支援等所有流程。是一个端到端的流程。

在IPD流程中总共划分了六个阶段(概念阶段、计划阶段、开发阶段、验证阶段、发布阶段和生命周期阶段),四个个决策评审点(概念阶段决策评审点、计划阶段决策评审点、可获得性决策评审点和生命周期终止决策评审点)以及六个技术评审点。

IPD流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而又复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。一定程度上,该模型是通过流程成本来提高整个产品的质量并获得市场的占有。由于该流程没有定义如何进行流程回退的机制,因此对于需求经常变动的项目该流程就显得不大适合了。并且对于一些小的项目,也不是非常适合使用该流程。

请问有谁知道2011年3月的全国计算机四级数据库工程师考试题型和以前的还一样不?谢谢!

一样的。我刚过3月的。有三种题型:选择题+填空题+设计与应用题

如果需要真题,请留下邮箱。

2010年3月计算机等级考试四级数据库笔试试题(文字版)

一、选择题

(1)在数据库应用系统的需求分析阶段,需要考虑数据的安全性需求。下列不属于数据安全性需求分析内容的是

A)分析数据的安全性需求,以确定每个关系表上定义的数据约束能够满足使用要求

B)分析全局用户对数据的存取需求,以确定全局数据的安全控制策略

C)分析特殊用户对数据的存取需求,以保证数据库的安全控制策略能够满足其使用要求

D)分析各类用户对数据的存取需求,以确定各类用户能够操作的数据

(2)有学生表(学号, 姓名, 性别, 身份证号, 出生日期, 所在系号),在此表上使用如下语句建立索引:

CREATE NONCLUSTERED INDEX Idx_Name ON学生表(姓名);

此索引被称为

A)非聚集散列索引

B)非聚集辅索引

C)非聚集顺序索引

D)非聚集主索引

(3)在数据库物理设计阶段,使用聚集文件组织数据可以提高一些查询的效率。下列关于聚集文件和聚集键的描述错误的是

A)聚集文件将不同关系表中有关联关系的记录存储在一起,以减少系统的物理I/O次数

B)聚集键应该选用频繁用于进行自然连接的属性或属性组

C)聚集文件可以提高某些连接查询的速度,但是它可能导致其他类型的查询处理变慢

D)关系表中某个属性的数据重复率越高,越适合作聚集键

(4)己知有描述科研项目及负责教师的关系模式:科研项目(项目号, 项目名称, 经费, 负责教师号, 姓名, 职称),该关系模式满足函数依赖集:F={项目号→项目名称, 项目号→经费, 项目号→负责教师号, 负责教师号→姓名, 负责教师号→职称}。下列分解中最合理的符合3NF的关系模式是

A)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称)

B)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称, 项目号)

C)科研项目(项目号, 项目名称, 经费, 负责教师号),教师(教师号, 姓名, 职称)

D)科研项目(项目号, 项目名称, 经费),项目_教师(项目号, 负责教师号), 教师(教师号, 姓名, 职称)

(5)在IDEF0图中矩形框代表功能活动。关于连接到矩形框4条边上的箭头的语义,下列说法错误的是

A)左边的箭头表示完成功能活动需要的数据,它强调被活动消耗或变换的内容

B)上边的箭头表示影响这个活动执行的事件或约束,它强调被活动变换的内容

C)右边的箭头表示由这个活动产生的信息,它强调活动变换和处理的结果

D)下边的箭头表示实施该活动的手段或完成活动需要的资源,它强调如何做

(6)数据库的运行管理与维护主要由数据库管理员负责,工作内容主要包括日常维护、系统监控与分析、性能优化等。下列关于数据库管理员工作内容的说法错误的是

A)数据库的备份和恢复是重要的维护工作,数据库管理员应根据不同的应用要求制定不同的备份计划,在备份计划中应包含备份的时间、周期、备份方式和备份内容等

B)性能优化是数据库管理员的重要工作,性能优化的主要手段有查询优化、索引调整、模式调整等,这些工作一般无需开发人员参与

C)数据库管理员应监控数据库中各种锁的使用情况,并处理可能出现的死锁情况,若发现问题应及时通知相关人员

D)数据库管理员需要定期检查存储空间使用情况并根据需求扩展存储空间,这些工作一般无需最终用户参与

(7)若系统中存在4个等待事务T0、T1、T2、T3,其中T0正等待被T1锁住的数据项Al,T1正等待被T2锁住的数据项A2,T2正等待被T3锁住的数据项A3,T3正等待被T0锁住的数据项A0。根据上述描述,系统所处的状态是

A)活锁

B)死锁

C)封锁

D)正常

(8)在SQL Server 2000中,某数据库中有教师表(教师号, 姓名, 职称),其中教师号的数据类型是整型,其他均为字符类型。若教师表中当前没有数据,用户在数霜尾币藕次执行下列语句:

Ⅰ.BEGIN TRANSACTION T1

Ⅱ.INSERT INTO教师表VALUES(1000,'张三','助教');

Ⅲ.INSERT INTO教师表VALUES(1001,'王二','助教');

Ⅳ.COMMIT T1;

Ⅴ.BEGIN TRANSACTION T2

Ⅵ.INSERT INTO教师表VALUES(1002,'王三','讲师');

Ⅶ.INSERT INTO教师表VALUES(1003,'李四','讲师');

Ⅷ.COMMIT T2;

在Ⅶ执行的时候数据库所在的服务器突然掉电,当数据库系统重新启动后,教师表中包含的数据条数为

A)4条

B)3条

C)2条

D)0条

(9)已知学生关系(学号, 姓名, 性别, 课程号, 成绩, 所在系号)有下列函数依赖

Ⅰ.(学号, 课程号)→课程号 Ⅱ.(学号, 课程号)→成绩

Ⅲ.(学号, 课程号)→所在系号 Ⅳ.(学号, 课程号)→姓名,性别

Ⅵ.(学弓, 桌程号)→学号

以上函数依赖属于非平凡函数依赖的是

A)仅I和V

B)仅Ⅱ和V

C)仅Ⅲ和Ⅳ

D)仅II、Ⅲ和Ⅳ

(10)数据库管理系统采用三级加锁协议来防止并发操作可能导致的数据错误。在三级加锁协议中,1级加锁协议能够解决的问题是

A)丢失修改

B)不可重复读

C)读脏数据

D)死锁

(11)在SQL Server 2000中,假设某数据库使用一段时间后,其数据文件和日志文件的空间均己快用完,如果要以手工方式扩大该数据库的空间,下列说法正确的是

A)可以扩大单个数据文件的大小,但不能扩大单个日志文件的大小

B)可以一次按比例扩大整个数据库的数据文件和日志文件的大小

C)可以添加一块新的磁盘,并在新的磁盘上为数据库建立新的数据文件和日志文件

D)可以一次按比例扩大整个数据文件的大小,但不能扩大日志文件的大小

(12)在SQL Server 2000中,设有职工表(职工号, 职工名, 电子邮箱),现要限制电子邮箱的最后几位的取值为“@abc.com”,且“@”前至少有一位字符。下列添加约束的语句正确的是

A)ALTER TABLE职工表

ADD CONSTRAINT chk_email CHECK(电子邮箱LIKE '_%@abc.com')

B)ALTER TABLE职工表

ADD CONSTRAINT chk_email CHECK(电子邮箱 = '_%@abc.com')

C)ALTER TABLE职工表

ADD CONSTRAINT chk_email CHECK(电子邮箱LIKE '_@abc.com')

D)ALTER TABLE职工表

ADD CONSTRAINT chk_email CHECK(电子邮箱 = '_@abc.com')

(13)OLE DB是一种通用数据访问接口。下列关于OLE DB的说法错误的是

A)OLE DB是Microsoft OLE对象标准的一个实现,它由一系列的COM接口组成

B)与ODBC驱动程序需要支持几乎所有的DBMS特性不同,OLE DB允许只支持DBMS的部分功能

C)OLE DB支持访问关系数据库和非关系数据库

D)OLE DB定义了数据提供者、数据消费者和数据驱动理序三类数据访问组件

(14)日志文件是数据库系统出现故障以后,保证数据正确、一致的重要机制之一。下列关于日志文件的说法错误的是

A)日志的登记顺序必须严格按照事务执行的时间次序进行

B)为了保证发生故障时能正确地恢复数据,必须保证先写数据库后写日志

C)检查点记录是日志文件的一种记录,用于改善恢复效率

D)事务故障恢复和系统故障恢复都必须使用日志文件

(15)统一建模语言UML是一种定义良好、易于表达、功能强大、通用的可视化建模语言,下列关于UML说法错误的是

A)在UML的用例模型中,一个角色可以执行多个用例,一个用例可以被多个角色使用

B)UML也适用于对象建模,其中的类图和对象图用于描述类模型、对象模型以及它们之间的动态关系,这两种图都属于UML的动态视图

C)UML的包图是表明包以及包之间的关系的类图,包是对模型中涉及的元素进行分组后得到的结果。在进行元素分组时,应尽量追求包间低耦合、包内高内聚的目标

D)UML中的顺序图和协作图都描述交互,但是顺序图强调的是时间,协作图强调的是空间

(16)对数据库中的数据进行及时转储是保证数据安全可靠的重要手段。下列关于静态转储和动态转储的说法正确的是

A)静态转储过程中数据库系统不能运行其他事务,不允许在转储期间执行数据插入、修改和删除操作

B)静态转储必须依赖数据库日志才能保证数据的一致性和有效性

C)动态转储需要等待正在运行的事务结束后才能开始

D)对一个24小时都有业务发生的业务系统来说,比较适合采用静态转储技术

(17)设某并行数据库系统中有表T(al, a2, . . .,an),因数据量大,需采用一维划分法将数据划分到不同的磁盘上,以提高系统效率。设al是划分属性,针对表T的查询操作多数为点查询,则适合采用的元组划分策略是

A)轮转法与范围划分

B)轮转法与散列划分

C)散列划分与范围划分

D)以上都不合适

(18)软件开发模型是对软件开发过程的一种规范描述,用于表示软件开发过程的整体框架和软件开发活动各阶段间的关系。下列模型属于软件开发模型的是

Ⅰ.爆布模型 Ⅱ.快速原型模型

Ⅲ.增量模型 Ⅳ.螺旋模型

A)仅Ⅰ和Ⅱ

B)仅Ⅰ、Ⅲ和Ⅳ

C)仅Ⅱ和Ⅲ

D)Ⅰ、II、Ⅲ和Ⅳ

(19)设有某大型联锁商场,建立有面向业务的数据库应用系统和面向决策支持的数据仓库系统,数据仓库系统每天夜间需要从数据库应用系统的数据库导入新数据。在下列数据表中,最不适合采用快照方式从数据库应用系统中获取数据的是

A)商品表和商品类别表

B)员工表和供应商表

C)商品销售表和商品采购表

D)商场组织机构表

(20)在数据库应用系统中,查询效率是考核数据库应用系统的一个重要方面。下列方法中,通常有利于提高查询效率的是

Ⅰ.尽可能避免无用的排序操作

Ⅱ.尽可能消除对大型表行数据的顺序存取

Ⅲ.尽可能避免使用否定查询

Ⅳ.尽可能避免使用外连接操作

Ⅴ.尽可能用子查询代替连接查询

A)仅I、Ⅱ、Ⅲ和Ⅳ

B)仅I、Ⅱ和Ⅳ

C)仅II、Ⅲ、Ⅳ和V

D)全部

(21)数据库概念设计需要对一个企业或组织的应用所涉及的数据进行分析和组织。现有下列设计内容

Ⅰ.分析数据,确定实体集

Ⅱ.分析数据,确定实体集之间的联系

Ⅲ.分析数据,确定每个实体集的存储方式

Ⅳ.分析数据,确定实体集之间联系的基数

Ⅴ.分析数据,确定每个实体集的数据量

Ⅵ.分析数据,确定每个实体集包含的属性

以上内容不属于数据库概念设计的是

A)仅I、Ⅳ和Ⅵ

B)仅Ⅱ和Ⅴ

C)仅Ⅲ、Ⅳ和Ⅵ

D)仅Ⅲ和Ⅴ

(22)客户端、服务器(C/S)架构和浏览器/服务器(B/S)架是现在常用的两种数据库应用系统架构。关于C/S和B/S架构,下列说法错误的是

A)在C/S和B/S架构中,数据库服务器都承担了数据共享和管理的功能

B)如果系统的最终用户群体大,用户地域分布广,一般应采用B/S架构

C)C/S架构的应用程序需要发布给每个用户,并在每个用户计算机上进行安装。B/S架构一般以通用浏览器为业务应用界面,较为复杂的数据处理功能一般还可通过与浏览器进行交互的组件实现

D)一般来说,对于功能需求相同的数据库应用系统项目,C/S架构的应用开发成本要高于B/S架构的应用开发成本

(23)数据库应用系统环境中存在各种类型的数据,设有如下数据

Ⅰ.为提高查询效率建立的索引

Ⅱ.描述表结构信息的数据字典

Ⅲ.用于优化查询的统计分析数据

Ⅳ.用户会话信息

Ⅴ.用户查询结果

以上数据一般会存储在数据库中的是

A)仅Ⅰ、Ⅱ和Ⅴ

B)仅Ⅰ和Ⅲ

C)仅Ⅰ、Ⅱ和Ⅲ

D)仅II、Ⅲ和Ⅳ

(24)在数据库应用系统生命周期中,系统规划与分析是一个重要的环节。关于系统规划与分析,下列说法错误的是

A)规划与分析是数据库应用系统生命周期的起点。规划与分析阶段的主要工作包括系统规划与定义、可行性分析和项目规划

B)系统规划与定义是规划与分析的主要环节,它需要在系统设计过程中逐步完成

C)可行性分析是从技术、经济和操作等方面进行项目可行性的分析,它在明确目标和任务之后,评估系统在给定条件下是否可行

D)项目规划是对项目所需的资源、成本和进度进行合理估算,并制定初步的项目开发计划

(25)在SQL Server 2000中,某数据库的数据量比较大,且存储在无磁盘阵列的存储设备上。为尽可能提高数据的操作效率,下列构建数据库文件的方法中,最合适的是

A)尽可能选择一块足够大的磁盘,并在此磁盘上建立一个数据文件和一个日志文件

B)尽可能建立多个数据文件,让每个数据文件位于不同的磁盘上,并尽可能将日志文件一与数据文件分别建立在不同的磁盘上

C)尽可能建立多个数据文件,将这些数据文件建立在一块足够大的磁盘上,并将全部日志文件建立在另一块足够大的磁盘上

D)尽可能建立多个数据文件,让每个数据文件位于不同的磁盘上,并尽可能将日志文件与数据文件建立在相同的磁盘上

(26)设有某大型连锁超市的数据库应用系统,在系统实施或改造过程中,需要对系统进行测试。设有下列测试活动

Ⅰ.模拟客户消费行为,生成销售数据,测试系统是否能正确完成销售业务

Ⅱ.编写模拟数据生成器,每秒生成2千笔与销售业务对应的销售数据,测试系统吞吐率

Ⅲ.在数据库中模拟生成5亿条销售数据,同时开启所有的收银台,测试系统平均响应时间

Ⅳ.模拟销售持续一周时间,在此期间,每天审核系统结账功能是否正确

Ⅴ.测试数据库应用系统能否正确地完成银联卡消费业务

以上测试活动,属于性能测试的是

A)仅Ⅰ、Ⅱ和Ⅲ

B)仅Ⅱ、Ⅲ和Ⅴ

C)仅Ⅱ和Ⅲ

D)仅I、Ⅳ和Ⅴ

(27)在SQL Server 2000中,设有课程表(课程号,课程名,学分,开课学期),现要在此关系表上建立一个查询指定学期开设的课程总门数和总学分数的内嵌表值函数,函数名为f _FindTotal。实现这个函数的正确代码是

A)CREATE FUNCTION f_FindTotal(@semester int)

RETURNS table

AS

RETURN(

SELECT COUNT(课程号)as课程门数, SUM(学分)as总学分FROM课程表

WHERE开课学期 = @ semester)

B)CREATE FUNCTION f_FindTotal(@semester int)

RETURNS table

AS

RETURN(

SELECT COUNT(课程号)as课程门数, COUNT(学分)as总学分FROM课程表

WHERE开课学期 = @semester)

C)CREATE FUNCTION f_FindTotal(@semester int)

RETURNS table

AS

RETURN(

SELECT SUM(课程号)as课程门数, SUM(学分)as总学分FROM课程表

WHERE开课学期= @semester)

D)CREATE FUNCTION f_FindTotal(@semester int)

RETURNS table

AS

RETURN(

SELECT SUM(课程号)as课程门数, COUNT(学分)as 总学分FROM课程表

WHERE开课学期 = @semester)

(28)设商场业务系统中有销售单据表(销售单据号, 收款员, 销售时间),销售明细表(销售明细条目号, 销售单据号, 商品号, 数量, 单位, 金额)和商品表(商品号, 商品名, 价格)。该系统业务繁忙,保存的数据量非常大,每次换班时要统计收款员的收入总额,每天停业后要统计各个商品的当天销售量,销售过程中经常需要查询某笔销售业务的情况。为了优化系统性能,下列优化方案合理的是

A)在销售单据表的收款员属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引

B)在销售单据表的销售单据号属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计统计相应数据

C)在销售单据表的销售时间属性和收款员属性上分别建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计统计相应数据

D)在销售单据表的销售单据号属性和收款员属性上分别建立聚集索引,在销售明细表的商品号属性上建立聚集索引

(29)在SQL Server 2000中,假设利用备份设备对某个数据量和日志量都比较大的数据库进行完全备份。下列说法正确的是

A)如果各个磁盘上的剩余空间均不足以存储数据库的备份,但全部磁盘的剩余空间总和大于备份数据库所需的空间,则可以将这些磁盘的剩余空间组织起来建立一个备份设备以实施备份

B)如果各个磁盘上的剩余空间均不足以存储数据库的备份,但全部磁盘的剩余空间总和大于备份数据库所需的空间,则可以将数据库中的数据和日志分别备份到位于不同磁盘的备份设备上,以解决单个磁盘空间不足的问题

C)可以只对数据库中的数据进行备份,并且可以备份到位于不同磁盘的备份设备上,以最大限度地减少备份该数据库占用的空间

D)如果各个磁盘上的剩余空间均不足以存储数据库的备份,但全部磁盘的剩余空间总和大于备份数据库所需的空间,则可以在每个磁盘上分别建立一个备份设备,并同时利用这些设备备份数据库

(30)在某分布式数据库系统中,设某数据表的模式为S(al, a2, a3, a4, a5),其中al为主码,该表中数据量大,a2取值空间为{1,2,3}。设有两个数据分片方案,分别为PSz1={S11, S12, S13}和PS2={S21, S22, S23},任取分片S1i,S1i的模式为(al, a2, a3, a4, a5),且S1i中的任一元组t都属于S,且t在属性a2上的取值为i。任取分片S2i,有S2i与S元组数相同,且其主码为al,S21的模式为(al, a2),S22为(a1, a3, a4),S23为(al, a5)。则关于PS1和PS2的分片机制,下列说法正确的是

A)PS1为水平分片,PS2为垂直分片

B)PS1为垂直分片,PS2为导出分片

C)PS1为水平分片,PS2为导出分片

D)PS1为垂直分片,PS2为水平分片

二、应用题

(1)在SQL Server 2000中,现要在employees表的first_name和last_name列上建立一个唯一的非聚集复合索引,其中first_name列数据的重复率是5%,last_name列数据的重复率是10%。请补全下列语句使以first_name和last_name列作为条件的查询效率最高。

CREATE UNIQUE NONCLUSTERED INDEX Idx_Name

ON employees( 【1】 )

(2)在SQL Server 2000中,设有顾客表(顾客号, 顾客名, 所在地区, 年龄),应用系统中需统计指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。

CREATE PROC P_Count

@area varchar(20)

AS

SELECT COUNT(*)AS 人数, 【2】 AS平均年龄FROM顾客表

WHERE所在地区=@area

(3)设有顾客表(顾客号, 顾客名, 联系电话)和购买表(商品号, 顾客号, 购买时间),现要统计有购买记录的顾客人数。请补全下列实现该功能的语句。

SELECT【3】FROM购买表

(4)在VB 6.0中,为简化访问数据库数据的编程,经常使用Adodc数据控件来访问数据库中的数据。该控件中用于描述服务器连接信息的属性是【4】 。

(5)在SQL Server 2000中,要授予某数据库中的某个用户具有该数据库中全部用户数据表的插入、删除和修改权限,比较合理的做法是将该用户添加到系统提供的【5】数据库角色中。

(6)设有学生表(学号, 姓名, 性别, 所在系),这些列均不允许有空值。现要建立一个视图,统计“计算机系”的男生人数和女生人数。请补全下列语句。

CREATE VIEW V_Count

AS

SELECT【6】 , COUNT(*)AS人数FROM学生表

WHERE所在系='计算机系'

【7】

(7)事务是由一系列操作组成的,事务的执行表现为事务中各个操作的执行。每个事务应具有结束操作。当一个事务需要终止并取消所有已执行的数据修改时应执行的语句是【8】。

(8)数据仓库是一个面向【9】的、集成的、非易失的,且随时间变化的数据集合。

(9)事务对一个数据项的操作类型决定了数据项上的锁的类型。锁的类型主要有互斥锁(简称X锁)和【10】锁(简称S锁)两种。

(10)在SQL Server 2000中,现要将数据库DB1差异备份到备份设备BK上,并且不覆盖BK上的已有内容。请补全下列备份数据库DBI的语句。

BACKUP 【11】 DB1 TO BK【12】 , NOINIT

(11)在SQL Server 2000中,某数据库中有图书表(书号, 图书名称, 类别)和销售表(书号, 销售时间, 销售数量),其中销售数量大于0。现要查询2009年10月销售的图书名称和类别。请补全下列实现该功能的查询语句。

SELECT图书名称, 类别FROM图书表

WHERE EXISTS(SELECT*FROM销售表

WHERE销售时间BETWEEN '2009/10/1' AND '2009/10/31'

【13】 )

(12)OLAP主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。OLAP的实现方式主要有三种:MOLAP、【14】和HOLAP。

(13)在分布式数据库系统中,数据分布透明性是方便用户使用数据的重要保证。数据分布透明性的最高级别是【15】透明性。

 三、设计与应用题

(1)设有某简化的网上购物系统,其ER图如下:

该系统数据之间存在下列约束:

Ⅰ. 一个客户(编号唯一)可以拥有多个订单,每个订单仅属于一个客户;

Ⅱ. 一个订单(编号唯一)可以包含多个订购细目,每个订购细目只属于一个订单;

Ⅲ. 一种商品可以出现在多个订购细目中,一个订购细目只包含一种商品;

Ⅳ. 一个商品类别可以包含多种商品,一种商品只属于一个商品类别。

① 请根据以上约束,标出ER图中各实体集之间联系的基数。(2分)

② 请将ER图转换成符合3NF的关系模式,并给出各关系模式的主码和外码。(4分)

③ 请修改所设计的关系模式使之支持下列功能(仅列出发生修改的关系模式)。(4分)

Ⅰ. 使客户能方便了解每个订购细目的处理状态和到货时间;

Ⅱ. 使客户能方便查询商品供应商的编号、名称、所在城市、联系电话和信誉。(限定一个供应商可以供应多种商品,一种商品只选自一个供应商)

(2)某学校的学籍管理系统实现了对学生学籍信息的管理,其中学生表结构为:学生表(学号, 姓名, 性别, 系号, 是否有学籍),此表中除学号列有唯一索引外,其它列均无索引。

①设学籍管理系统中经常执行如下形式的操作:

SELECT*FROM学生表

WHERE姓名='张三' AND 系号='10' AND 是否有学籍='有'

系统运行中发现这类操作的效率比较低,系统工程师建议:由于查询条件中使用了“系号”、“姓名”和“是否有学籍”三列,建议在这三个列上分别建立索引,以提高查询效率。

请问其建议建立的三个索引是否都能提高查询效率?请简要说明原因。

②设学生表中有下列数据:

并且已经在学生表的姓名列上建立了一个非聚集索引(按姓名拼音升序排序)。请给出查找码“姓名”对应的稠密索引示意图。(4分)

(3)在SQL Server 2000中,设有教师表(教师号, 姓一名, 所在部门号, 职称)和部门表(部门号, 部门名, 高级职称人数)。请编写满足下列要求的后触发型触发器(设触发器名字为tri_zc)。(10分)

每当在教师表中插入一名具有高级职称(“教授”或“副教授”)的教师时,或者将非高级职称教师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师的职称)

软件开发中有哪几种过程模型

软件开发过程

 免费下载

链接:

  提取码:rd84

软件开发过程(英语:software development process),或软件过程(英语:software process),是软件开发的开发生命周期(software

 development life

 cycle),其各个阶段实现了软件的需求定义与分析、设计、实现、测试、交付和维护。软件过程是在开发与构建系统时应遵循的步骤,是软件开发的路线图。  

在下面的软件开发方法中,哪一个对软件设计

在下面的软件开发方法中,原型化方法对软件设计和开发人员的开发要求最高。原型化方法也称为快速原型法,或者简称为原型法。它是一种根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。

软件开发模型有几种?

补充继续

4. 增量模型(Incremental Model)

与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成.

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。但是,增量模型也存在以下缺陷:

(1) 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

(2) 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

 在使用增量模型时,第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。

例如,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能。

5.螺旋模型(Spiral Model)

1988年,Barry Boehm正式发表了软件系统开发的"螺旋模型",它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

(1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

(2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;

(3) 实施工程:实施软件开发和验证;

(4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:

(1) 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。

(2) 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。

(3) 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险

一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。

6.演化模型(incremental model)

主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。软件开发人员根据用户的需求,首先开发核心系统。当该核心系统投入运行后,用户试用之,完成他们的工作,并提出精化系统、增强系统能力的需求。软件开发人员根据用户的反馈,实施开发的迭代过程。第一迭代过程均由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集。

在开发模式上采取分批循环开发的办法,每循环开发一部分的功能,它们成为这个产品的原型的新增功能。于是,设计就不断地演化出新的系统。 实际上,这个模型可看作是重复执行的多个“瀑布模型”。

“演化模型”要求开发人员有能力把项目的产品需求分解为不同组,以便分批循环开发。这种分组并不是绝对随意性的,而是要根据功能的重要性及对总体设计的基础结构的影响而作出判断。有经验指出,每个开发循环以六周到八周为适当的长度。

7.喷泉模型(fountain model, (面向对象的生存期模型, OO模型))

喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。

8.智能模型(四代技术(4GL))

智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码。这种方法需要四代语言(4GL)的支持。4GL不同于三代语言,其主要特征是用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序;它是一种声明式、交互式和非过程性编程语言。4GL还具有高效的程序代码、智能缺省假设、完备的数据库和应用程序生成器。目前市场上流行的4GL(如Foxpro等)都不同程度地具有上述特征。但4GL目前主要限于事务信息系统的中、小型应用程序的开发。

9.混合模型(hybrid model)

过程开发模型又叫混合模型(hybrid model),或元模型(meta-model),把几种不同模型组合成一种混合模型,它允许一个项目能沿着最有效的路径发展,这就是过程开发模型(或混合模型)。实际上,一些软件开发单位都是使用几种不同的开发方法组成他们自己的混合模型。

各种模型的比较

每个软件开发组织应该选择适合于该组织的软件开发模型,并且应该随着当前正在开发的特定产品特性而变化,以减小所选模型的缺点,充分利用其优点,下表列出了几种常见模型的优缺点。

下列软件开发模型中的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于下列软件开发模型中正确的是、下列软件开发模型中的信息别忘了在本站进行查找喔。

扫码二维码