资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件工程习题-参考答案(仅供参考)一、名词解释可行性分析:可行性分析,要决定的问题是“做,还是不做”。为避免盲目的软件开发,相关人员必须对拟开发的软件项目进行可行性调研、考察、分析、研究。技术可行性:对要开发项目的功能、性能、限制条件从技术角度进行分析,确定在现有资源、技术条件下,技术风险有多大,是否有把握完全满足用户的需求,项目是否能够顺利完成。开发成本估算:软件开发的成本,主要依据软件的规模、开发的工作量、人力投入、设备及其他投入等进行估算。其中,开发工作量估算和人力投入估算是成本估算的两大核心内容。而开发工作量主要受到软件规模、软件复杂度、开发环境以及人员技术水平等诸多因素影响。结构化分析法:是面向数据流进行需求分析的方法。数据流:以事先规定好的顺序被读取一次的数据的一个序列。文件:存储在计算机上的信息集合。文件可以是文本、图片、程序等等。汇点:交汇于系统外的实体,可以是人、物或系统。数据字典:数据字典用于定义数据流图中各个图元的具体内容,为数据流图中出现的图形元素做出确切的解释。E-R图:实体-联系(E-R关系)图,用于描述应用系统的概念结构数据模型。数据流图:是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法,可以标识一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。用户端/服务器模式:由用户应用程序、服务器管理程序两部分组成,运行于内部局域网络上。用户应用程序是系统中用户与数据进行交互的部件,有时也称前台服务系统。后台服务器程序负责有效地管理系统资源。耦合:就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。变换流:沿传入路径进入系统,各数据流之间在系统内有交换。程序流程图:又称为程序框图,是程序分析中最基本、最重要的分析技术、基本工具。界面设计:包括用户、界面及两部分的交互关系部分。程序设计:程序设计者依据系统设计的要求编制计算机程序,即软件。二进制语言:由一串二进制符号组成。高级语言:高级语言,又分为普通高级语言、超高级语言。超高级语言(第四代语言,4GL),将普通高级语言的程序结构、数据结构的表示文法抽象到一个新的高度,软件设计者只需说明“做什么”,而不需更多的描述算法细节。数据模型:据模型是现实世界在数据库中的抽象。数据库管理系统:数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库逻辑设计:主要指数据库内部数据关系设计。软件测试:指利用人工或自动的方法执行和评价各个模块的过程。黑盒测试:又称为功能测试或数据驱动测试。把测试对象看作一个黑盒子,不需测试软件产品的内部结构和处理过程,只在软件的接口处进行测试。等价分类法:该方法是一常用的黑盒测试用例设计方法。把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。回溯法:在小程序中常用的一种有效的调试技术。具体做法是,分析错误表象,确定症状位置,人工沿着程序的控制流往回追踪源程序代码,直到找到错误原因为止。性能测试:检查和评估系统执行的响应时间、处理速度、网路承载能力、操作方便灵活程度、运行可靠程度等。静态测试:又称静态分析,指被测试程序不在机器上运行,而是采用人工检测和计算机辅助对被测程序的数据流和控制流等信息进行静态分析,找出系统的缺陷,写出测试报告。调试:软件调试,是在测试发现错误之后诊断并排除错误的过程。 在进行成功的测试后必须进行软件调试。Beta测试:由软件的最终用户在一个或多个用户场所进行。与Alpha测试不同,开发者通常不在Beta测试的现场,因此,Beta测试是软件在开发者不能控制的环境中的“真实”应用。用户记录在Beta测试过程中遇到的一切问题(真实的或想像的),并且定期把这些问题报告开发者。接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全体用户发布最终的软件产品。二、填空题1、可行性分析的目的就是用最小的代价在尽可能短的时间内确定软件项目是否能够开发,是否值得去开发。3、可行性分析实质上是要进行一次简化,压缩了的需求和分析过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。5、技术可行性是对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。7、技术可行性的研究包括:开发风险分析,现有技术能否实现,现有技术发展分析。9、典型的可行性研究有下列步骤: 确定项目规模和目标、分析目前运行的系统、设计新项目的总体框架、导出和评价各种方案,推荐可行的方案和编写可行性研究报告。11、成本/效益分析首先是估算将要开发系统的开发成本,然后与可能取得的效益进行_对比分析。15、纯收入是软件生存周期内两项值之差,这两项是销售利润与软件开发维护成本。17、可行性研究具体步骤的最后一步是撰写可行性分析报告。1、软件需求分析是软件生存期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。3、访谈是最早使用的获取用户需求的技术,也是世界上仍然广泛使用的需求分析技术。访谈有两种基本形式:问卷调查和小组讨论。5、数据流图由数据流、数据存储、数据项、数据加工组成。1、耦合衡量不同模块彼此间互相依赖(连接)的紧密程度,模块间的耦合性越高,其模块的独立性就越低。两个模块之间的耦合方式通常有7种,按耦合程度从低到高依次为:非直接耦合、,数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。3、数据流有变换型数据流图和事物型数据流图两种基本类型。5、模块独立性的概念是模块化、抽象和信息隐蔽的直接结果。7、软件的详细设计可以采用图形、表格和语言三种形式的描述工具表示模块的处理过程。9、程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法表达工具。11、 三层逻辑架构主要包括:界面表示层、业务层、数据存储层。1、 根据用户对项目的使用情况,可把用户分为三类:初级用户、中级用户、高级用户。3、 Web界面的主要形式一般有下面几种:信息查询类界面_、大众媒体类界面、宣传窗口类界面、电子商务类界面、交流平台类界面。5、 Web界面设计工具常用的有Photoshop、Dreamwaver和Fireworks,这些工具和HTML及各类脚本语言结合使用,可设计出各种功能的Web界面。1、计算机语言可分为两大类:面向机器的语言、高级语言。3、网络系统的安全性主要考虑保证网络设备连接的安全,这需要一组相互重叠的安全机制,包括防火墙、数据包过滤器、物理安全、审查日志、身份验证和授权等5、标识符分为两部分:规范标识前缀、含义标识后缀。7、#region和#endregion可以实现代码的折叠1、E-R数据模型一般在数据库设计的概念设计阶段使用。3、数据库实施阶段包括两项重要的工作,一项是数据的_载入,另一项是应用程序的编码和调试。5、数据管理技术的发展大致经过了以下三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。7、E-R图向关系模式转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的属性和码。9、数据库管理系统的功能基本功能包括以下4个方面:数据定义、数据操纵、数据查询、数据控制。1、软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期结果),并利用这些测试用例去运行程序,以发现程序错误的过程。3、软件从编码结束到交付用户使用,需要经过单元测试、组装测试、验收测试和系 统测试4个步骤。三、单项选择题1、研究开发资源的有效性是进行( C )可行性研究的一方面。A.技术 B.经济 C.社会 D.操作3、在遵循软件工程原则开发软件过程中, 计划阶段应该依次完成( B )。A.软件计划,需求分析,系统定义 B.系统定义,软件计划,需求分析C.需求分析,概要设计,软件计划 D.软件计划,需求分析,概要设计5、在软件工程项目中, 不随参与人数的增加而使软件的生产率增加的主要问题是( C )。A.工作阶段间的等待时间 B.生产原型的复杂性C.参与人员所需的工作站数 D.参与人员之间的通信困难7、可行性分析中,系统流程图用于描述( B )。A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统9、可行性研究要求进行的需求分析和设计应是( C )。A.详细的 B.全面的 C.简化的,压缩的 D.彻底的11、系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( A )。A.软件环境可行性,技术可行性,经济可行性,社会可行性B.经济可行性,技术可行性,社会可行性C.经济可行性,社会可行性,系统可行性D.经济可行性,实用性,社会可行性1、软件需求分析阶段最重要的技术文档之一是( C )。A.项目开发计划 B.设计说明书 C.需求分析报告 D.可行性分析报告3、软件需求分析阶段建立原型的主要目的是( C )。A.确定系统的功能和性能要求 B.确定系统的运行要求C.确定系统是否满足用户需求 D.确定系统是否满足开发人员需求5、软件需求分析阶段的研究对象是(A )。A.用户要求 B.分析员要求 C.系统要求 D.软硬件要求7、DFD中的每个加工至少需要( D )。A.一个输入流 B.一个输出流 C.一个输入或输出流 D.一个输入流和一个输出流9、软件需求分析报告的作用不包括( C )。A.软件验收的依据 B.用户与开发人员对软件要有共同理解C.软件可行性研究的依据 D.软件设计的依据1、内聚性是对模块功能强度的度量,内聚性较强的是( C )。A.偶然内聚 B.逻辑内聚 C.功能内聚 D.信息内聚A.软件结构 B.软件过程 C.软件模型 D.软件模块3、能反映出软件结构的是( D )。A.数据流图 B.判定树 C.判定表 D.软件程序结构图5、软件设计是一个把( D )转换为软件表示的过程。A.代码设计 B.软件需求 C.详细设计 D.系统分析7、概要设计阶段产生的文档不包括( C )。A.概要设计说明书 B.数据库设计说明书 C.用户手册 D.开发进度月报9、结构化设计是一种面向( A )的设计方法。A.数据流 B.模型 C.数据结构 D.程序11、软件详细设计阶段的任务是( A )。A.算法设计 B.功能设计 C.调用关系设计 D.输入/输出设计12、模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。A.松散 B.紧密 C.无法判断 D.相等13、详细设计与概要设计衔接的图形工具是( D )A.DFD图 B.程序图 C.PAD图 D.SC图15、下面说法不正确的是( B )。A.流程图不易表示数据结构 B.流程图容易造成非结构化的程序结构C.流程图支持逐步求精 D.流程图描述的是程序的逻辑结构1、ER图中的联系可以与_C_实体有关。A.0个 B.1个 C.1个或者多个 D.多个3、数据流程图是用于描述结构化方法中_C_阶段的工具。A.可行性分析 B.详细设计 C.需求分析 D.程序
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号