软件工程分析设计题

合集下载

软件工程习题(附答案)

软件工程习题(附答案)

一、选择题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分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

软件工程试卷及参考答案0637

软件工程试卷及参考答案0637

开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟···································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线班级106030701~02 学号姓名考试科目软件工程【计算机专业】 B 卷共 4 页开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································班级106030701~02 学号姓名考试科目软件工程【计算机专业】 B 卷共 4 页开卷,允许考生带教材和参考书籍各一本,考试时间120分钟···································密························封························线································学生答题不得超过此线2008-2009学年第1学期106030701~02班软件工程【计算机专业】A卷参考答案及评分标准开卷,允许考生带教材和参考书籍各一本一、断题:每小题1分,共10分,在正确的打上√,错误的打上×1、√2、╳3、╳4、╳5、√6、√7、√8、╳9、√10、╳11、╳12、√13、√14、╳15、√二、项选择题:每题1分,共15分1、D2、C3、A4、B5、C6、B7、A8、A9、C10、 D 11、D 12、D 13、C 14、C 15、C三、简答题(总共20分)1、软件工程项目计划设计(12分)(1)每正确标出一个最早时间和最迟时间各0.5分,10分(2)关键路径如上图粗黑线,该项目最短完成时间为70(2分)。

软件工程04 结构化设计分析题

软件工程04 结构化设计分析题

可供货单
根据供货单修改 库存 2.1
开备货单 2.2
备货单
库存记录
订单记录
1层图-3
汇总各项缺货量 3.1 缺货量 打印缺货通知单 3.2 缺货通知单
缺货记录
1层图-4
进货通知单 根据进货单修改库 存 4.1
核对后的进货 单
处理缺货订单 4.2
原缺货现可 供货订单
订单变更信 息
库存记录
修改缺货记录 4.3
数据流图
结构体系图
2

某旅馆的电话服务如下:可以拨分机号和外线号
码。分机号是从7201到7299,外线先拨9,然 后是市话号码或长话号码。长话号码由区号和市
号组成。区号是从100到300中任意的数字串,
市话由局号和分局号组成。局号可以是
455.466,888,552中任意一个,分局号是任意
长度为4的数字串。
(4) 将订书信息(包括数目,数量等)反馈给供书单位;
(5) 将未订书目通知订书者; (6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
4

银行系统的问题描述为:储户用存折取款,
5

某服装贸易公司的销售子系统功能如下: (1)公司提供多种类别服装,所有类别的服装通过各个地区的分公司 进行销售; (2)公司接收分公司的订单,检验订单,若有库存就供货,则修改库 存,给仓库开备货单,并且将订单留底;若库存不足,则进行缺货登 记。 (3)根据缺货记录将缺货通知单发给采购部,以便采购。



(4)根据采购部门的进货通知单处理进货,即修改库存,并从缺货记
录中取出缺货订单 进行供货处理。

软件工程-需求分析-复习答案

软件工程-需求分析-复习答案

)1. 以下哪一项不是软件危机的表现A.开辟的软件可维护性差 B.软件极易被盗版C.经费预算时常被突破 D.开辟的软件不能满足用户需求2.下面不属于软件工程的三个要素是) 。

A 过程B 环境C 方法D 工具)。

3. 需求分析阶段的任务是确定A 软件开辟方法B 软件开辟工具C 软件开辟费用D 软件开辟功能4. 下列不属于需求分析工具的是)。

A。

数据流图 B.用例图 C。

状态图D。

程序流程图5.关于软件测试的目的,下面观点错误的是) ArrayA.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C。

证明程序是正确、没有错误的D。

一个成功的测试用例是发现了至今尚未发现的错误的测试6。

软件详细设计阶段的任务是)。

A.算法与数据结构设计B.功能设计C.调用关系设计 D。

输入/输出设计)7. 下列属于静态测试方法的是A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试)8.汽车是一种交通工具,汽车类和交通工具类之间的关系是ArrayA.组合会萃关系 B。

共享会萃关系C.普通-具体关系 D。

整体-部份关系) .9.结构化程序设计的风格,主要强调的是ArrayA.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合)。

10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是ArrayA.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11 。

“ 软件工程的概念是为解决软件危机而提出的”这句话的意思是)A。

强调软件工程成功解决了软件危机的问题B。

说明软件危机的存在总是使软件开辟不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D。

说明软件工程的概念 ,即:工程的原则、思想、方法可解决当时软件开辟和维护存在的问题12。

在软件工程的需求分析阶段,不属于问题识别内容的是)A。

输入/输出需求 B。

性能需求C.环境需求D.功能需求13. 软件需求规格说明书的作用不包括)A.软件验收的依据B.软件设计的依据C.软件可行性研究的依据D.用户与开辟人员对软件要做什么的共同理解14.一个成功的测试可以)A.表明程序没有错误B.发现了尚未发现的错误C。

软件工程试题及答案

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。

A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型5. 在E-R模型中,包含以下基本成分( )。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c )A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a )A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试16.需求分析的产品是( D )A.数据流程图案B.数据字典C.判定表D.需求规格说明书17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A.数据库设计B.数据通信C.数据定义D.数据维护18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型(×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

软件工程试题与答案

软件工程试题与答案

一、填空1.结构化分析方法的分析策略是。

2.衡量模块独立性的两个定性标准是耦合性与内聚性。

3.软件集成测试的方法主要有两种,它们是渐增式与非渐增式测试。

4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否值得开发。

5•需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护一阶段。

7.计算机辅助软件工程这一术语的英文缩写为CASE。

8.McCall提出的软件质量模型包括一11个软件质量特性。

9.软件结构是以一模块为基础而组成的一种控制层次结构。

10.软件概要设计的主要任务就是软件结构的设计。

11.结构化稈序设计方法是使用三种基本控制结构(条件\控制\循环)构造稈序。

12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象二、选择1、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。

A、Booch方法B、UML语言C、OMT方法D、Coad方法3、功能模型中所有的(A)往往形成一个层次结构。

在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。

A、数据流图B、概念模型图C、状态迁移图D、事件追踪图4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。

A、问题域分析B、高层分析C、实例的建立D、类的开发5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。

A、接口B、消息C、信息D、操作6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A、说明B、方法C、过程D、类型9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)A、多态性B、完整性C、可移植性D、兼容10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)A、隐藏复杂性B、信息隐藏C、即存类的重用D、类的开发13.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。

软件工程试题及答案

软件工程试题及答案

软件工程一、选择题1、软件需求规格说明的内容不包括(B)A、主要功能B、算法的详细描述C、用户界面及运行环境D、软件的性能2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型3、在ER模型中,包括以下基本成分(C)A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作4、各种软件维护的类型中最重要的是(A)A、完善性维护B、纠错性维护C、适应性维护D、预防性维护5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[,],现从输入的角度考虑一组测试用列,-2,20,,设计这组测试用列的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖7、确定测试计划是在(A)阶段制定的。

A、总体设计B、详细设计C、编码D、测试8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期B、软件意向C、结构化程序设计D、面向对象分析10、以下不属于IT企业当中过程管理和过程改进模型的是(D)A、ISO9001B、CMMIC、软件企业文化D、UML11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。

A、调用关系B、组成关系C、链接关系D、顺序执行关系13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。

A、需求分析B、概要设计C、详细设计D、软件维护14、PDL属于(B)语言。

A、高级程序设计语言B、伪码C、中级程序设计语言D、低级程序设计语言15、成功的测试是(发现至今尚未发现的错误)16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法)(B)。

软件工程-需求分析习题

软件工程-需求分析习题

数据流图例题:1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。

客户可在其收到的目录上圈定自己要买的书。

出版公司按照客户的反馈信息邮寄图书。

要求为出版公司设计软件,以实现以下功能:(1)自动生成图书分类目录;(2)自动处理客户反馈信息。

试用面向数据流的方法给出系统的数据流图2、根据下列描述,画出学生申请IC借书卡管理系统的数据流图。

学生入学后到图书馆申请IC借书卡,图书馆管理人员根据IC借书卡库存情况分析是否需要购买新的IC借书卡,如需购买,则向IC借书卡提供商购买。

各种资金往来通过学校的会计科办理。

判定表例题请用结构化语言、判定表和判定树表示下面描述的耗电记费系统中电费的计算方法:1、耗电记费系统可以采用固定价格收费和浮动价格收费两种方式。

若采用固定价格方式收费,对每月耗电100KW•h以下的用户只征收最低标准费,超过100KW•h的用户按价格表A收费;若采用浮动价格方式收费,则每月耗电100KW•h以下的用户按价格表A收费,超过100KW•h的用户按价格表B收费。

2、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。

请用结构化语言、判定表和判定树描述上述问题。

数据流图答案判定表答案:THEN IF 文化程度=初中THEN 脱产学习ELSE 工作为电工ENDIFELSE IF 年龄≤40THEN IF (文化程度=大学)THEN 工作为技术员ELSE IF 性别=男性THEN 工作为钳工ELSE 工作为钳工ENDIFENDIFELSE IF (文化程度=大学)THEN 工作为技术员ELSE 工作为材料员ENDIFENDIFENDIF。

软件工程毕业设计题目

软件工程毕业设计题目

软件工程毕业设计题目标题:基于Web的在线个人理财系统的设计与实现摘要:随着互联网的普及和个人财富管理的重要性日益凸显,基于Web的在线个人理财系统成为必不可少的工具。

本毕业设计旨在设计和实现一个功能完善、安全可靠的在线个人理财系统,帮助用户实现财务目标、管理个人资产和预测未来收支情况。

本系统采用软件工程的理论和方法,通过需求分析、概要设计、详细设计和编码实现来完成系统开发,并进行系统测试和性能优化。

最后,通过用户反馈和系统评估来验证系统的功能和性能。

关键词:在线个人理财系统;财务目标;资产管理;收支预测;用户反馈;系统评估一、引言随着社会的发展和个人收入的增加,个人理财变得越来越重要。

传统的个人理财方式已经无法满足现代人对个性化、实时化、便捷化的需求。

因此,设计和实现一个基于Web的在线个人理财系统就显得尤为重要。

二、系统需求分析系统需求分析是软件工程的重要环节,通过调研和用户需求收集,对系统功能和性能进行分析和定义。

本系统的主要需求包括:1. 用户管理功能:包括用户注册、登录、修改个人信息等功能,保障用户隐私安全。

2. 资金账户管理功能:支持用户对账户的增删改查和资金的存取、转账、投资等操作。

3. 财务目标管理功能:支持用户设定、跟踪和实现个人财务目标的功能,如购房、养老、旅游等。

4. 收支管理功能:支持用户记录和统计收入和支出的功能,提供图表展示和预算分析等。

5. 数据分析功能:支持数据统计和分析,帮助用户掌握财务状况和制定合理的理财策略。

三、系统设计与实现系统设计是软件工程的核心环节,通过对需求的实现和系统功能的划分,进行概要设计和详细设计,并采用合适的开发技术和工具实现系统。

1. 概要设计:确定系统的模块划分和功能实现方式,绘制系统流程图和数据库设计。

2. 详细设计:对各个模块进行详细设计,包括界面设计、数据库设计和算法设计等。

3. 编码实现:采用合适的编程语言和技术对系统进行编码实现,确保系统的高效运行和安全性。

软件工程试题1--附带答案

软件工程试题1--附带答案

1.软件生存周期中,准确地确定软件系统必须做什么的阶段是(B)(P6)A.可行性分析和项目开发计划B.需求分析C.概要设计D.详细设计2.把瀑布模型和一起的软件生存周期专家系统结合在模型是(B)(P9)A.增量模型B.基于知识的模型(智能模型)C.螺旋模型D.喷泉模型3.以下不.属于项目开发计划主要内容的是(C)(P20)A.实施计划B.交付期限C.测试用例D.人员组织及分工4.使用数据流图来表示系统逻辑模型的是(D)(P24)A.Jackson B.VDMC.OOA D.SA5.用于描述结构化分析中数据流加工逻辑的是(A)(P34)A.判定树B.ER图C.状态图D.用例图6.若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入,则该模块的内聚性类型是(C)(P47)A.时间内聚B.偶然内聚C.顺序内聚D.功能内聚7.下列几种耦合类型,耦合性最高的是(A)(P45)A.公共耦合B.控制耦合C.标记耦合D.数据耦合8.程序流程图的优点不包括...( B )(P63)A.历史最悠久,使用最广泛B.容易表示逐步求精的过程C.支持程序的三种基本控制结构D.直观清晰,易于使用9.数据字典和数据流程图共同构成了系统的(B)(P30)A.物理模型B.逻辑模型C.原型D.目标模型10.确认测试也称为(A)(P99)A.有效性测试B.无效性测试C.静态测试D.动态测试11.黑盒测试技术不包括...(B)(P93)A.等价类划分B.路径覆盖C.边界值分析D.错误推测12.为了增加软件功能和性能、提高软件运行效率而进行的维护活动称为(C)(P104)A.校正性维护B.适应性维护C.完善性维护D.预防性维护13.在软件设计中详细描述处理过程常用的三种工具是(D)(P62)14.A.SA,SD,SP B.程序流程图,IPO,PADC.SA,SC,SDD.图形,表格,语言14.关于软件测试的目的,下面观点错误的是( C )(P82)A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试15.IDEF0是IDEF方法的一部分,用于建立系统的( A )(P36)A.功能模型B.信息模型C.动态模型D.关系模型16.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?(B)(答案见目录) A.可行性分析B.需求分析C.概要设计D.详细设计17.数据字典是用来定义_________中的各个成份的具体含义的。

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)软件工程试题及答案 (较详细)一、简答题1. 什么是软件工程?软件工程是一门综合应用计算机科学与工程学、管理学等知识的学科,它致力于开发和维护高质量的软件系统。

它包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件项目能够按时交付、高效运行,并满足用户需求。

2. 请解释什么是软件生命周期?软件生命周期是指软件从构思、开发、使用到废弃的整个过程。

它包括需求分析、设计、编码、测试、部署和维护等多个阶段。

软件生命周期管理的目标是确保软件产品按时、按质量要求交付,并提供后续的支持与维护。

3. 请解释什么是需求工程?需求工程是软件工程中的一个重要阶段,它主要涉及对用户需求的调研、分析、规划和文档化。

通过需求工程,开发人员能够更好地理解用户需求,并将其转化为具体的软件需求规格说明书,为后续的设计和开发提供基础。

4. 什么是软件设计模式?软件设计模式是一套在软件设计过程中重复出现的解决方案。

它们被广泛接受,并被认为是开发高质量、可维护和可扩展软件的有效方法。

常见的软件设计模式包括单例模式、工厂模式、观察者模式等。

二、分析题1. 请说明面向对象和面向过程的编程范式的区别。

面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式。

面向过程编程更侧重于任务的步骤和流程,它将问题分解为多个步骤,通过一系列函数或过程的调用来完成任务。

面向过程编程更加注重解决问题的步骤和执行过程。

面向对象编程更注重数据和对象的定义和封装,它将问题看作是一组对象的交互。

面向对象编程通过定义类、创建对象以及对象之间的协作来解决问题。

2. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。

它定义了软件系统中各个组件的职责、交互方式和部署方式。

常见的软件架构模式包括分层架构、客户端-服务器架构、微服务架构等。

3. 解释软件测试中的黑盒测试和白盒测试。

黑盒测试是一种测试方法,它基于对软件系统的功能需求进行测试,而不考虑内部的实现细节。

软件需求分析与设计复习题-软件工程

软件需求分析与设计复习题-软件工程

软件需求分析与设计复习题一.判断1、( × ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。

2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。

3、(× ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。

4.( x ) 好的测试用例应能证明软件是正确的。

5.( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。

6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。

7.( x ) 有时为了测试的方便,而可以局部地修改软件系统。

8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。

9.( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。

10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。

11.( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。

12、( x )软件运行正确,可见软件中没有缺陷(fault)。

13.( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。

14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。

15.( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。

16、( x )开发人员和客户对软件质量因素的认可是完全一致的。

17.( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。

18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。

19.( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。

(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。

(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。

(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。

答案:瀑布模型是软件生命周期模型中最早的模型之一。

它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。

软件工程习题及答案分析

软件工程习题及答案分析

软件工程习题及答案一、选择题: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)一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×) 当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.)(ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱2、请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.3、重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格, 然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷(2)(开放教育本科)计算机科学与技术专业《软件工程》试题B一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、__需求分析_、设计编码、_测试_、运行与维护阶段。

软件工程复习题-广东海洋大学-附部分答案版分析

软件工程复习题-广东海洋大学-附部分答案版分析

软件工程总复习一、选择题1. 在()模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。

A.快速原型 B. 统一过程C.瀑布模型 D. 螺旋模型2. 软件工程是研究软件( )的一门工程学科。

A. 数学B. 开发与管理C. 运筹学D. 工具3. 需求分析可以使用许多工具,但()是不适合使用的。

A.数据流图 B.判定表 C.PAD图 D.数据字典4. SD方法衡量模块结构质量的目标是()。

A. 模块间联系紧密,模块内联系紧密B. 模块间联系紧密,模块内联系松散C. 模块间联系松散,模块内联系紧密D. 模块间联系松散,模块内联系松散5. 程序的三种基本结构是()。

A. 过程、子程序、分程序B.顺序、条件、循环C.递归、堆栈、队列D.调用、返回、转移6.为提高软件测试的效率,应该( C )。

A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码后制定软件测试计划D.选择发现错误可能性大的数据作为测试数据7.软件可移植性是用来衡量软件的( D )的重要尺度之一。

A.效率 B. 质量 C. 人机关系 D. 通用性8.面向对象的分析方法主要是建立三类模型,即( D )。

A. 系统模型、ER模型、应用模型B. 对象模型、动态模型、应用模型C. ER模型、对象模型、功能模型D. 对象模型、动态模型、功能模型9.软件配置管理是在软件的整个生存周期内管理(C )的一组活动。

A.程序 B.文档 C.变更 D.数据10. 结构化分析的主要描述手段有( )。

A. 系统流程图和模块图B. DFD图、数据词典、加工说明C. 软件结构图、加工说明D. 功能结构图、加工说明11. 用于表示模块间的调用关系的图叫()。

A.PAD B.SC C.N-S D.HIPO12. 常用的软件开发方法有面向对象方法、面向( )方法和面向数据方法。

A. 过程B. 内容C. 用户D. 流程13. 从工程管理的角度来看,软件设计分两步完成( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2):
工作量修正因子F=1.90
工作量E=2.8×(10)1.20×1.90=2.8×15.85×1.90=84(人月)
开发时间D=2.5×(84)0.32=2.5×4.13=10.32(月)
4.现在要对一个自动饮料售货机软件进行黑盒测试,该软件的规格说明如下:一个自动售货机软件可以销售单价1元5角的盒装饮料。该售货机只接收1元和5角两种硬币,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,则送出相应的饮料;若投入的硬币少于1元5角,则显示错误信息并退出硬币;若投入的硬币多于1元5角,则送出饮料的同时退还多余的硬币。请设计测试该软件的全部测试用例。
治疗说明(简单)、取消预约(中等)
(2)外部输出:
治疗记录(简单)、预约信息(中等)
通知清单(中等)、每周预约安排(复杂)
(3)外部查询:
查看日历(中等)、查看病人数据(简单)
查看预约(中等)、查看治疗记录(简单)
(4)内部文件:
病人信息(简单)、预约信息(中等)
治疗记录(简单)
(5)外部接口:无
6.请考虑下图的对象模型,运用你对Gregorian日历的知识,指出该模型存在的所有问题,并给出修改后的正确模型。
(1)请使用简单COCOMO模型估算系统开发的工作量。
(2)请考虑产品、计算机、人员和项目等影响因素,使用中间COCOMO模型估算系统开
发的工作量,并说明考虑这些因素的理由及其取值。
参考答案:(1பைடு நூலகம்由简单COCOMO模型公式计算:
工作量E=3.6×(10)1.20=57.06(人月)
开发时间D=2.5×(57.06)0.32=9.12(月)
原因:GetMemory(str,100)并没有将申请到的内存传回到调用程序,str一直是NULL,
从而导致非法内存访问,使程序崩溃。
程序2:显示“Hello World.”,但将产生内存泄漏。
原因:GetMemory(&str,100)申请到的内存没有被释放。
程序3:显示“Hello World.”但有时系统运行异常。
(7)问题:所有命令中必然会包括BUILD命令,因此这两个需求描述是矛盾的。改正:去掉关于BUILD命令的需求描述。
(8)问题:该描述不是功能需求或非功能需求,应该是对设计实现的一个约束条件。
3.假设你是一个软件项目的负责人,该项目要求开发一个安全性要求极高的医疗控制系统,用于控制医院病人的放射性治疗。该系统是嵌入式系统,内存限定在16MB,程序规模估计是10KLOC,病人的放射治疗信息将记录到数据库中。
问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。
2.请指出下面需求描述存在的问题,并进行适当的修改。
(1)系统用户界面友好。
(2)系统运行时应该占用尽量少的内存空间。
(3)即使在系统崩溃的情况下,用户数据也不能受到破坏。
(4)ATM系统允许用户查询自己银行帐户的现存余额。
(5)ATM系统应该快速响应用户的请求。
(3)问题:“不能受到破坏”是不可验证的。改正:如果系统发生崩溃,那么该系统重新正常启动后,可以将用户数据恢复到最后未完成操作执行前的状态。
(4)该描述是正确的。
(5)问题:“快速”是不可验证的。改正:ATM系统将在1秒钟之内响应用户的请求。
(6)问题:“如何验证合法性”是存在歧义的。改正:ATM系统将通过用户名和口令验证其存取的合法性。
8.请分析比较下面两个for循环的优缺点。
第一个for循环:
for (i = 0; i < N; i++)
{
if (condition)
DoSomething();
else
DoOtherthing();
}
第二个for循环:
if (condition)
{
for (i = 0; i < N; i++)
DoSomething();
1.请给出以下问题描述的用例模型。
一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。该
音像商店将存有大约1000盘录像带和500张光碟,这些订购涉及多家订购商。所有的录像
带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。
客户可以预定录像带并在指定日期来取。系统必须拥有灵活的搜索机制来回答客户的询
月的等价类:①31天的月份;②30天的月份;③2月年的等价类:①闰年;②非闰年
{
p = (char *)malloc(sizeof(char), num);
return;
}
int main()
{
char *str = NULL;
GetMemory(str,100);
strcpy(str, “Hello World.”);
printf(str);
return 0;
}
程序2:
void GetMemory(char *p, int num)
(6)ATM系统需要检验用户存取的合法性。
(7)所有命令的响应时间小于1秒;BUILD命令的响应时间小于5秒。
(8)软件应该用JAVA语言实现。
答案要点:
(1)问题:“友好”是不可验证的。改正:具有一年计算机使用经验的用户经过3小时的培训就可以学会使用该系统。
(2)问题:“尽量少”存在歧义。改正:系统运行时所占用的最大内存空间是256MB。
int main()
{
char *str = (char *)malloc(100);
strcpy(str, “Hello ”);
free(str);
if (str != NULL)
{
strcpy(str, “World.”);
printf(str);
}
return 0;
}
参考答案:
程序1:系统运行崩溃。
原因:在free(str)释放内存空间后,str仍然指向原来空间地址,成为“野指针”。如果这时系统将所释放的空间分配给其他程序使用,将会造成系统运行异常。
10.请结合等价类方法给出getNumDaysInMonth(int month, int year)方法的测试用例,其中getNumDaysInMonth方法根据给定的月份和年份返回该月份的总天数。
{
p = (char *)malloc(sizeof(char), num);
return;
}
int main()
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, “Hello World.”);
printf(str);
return 0;
}
程序3:
5.某诊所需要开发一个软件系统来管理预约,具体要求如下:
当病人打电话预约时,接待员将查询日历并安排病人尽早得到诊治。如果病人同意计划
的约定时间,该接待员将输入约定时间和病人姓名,系统将核实病人姓名并提供病人已有的
记录数据。在每次检查和治疗之后,医生将标记相应的预约已经完成并添加治疗说明,如果
必要的话还会安排病人下一次再来。
}
else
{
for (i = 0; i < N; i++)
DoOtherthing();
}
参考答案:
第一个for循环的代码简练且结构清晰,但效率较低;
第二个for循环的执行效率较高,但结构不够紧凑。
9.下面三个程序运行时分别会产生什么结果?为什么?
程序1:
void GetMemory(char *p, int num)
诊所人员可以使用系统按照病人姓名和预约日期进行查询,查询结果显示病人的记录数
据和预约信息。接待员可以取消预约,并打印出已经预约但不能接诊的通知清单。另外,接
待员还可以打印出关于所有病人的每周预约安排。
请使用功能点技术估算该软件的规模,并说明每个信息域特征的估计理由。
答案:(1)外部输入:
病人信息(简单)、预约信息(中等)
参考答案:“星期”之间不是聚合关系“月”与其他关系之间的多重性不正确
修改结果:
7.请考虑下图表示的系与教师之间关系的类图:1)类图中显示了哪些关系?2)一个教师可以同时在多个系工作吗?请说明理由。
参考答案:
(1)类图显示了两个关系:
“学校”与“系”之间的一对多关联;“系”与“教师”之间的多对多关联
(2)一个教师可以同时在多个系工作,因为它们之间是多对多关联。
相关文档
最新文档