相关的软体工程国家标准把软体生存周期划分为8个阶段,是那8个阶段?

相关的软体工程国家标准把软体生存周期划分为8个阶段,是那8个阶段?,第1张

相关的软体工程国家标准把软体生存周期划分为8个阶段,是那8个阶段?

软体工程
软体工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:
Boehm:运用现代科学技术知识来设计并构造计算机程式及为开发、执行和维护这些程式所必需的相关档案资料。
IEEE:软体工程是开发、执行、维护和修复软体的系统方法。
Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效执行的可靠软体的一系列方法。
软体工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软体工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软体产品达到预期功能的程度。可用性指软体基本结构、实现及文件为使用者可用的程度。开销合宜是指软体开发、执行的整个开销满足使用者要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软体工程过程:生产一个最终能满足需求且达到工程目标的软体产品所需要的步骤。软体工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软体需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软体系统结构,包括子系统、模组以及相关层次的说明、每一模组的介面定义。详细设计产生程式设计师可用的模组说明,包括每一模组中资料结构说明及加工描述。实现活动把设计结果转换为可执行的程式程式码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足使用者的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支援过程、培训过程等。
(3)软体工程的原则是指围绕工程设计、工程支援以及工程管理在软体开发过程中必须遵循的原则。
软体工程必须遵循什么原则
围绕工程设计、工程支援以及工程管理已提出了以下四条基本原则:
(1)选取适宜的开发模型
该原则与系统设计有关。在系统设计中,软体需求、硬体需求以及其它因素间是相互制约和影响的,经常需要权衡。因此,必需认识需求定义的易变性,采用适当的开发模型,保证软体产品满足使用者的要求。
(2)采用合适的设计方法
在软体设计中,通常需要考虑软体的模组化、抽象与资讯隐蔽、区域性化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软体工程的目标。
(3)提供高质量的工程支撑
工欲善其事,必先利其器。在软体工程中,软体工具与环境对软体过程的支援颇为重要。软体工程专案的质量与开销直接取决于对软体工程所提供的支撑质量和效用。
(4)重视软体工程的管理
软体工程的管理直接影响可用资源的有效利用,生产满足目标的软体产品以及提高软体组织的生产能力等问题。因此,仅当软体过程予以有效管理时,才能实现有效的软体工程。
软体工程是指导计算机软体开发和维护的工程学科。
采用工程的概念、原理、 技术和方法来开发与维护软体,把经过时间考验而证明正确的管理技术和当前能够 得到的最好的技术方法结合起来,这就是软体工程。
软体工程强调使用生存周期方法学和各种结构分析及结构设计技术。它们是
在七十年代为了对付应用软体日益增长的复杂程度、漫长的开发周期以及使用者对
软体产品经常不满意的状况而发展起来的。人类解决复杂问题时普遍采用的一个策
略就是“各个击破”,也就是对问题进行分解然后再分别解决各个子问题的策略
。软体工程采用的生存周期方法学就是从时间角度对软体开发和维护的复杂问题
进行分解,把软体生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立
的任务,然后逐步完成每个阶段的任务。采用软体工程方法论开发软体的时候,
从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务
的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是
使前一阶段提出的解法更进一步具体化,加进了更多的物理细节。每一个阶段的开
始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就
是后一阶段的开始标准。在每一个阶段结束之前都必须进行正式严格的技术审查
和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,通过之后这
个阶段才算结束;如果检查通不过,则必须进行必要的返工,并且返工后还要再
经过审查。审查的一条主要标准就是每个阶段都应该交出“最新式的”(即和所
开发的软体完全一致的)高质量的文件资料,从而保证在软体开发工程结束时有
一个完整准确的软体配置交付使用。文件是通讯的工具,它们清楚准确地说明了
到这个时候为止,关于该项工程已经知道了什么,同时确立了下一步工作的基础
。此外,文件也起备忘录的作用,如果文件不完整,那么一定是某些工作忘记做
了,在进入生存周期的下一阶段之前,必须补足这些遗漏的细节。在完成生存周
期每个阶段的任务时,应该采用适合该阶段任务特点的系统化的技术方法——结
构分析或结构设计技术。
把软体生存周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简
单,便于不同人员分工协作,从而降低了整个软体开发工程的困难程度;在软体
生存周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段
结束之前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的
工作,这就使软体开发工程的全过程以一种有条不紊的方式进行,保证了软体的
质量,特别是提高了软体的可维护性。总之,采用软体工程方法论可以大大提高
软体开发的成功率,软体开发的生产率也能明显提高。
目前划分软体生存周期阶段的方法有许多种,软体规模、种类、开发方式、
开发环境以及开发时使用的方法论都影响软体生存周期阶段的划分。在划分软体
生存周期的阶段时应该遵循的一条基本原则就是使各阶段的任务彼此间尽可能相
对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程
度,简化不同阶段之间的联络,有利于软体开发工程的组织管理。一般说来,软
件生存周期由软体定义、软体开发和软体维护三个时期组成,每个时期又进一步
划分成若干个阶段。下面的论述主要针对应用软体,对系统软体也基本适用。
软体定义时期的任务是确定软体开发工程必须完成的总目标;确定工程的可行
性,汇出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程
需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析
,由系统分析员负责完成。软体定义时期通常进一步划分成三个阶段,即问题定
义、可行性研究和需求分析。
开发时期具体设计和实现在前一个时期定义的软体,它通常由下述四个阶段组
成:总体设计,详细设计,编码和单元测试,综合测试。
维护时期的主要任务是使软体持久地满足使用者的需要。具体地说,当软体在
使用过程中发现错误时应该加以改正;当环境改变时应该修改软体以适应新的环境
;当用户有新要求时应该及时改进软体满足使用者的新需要。通常对维护时期不再
进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开
发过程。
下面扼要介绍软体生存周期每个阶段的基本任务和结束标准。
1问题定义
问题定义阶段必须回答的关键问题:“要解决的问题是什么?”如果不知道
问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱,最
终得出的结果很可能是毫无意义的。尽管确切地定义问题的必要性是十分明显的
,但是在实践中它却可能是最容易被忽视的一个步骤。
通过问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和
规模的书面报告。通过对系统的实际使用者和使用部门负责人的访问调查,分析员
扼要地写出他对问题的理解,并在使用者和使用部门负责人的会议上认真讨论这份
书面报告,澄清含糊不精的地方,改正理解不正确的地方,最后得出一份双方都
满意的文件。
问题定义阶段是软体生存周期中最简短的阶段,一般只需要一天甚至更少的
时间。
2可行性研究
这个阶段要回答的关键问题:“对于上一个阶段所确定的问题有行得通的解
决办法吗?”为了回答这个问题,系统分析员需要进行一次大大压缩和简化了的
系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。
可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范
围,探索这个问题是否值得去解,是否有可行的解决办法。
在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究
阶段应该汇出系统的高层逻辑模型(通常用资料流图表示),并且在此基础上更
准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效
益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。
可行性研究的结果是使用部门负责人做出是否继续进行这项工程的决定的
重要依据,一般说来,只有投资可能取得较大效益的那些工程专案才值得继续进
行下去。可行性研究以后的那些阶段将需要投入要多的人力物力。及时中止不值
得投资的工程专案,可以避免更大的浪费。
3需求分析
这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,
目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
使用者了解他们所面对的问题,知道必须做什么,但是通常不能完整准确地表
达出他们的要求,更不知道怎样利用计算机解决他们的问题;软体开发人员知道
怎样使用软体实现人们的要求,但是对特定使用者的具体要求并不完全清楚。因此系统
分析员在需求分析阶段必须和使用者密切配合,充分交流资讯,以得出经过使用者确
认的系统逻辑模型。通常用资料流图、资料字典和简要的演算法描述表示系统的逻
辑模型。
在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因
此必须准确完整地体现使用者的要求。系统分析员通常都是计算机软体专家,技术
专家一般都喜欢很快着手进行具体设计,然而,一旦分析员开始谈论程式设计的
细节,就会脱离使用者,使他们不能继续提出他们的要求和建议。较件工程使用的结
构分析设计的方法为每个阶段都规定了特定的结束标准,需求分析阶段必须提供完
整准确的系统逻辑模型,经过使用者确认之后才能进入下一个阶段,这就可以有
效地防止和克服急于着手进行具体设计的倾向。
4总体设计
这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题?”
首先,应该考虑几种可能的解决方案。列如,目标系统的一些主要功能是用
计算机自动完成还是用人工完成;如果使用计算机,那么是使用批处理方式还是
人机互动方式;资讯储存使用传统的档案系统还是资料库……。通常至少应该考虑
下述几类可能的方案:
低成本的解决方案。系统只能完成最必要的工作,不能多做一点额处的工
作。
中等成本的解决方案。这样的系统不仅能够很好地完成预定的任务,使用
起来很方便,而且可能还具有使用者没有具体指定的某些功能和特点。虽然使用者没
有提出这些具体要求,但是系统分析员根据自己的知识和经验断定,这些附加的
能力在实践中将证明是很有价值的。
高成本的“十全十美”的系统。这样的系统具有使用者可能希望有的所有功
能和特点。
系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种
方案的成本和效益,还应该在充分权衡各种方案的利弊的∩希萍鲆桓鼋虾nbsp;
的系统(最佳方案),并且制定实现所推荐的系统的详细计划。如果使用者接受分
析员推荐的系统,则可以着手完成本阶段的另一项主要工作。
上面的工作确定了解决问题的策略以及目标系统需要哪些程式,但是,怎样设
计这些程式呢?结构设计的一条基本原理就是程式应该模组化,也就是一个大程
序应该由许多规模适中的模组按合理的层次结构组织而成。总体设计阶段的第二
项主要任务就是设计软体的结构,也就是确定程式由哪些模组组成以及模组间的
关系。通常用层次图或结构图描绘软体的结构。
5详细设计
总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段
的任务就是把解法具体化,也就是回答下面这个关键问题:“应该怎样具体地实现这
个系统呢?”
这个阶段的任务还不是编写程式,而是设计出程式的详细规格说明。这种规
格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该
包含必要的细节,程式设计师可以根据它们写出实际的程式程式码。
通常用HIPO图(层次图加输入/处理/输出图)或PDL语言(过程设计语言
)描述详细设计的结果。
6编码和单元测试
这个阶段的关键任务是写出正确的容易理解、容易维护的程式模组。
程式设计师应该根据目标系统的性质和实际环境,选取一种适当的高阶程式设计
语言(必要时用汇编语言),把说细设计的结果翻译成用选定的语言书写的程式
,并且仔细测试编写出的每一个模组。
7综合测试
这个阶段的关键任务是通过各种型别的测试(及相应的除错)使软体达到预定
的要求。
最基本的测试是整合测试和验收测试。所谓整合测试是根据设计的软体结构
,把经过单元测试检验的模组按某种选定的策略装配起来,在装配过程中对程
序进行必要的测试。所谓验收测试则是按照规格说明书的规定(通常在需求分析
阶段确定),由使用者(或在使用者积极参加下)对目标系统进行验收。
必要时还可以再通过现场测试或平行执行等方法对目标系统进一步测试检验。
为了使使用者能够积极参加验收测试,并且在系统投入生产性执行以后能够正确
有效地使用这个系统,通常需要以正式的或非正式的方式对使用者进行培训。
通过对软体测试结果的分析可以预测软体的可靠性;反之,根据对软体可靠
性的要求也可以决定测试和除错过程什么时候可以结束。
应该用正式的文件资料把测试计划、详细测试方案以及实际测试结果储存下
来,做为软体配置的一个组成成分。
8软体维护
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足使用者的
需要。
通常有四类维护活动:改正性维护,也就是诊断和改正在使用过程中发现的
软体错误;适应性维护,即修改软体以适应环境的变化;完善性维护,
即根据使用者的要求改进或扩充软体使它更完善;预防性维护,即修改软体为将来
的维护活动预先做准备。
虽然没有把维护阶段进一步划分成更小的阶段,但是实际上每一项维护活动
都应该经过提出维护要求(或报告问题),分析维护要求,提出维护要求,提出
维护方案,审批维护方案,确定维护计划,修改软体设计,修改程式,测试程式,
复查验收等一系列步骤,因此实质上是经历了一次压缩和简化了的软体定义和开
发的全过程。
都应该经过提出维护要求(或报告问题),分析维护要求,提出维护要求,提出
维护方案,审批维护方案,确定维护计划,修改软体设计,修改程式,测试程式,
复查验收等一系列步骤,因此实质上是经历了一次压缩和简化了的软体定义和开
发的全过程。

参考资料:

"
还不错,希望你采纳。

软体生存周期可以分为几个阶段, 软体生存周期可以分为几个阶段,每个阶段的提交物是什么

软体生存周期(SDLC,软体生命周期)是软体的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、除错和测试、验收与执行、维护升级到废弃等阶段,这种按时间分程的思想方法是软体工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文件以供交流或备查,以提高软体的质量。但随着新的面向物件的设计方法和技术的成熟,软体生命周期设计方法的指导意义正在逐步减少。

软体生存周期为什么要划分阶段

软体生命周期(SDLC,Systems Development Life Cycle,SDLC)是软体的产生直到报废或停止使用的生命周期周期内有问题定义、可行性分析、总体描述、系统设计、编码、除错和测试、验收与执行、维护升级到废弃等阶段,这种按时间分程的思想方法是软体工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文件以供交流或备查,以提高软体的质量。但随着新的面向物件的设计方法和技术的成熟,软体生命周期设计方法的指导意义正在逐步减少。
阶段
同任何事物一样,一个软体产品或软体系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软体生存周期(软体生命周期)。把整个软体生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软体开发变的容易控制和管理。通常,软体生存周期包括:
一,问题定义。要求系统分析员与使用者进行交流,弄清“使用者需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交使用者审查和确认。
二,可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三,需求分析。弄清使用者对软体系统的全部需求,编写需求规格说明书和初步的使用者手册,提交评审。
四,开发阶段。开发阶段由三个阶段组成:
1,设计
2,实现:根据选定的程式设计语言完成源程式的编码。
3,测试
五,维护:维护包括四个方面
1,改正性维护:在软体交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到执行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
2,适应性维护:是为适应环境的变化而修改软体的活动。
3,完善性维护[1] :是根据使用者在使用过程中提出的一些建设性意见而进行的维护活动。
4,预防性维护:是为了进一步改善软体系统的可维护性和可靠性,并为以后的改进奠定基础。

软体生存周期包含哪些阶段?

新奇》开始推广》用的人越来越多》感觉出有很多不便和漏洞》使用者减少》最后隐退

论述软体生存周期的几个阶段及各阶段应解决什么问题

填空: 瀑布模型的生命周期的几个阶段中, (需求分析阶段 )环节出现问题对软体的影响大。

什么是软体工程和软体生存周期

软体工程是指导计算机软体开发和维护的工程学科。采用工程学的概念、原理、技术和方法,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来开发与维护软体。
软体生命周期方法学把软体开发和维护分成软体定义、软体开发和软体维护三个时期,每个时期又分成若干个阶段。

软体生存周期阶段中什么出错对软体影响最大

从结构化的瀑布模型看,在软体生命周期中得 8 个阶段中,详细设计阶段出错,对软体的影响最大。

什么事软体工程软体的生命周期包括哪六个阶段

软体工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软体,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程式设计语言、资料库、软体开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软体应用于多个方面。典型的软体比如有电子邮件、嵌入式系统、人机介面、办公套件、作业系统、编译器、资料库、游戏等。同时,各个行业几乎都有计算机软体的应用,比如工业、农业、银行、航空、 部门等。这些应用促进了经济和社会的发展,提高人们的工作效率,同时提升了生活质量。
软体工程师是对应用软体创造软体的人们的统称,软体工程师按照所处的领域不同可以分为系统分析员、软体设计师、系统架构师、程式设计师、测试员等等。人们也常常用程式设计师来泛指各种软体工程师。
定义:
创立与使用健全的工程原则,以便经济地获得可靠且高效率的软体。
应用系统化,遵从原则,可被计量的方法来发展、 *** 作及维护软体;也就是把工程应用到软体上。
与开发、管理及更新软体产品有关的理论、方法及工具。
一种知识或学科,目标是生产品质良好、准时交货、符合预算,并满足使用者所需的软体。
实际应用科学知识在设计、建构电脑程式,与相伴而来所产生的档案,以及后续的 *** 作和维护上。
使用与系统化生产和维护软体产品有关之技术与管理的知识,使软体开发与修改可在有限的时间与费用下进行。
建造由工程师团队所开发之大型软体系统有关的知识学科。
对软体分析、设计、实施及维护的一种系统化方法。
系统化地应用工具和技术于开发以计算机为主的应用。
软体工程是关于设计和开发优质软体。
SDLC 有很多种(瀑布,V,螺旋等等),不是所有的都有六个周期
瀑布 SDLC 是六个阶段:需求分析,设计,实现,测试 (确认), 整合,和维护
软体工程方面的资料我建议找英文的

用例图用在软体工程的哪个阶段

是在需求分析阶段

(1) 掌握数据表示、算术和逻辑运算;
(2) 掌握相关的应用数学、离散数学的基础知识;
(3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4) 掌握 *** 作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5) 熟练掌握常用数据结构和常用算法;
(6) 熟悉数据库、网络和多媒体的基础知识;
(7) 掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中的一种程序设计语言;
(8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9) 熟练掌握软件设计的方法和技术;
(10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(11) 了解信息化、计算机应用的基础知识;
(12) 正确阅读和理解计算机领域的英文资料。
分析:相对于2001年考试大纲,新大纲对知识面的要求更宽,更注重软件设计开发的实践能力,这一点充分体现在下午考试中。考试内容除了技术要求外,还增加了对软件工程实践能力、安全性、标准化、法律法规等方面知识的要求,毕竟软件设计师是软件产业的骨干,因此考试要求相对较高。
二、考试范围
考试科目1:计算机与软件工程知识
本部分包含以下内容:
l 计算机科学基础
l 计算机系统知识
l 系统开发和运行知识
l 安全性知识
l 标准化知识
l 信息化基础知识
l 计算机专业英语
1.计算机科学基础
11 数制及其转换
· 二进制、十进制和十六进制等常用制数制及其相互转换
12 数据的表示
·(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)
· 非数值表示(字符和汉字表示、声音表示、图像表示)
· 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)
13 算术运算和逻辑运算
· 计算机中的二进制数运算方法
· 逻辑代数的基本运算和逻辑表达式的化简
分析11 / 12 / 13
本部分要求与程序员考试大纲基本一致
重点:数的表示、校验码
难点:数的四种编码:原码、反码、补码、移码及相互之间的变换方法。浮点数的表示以及其规格化。
考试题型一般分布在:数制表示、数据表示、校验码的长度、逻辑表达式(公式、等效变换),明确“与”、“非”、“异或”的运算规则。
考试出现频率较高的内容:浮点数规格化、进制转换、求反补码。
14 数学基础知识
· 命题逻辑、谓词逻辑、形式逻辑的基础知识
· 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分)
· 排列组合、概率论应用、应用统计(数据的统计分析)
· 运算基本方法(预测与决策、线性规划、网络图、模拟)
分析14
考纲要求掌握相关的应用数学、离散数学的基础知识
本部分内容作为背景知识,虽不专门考察,但在其他题目中尤其是程序设计中出现。
15 常用数据结构
· 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和 *** 作
· Hash(存储地址计算,冲突处理)
16 常用算法
· 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法
· 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性
分析15/16
因为数据结构是程序设计的基础,算法与数据结构密切相关,因此本部分为考试重点内容,要求熟练掌握。
重点:顺序存储结构和链式存储结构的特点、链表中的头结点、栈的运算与溢出、循环队列的基本 *** 作
数组元素的存储位置、特殊矩阵的压缩存储、广义表的表头和表尾求法
二叉树存储方法、由遍历序列确定二叉树、二叉树的计数问题
图的遍历算法、最小生成树算法、拓朴排序和关键路径、最短路径算法
平均查找长度、折半查找判定树、平衡二叉树的最少结点数、插入运算及平衡化处理、哈希表的构造和查找
排序的稳定问题、快速排序的分析及改进、内部排序的时间下界、算法时间复杂度分析
难点:二叉树节点与深度的关系、图的存储(矩阵、邻接表)与 *** 作、遍历、
考试出现频率较高的内容:树的遍历、数据元素存储方式、查找树、平衡树
考试题型一般分布在:数据元素存储方式、队和栈的性质及其对比、链表 *** 作、二叉树的定义及其性质、二叉树的遍历/节点计算、树的遍历、查找树、平衡树等,图的概念及其性质。
常见的排序算法、查找算法、递归算法、算法的基本特点、常用算法思想、算法效率的比较(时间、空间复杂度)、算法描述、算法复杂性比较
2.计算机系统知识
21 硬件知识
211 计算机系统的组成、体系结构分类及特性
· CPU和存储器的组成、性能和基本工作原理
· 常用I/O设备、通信设备的性能,以及基本工作原理
· I/O接口的功能、类型和特性
·(中断系统、DMA、I/O处理机方式)
· CISC/RISC,流水线 *** 作,多处理机,并行处理
212 存储系统
· 主存-Cache存储系统的工作原理
· 虚拟存储器基本工作原理,多级存储体系的性能价格
· RAID类型和特性
分析211/212
分析:磁盘存储器的容量计算、地址映射、流水线、系统结构分类
重点:Cache替换算法、内存与接口的编址方式、流水线 *** 作
难点:I/O控制方式、地址计算、并行处理的概念和层次
考试出现频率较高的内容:指令的寻址方式以及指令的执行过程;存储容量的计算、
流水线处理机的主要指标、CISC/RISC比较等
213 安全性、可靠性与系统性能评测基础知识
· 诊断与容错
· 系统可靠性分析评价
· 计算机系统性能评测方式
分析213本部分内容多为记忆型内容
重点:数据加密/解密知识、计算机安全等级、认证技术、数字签名等
平均无故障时间、平均修复时间定义、计算机可靠性模型、性能评价
难点:数据加密/解密知识、密钥体制
考试出现频率较高的内容:可靠性能评价、数据安全知识、计算机可靠性及性能评价
22 软件知识
221 *** 作系统知识
· *** 作系统的内核(中断控制)、进程、线程概念
· 处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)
· 存储管理(主存保护、动态连接分配、分段、分页、虚存)
· 设备管理(I/O控制、假脱机)
· 文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)
· 作业管理(作业调度、作业控制语言(JCL)、多道程序设计)
· 汉字处理,多媒体处理,人机界面
· 网络 *** 作系统和嵌入式 *** 作系统基础知识
· *** 作系统的配置
分析221
重点: *** 作系统的五大管理功能,其中如处理机管理、存储管理、作业调度、进程调度、页面调度等尤为重要、状态转换、共享与互斥、分时轮转、抢占、死锁
难点:作业调度、进程调度、页面调度算法、PV *** 作
考试题型一般分布在: *** 作系统的概述、处理机管理、存储、文件管理、作业、进程调度、进程状态变化
考试出现频率较高的内容:PV *** 作、进程死锁/同步、内存分配、并发执行程序、进程间状态转换、PV实现进程间的同步与互斥、死锁及其避免、地址变换、页面置换、工作集
222 程序设计语言和语言处理程序的知识
· 汇编、编译、解释系统的基础知识和基本工作原理
· 程序设计语言的基本成分:数据、运算、控制和传输,过程(函数)调用
· 各类程序设计语言主要特点和适用情况
分析222
分析:文法考查、自动机、正则式
重点:编译程序的基本组成、正则表达式和有限自动机、文法及语言的形式描述、中间代码、自动机原理、文法和语言的定义
考试出现频率较高的内容:正则表达式和正则集、有限自动机和正则表达式的转换
23 计算机网络知识
· 网络体系结构(网络拓扑、OSI/RM、基本的网络协议)
· 传输介质、传输技术、传输方法、传输控制
· 常用网络设备和各类通信设备
· Client/Server结构、Browser/Server结构
· LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接
· 因特网基础知识以及应用
· 网络软件
· 网络管理
· 网络性能分析
分析23
计算机网络中对OSI/RM七层的划分,及各种协议的功能。传输理论、互联设备、Internet知识,除参考模型理论外,其他的比较比较琐碎,需要知识积累。
重点:网络分类、拓扑结构、OSI参考模型层次划分及对应的协议、带宽计算、子网划分、防火墙技术
难点:IP子网划分;传输控制、各层协议的功能
考试题型一般分布在:这部分知识除了上面的难点部分外,基本属于了解记忆性的知识点,知识点比较散乱,但考试中考点均落在大纲中列出的知识点中。
考试出现频率较高的内容:TCP/IP协议、参考模型7层协议、IP地址的分类、各种网络设备的比较;
24 数据库知识
· 数据库管理系统的功能和特征
· 数据库模型(概念模式、外模式、内模式)
· 数据模型,ER图,第一范式、第二范式、第三范式
· 数据 *** 作(集合运算和关系运算)
· 数据库语言(SQL)
· 数据库的控制功能(并发控制、恢复、安全性、完整性)
· 数据仓库和分布式数据库基础知识
分析24
无论对上午题目还是下午题目,本部分都很重要,这是学习和复习的一个重点。
重点:用E-R模型表示现实问题,扩充的E-R模型、ER图向关系模式的转换、数据库语言(SQL)、对SELECT查询语句的应用、关系代数表达式、关系模型的完整性约束、函数依赖
难点:五种基本的关系运算方法、组合的关系运算方法、规则化理论()、函数依赖、分解的保持函数依赖、无损连接又保持函数依赖的分解、判断一个分解的无损连接性和保持函数
考试出现频率较高的内容:数据模型、关系运算与SQL语句的转换、函数依赖
25 多媒体知识
· 多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式
· 简单图形的绘制,图像文件的处理方法
· 音频和视频信息的应用
· 多媒体应用开发过程
分析25
基本属于了解记忆性的知识点。
重点:多媒体的基本概念、声音数字化的过程、图像压缩编码、视频文件的国际标准、流媒体概念、多媒体计算机系统、虚拟现实技术
难点:多媒体信息的容量计算、数据压缩、常用多媒体文件格式、音频和视频的物理特征等
考试出现频率较高的内容:基本知识、信息的容量计算
26 系统性能知识
· 性能指标(响应时间、吞吐量、周转时间)和性能设计
· 性能测试和性能评估
· 可靠性指标及计算、可靠性设计
· 可靠性测试和可靠性评估
分析26
重点:可靠性评估
考试出现频率较高的内容:系统可靠性的计算、设备周转时间
27 计算机应用基础知识
· 信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识
· 远程通信服务基础知识
· 常用应用系统
分析27
本部分内容不是考试重点,做一般了解即可。
3.系统开发和运行知识
本部分内容涉及上午考试和下午考试,是软件设计师工作能力的考查重点。
31 软件工程、软件过程改进和软件开发项目管理知识
· 软件工程知识
· 软件开发生命周期各阶段的目标和任务
· 软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具
· 主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)
· 软件开发工具与环境知识
· 软件过程改进知识
· 软件质量管理知识
· 软件开发过程评估、软件能力成熟评估基础知识
分析31
重点:软件开发方法、CMM、成本估算、风险分析、进度管理、人员管理、软件开发环境
32 系统分析基础知识
· 系统分析的目的和任务
· 结构化分析方法(数据流图(DFD)、数据字典(DD)、实体关系图(ERD)、描述加工处理的结构化语言)
· 统一建模语言(UML)
· 系统规格说明书
分析32
高度重视UML在系统分析中的应用
重点:数据流图(DFD)、数据字典(DD)、实体关系图(ERD)
考点:UML的各类图
33 系统设计知识
· 系统设计的目的和任务
· 结构化设计方法和工具(系统流程图、HIPO图、控制流程图)
· 系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案)
· 系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)
· 系统设计说明书
分析33
重点:系统流程图、HIPO图、控制流程图
34 系统实施知识
· 系统实施的主要任务
· 结构化程序设计、面向对象程序设计、可视化程序设计
· 程序设计风格
· 程序设计语言的选择
· 系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)
· 测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)
· 系统转换基础知识
35 系统运行和维护知识
· 系统运行管理基础知识
· 系统维护基础知识
· 系统评价基础知识
分析34/35
重点:结构化设计中信息流、变换分析、系统结构设计原则、系统划分、模块设计、数据存储设计、面向对象程序设计、测试方法、系统维护的分类
难点:系统测试方法、测试分类、系统可维护性评价指标
36 面向对象开发方法
· 面向对象开发概念(类、对象、属性、封装性、继承性、多态性、对象之间的引用)
· 面向对象开发方法的优越性以及有效领域
· 面向对象设计方法(体系结构、类的设计、用户接口设计)
· 面向对象实现方法(选择程序设计语言、类的实现、方法的实现、用户接口的实现、准备测试数据)
· 面向对象程序设计语言(如C++、Java、Visual、Bsasic、Visual C++)的基本机制
· 面向对象数据库、分布式对象的概念
分析36
重点:面向对象开发:类、对象、属性、封装性、继承性、多态性、OMT方法
难点:建议在数据流图、结构化分析方法上多加掌握。
分析3
考试题型一般分布在:DFD、软件的生存周期;数据流图;模块间的关系;软件测试的分类、软件质量管理(标准)软件的特性、主要的软件开发方法、系统测试、软件能力成熟评估
考试出现频率较高的内容:数据流图、黑盒/白盒测试、面向对象技术的概念
4.安全性知识
· 安全性基本概念
· 防治计算机病毒、防范计算机犯罪
· 存取控制、防闯入、安全管理措施
· 加密与解密机制
· 风险分析、风险类型、抗风险措施和内部控制
分析4
系统安全问题是目前社会关注的问题,也是应用价值较高的知识,可结合现实中的相关问题来加深理解。
考试出现频率较高的内容:加密与解密算法、
5.标准化知识
· 标准化意识、标准化的发展、标准制订过程
· 国际标准、国家标准、行业标准、企业标准基本知识
· 代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识
· 标准化机构
6.信息化基础知识
· 信息化意识
· 全球信息化趋势、国家信息化战略、企业信息化战略和策略
· 有关的法律、法规
· 远程教育、电子商务、电子政务等基础知识
· 企业信息资源管理基础知识
分析5/6
信息化、标准化知识是新增考点。标准化方面有标准标识,标准修订等是对基本素质的考查,也要重视。
考试出现频率较高的内容
7.计算机专业英语
· 掌握计算机技术的基本词汇
· 能正确阅读和理解计算机领域的英文资料
分析7
专业英语,是对专业知识和英语水平的考查,考前需有意识阅读点英文专业资料。
考试题型一般分布在:软件行业标准,计算机安全基础知识,信息化基础知识。
考试出现频率较高的内容:行业标准的类别;计算机安全,CMM分类,计算机软件著作权问题。
考试科目2:软件设计
本部分具体内容如下:
l 外部设计
l 内部设计
l 程序设计
l 系统实施
l 软件工程
本部分所涉及内容为软件设计的日常工作,这些内容同样出现在上午考试试题中。
1.外部设计
11 理解系统需求说明
12 系统开发的准备
· 选择开发方法、准备开发环境、制订开发计划
13 设计系统功能
· 选择系统结构,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制订详细的工作流和数据流
14 设计数据模型
· 设计ER模型、数据模型
15 编写外部设计文档
· 系统配置图、各子系统关系图、系统流程图、系统功能说明书、输入输出规格说明、数据规格说明、用户手册框架
· 设计系统测试要求
16 设计评审
应能由考试说明内容,来阅读
2.内部设计
21 设计软件结构
· 按构件分解,确定构件功能规格以及构件之间的接口
· 采用中间件和工具
22 设计输入输出
· 屏幕界面设计、设计输入输出检查方法和检查信息
23 设计物理数据
· 分析数据特性,确定逻辑数据组织方式、存储介质,设计记录格式和处理方式
· 将逻辑数据结构换成物理数据结构,计算容量,进行优化
24 构件的创建和重用
· 创建、重用构件的概念
· 使用子程序库或类库
25 编写内部设计文档
· 构件划分图、构件间的接口、构件处理说明、屏幕设计文档、报表设计文档、文件设计文档、数据库设计文档
26 设计评审
3.程序设计
31 模块划分(原则、方法、标准)
32 编写程序设计文档
· 模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)
· 测试要求说明书(测试类型和目标、测试用例、测试方法)
33 程序设计评审
4.系统实施
41 配置计算机系统及其环境
42 选择合适的程序设计语言
43 掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中任一种程序设计语言,以便能指导程序员进行编程和测试,并进行必要的优化
44 系统测试
· 指导程序员进行模块测试,并进行验收
· 准备系统集成测试环境和测试工具
· 准备测试数据
· 写出测试报告
5.软件工程
· 软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型
· 定义软件需求(系统化的目标、配置、功能、性能和约束)
· 描述软件需求的方法(功能层次模型、数据流模型、控制流模型、面向数据的模型、面向对象的模型等)
· 定义软件需求的方法(结构化分析方法、面向对象分析方法)
· 软件设计(分析与集成、逐步求精、抽象、信息隐蔽)
· 软件设计方法(结构化设计方法、Jackson方法、Warnier方法、面向对象设计方法)
· 程序设计(结构化程序设计、面向对象程序设计)
· 软件测试的原则与方法
· 软件质量(软件质量特性、软件质量控制)
· 软件过程评估基本方法、软件能力成熟度评估基本方法
· 软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)
· 软件工程发展趋势(面向构件,统一建模语言(UML))
· 软件过程改进模型和方法
本部分综合分析:
软件设计师,关键是设计软件的能力。考纲要求:要熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;熟练掌握软件设计的方法和技术;掌握C程序设计语言及指定的四种面向对象语言中的一种。这部分专业能力严重依赖工作实践,要求有一定经验的积累,是具有工程师的实际工作能力和业务水平的体现。如无实践经验,要学会借鉴,以取人之长,补已之短。
这部分主要体现在下午考试中,现就如何应对下午考试进行分析:
近几次考试中下午试题分五个题目,一个数据库,一个程序填空题、一个面向对象的语言题,另两个题目分别为数据流图、UML、或流程图等。
数据库题目,要求补全SQL语言,这要求考生熟悉SQL的语言,无论对上午题目还是下午题目都很重要。这是学习和复习的一个重点。
数据流图,DFD是一种分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。请认真弄清其应用,在画出数据流图的情况下,系统的功能也就确定了,再经过细化,逐步向物理结构迈进。考核时,试题多从父图和子图的平衡来分析。这部分内容,一个解题的关键是高度重视题目说明,务必正确、深入理解其内容,必要时要读几遍,同时对于给出的图表,也要务必看懂。这样答题就轻松了,答案实际就蕴含在说明中。
流程图类题目,是大家再熟悉不过的了,它就一个具体问题的解题思路进行描述,是面向过程的。但所求问题是千差万别的,因此应理解思路,细心作答。
答题形式最简单也是难度最大的是程序填空。为便于阅卷,这类题目以程序填空形式出现,这不仅要求理解问题本质,同时也要弄清作者解题思路,这一点比自己独立完成程序设计要难得的多。针对问题,首先设计自己的思路,如何解决问题,先后顺序怎样;然后试读程序,如何思路大体一致,很好,这题容易解决了。如思路不一致,设法弄清每一段代码的功能,其逻辑结构怎样,进而弄清命题人的解题思路,再顺势解决问题。人们常讲,答案就在题目中,这是对的。在分析问题过程中,找到所求答案。不过前提条件是考生要熟悉这种语言,又要明白解题思路,这样才能正确作答。这个题目比较难,要么不得分,要么得全分。
近年对于统一建模语言UML考查较多,已引起了考生的注意。它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。人们对于图的理解相对其他形式更容易一些,图能更清晰地描述和说明问题的本质,因此,UML体现了这一特点。这类题目难度与数据流图相似,自然解题思想也相同。从形式上看,数据流图更朴实一些,UML类的题目则透出一种新颖、现代的气息。
最后的题目面向对象语言是一个选做题,给考生以自由,可以发挥个人的优势。命题已注意到不同语言的考查难度一致性,要求考生就同一问题回答,实现了形式上的公平,自然是一个进步

系统详细设计包括以下内容:

1、 系统结构设计及子系统划分

划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。

2、系统功能模块详细设计
按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。

3、系统界面详细设计
系统界面说明应用系统软件的各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。

4、外部界面设计
根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。

5、内部界面设计
设计系统内部各功能模块间的调用关系和数据接口。

6、用户界面设计
规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。

扩展资料:

系统详细设计内容:

用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。

以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。
详细设计应用系统的各个构成模块完成的功能及其相互之间的关系。

用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。
每个模块的描述说明可参照以下格式:
模块编号:
模块名称:
输入:
处理:
算法描述:
输出:
其中处理和算法描述部分主要采用伪码或具体的程序语言完成。
对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。
如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。

参考资料:

百度百科 ------ 系统设计

一,单项选择题(每题1分,共10分):1()计算机系统就是:A)主机,显示器,硬盘,软驱,打印机等B)CPU,存储器,控制器,I/O接口及设备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)程序流程图,Jackson图,IPO图C)数据流程图,数据字典,ER图D)Jackson图,ER图,IPO图7()耦合是对软件不同模块之间互连程度的度量各种耦合按从强到弱排列如下:A)内容耦合,控制耦合,数据耦合,公共环境耦合B)内容耦合,控制耦合,公共环境耦合,数据耦合C)内容耦合,公共环境耦合,控制耦合,数据耦合D)控制耦合,内容耦合,数据耦合,公共环境耦合8()在详细设计阶段所使用到的设计工具是:A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树B)数据流程图,Yourdon图,程序流程图,PAD图,N-S图,HIPO图C)判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图9()按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:A)模块的作用域应在模块的控制域之内B)模块的控制域应在模块的作用域之内C)模块的控制域与模块的作用域互相独立D)以上说法都不对10()包含所有可能情况的测试称为穷尽测试下面结论成立的是:A)只要对每种可能的情况都进行测试,就可以得出程序是否符合要求的结论B)一般来说对于黑盒测试,穷尽测试是不可能作到的C)一般来说对于白盒测试,穷尽测试是不可能作到的D)在白盒测试和黑盒测试这两个方法中,存在某一个是可以进行穷尽测试的二,填空题(每题1分,共10分)1软件危机是指在()所遇到的一系列严重问题2在软件开发的各个阶段经过阶段评审后的文档和程序代码成为()3结构程序设计的基本思想是()4总体设计的第二项任务是设计软件的结构,即确定()5描绘物理系统的传统工具是()6如果模块内所有元素都使用同一个输入数据和产生同一个输出,称为()内聚7数据流程图按照信息流的类型主要分为()两种8()年,()和()证明了SISO程序只需要三种基本控制结构9从应用特点分类,高级语言主要分为(),()和()三类10黑盒测试又称为(),白盒测试也称为()三,多项选择题(以下各题均有两个以上的正确答案将正确答案的标号填入各题前面括号内,注意多选或少选该题均不得分,每题2分,共20分):1()软件开发各个阶段所耗费的时间或工作量是:A)可行性研究占5%;B)综合测试占40%;C)设计阶段在所有开发阶段所占的比例最大D)编码和单元测试占20%E)以上说法都不对2()对软件开发与维护,以下观点是正确的:A)为了加快开发速度,可以一边写程序,一边设计文档B)对于软件而言,程序和软件配置成分是同等重要的,不能重此偏0C)把软件漫长的生命周期划分为若干个阶段的出发点是降低开发的困难程度和简化复杂性D)可行性研究的主要任务就是确定软件项目的工程规模和目标E)面向对象的方法学比传统的软件开发方法开发软件容易,开发效率提高3()对于以下图形工具的作用,A)数据流程图和数据字典共同构成软件的高层数据模型B)层次图是用来描述软件结构的,不能用于描述数据结构C)IPO图能方便地描绘输入数据,对数据的处理和输出数据的关系,它是美国微软公司发明并逐渐发展完善起来的D)ER图描述现实世界中的实体,不涉及这些实体在系统中的实现方法E)Yourdon图实际上也是结构图,所以它与层次方框图是等价的4()面向数据结构的设计方法有:A)Jackson方法B)Warnier方法C)Halstead方法D)PAD方法E)GMyers方法5()以下测试方法是白盒测试方法的是:A)判定覆盖和边界值分析法B)等价划分和错误推测法C)路径覆盖和判定/条件覆盖法D)条件组合覆盖和语句覆盖法E)条件覆盖和错误推测法6()以下关于集成测试的论述,正确的是:A)先对每个模块分别测试,然后统一组装成软件系统的方法称为非渐增式测试B)自顶向下的集成测试本质上是渐增式测试方法C)存根模块是渐增式测试方法中使用的,在非渐增式测试中也用不到桩模块D)一般来说,存根模块和桩模块在用过以后,不会作为软件的正式模块而存在E)由于是对程序进行测试,测试方案的设计一般在详细设计阶段完成以后才进行7()对于程序设计,正确的陈述是:A)为了减少程序的长度,最好不要在程序中增加注释B)变量名以简洁为好,名字太长了难以理解,增加了程序的复杂性C)程序语句要求体现层次性,以使结构清晰明显D)数据结构的组织和复杂程度在设计期间确定,但数据说明的风格是在写程序时确定的E)对所有的输入数据都要进行检验,以便确定其合法性8()内聚标志一个模块内各个元素彼此结合的紧密程度A)内聚是信息隐蔽和局部化概念的自然扩展理想内聚的模块只做臆见事情B)一个模块所包含的任务必须在同一段时间内执行,该模块的内聚为时间内聚C)一个模块内的处理元素是相关的,必须以特定次序执行,称为过程内聚D)顺序内聚和功能内聚是高内聚,而偶然内聚和逻辑内聚是低内聚E)时间内聚,通信内聚,过程内聚是中等程度的内聚9()McCabe方法对程序复杂程度的定量度量的结果称为程序的环行复杂度,其计算公式是:V(G)=m-n+pA)应用McCabe方法的前提是对应的程序图变换成强连通图B)V(G)代表程序图G的线性无关环的个数C)一般对于结构化程序,p恒等于1D)m是有向图G中的弧数E)n是有向图G中的节点数10()详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统A)详细设计阶段不具体的编写程序B)详细设计阶段的设计结果基本决定了最终的程序代码质量C)详细设计的目标不仅要逻辑上正确的实现每个模块的功能,而且对每个模块的处理过程也应确保简明易懂,清晰具体D)详细设计的关键技术是结构程序设计技术四,基本概念题(每题2分,共10分)1软件工程2软件测试3数据流图及其组成和作用4结构化分析方法5信息隐蔽原理五,叙述分析题:(每题5分,共20分)1试述对用户要求没有完整的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因2简述软件可靠性和可用性的定义,平均无故障时间的计算公式及应用3简述软件重用的定义,范围和主要技术4说明软件测试在软件开发阶段的地位和作用比较测试和调试的异同点六,设计,作图,计算题(每题5分,共30分)1以下是某系统的数据流程图,请将其转换成相应的SC图2研究下面的伪码程序,完成以下问题:STARTINPUTX,NDIMENSIONA(N),F(N)DOI=1TONINPUTF(I)ENDDOK=0DOWHILE(KA(K)=0DOJ=1TON-KA(K)=A(K)+F(J)F(J+K)/(N-K+1)ENDDOPRINTKX,A(K)K=K+1ENDDOSTOPA)画出等价的控制流程图,B)判断是否结构化的,说明理由C)写出对应的PAD图D)用McCabe方法计算环行复杂度3为方便储户,某银行拟开发计算机储蓄系统储户填写的存款单或取款单由业务员键入系统如果是存款,系统记录存款人姓名,住址,存款类型,存款日期,利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户1)画出该系统的高层数据流程图和第二层细化流程图2)对数据流定义数据字典4某航空公司规定,乘客可以免费托运不超过20公斤的行李当行李重量超过20公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元对残疾乘客超重部分在舱位等次相同的情况下收费减半用判定表描述行李托运费的处理过程5设计程序,先读入三个整数值代表一个三角形的三条边,然后根据这三个值判断该三角形属于不等边,等腰或等边三角形中的哪一种请设计满足判定/条件覆盖标准的测试方案6设模块RootForSquare(inta,intb,intc,intx,inty)的功能是一元二次方程求根请使用等价划分法来设计测试方案

软件文档中概要设计也称“总体设计”,是开发人员在明确用户需求(要什么)后对系统的一个总体考虑(明确系统目标、设计原则,初步考虑数据库设计和功能设计),国家关于这方面有相关标准(概要设计说明书(GB8567-88))。

在具体实践中可以按下列提纲撰写内容:

1.引言

11编写目的

[说明编写这份概要设计说明书的目的,指出预期的读者。]

12背景

a[待开发软件系统的名称;]

b[列出本项目的任务提出者、开发者、用户。]

13定义

[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。]

14参考资料

[列出有关的参考资料。]

2.总体设计

21需求规定

[说明对本系统的主要的输入输出项目、处理的功能性能要求。包括]

211系统功能

212系统性能

2121精度

2122时间特性要求

2123可靠性

2124灵活性

213输入输出要求

214数据管理能力要求

215故障处理要求

216其他专门要求

22运行环境

[简要地说明对本系统的运行环境的规定。]

221设备

[列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。]

222支持软件

[列出支持软件,包括要用到的 *** 作系统、编译(或汇编)程序、测试支持软件等。]

223接口

[说明该系统同其他系统之间的接口、数据通信协议等]

224控制

[说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。]

23基本设计概念和处理流程

[说明本系统的基本设计概念和处理流程,尽量使用图表的形式。]

24结构

[给出系统结构总体框图(包括软件、硬件结构框图),说明本系统的各模块的划分,扼要说明每个系统模块的标识符和功能,分层次地给出各模块之间的控制与被控制关系。]

25功能需求与系统模块的关系

[本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。]

26人工处理过程

[说明在本系统的工作过程中不得不包含的人工处理过程。]

27尚未解决的问题

[说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。]

3.接口设计

31用户接口

[说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。]

[说明提供给用户 *** 作的硬件控制面板的定义。]

32外部接口

[说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持系统之间的接口关系。]

33内部接口

[说明本系统之内的各个系统元素之间的接口的安排。]

4.运行设计

41运行模块组合

[说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块的支持软件。]

42运行控制

[说明每一种外界的运行控制的方式方法和 *** 作步骤。]

43运行时间

[说明每种运行模块组合将占用各种资源的时间。]

5.系统数据结构设计

[不涉及软件设计可不包含]

51逻辑结构设计要点

[给出本系统内软件所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。]

52物理结构设计要点

[给出本系统内软件所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系、设计考虑和保密条件。]

53数据结构与程序的关系

[说明各个数据结构与访问这些数据结构的各个程序之间的对应关系。]

6.系统出错处理设计

61出错信息

[用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。]

62补救措施

[说明故障出现后可能采取的变通措施。]

63系统维护设计

[说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。]

概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。 [1]

概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。

(1)层次图。层次图用来描绘软件的层次结构。一个矩形框代表一个模块,方框间的连线表示调用关系。如图,最顶层的方框代表正文加工系统的主控模块,它调用下层模块,完成正文加工的全部功能。第二层的每个模块完成正文加工的一个主要功能。

(2)HIPO图。HIPO图是IBM公司发明的“层次图加输入/处理/输出图”。层次图加上编号称为H图。在层次图的基础上,除最顶层的方框之外,其余每个方框都加了编号。层次图中每一个方框都有一个对应的IPO图(表示模块的处理过程)。每张IPO图应增加的编号与其表示的(对应的)层次图编号一致。IPO图是输入/加工/输出图的简称。

(3)结构图。结构图是Yordon提出的进行软件结构设计的工具,结构图和层次图类似,一个方框代表一个模块,框内注明模块的名字或主要功能。方框之间的直线(箭头)表示模块的调用关系。用带注释的箭头表示模块调用过程中来回传递的信息,尾部是空心的,表示传递的是数据,实心的表示传递的是控制。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13141506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-11
下一篇 2023-06-11

发表评论

登录后才能评论

评论列表(0条)

保存