软件工程分析设计题

合集下载

软件工程习题(附答案)

软件工程习题(附答案)

一、选择题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. 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)一个教师可以同时在多个系工作,因为它们之间是多对多关联。
相关文档
最新文档