软件系统开发技术模拟题参考答案1-3
- 格式:docx
- 大小:275.78 KB
- 文档页数:22
软件系统开发技术试题(一)一、单项选择题(本大题共10小题,每小题1分,共10分)1、设计软件结构一般不.确定( D )A、模块之间得接口B、模块间得调用关系C、模块得功能D、模块内得局部数据2、软件结构化设计中,好得软件结构应该力求做到( B )A、顶层扇出较少,中间扇出较高,底层模块低扇入B、顶层扇出较高,中间扇出较少,底层模块高扇入C、顶层扇入较少,中间扇出较高,底层模块高扇入D、顶层扇入较少,中间扇入较高,底层模块低扇入3、两个模块都使用同一张数据表,模块间得这种耦合称为( A )A、公共耦合B、内容耦合C、数据耦合D、控制耦合4、划分模块时,下列说法正确得就是( A )A、作用范围应在其控制范围之内B、控制范围应在其作用范围之内C、作用范围与控制范围互不包含D、作用范围与控制范围不受限制5、重用率高得模块在软件结构图中得特征就是( B )A、扇出数大B、扇入数大C、扇出数小D、内聚性高6、面向对象建模得到得三个模型,其中核心得模型就是( A )A、对象模型B、功能模型C、逻辑模型D、动态模型7、从结构化得瀑布模型瞧,在软件生存周期得几个阶段中,对软件得影响最大就是( C )A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试与运行阶段8.对UML得叙述不正确...得就是( D )A.UML统一了Booch方法、OMT方法、OOSE方法得表示方法。
B.UML就是一种定义良好、易于表达、功能强大且普遍适用得建模语言。
C.UML融入了软件工程领域得新思想、新方法与新技术。
D.UML仅限于支持面向对象得分析与设计,不支持其它得软件开发过程。
9.以下哪个软件生存周期模型就是一种风险驱动得模型( C )A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型10.以下哪一项对模块耦合性没有..影响( D )A.模块间接口得复杂程度B.调用模块得方式C.通过接口得信息D.模块内部各个元素彼此之间得紧密结合程度二、填空题(本大题共10小题,每空2分,共20分)1.数据流图描绘数据在系统中___流动与处理_______得过程。
软件开发技术考试复习题及参考答案软件开发技术一、填空题1、软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。
2、软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。
3、系统流程图是()的传统工具。
4、结构化语言是介于自然语言和()之间的一种半形式语言。
5、数据字典的内容包括六项:()、()、()、数据存储、处理逻辑、外部实体。
6、UML的定义包括()和()两个部分。
7、按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和()。
8、瀑布模型是以文档为驱动、适合于()的软件项目的模型。
9、对象具有标识唯一性、分类性、多态性、()和()等基本特性。
10、消息关联指的是对象()的一种依赖关系。
11、对象的规格说明包括对对象()的说明及对对象()的说明。
12、在需求分析阶段常用的图形工具有()、()、()。
13、模块独立的概念是()、()、()和局部化概念的直接结果。
14、基于计算机体系的体系元素包括:软件、硬件、人、()、()和过程等几个部分。
15、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、()、可使用性和效率。
16、为了便于对照检查,测试用例应由输入数据和预期的()两部分组成。
17、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、()。
18、需求分析的基本任务是正确的回答()。
19、常用的系统分析方法有四类,包括:()、数据流方法、信息造型方法以及()。
20、面向对象设计中,主要存在两种耦合,交互耦合和()。
21、UML是一种尺度的图形化(便可视化)建模语言,它由()和()组成。
其中,前者是UML的透露表现法(语法),而后者给出前者的含义,是UML的语义。
二、选择题1、下列关于瀑布模子的描述正确的是()。
A.瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B.瀑布模型具有良好的灵活性。
C.瀑布模子接纳结构化的分析与设计方法,将逻辑实现与物理实现分开。
软件技术基础模拟试题(第二十四次省统考一、是非判断题(正确选填A,错误选填B(每小题1分,共10分1. 顺序表和线性链表的物理存贮形式都是顺序存贮。
( 12. 数据类型是某种程序设计语言中已实现的数据结构。
( 23. 如果通过软件测试没有发现错误,则说明软件是完全正确的。
( 34. 快速原型模型可以有效地适应用户需求的动态变化。
( 45. 不同进程之间的动作在时间上不能重叠。
( 56. 分区式存储管理能够进行存储空间共享。
( 67. 链接文件和索引文件都可以非连续存放。
( 78. 中断处理一般分为中断响应和中断处理两个步骤。
前者由软件实施,后者主要由硬件实施。
( 89. 在C++语言中,“重载”表达了最简单的多态性。
( 910.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程。
( 10(参考答案:1~10:ABBAB BABAB二、单项选择题:(每小题1分,共5分1. 在数据结构中,一个存储结点存放一个(11 。
11 (A 数据项(B 数据元素(C 数据结构(D 数据类型2. 把逻辑地址转变为存储的物理地址的过程称作(12 。
12 (A 编译(B 连接(C 运行(D 重定位3. SPOOLing技术可以实现设备的(13 分配。
13 (A 虚拟(B 共享(C 独占(D 物理4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(14 。
14 (A 分时操作系统(B 实时操作系统(C 网络操作系统(D 批处理操作系统5. 进程从运行状态进入就绪状态的原因可能是(15 。
15 (A 被选中占有处理机(B 时间片用完(C 等待的事件已发生(D 等待某一事件(参考答案:BBADB软件技术基础模拟试题(第二十三次省统考一、是非判断题(正确选填A,错误选填B(每小题1分,共10分1. 数据在计算机内在中的表示是指数据的存储结构。
( 12. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
( 23. 链表可以随机访问任意一个结点,而顺序表则不能。
华东理工大学网络教育学院(全部答在答题纸上,请写清题号,反面可用。
试卷与答题纸分开交)软件工程(本)_201906_模拟卷1_答案一、判断题(共10题)1.软件维护费用增加的主要原因是软件维护的生产力非常低。
()★标准答案:正确2. 喷泉模型是一种以用户需求为动力,以对象作为驱动的模型。
()( ).★标准答案:正确3. 良好的程序设计风格不仅可以减少编程的错误,而且可以减少阅读程序的时间,从而提高软件的开发效率。
() ( ).★标准答案:正确4.数据字典一般包括数据流、数据项、数据存储和基本加工四类条目。
( )★标准答案:正确5. 使用黑盒法测试程序时,测试人员需要考虑程序的内部结构和处理过程。
()( ).★标准答案:错误6. 模块独立性指每个模块只完成系统要求的独立的子功能,并与其他模块的联系最少且接口简单。
().★标准答案:正确7. 软件维护只需要校正性维护、适应性维护和完善性维护。
().★标准答案:错误8.在数据流图(DFD)中数据流就是控制流。
( ).★标准答案:错误9. 增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,而增量模型属于非整体开发模型。
().★标准答案:正确10.等价类划分法并不一定能提供一组完整的测试用例来检查程序的全部功能。
()答案: 正确二、单选题(共10题)1. 软件危机的主要原因是( )A.软件本身特点及开发方法B.对软件的认识不够C.软件生产能力不足D.软件工具落后★标准答案:A2. 面向数据流的设计方法把数据流图(DFD)划分为变换型和___两大类,并提出了对应于这两类结构的分解方法。
A.控制型B.处理型C.事务型D.功能型.★标准答案:C3. ___是指将具有一致数据结构和行为的对象抽象成类。
A.分类性B.继承性C.多态性D.封装性.★标准答案:A4. _______指被测试程序不再机器上运行,而是采用人检测和计算机辅助静态分析的手段对程序进行测试。
2024年软件工程开发等专业技能知识考试题库(附含答案)一、单选题1.数据流图是进行软件需求分析的常用图形工具,其基本图形符号是( )。
A.输入、输出、外部实体和加工B.变换、加工、数据流和存储C.加工、数据流、数据存储和外部实体D.变换、数据存储、加工和数据流参考答案:C2.集成测试的主要方法有两个,一个是()一个是()。
A.白盒测试方法、黑盒测试方法B.等价类划分方法、边缘值分析方法C.渐增式测试方法、非渐增式测试方法D.因果图方法、错误推测方法参考答案:C3.软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的( )。
A.可用性B.可维护性C.可扩展性D.可移植性参考答案:B4.面向对象设计阶段的主要任务是系统设计和( )。
A.结构化设计B.数据设计C.面向对象程序设计D.对象设计参考答案:D5.包含风险分析的软件工程模型是( )。
A.喷泉模型B.瀑布模型C.增量模型D.螺旋模型参考答案:D6.Jackson方法根据()来导出程序结构。
A.数据流图B.数据间的控制结构C.数据结构D.IPO图参考答案:C7.需求工程的主要目的是( )。
A.系统开发的具体方案B.进一步确定用户的需求C.解决系统是“做什么的问题”D.解决系统是“如何做的问题”参考答案:C8.只有类的共有界面的成员才能成为使用类的操作,这是软件设计的( )原则。
A.过程抽象B.信息隐藏C.功能抽象D.共享性参考答案:B9.下列哪项不是风险管理的过程?( )。
A.风险规划B.风险识别C.风险评估D.风险收集参考答案:D10.在分层体系结构中,( )实现与实体对象相关的业务逻辑。
A.表示层B.持久层C.实体层D.控制层参考答案:D11.下列选项中不属于CI管道的是()。
A.构建B.模拟C.单元测试D.集成测试参考答案:B12.应该在( ),确定对象类中应有的服务。
A.建立对象模型之时B.建立动态模型和功能模型之后C.建立功能模型之后D.建立动态模型之后参考答案:B13.需求分析的主要方法有( )。
以下是一些软件等级考试的随机试题及答案:1. 软件工程的三个基本环节是()、需求分析和系统设计。
A. 编码阶段B. 开发阶段C. 开发准备阶段D. 测试阶段答案:B. 开发阶段2. 在软件生命周期中,()是软件成本最高的阶段。
A. 设计B. 实现C. 运行D. 维护答案:D. 维护3. ()是指将软件需求转换为软件设计的过程。
A. 需求分析B. 需求获取C. 系统设计D. 需求规约答案:C. 系统设计4. 在瀑布模型中,测试通常在()阶段进行。
A. 开发阶段B. 实施阶段C. 运行阶段D. 结束阶段答案:A. 开发阶段5. 在软件生命周期中,()是指为维护软件运行而进行的工作。
A. 运行和维护B. 运行和测试C. 测试和维护D. 设计和测试答案:A. 运行和维护6. 在软件工程中,需求分析的目的是()软件是否满足用户的要求。
A. 检查B. 分析C. 设计D. 验证答案:D. 验证7. 在瀑布模型中,需求规约是()的产物。
A. 设计阶段B. 开发阶段C. 测试阶段D. 实施阶段答案:B. 开发阶段8. 在软件工程中,()是指将系统分解为更小的、更容易管理的部分的过程。
A. 设计阶段B. 开发阶段C. 分层结构设计D. 功能分解设计答案:D. 功能分解设计9. ()是指在软件生命周期中的某一时间段内对系统所做的各种修改和完善的总和。
A. 系统集成 B.软件变更 C.版本升级 D.二次开发答案:D.二次开发10.模块的独立性意味着模块( ) A.可以被其他模块调用B.访问全局变量 C.模块内部相对独立 D.直接操作硬件答案:C.模块内部相对独立。
11.软件的配置管理是为了适应多生产商生产同一类产品,并对产品进行()而产生的。
A.分工 B.协作 C.管理 D.维护答案:B.协作。
12.在软件开发中,需求分析是至关重要的,它是在整个软件开发过程中唯一能够准确定义并( )的部分。
A.控制 B.解决C.确定 D.忽略答案:C.确定。
壹 . 名词解释(参考斯佳分享的名词解释文档)1.ADL(Architecture Description Language) 体系结构描述语言2. SOA(Service-Oriented Architecture) 面向服务架构3. DSSA (Domain Specific Software Architecture) 特定领域软件体系结构4.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构5. UML(Unified Modeling Language) 统一建模语言6.XML(Extensible Markup Language ) 可扩展标记语言7.B/S(Browser/Server) 浏览器/服务器C/S(Client/Server) 客户端/服务器8.HMB(Hierarchical [ˌhaɪə'rɑ:kɪkl] message bus) 层次消息总线9.SA (Software Architecture) 软件体系结构10.OMG(Object Management Group) 对象管理组织11.SOAP(Simple Object Access Protocol) 简单对象访问协议12.WSDL(Web Services Description Language) web服务描述语言13.SOAD(Service Oriented Analysis And Design) 面向服务的分析与设计14.DCOM(Distributed Component Object Model) 分布式对象组件模型 (Module Interconnection Language) 模块内连接语言贰 . 判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
(1)以下哪种编程语言最适合初学者入门?(单选)A. PythonB. C++C. JavaD. JavaScript正确答案:A. Python。
(2)在软件开发中,哪种工具可以帮助我们更好地管理代码和项目?(单选)A. 版本控制系统(Git)B. 数据库管理工具C. 静态代码分析工具D. 项目管理工具正确答案:A. 版本控制系统(Git)。
(3)在系统设计阶段,哪种技术可以帮助我们快速实现系统功能?(单选)A. 原型设计B. 架构设计C. 界面设计D. 数据建模正确答案:A. 原型设计。
(4)以下哪个问题不属于软件测试的范围?(单选)A. 功能测试B. 性能测试C. 安全性测试D. 界面测试之外的问题正确答案:D. 界面测试之外的问题。
(5)在软件开发中,哪种方法可以帮助我们更好地解决复杂问题?(单选)A. 分治法B. 迭代法C. 递归法D. 回溯法正确答案:A. 分治法。
(6)以下哪个选项不属于软件工程的基本原则?(单选)A. 尽早发现和修正错误。
B. 注重软件的可维护性。
C. 强调软件的开发效率。
D. 软件工程不需要考虑用户需求。
正确答案:D. 软件工程不需要考虑用户需求。
(7)在系统集成过程中,哪种技术可以帮助我们更好地集成不同的系统?(单选)A. 数据库连接池技术B. Web服务技术C. 网络通信技术D. 数据加密技术正确答案:B. Web服务技术。
8. 软件工程的基本原则是什么?A. 灵活性原则B. 可靠性原则C. 模块化原则D. 集中化控制原则答案:C。
模块化原则是软件工程的基本原则,它有助于提高软件的可靠性、可维护性和可重用性。
9. 下列哪个选项不属于软件测试的步骤?A. 单元测试B. 集成测试C. 回归测试D. 部署测试答案:D。
部署测试不属于软件测试的步骤,它是指将软件产品部署到实际环境中进行测试的过程。
其他三个选项,即单元测试、集成测试和回归测试都是软件测试的基本步骤。
10. 在软件生命周期中,哪个阶段最可能影响项目的成本和时间表?A. 需求分析B. 系统设计C. 编码和实现D. 测试和部署答案:A。
1.市场多变和均衡安排生产时制造企业面临的一个基本矛盾,ERP如何解决这个矛盾?答:由于企业生产能力和其他资源的限制,企业希望均衡地安排生产是很自然的事情。
使用 ERP 系统来计划生产时,要作主生产计划。
通过这一计划层次,由主生产计划员均衡地对产品或最终项目作出生产安排,使得在一段时间内生产计划量和市场需求在总量上相匹配,而不追求每个具体时刻上均与市场需求相匹配。
在这段时间内,即使需求发生很大变化,但只要需求总量不变,就可能保持主生产计划不变。
从而,可以得到一份相对稳定和均衡的生产计划。
由于产品或最终项目的主生产计划是稳定和均衡的,据此所得到的物料需求计划也将是稳定的和均衡的。
从而可以解决以均衡的生产应对多变的市场的问题。
2.库存积压和物料短缺同时存在是制造企业中常见和棘手的问题,ERP能够解决这个问题吗?答:能。
ERP的核心部分MRP恰好就是为解决这样的问题而发展起来的。
MRP模拟制造企业中无聊计划与控制的实际过程。
通过MRP达到配套生产;设置未到时间不能入库;物料订购上,采用净需求方式下单;通过物料滞存分析表采取各种方法消除呆滞物料;通过已领料未缴库明细可用查询出车间已经领料但一直没有缴库的明细,通过要求其退库处理,后通过仓库进行处理。
或:答:通过MRP达到配套生产;设置未到时间不能入库;物料订购上,采用净需求方式下单;通过物料滞存分析表采取各种方法消除呆滞物料;通过已领料未缴库明细可用查询出车间已经领料但一直没有缴库的明细,通过要求其退库处理,后通过仓库进行处理;3.ERP能够在提高产品质量的同时降低成本吗?答:ERP可以提高质量并降低成本。
通过ERP系统,人们的工作更有秩序,时间花在按部就班地执行计划上,而不是忙于对出乎意料的情况作出紧急反应。
在这种情况下,工作士气提高了,工作质量提高了,不出废品,一次就把工作做好。
于是,提高生产率,提高产品质量,降低成本和增加利润都是相伴而来的事情。
4.什么是独立需求和相关需求?答:独立需求是来自用户的对企业产品和服务的需求称为独立需求;相关需求是当对一项物料的需求与对其他物料项目或最终产品的需求有关时,称为非独立需求。
软考《软件设计师》模拟练习题及答案(3)Software design is a creative process.It requires a certain amount of flair on the part of the designer and the final design is normally an iteration from a number of preliminary designs.Design cannot be learned from a book—it must be practiced and learnt by experience and study of existing systems.Good design is the key to effective software engineering.A well-designed software system i s straightforward [1] to implement and maintain,easily understood and reliable. Badly designed systems,although they may work,are likely to be expensive to m aintain,difficult to test and unreliable.The design stage is therefore the mos t critical part of the software development process.Until fairly recently,software design was largely an ad hoc[2] process.Giv en a set of requirements,usually in natural language,an informal design was p repared,often in the form of a flowchart[3].Coding then commenced and the desi gn was modified as the system was implemented.When the implementation stage was complete,the design had usually changed so much from its initial specificatio n that the original design document was a totally inadequate description of the system.This approach to software design was responsible for many dramatic and very expensive project failures.Now it is realized that completely informal notatio ns such as flowcharts,which are close to the programming language,are inadequ ate vehicles for formulating and expressing system design.It is recognized that precise(although not necessarily formal)specification is an essential part of the design process and that software design is an iterative,multi-stage activi ty which cannot be represented in any single notation.Accordingly,a number of design notations such as data flow diagrams.HIPO charts[4],structure diagrams and design description languages have been developed which are superior to flow charts for expressing software designs.Given a requirements definition,the software engineer must use this to der ive the design of a programming system which satisfies these requirements.This derivation is accomplished in a number of stages:(1)The subsystems making up the programming system must be established.(2)Each subsystem must be decomposed into separate components and the subsy stem specification established by defining the operation of these components.(3)Each program may then be designed in terms of interacting subcomponents.(4)Each component must then be refined.This normally entails specifying each component as hierarchy of subcomponents.(5)At some stage of this refinement process,the algorithms used in each co mponent must be specified in detail.As well as these various stages of programming system design,the software engineer may also be required to design communication mechanisms allowing processes in the system to communicate[5].He or she may have to design file structures,and will almost certainly have to design the data structures used in his programs.He or she will have to design test cases to validate his programs.There is no definitive way of establishing what is meant by a“good”design.Depending on the application and the particular project requirements,a good design might be a design which allows very efficient code to be produced,it might be a minimal design where the implementation is as compact as possible,or it might be the most maintainable design.This latter criterion is the criterion of“goodness”adopted here.A maintainable design implies that the cost of system changes is minimized and this means that the design should be understandable and that changes should be local in effect.Both of these are achieved if the software design is highly cohesive and loosely coupled[6].Effective software design is best accomplished by using a consistent design methodology.There have been a vast number of design methodologies developed and used in different applications.Some of these are described by Peters(1980)and by Blank and Krijger(1983).In essence,most of these methodologies can be classified into one of three areas:(1)Top-down functional design.The system is designed from a functional viewpoint,starting with a high-level view and progressively refining this into a more detailed design.This methodology is exemplified by Structured Design and stepwise refinement.(2)Object-oriented design.The system is viewed as a collection of objects rather than as functions with messages passed from object to object.Each object has its own set of associated operations.Object-oriented design is based on the idea of information hiding which was first put forward by Parnas(1972)and which has been described more recently by Robson(1981)and Booch(1983).(3)Data-driven design.This methodology,suggested by Jackson(1975)and Warnier(1977)suggests that the structure of a software system should reflect the structure of the data processed by that system.Therefore,the software design is derived from an analysis of the input and output system data.NOTES[1] straightforward:直接了当的,简单明了的。
软件系统开发技术试题(一) 答案一、单项选择题(本大题共10小题,每小题 1 分,共10分)1. 设计软件结构一般不.确定( D )A. 模块之间的接口B.模块间的调用关系C.模块的功能D.模块内的局部数据2. 软件结构化设计中,好的软件结构应该力求做到( B )A. 顶层扇出较少,中间扇出较高,底层模块低扇入B. 顶层扇出较高,中间扇出较少,底层模块高扇入C. 顶层扇入较少,中间扇出较高,底层模块高扇入D. 顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为( A )A. 公共耦合B.内容耦合C.数据耦合D.控制耦合4. 划分模块时,下列说法正确的是( A )A. 作用范围应在其控制范围之内B. 控制范围应在其作用范围之内C. 作用范围与控制范围互不包含D. 作用范围与控制范围不受限制5. 重用率高的模块在软件结构图中的特征是( B )A.扇出数大B.扇入数大C.扇出数小D.内聚性高6. 面向对象建模得到的三个模型,其中核心的模型是( A )A. 对象模型B. 功能模型C.逻辑模型D.动态模型7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是( C )A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段&对UML的叙述不正确的是(D )A. UML统一了Booch方法、OMT方法、OOSE方法的表示方法。
B. UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
C. UML融入了软件工程领域的新思想、新方法和新技术。
D. UML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。
9.以下哪个软件生存周期模型是一种风险驱动的模型( C )A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型10.以下哪一项对模块耦合性没有..影响( D )A. 模块间接口的复杂程度B. 调用模块的方式C. 通过接口的信息D. 模块内部各个元素彼此之间的紧密结合程度1二、填空题(本大题共10小题,每空 2 分,共20分)231数据流图描绘数据在系统中 —流动和处理__ 的过程。
P40 2•为了便于对照检查,测试用例应由输入数据和预期的 —输出结果(输出数据)__ 两部分组成。
3•面向对象分析的目的是对 ______ 目标系统 ______ 进行建模。
4. 结构化方法总的指导思想是一自顶向下__ 逐层分解。
5. 在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称 为—偶然内聚。
6. 用来模拟被测模块的上级调用模块的模块称为 _驱动模块_ _7•—个模块的作用域指受该模块内一个 —判定____影响的所有模块的集合。
8. 在用况图中,关联是参与者和用况(USE CASE 之间的唯一关系。
9. RUP 的突出特点是一种以用况(Use Case )为驱动的、以体系结构为中心的、迭代增量式开发。
10. 在RUP 中,规定了四个开发阶段:初始阶段、精化阶段、构造阶段和移交阶段。
三、 名词解释题(本大题共 6小题,每小题3分,共18分) 1 •软件生存周期模型答:从概念上来讲,软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的 框架,覆盖了从该系统的需求定义到系统的使用终止。
从应用的角度来说,软件生存周期模型为组织软件开发活动提供了有意义的指导。
2. 系统模型答:简单地说,模型是任一抽象,其中包括所有的基本能力、特性或一些方面,而没有任何冗余的细节。
进一步地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界 的描述,给出系统内个模型元素以及它们之间的语义关系。
3. 白盒测试法答:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过 程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际 的运行状态与预期的状态是否一致。
白盒法也不可能进行穷举测试。
4. 信息隐蔽答:信息隐蔽是指在每个模块中所包含的信息(包括具有特定语义的数据和处理过程)不允许其他不需要 这些信息的模块访问。
5. 测试用例答:为了发现程序中的故障而专门设计的一组或多组测试数据。
6. 类答:类是一组具有相同属性、操作、关系和语义的对象的描述。
四、 简答题(本大题共 5小题,每小题6分,共30分)1. 简述演化模型以及可适应的情况,为什么? 答:简述演化模型如图所示:'集成一演化模型主要是针对事先不能完整定义需求的软件开发。
在用户提出待开发系统的核心需求的基础上,软 件开发人员按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接P162核心系统开发第二次迭代着,软件开发人员根据用户的反馈,实施开发的迭代过程。
2. 结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的?答:结构化分析方法给出了5个术语:数据流:加工,数据存储、数据源、数据潭,数据流是数据的流动,数据流表示为--------加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。
数据存储是数据的静态结构。
数据源是数据流的起点;数据潭是数据流的归宿地。
数据源和数据潭是系统之外的实体,可以是人、物或其他软件系统。
■表示。
3. 简述衡量模块独立性的两个标准及其含义。
答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。
(1)耦合性。
也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
⑵内聚性。
又称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
4. 说明用况之间有哪几种关系,说明每种关系的含义。
答:用况之间可以具有三种关系,即泛化、扩展和包含。
泛化:泛化是用况之间的一般/特殊关系。
USE CASE A到USE CASE B的泛化,指出A是B的特殊情况。
扩展:记为《extend》,USE CASE A到USE CASE B勺一个扩展关系,指出了USE CASE B的一个实例可以由A说明的行为予以扩展(根据该扩展所说明的特定条件),并依据该扩展点定义的位置,A说明的行为被插入到B中。
包含:记为《in elude》,USE CASE A到USE CASE B勺一个包含,指出A的一个实例将包含B说明的行为,即这一行为将包含在A定义的那部分中。
5. 结构化设计中总体设计和详细设计的目标和任务是什么?答:结构化设计分为总体设计和详细设计。
总体设计的目标是:建立系统的模块结构,即系统实现所需要的软件模块一系统中可标识的软件成分,以及这些模块之间的调用关系。
总体设计的具体任务是:将DFD转化为MSD详细设计的目标是将总体设计阶段所产生的系统高层结构,映射为以这些术语所表达的低层结构,也是系统的最终结构。
详细设计的主要任务是:给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。
五、应用题(本大题共2小题,第1小题10分,第2小题12分,共22分)1 •根据下列变换型的数据流图,设计出初始软件结构图。
4输入流变换中心输HiiA答:主模块get f52.下列是某程序的N-S图SI S3S2—S3(1)请将其转换成PAD图(2)请将其转换成伪码表示。
答:(1) PAD图5(2)伪码表示:beginif L1 thenBeg in S1;while L2 dobegin S2;if L3 then S3 else S4;endendelse S5;en d;67软件系统开发技术试题(二) 答案一、单项选择题(本大题共 10小题,每小题1分,共10分) 1 •以下哪个软件生存周期模型是一种风险驱动的模型(C )A .瀑布模型 C.螺旋模型2.结构化分析建立功能模型的工具是(BA . DFDC. DDB.增量模型 D.喷泉模型 )B.判定树/判定表D.结构化语言3•模块中所有成分结合起来完成一项任务,该模块的内聚性是(A.功能内聚 B.顺序内聚 C.通信内聚D.逻辑内聚4. 以下哪一项对模块耦合性没有..影响(D )A. 模块间接口的复杂程度B. 调用模块的方式C. 通过接口的信息5. 检查软件产品是否符合需求定义的过程称为A .确认测试 C.系统测试6. 下面关于详细设计的叙述中,错误..的是(A .程序流程图可以描述结构化程序 C. NS 图描述的程序一定是结构化的7.集成测试是为了发现(A )A .接口错误C.性能、质量不合要求 &结构化程序设计,主要强调的是(A .程序的执行效率 C.程序的可理解性9. 下面关于文档的叙述,错误 的是(A. 文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节B. 文档是软件产品的一部分,没有文档的软件就不成为软件C. 高质量文档对于转让、变更、修改、扩充和使用有重要的意义D.模块内部各个元素彼此之间的紧密结合程度A )B.集成测试 D.单元测试 B )B.程序流程图不能描述结构化程序 D. PAD 图描述的程序一定是结构化的 B.编码错误 D.功能错误C )B.模块的内聚 D.模块的耦合 A )D. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量10. 面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是( C )A. Booch 方法B. Coad 方法C. UML语言D. OMT方法二、填空题(本大题共10小题,每小题2分,共20分)1. 为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了软件工程的概念。
2. 变换型数据流图是由输入、变换(或处理)和输出三部分组成的。
83 •软件产品在交付使用之前一般要经过_________ 单元测试、集成测试、确认测试和系统测试。
4•子类自动共享父类数据结构和方法的机制是继承性_ _,这是类之间的一种关系。
5. G J • Myers提出:软件测试是为了发现—程序错误而执行程序的过程。
6. 状态图反映了状态与事件与状态_ ___________ 的关系。
7. 两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦 _______8. 用况之间可以具有三种关系,即泛化、扩展和包含。