-软件工程习题答案参考
(完整word版)软件工程习题及答案解析

软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10。
数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是.A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开发中,有利于发挥集体智慧的一种做法是.A、设计评审B、模块化C、主程序员制D、进度控制13. 在开发软件时, 可用来提高程序员的工作效率.A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
软件工程习题(附答案)

一、选择题1、软件是一种( 2 )性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( 2 )进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( 2 )的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( 4 )。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( 1 )。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( 4 )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( 4 )。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( 1 )的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( 4 )。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( 3 )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、在结构化方法中全面指导模块划分的最重要的原则是( 4 )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性12、最高程度也是最差的耦合是( 2 )。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括( 4 )。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( 2 )。
软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件工程习题及解答

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程第一章习题答案

第一章习题1.1什么是计算机软件?软件的特点是什么?答:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件的特点:1.软件是一种逻辑实体而不是有形的系统元件,其开发成本和进度难以准确的估算。
2.软件是被开发的或设计的,没有明显的制作工程,一旦开发成功,只需复制即可,但其维护的工作量大。
3.软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明。
答:软件分为系统软件,支撑软件和应用软件3类。
系统软件居于计算机系统中最靠近硬件的一层其他软件一般都通过系统软件发挥作用。
例如:编译程序,操作系统等。
支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统,网络软件,软件工具,软件开发环境等。
应用软件是特定应用领域专用软件。
例如:工程/科学计算软件,嵌入式软件,产品线软件,Web应用软件,人工智能软件等。
1.3简述软件语言的分类,并举例说明。
答:软件语言是用于书写计算机软件的语言主要包括:需求定义语言,功能性语言,设计性语言,实现性语言和文档语言。
需求定义语言用以书写软件需求定义,软件需求定义是软件功能需求和非功能需求的定义性描述。
软件功能需求刻画“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据预通信规程以及项目管理等。
功能性语言用以书写软件功能规约,软件功能规约是软件功能的严格而完整的陈述。
软件功能规约通常只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法,因此,功能性语言通常又称为功能规约语言。
设计性语言用以书写软件设计规约。
软件设计规约是软件设计的严格而完整的陈述。
一方面,它是软件功能规约的算法性细化,刻画了软件“如何做”的内部算法;另一方面,它又是软件实现的依据从。
软件工程练习题及参考答案

软件工程练习题及参考答案《软件工程练习题及参考答案》一.单向选择题(四选一.每小题3分,共18分)1.面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。
对应映射反映反射2.盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
流程图框图判定表 N-S图3.面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
程序数据逻辑物理4.人机界面的风格大致经过了(B)代的演变。
三四五六5.以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6.为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
纠错性维护适应性维护改善性维护预防性维护二.填空题(每空2分,共18分)1.文档一种数据媒体和其上所记录的数据。
(√)4. 软件工程使用的软件工具能够自动或半自动地支持软件的开发.管理和文档的生成。
(√)5. 为了充分发挥开发人员的潜力.缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。
(√)6. 需求分析阶段的成果主要是需求规格说明,但该成果与软件设计.编码.测试直至维护关系不大。
(X)7. 类是对具有共同特征的对象的进一步抽象。
(√)8. 面对日益增长的软件需求,人们显得力不从心。
往往是产生软件危机的原因之一。
(√)9. 数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用户控制交互过程。
(√)10. 如果在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程的语言,那么这种翻译就比较困难。
(√)11.软件测试是对软件规格说明.软件设计和编码的最全面也是最后的审查。
(√)12. 如果测试过程没有发现任何错误,则说明软件没有错误。
(X)四.简答题(每小题4分,共20分)1.螺旋模型的适应场合有哪些?适应场合:支持需求不明确.特别是大型软件系统的开发,并支持面向规格说明.面向过程.面向对象等多种软件开发方法,是一种具有广阔前景的模型。
《软件工程》课后习题答案

1、可行性研究的目的是用最小的代价,在尽可能短的时间,确定该项目是否能够开发。
2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。
3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。
4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。
6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。
7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。
可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。
8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。
重视用户界面的设计,不断的采用新理论和新技术。
软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。
9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。
10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。
11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。
12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。
13、详细描述处理过程常用三种描述工具:图形、表格和语言。
14、数据流图中,每个加工至少有一个输入流和一个输出流。
15、结构化设计以数据流为基础映射成软件结构。
16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。
17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。
18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。
《软件工程练习题及参考答案》

框图
判定表
N-S图
3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
程序
数据
逻辑
物理
4、人机界面的风格大致经Hale Waihona Puke 了(B)代的演变。三四
五
六
5、以下不属于白盒测试技术的是(D)
逻辑覆盖
基本路径测试
循环覆盖测试
等价类划分
6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
1)一致性
2)二义性
3)紧致性
4)局部性
五、综合题(每小题10分,共20分)
1、可将软件生存周期划分为哪3个过程和哪9个阶段。
(1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。
(2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。
2、画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。
4.计算机系统工程是用工程、科学和(数学)的原则与方法研制基于计算机的系统的有关技术、方法和过程。
5.在Jackson方法中,实体结构是指实体在时间坐标系中的行为序列。这种序列以顺序、选择和(重复)三种结构进行复合。
6.一个模块的“扇出数”是指该模块直接控制的其他(模块数)。
7.第二代界面是简单的(菜单)式。
7.类是对具有共同特征的对象的进一步抽象。(√)
8.面对日益增长的软件需求,人们显得力不从心。往往是产生软件危机的原因之一。(√)
9.数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用户控制交互过程。(√)
10.如果在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程的语言,那么这种翻译就比较困难。(√)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程绪论1. 什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
(1). 软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2). 软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。
所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。
4. 试从你的亲身实践,谈谈软件工具在软件开发中的作用。
答:用C++开发一个软件,是校园一卡通的模块。
首先,要在编辑程序支持下在计算机中输入源程序。
然后编译程序,把源程序翻译成目标程序。
如果发现错误,就重新调入编辑程序对源程序进行修改。
编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。
编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。
离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。
5. 什么是软件工程环境?谈谈你对环境重要性的认识。
答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。
例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。
程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。
分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。
6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。
答:以面向对象程序设计为基础。
7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。
答:按规模分为极小、小、中、大、甚大、极大。
(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。
(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。
8. 什么是形式化软件开发方法?实现这类开发的困难和出路在哪里?答:它是一种基于数学的开发技术,主要采用数学的方法来描述系统的性质(例如程序变换和程序验证等)。
形式化的方法加上自动化的开发环境,可能是解决这一难题的出路。
软件开发模型1.什么是软件生存周期?把生存周期划分为阶段的目的是什么?答:软件生存周期划分为计划、开发和运行3 个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。
2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点?答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。
3.说明文档和复审对于软件质量的控制的作用。
答:每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务。
软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人员之间互相通信的媒介,也是运行时期对软件进行维护的中要依据。
每一阶段都要对已完成的文档进行复审,以便尽早发现问题,消除隐患。
愈是早期潜伏下来的故障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。
及时复审是保证软件质量,降低开发成本的重要措施。
4.什么是快速原型法?其快速表现在哪里?答: 首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。
然后将原型改进,最终建立完全符合用户要求的新系统。
它的快速表现在能够缩短开发周期的语言和工具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。
5.实现快速原型法的最终系统可以有几种方法?请说明并加以比较。
答:原型系统仅包括未来系统的主要功能,以及系统的重要接口。
为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。
最终系统的形成可以采用原型废弃不用,另一方法是补充修改模型获得最终系统。
方法一不包括系统的细节。
后一种方法在实际工作中,由于原型系统使用的语言往往存在效率不高等原因,除了少数简单的事务系统外,大多数原型都废弃不用,仅把建立原型的过程当作帮助定义软件需求的一种手段。
6.比较增量模型和螺旋模型的特点,有什么不同和相似的地方?答:增量模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。
螺旋模型是一种迭代模型,每迭代一次,螺旋线就前进一周。
增量模型每个增量具有高内聚低耦合,高度的独立性。
而螺旋模型它在结合瀑布模型与快速原型的基础上还增加了风险分析。
7.为什么利用转换模型开发软件有一定难度?什么是净室软件工程?答:从理论上说,一个正确的,满足客户需要的形式化规格说明,经过一系列正确的程序变化后,可以确保得到这样一个形式化规格说明,目前还有较高的难度,同时,软件开发者很少具有实用形式化方法所需的背景知识,况且,转换模型开发软件现在还很费时和昂贵!净室基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。
8.哪些开发模型适用于面向对象的软件开发?答:构件集成模型9.比较螺旋模型和构件集成模型的异同。
答:构件集成模型利用预先对封装好的软件构件来构造应用软件系统,它融合了螺旋模型的很多特征,支持软件开发的迭代方法。
软件需求分析1.需求分析的任务是什么?怎样理解分析阶段的任务是决定“做什么”,而不是“怎么做”?答:需求分析主要有两个任务:第一是通过对问题及其环境的理解、分析和综合建立分析模型;第二是在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。
需求分析的任务就是为了明确要开发的是一个什么样的系统,而不是去怎么去实现这个系统2.需求分析要经过哪些步骤?答:需求获取、需求提炼、需求描述、需求验证。
3.有哪两种主要的分析模型,它们有什么联系?答:面向对象分析模型、结构化分析模型。
前者是采用面向对象的思想进行软件需求分析的建模过程,而后者模型的核心是DD,它是设计各种数据对象的总和。
他们的模型分别起到了描述数据模型,功能模型与行为模型的作用。
4.什么是结构化分析?它的“结构化”体现在哪里?答:是使用DFD DD结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档。
5.什么是面向对象分析?其主要思想是什么?答:OOA面向对象的分析是采用面向对象的思想进行软件需求分析建模的过程.主要思想是采用面向对象的思想。
5. 需求说明(或需求规格说明书)由哪些部分组成?各部分的主要内容是什么?答:引言、信息描述、功能描述、行为描述、质量描述、接口描述、其他描述。
引言:主要叙述在文体定义阶段确定的关于软件的目标与范围,简要介绍系统背景、盖帽、软件项目约束和按考资料等。
信息描述:给出对软件所含信息的详细描述,包括信息的内容、关系、数据流向、控制流向和结构等。
功能描述:对软件功能要求的说明,包括系统功能划分、每个功能的处理说明、限制和控制描述等。
行为描述:包括对系统状态变化及事件和动作的描述,据此可以检查外部事件和软件内部的控制特征。
质量描述:阐明在软件交付使用前需要进行的共更能测试和性能测试,并且规定源程序和文档应该遵守的各种标准。
接口描述:包括系统的用户界面、硬件接口、软件接口和通信接口等的说明。
其他描述:阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容。
6. 为什么DFD要分层?画分层DFD要遵循哪些原则?答:大型复杂的软件系统,其DFD可能含有数百乃至数千个加工,不能设想一次就将它们全部画齐。
正确的做法是:从系统的基本模型(把整个系统看成一个加工)开始,逐层地对系统进行分解。
原则:由顶向下,逐步细化。
7. DFD和CFD有什么区别?8. 什么是系统的行为模型,如何建立?答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态行为,即系统如何对应外部事件--- 系统的行为模型。
建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。
9. 选一个系统(例如工资处理系统、飞机订票系统、图书馆管理系统等),分别用SA方法和00A方法对它进行分析,并给出分析模答:软件设计概述1. 传统软件工程把设计过程分成2步:概要设计与详细设计。
10. 试述这2 个阶段个字主要完成的任务。
答:概要设计,包括结构设计和接口设计,并编写设计文档。
详细设计,其任务是确定各个软件组件的数据结构和操作,产生描述个软件组件的详细设计文档。
为什么大型软件设计必须分成两步走?答:概要设计和详细设计是软件设计的两步,概要设计确定模块的划分,模块之间的调用关系,接口等;详细设计细分模块、数据结构等;大型系统中分两步走是必要的,概要设计确定模块划分后,详细设计可把各模块交给不同的人做详细设计,大型系统中这样的分工是比较合理的,能提高效率,做到合理分工。
2. 解释下列名词:(1)模块;(2)模块化;(3)模块化设计。
答:模块是一个拥有明确定义的、输出和特性的程序实体。
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
模块化设计是把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。
但又相互关联的模块。
3. 什么是模块独立性?用什么度量?答:模块独立性指每个模块只完成系统要求的独立的子功能, 并且与其他模块的联系最少且接口简单。
模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。