软件工程上机题目二
计算机二级考试软件工程题库及答案
计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。
答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。
答案:分析3. 软件测试的目的是为了发现软件中的_________。
答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。
答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。
主要阶段包括需求分析、设计、编码、测试和维护。
需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。
2. 请简要说明软件工程的重要性。
答案:软件工程的重要性体现在以下几个方面。
首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。
其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。
最后,软件工程可以提高软件的开发效率,节省时间和资源。
以上是计算机二级考试软件工程题库及答案的内容。
希望对您有所帮助!。
《软件工程》11套考试复习练习试题、作业题[含答案解析]
作业1: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:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
计算机二级考试软件工程题库及答案
计算机二级考试软件工程题库及答案为了帮助考生更好地备考计算机二级考试,我们精心整理了一份软件工程题库及答案,涵盖了大量实际问题与案例分析,旨在帮助考生深入理解软件工程的基本概念、原理和技术。
以下是题库的部分内容。
一、选择题1. 软件工程的主要目标是()A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列关于软件需求分析的说法中,错误的是()A. 需求分析是软件开发过程中的重要环节B. 需求分析的主要任务是确定用户需求C. 需求分析的结果是软件需求规格说明书D. 需求分析应在软件设计之前完成答案:C3. 在软件开发过程中,项目管理的主要任务不包括()A. 人员组织与协调B. 进度控制C. 质量控制D. 软件测试答案:D4. 下列关于结构化分析方法的描述中,错误的是()A. 结构化分析方法是一种面向数据的分析方法B. 结构化分析方法主要包括数据流图、实体关系图等工具C. 结构化分析方法适用于大型复杂系统的分析D. 结构化分析方法不适用于小型系统的分析答案:D5. 在软件测试过程中,下列说法正确的是()A. 测试应贯穿整个软件开发过程B. 测试的目的是发现并修复软件缺陷C. 测试过程应遵循逐步细化、逐步展开的原则D. 测试用例的设计应考虑输入条件、操作步骤和预期结果答案:D二、填空题1. 软件工程的三级生命周期模型包括________、________和________。
答案:需求分析、设计、实现与维护2. 软件需求规格说明书是________阶段的成果,其主要作用是________。
答案:需求分析;描述软件的功能、性能和约束条件3. 结构化分析方法的核心思想是________,其基本工具包括________和________。
答案:模块化;数据流图、实体关系图4. 软件测试的过程分为________、________、________和________四个阶段。
软件工程上机题目
软件工程上机题目第一篇:软件工程上机题目软件工程上机题目1.网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。
“远程网络教学系统”的功能需求如下:λλλ学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。
系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。
记密码,可与通过“找回密码”功能恢复密码。
请画出学生参与者的用例图。
1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。
如果忘2)教师如果忘记密码,可以通过“找回密码”功能找回密码。
请画出教师参与者的用例图。
共 1 页第 1 页2.图书管理系统功能性需求说明如下: 图书管理系统能够为一定数量的借阅者提供服务。
每个借阅者能够拥有唯一标识其存在的编号。
图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。
提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。
"当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。
"系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删除和修改。
并且能够查询借阅者、图书和图书管理员的信息。
"可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。
回答下面问题:1)该系统中有哪些参与者? 借阅者图书管理员系统管理员2)确定该系统中的类,找出类之间的关系并画出类图用户类、用户角色类、图书类、预定类、借阅类、书目类类图共 1 页第 1 页3)画出语境“借阅者预定图书”的时序图共 1 页第 1 页第二篇:软件工程课程设计题目软件工程设计题目1.个人通讯录管理系统要求:增加记录、删除记录、显示所有记录、查询记录、退出。
软件工程机考第二套答案
软件工程机考第二套答案
1.某校的课酬计算机方案为:
(1)基本课酬为每节课10元。
(2)班级人数超过60人,增加基本课酬的10%。
(3)班级人数超过80人,增加基本课酬的20%。
(4)如果教师为副教授,增加基本课酬的10%。
(5)教授,增加基本课酬的20%。
(6)助教,不增加课酬。
(7)见习助教,减少基本课酬的10%。
用判定表,表达上述计算方案。
解答:判定表如表1所示:
表1 课酬计算方案判定表
2.某BBS模板的发贴子系统有如下功能:
(1)记录发贴内容:访客在表单中输入文字,系统进行检查,无误后将内容存入文件。
(2)显示贴子内容:读出文件,按一定格式显示在屏幕上。
请根据要求画出该系统的数据流程图,并将其转换为软件结构图。
解答:
发帖内容文件
图1 数据流图。
软件工程上机题目
软件工程上机题目
1.题目背景:介绍该上机题目的背景信息,包括相关领域的背
景知识和问题的实际应用场景。
2.题目描述:详细描述该上机题目的具体要求和任务,包括输
入要求、输出要求、限制条件等。
3.题目分析:对题目进行深入分析,阐述问题的关键点和难点,并提供解题思路和方法。
4.解题步骤:按照逻辑顺序,详细描述解题的步骤和流程,包
括算法设计、数据结构选择、函数实现等。
5.代码实现:给出解题过程中所需的代码实现,包括函数的定
义和调用,数据结构的定义和使用等。
同时,提供注释和说明,使
代码易读易懂。
6.测试与验证:设计合适的测试数据和测试用例,对解题代码
进行测试和验证,确保代码的正确性和健壮性。
7.总结与反思:对解题过程进行总结和反思,讨论解题过程中
的问题和不足,并提出改进的意见和建议。
8.参考资料:列出本文档参考的相关资料和文献,以供读者深
入了解该上机题目。
附件:本文档涉及的附件包括(列出附件名称和内容简介)。
法律名词及注释:
1.法律名词1:法律名词1的注释和解释。
2.法律名词2:法律名词2的注释和解释。
(根据实际情况添加更多的法律名词及注释)。
软件工程学试题及答案
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
2023年全国计算机等级考试二级软件工程真题及答案
2023年全国计算机等级考试二级软件工程真题及答案第一题题目:请简要说明软件工程的定义和重要性。
答案:软件工程是一门研究通过系统化的、规范化的、可量化的方法来开发和维护软件的学科。
它涉及到软件开发的所有方面,包括需求分析、设计、编码、测试、部署和维护等。
软件工程的重要性在于它可以提高软件开发的效率和质量,确保软件在开发过程中能够满足用户需求,并且能够持续发展和维护。
第二题题目:简述软件生命周期的各个阶段及其主要任务。
答案:软件生命周期包括需求分析、设计、编码、测试、部署和维护等阶段。
具体任务如下:- 需求分析:确定软件的功能和性能需求,并编写相应的需求规格说明书。
- 设计:根据需求规格说明书,设计软件的架构和组件之间的关系,并编写相应的设计文档。
- 编码:根据设计文档,实现软件的各个模块,并进行编码和调试。
- 测试:对编码完成的软件进行功能测试、性能测试和安全测试等,并记录测试结果和问题。
- 部署:将测试通过的软件部署到目标环境中,并进行相关配置和安装。
- 维护:在软件部署后,根据用户的反馈和需求变化,对软件进行修复和升级等维护工作。
第三题题目:请列举常见的软件开发过程模型,并简要描述各个模型的特点。
答案:常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。
- 瀑布模型:严格按照需求分析、设计、编码、测试和部署等流程顺序进行开发,适用于需求稳定且项目规模较小的情况。
- 迭代模型:按照瀑布模型的流程,但可以多次重复进行迭代,每次迭代都会生成一个可用的软件版本,适用于需求不稳定且需要快速交付的情况。
- 螺旋模型:结合瀑布模型和迭代模型的特点,通过循环迭代的方式不断推进需求分析、设计、构建和评估等活动,适用于大规模复杂项目和风险较高的情况。
- 敏捷模型:强调快速响应需求变化和高度合作的开发方式,通过短周期的迭代和交付,适用于需求变化频繁、项目规模不确定或需要灵活应对的情况。
以上是部分真题及答案,希望能对您的备考有所帮助。
软件工程上机习题
一、设计下列伪码程序的判定覆盖测试用例STARTINPUT(A,B,C,D)IF(A>0) AND (B>1)THEN X=A+BELSE X=A-BENDIF (C>A) OR (D>B)THEN Y=C-DELSE Y=C+DENDPRINT (X,Y)STOP二、请建立下述杂货店问题的对象模型一家杂货店想使其库存管理自动化。
这家杂货店拥有能记录顾客购买的所有商品的名称和数量的销售终端。
顾客服务台也有类似的终端,以处理顾客的退货。
它在码头有另一个终端用于处理供应商发货。
肉食部和农产品部有终端用于输入由于损耗导致的损失和折扣。
三、画出下面用PDL写出的程序的N-S图(盒图)和PAD图。
WHILE P DOIF A >0 THEN A1ELSE A2 ENDIFS1IF B>0 THENWHILE C DO B1 ENDWHILEELSE B2ENDIFS2ENDWHILE四、根据程序流程图设计该程序段的语句覆盖和分支覆盖测试用例,在表格中填入满足测试要求的数据或路径。
五、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款信息,并印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图(DFD)描绘本系统功能。
六、在某小型图书管理系统中,读者(借阅者)可以请求以下服务:通过系统查询图书信息、借阅图书、归还图书(若读者还书时超过借阅期限,就要交纳一定罚金)。
当读者登录系统后还可以查询本人的借阅信息,也可以进行图书预订。
根据上述功能描述设计读者请求服务的用例图(Use Case),标明用例之间的关系。
七、下面为在数组A(1)~A(10)中找最大数算法的PDL描述,画出其N-S 图(盒图)和PAD图。
N=1WHILE N<=10 DOIF A(N)<=A(N+1)THEN MAX =A(N+1)ELSE MAX =A(N)ENDIFN=N+1ENDWHILE。
计算机软件工程试题及答案
计算机软件工程试题及答案一、选择题(每题5分,共30分)1. 下列哪项不是软件工程的目标之一?A. 提高软件质量B. 缩短软件开发周期C. 降低软件成本D. 增加软件功能答案:D2. 面向对象分析的重要产品是什么?A. 类图B. 时序图C. 用例图D. 类的详细设计答案:C3. 在敏捷软件开发中,团队重视的价值是?A. 测试通过的软件B. 设计文档C. 客户满意D. 项目进度答案:C4. 下列哪个是软件验证的过程?A. 编码B. 测试C. 需求分析D. 部署答案:B5. 软件过程模型中,下列哪项是瀑布模型的主要特点?A. 适合迭代式开发B. 强调反馈和调整C. 开发流程线性且有序D. 所有阶段同时进行答案:C6. 下列哪项不是软件需求的特性?A. 可理解性B. 可靠性C. 可维护性D. 可修改性答案:B二、简答题(每题10分,共30分)1. 请简述软件生命周期的主要阶段及其特点。
答案:软件生命周期主要包括需求分析、设计、编码、测试、部署和维护阶段。
需求分析阶段:明确用户需求和系统要求。
设计阶段:制定软件结构和模块设计方案。
编码阶段:将设计方案转化为可执行代码。
测试阶段:验证软件是否符合需求,包括单元测试、集成测试和系统测试。
部署阶段:将软件交付给用户并安装部署。
维护阶段:修复漏洞、改进功能、提供技术支持。
2. 解释迭代开发和增量开发的区别。
答案:迭代开发是指将整个开发过程分成多个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等阶段,每个迭代周期都会不断改进和完善软件,最终得到用户满意的产品。
增量开发是指在软件开发过程中,将系统功能模块化,按模块分阶段开发。
每个阶段都增加新的功能,并将之前开发的功能进行整合和测试。
最终形成完整的软件系统。
3. 简要介绍敏捷开发方法。
答案:敏捷开发是一种迭代和增量的开发方法,强调团队合作和灵活性,专注于快速交付可工作的软件。
敏捷开发方法包括Scrum、XP (极限编程)等。
软件工程上机指导课后习题答案
软件工程上机指导课后习题答案1. 第一题题目内容:请用一句话概括什么是软件工程?答案:软件工程是一门科学和艺术,通过系统化、规范化的方法进行软件开发、维护和管理,以提高软件质量和开发效率。
2. 第二题题目内容:列举一些常用的软件生命周期模型,并简要描述它们的特点。
答案:常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。
•瀑布模型:依次进行需求分析、设计、编码、测试和维护等阶段,每个阶段都有明确定义的输入和输出,适用于稳定需求和大规模项目。
•迭代模型:将软件开发过程划分为多个迭代,每个迭代都包含需求分析、设计、编码和测试等阶段,适用于短期需求变更频繁的项目。
•螺旋模型:将软件开发过程划分为多个循环,每个循环包含风险分析、需求分析、设计、编码和测试等阶段,适用于风险较高的项目。
•敏捷模型:强调迭代、快速响应需求变化和自组织团队合作,使用短期的、经常交付的迭代周期,适用于需求变化频繁的项目和小团队。
3. 第三题题目内容:什么是软件需求?软件需求的分类有哪些?答案:软件需求是指对于要开发的软件系统中所要求的功能、性能和约束条件的描述。
根据分类标准的不同,软件需求可以分为不同的类型:•功能需求:描述软件系统应该具备的功能,如输入、输出、处理和控制等。
•非功能需求:描述软件系统的性能、可靠性、安全性、可维护性、可用性等方面的要求,如响应时间、并发用户数、数据精度等。
•业务需求:描述软件系统应满足的业务需求,如业务流程、业务规则等。
•用户需求:描述软件系统用户的需求,如用户界面、易用性、用户体验等。
•系统需求:描述软件系统在特定硬件和软件环境下的需求,如操作系统、数据库、网络等。
4. 第四题题目内容:什么是软件开发过程?软件开发过程的主要阶段有哪些?答案:软件开发过程是指从需求分析到软件交付的整个过程,包括多个阶段。
主要阶段如下:1.需求分析:明确用户需求,分析用户需求和系统需求,编写需求规格说明书。
软件工程基础练习试卷2(题后含答案及解析)
软件工程基础练习试卷2(题后含答案及解析) 题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1.在面向对象的系统中,由于有了______,所以父类的数据和方法可以应用于子类。
A.继承性B.封装性C.抽象性D.多态性正确答案:A解析:继承是父类和子类之间共享数据和方法的机制。
一个父类可以有多个子类,这些子类都是父类的特例,父类描述子类的公共属性和操作。
子类可以继承它的父类中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义自己的属性和操作。
综上所述,本题正确答案为选项A。
知识模块:软件工程基础2.在面向对象程序设计语言中,(1)是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性:(2)可以实现发送一个通用的消息而调用不同的方法:(3)是实现信息隐蔽的一种技术,其目的是使类的(4)相互分离。
A.封装B.消息传递C.引用D.继承正确答案:D 涉及知识点:软件工程基础3.A.封装B.消息传递C.引用D.继承正确答案:B 涉及知识点:软件工程基础4.A.引用B.继承C.封装D.多态正确答案:C 涉及知识点:软件工程基础5.A.定义与实现B.分析与测试C.分析与设计D.实现与测试正确答案:A解析:在面向对象程序设计语言中,继承是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性,所以,对于第1空,选项D正确。
消息传递可以实现发送一个通用的消息而调用不同的方法。
对于第2空,选项B正确。
封装是实现信息隐蔽的一种技术,其目的是使类的定义与实现相互分离。
对于第3空,选项C正确;对于第4空,选项A正确。
知识模块:软件工程基础6.下列关于结构化设计与面向对象设计的叙述中,不正确的是______。
A.结构化设计以过程设计为核心B.面向对象设计以对象设计为核心C.结构化设计比面向对象设计更易支持数据结构的修改D.面向对象设计比结构化设计更易支持系统的维护正确答案:C解析:结构化设计是以过程为核心(选项A说法正确),而面向对象设计则是以对象设计为核心(选项B说法正确),因为面向对象设计支持封装,将数据及其对应的操作绑定在一起。
国开期末考试《软件工程》机考试题及答案(第5套)
国开期末考试《软件工程》机考试题及答案(第5套)一、单选题1. 软件工程是一门关于软件开发的学科,它主要关注的是()。
- [ ] A. 软件产品的测试和维护- [ ] B. 软件产品的销售和推广- [x] C. 软件产品的开发和管理- [ ] D. 软件产品的设计和美化2. 下列哪个不是软件工程的基本原则?- [ ] A. 风险管理- [ ] B. 进程管理- [ ] C. 质量管理- [x] D. 个人主义3. 软件需求分析过程中,下列哪个活动是错误的?- [ ] A. 确定用户需求- [ ] B. 定义软件系统的边界- [x] C. 编写详细设计文档- [ ] D. 分析用户需求的可行性4. 下列哪个不是软件开发生命周期模型?- [ ] A. 瀑布模型- [ ] B. 敏捷模型- [ ] C. 增量模型- [x] D. 塔式模型5. 下列哪个不是软件测试的主要类型?- [ ] A. 单元测试- [ ] B. 集成测试- [ ] C. 系统测试- [x] D. 数据库测试二、多选题1. 下列哪些是软件工程的关键特征?(多选)- [x] A. 复用性- [x] B. 可维护性- [ ] C. 可销售性- [x] D. 可靠性2. 软件开发生命周期模型的主要目的是(多选)- [x] A. 规划和控制软件项目- [x] B. 保证软件质量- [ ] C. 提高软件开发效率- [ ] D. 减少软件开发成本3. 下列哪些是软件需求文档的主要内容?(多选)- [x] A. 用户需求描述- [x] B. 功能需求描述- [ ] C. 软件开发计划- [x] D. 非功能需求描述三、简答题1. 请简要解释软件工程的定义和目标。
软件工程是一门关于软件开发的学科,主要关注软件产品的开发和管理。
其目标是通过系统化的方法和工具,确保软件开发过程的高质量、高效率和可维护性。
2. 请简要介绍瀑布模型和敏捷模型两种常见的软件开发生命周期模型。
软件工程模拟试题及答案2
软件工程模拟试题及答案一,单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.可行性研究要进行一次_____需求分析。
参考答案为:CA.详细的B.全面的C.简化的、压缩的D.彻底的[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发.其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。
因此答案为C.2.系统流程图用于可行性分析中的_____的描述。
参考答案为:AA.当前运行系统B.当前逻辑模型C.目标系统D.新系统[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。
描述的对象是当前正在运行的系统,因此选择A。
3.系统流程图是描述_____的工具。
参考答案为:CA.逻辑系统B.程序系统C.体系结构D.物理系统[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况.是描绘物理系统的传统工具。
4._______工具在软件详细设计过程中不采用。
参考答案为:DA.判定表 B.IPO图C.PDL D.DFD图[解析]详细描述处理过程常用三种工具:图形、表格和语言.其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。
IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。
PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。
A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。
A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。
A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。
A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。
A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。
软件工程考试题及答案
软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。
答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。
答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。
答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。
答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。
答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。
答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。
其优点包括:- 易于管理:模块化使得软件更容易理解和维护。
- 可重用性:模块可以在不同的项目中重复使用。
- 并行开发:模块化允许多个团队并行开发不同的模块。
- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。
12. 解释什么是软件的可维护性,并说明其重要性。
软工上机题
IF (B2-4AC)>=0
THEN BEGIN Root1:=(-B+SQR(B2-4AC))/2A;
Root2:= (-B-SQR(B2-4AC))/2A
END
ELSE输出“此方程无实根”;
end
输出root1和root2的值
END.
解:首先设定上述伪码中各过程块的编号,设定如下:
Begin
输入一元二次方程的系数A,B,C;
为根变量赋初值;
IF平方项的系数A=0且一次项系数B<>0
THEN BEGIN Root1:=-C/B;输出“A=0”;
Root2:=-C/B
END;
IF平方项的系数A<>0且一次项系数B=0
THEN BEGIN
IF (-C/A)>=0
THEN BEGIN Root1:=SQR(-C/A);输出“B=0”;
日、月库存情况=品名+编号+库存量+库存金额
日、月前台库存情况=品名+编号+库存量+库存金额
金额、误差统计表=[年销售金额统计表|年库存误差统计表
……
(2)该系统中的类标识如下(供参考,答案不唯一)
2、针对以下给出的问题陈述:
1)用结构化分析方法建立该系统的顶层和0层DFD图,并给出相关的数据字典;
对应的N-S图如下所示:
3、把下面的程序流程图转换为伪码、PAD图和N-S图。
解:该程序流程图中包含非结构化的GOTO语句,在转换为结构化的伪码和PAD图、N-S图时需要进行处理。
转换的伪码如下:
begin
S1;
if x<=5 then S2
软件工程上机题(12年1月11日)
软件工程上机题(12年1月11日)
(一)校务办理系统
办理老师的家伙:录入老师情况(姓名。
地址。
所教课程)老师缺科记录(名字。
时间。
原因。
课程)
办理学生的家伙:录入学生情况(姓名。
所选课程。
成绩)
教务主任:查询统计1:教师情况2:学生总成绩3:学生平均成绩
1)用结构化方法画出系统顶层图、0层图,数据字典。
2)画出该系统的初始化模块结构图。
3)用面向对象法画出该系统有那些主要的类。
(二)
有关测试的题
一段程序求1-50之间的整数的级乘的和(例如:在提示输入0-50之间的整数_ 时输入5即求1!+2!+3!+4!+5!的和)
要求设计测试用例。
注意事项:
用帐号登陆->试题在y盘的文件夹内->新建word文档(你所有答题都写在这)->结果保留到z盘的以你的帐号命名的文件夹内。
ok了。
把测试程序(在y盘的文件夹内)复制到z盘的以你的帐号命名的文件夹内。
这样在打开命令提示符时,目录正好是z:\帐号。
只需键入测试程序名(test1.exe)。
软件工程及应用-练习题(2)(全答案版)
软件工程及应用练习题一. 单项选择题1.不属于软件架构设计工作的内容是 D 。
A. 软件的层次结构B. 全局数据结构C. 接口D. 程序流程图2.有三个模块,它们都访问同一组数据,各部件之间只有数据关系,没有控制关系。
把这三个模块放到一起,形成的内聚是 A 。
A. 通信内聚B. 过程内聚C. 顺序内聚D. 功能内聚3.可以用于制定软件项目进度计划的工具是 D 。
A. 部署图B. 用例图C. 时序图D. 甘特图4.软件企业最重要的资产是 A 。
A. 人B. 工具C. 办公楼D. 技术5.软件开发过程中一个对所要解决的问题进行定义并确定系统范围的活动是B 。
A. 风险管理活动B. 问题定义活动C. 可行性研究活动D. 需求分析活动6.作为设计活动的核心角色,在整个项目中对设计活动进行领导和协调的角色是A 。
A. 系统架构师B. 构件设计师C. 项目经理D. 数据库设计师7.实施活动将按照设计说明书进行开发,具体工作体现在三个方面,下面的工作不属于实施活动的是 D 。
A. 编码B. 单元测试C. 集成D. 验收测试8.测试是选择适当的测试用例执行被测试程序的过程,目的在于 A 。
A. 发现程序错误B. 证明程序无错C. 改进程序质量D. 预防程序缺陷9.在可行性研究中,首先考虑用户是否已经拥有或者准备购买相应的计算机硬件和软件,以支持新系统的开发和应用。
这项研究任务属于 A 。
A. 技术可行性B. 操作可行性C. 经济可行性D. 操作可行性10.“验收标准1:在使用该产品的前3周,系统从未发生过崩溃或者死机现象”,这项需求描述体现的需求分析建模原则是 B 。
A. 循序渐进B. 可验证性C. 可追踪性D. 自顶向下逐层分解11.为了得到一个高质量的软件系统,除了设计人员的经验和创造性之外,还要遵守一些设计指导原则。
下面指导原则中正确的是 D 。
A. 应尽早考虑系统细节B. 应对系统做最大程度地分解,越彻底越好C. 应选择最酷的技术D. 应考虑系统的可维护性与可扩展性12.在一个影像传输子系统中,一个模块负责从摄像头中读取影像信息,然后由影像增强模块锐化、几何校正,再由压缩模块压缩影像数据,之后传输模块负责传递数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计实验
1、实验目的
学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的工具,如程序流程图、盒图、PAD图和判定表,并能把给定的软件问题描述转化为过程设计结果。
2、实验内容
1、软件结构设计:
(1) 采用visio绘制教材的图4.26中的软件结构图;
(2) 采用visio绘制教材的图4.41的软件层次图。
(3) 分析如下所示的数据流图,并把它转换成软件结构图,然后
用visio把结果画出来。
(注意,请用结构图)
图1 某系统的数据流图
2、软件的详细设计:某航空公司规定,乘客可以免费托运重量不超过20公斤的行李,当行李重量超过20公斤,对头等舱的国内乘客超重部分每公斤收费6元,对其他舱的国内乘客超重部分每公斤收费8元,对外国顾客超重部分每公斤收费比国内乘客多1.5倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
实验包含三部分的内容:
a) 用word设计描述其详细设计结果的PAD图、判定表。
b) 用viso画出它的程序流程图,并计算它的Mccabe程序复杂度。
(要求把计算过程写到实验报告中)
3、实验结果
文档:盒图、PAD图、判定表和程序流图以及环路复杂度的计算过程打印后粘贴在实验报告中;
实验报告一份。
4、成绩评定
5、附录:Visio中软件结构和流程图的绘制
Step1: 软件结构图的绘制,选择“软件”中的“程序结构图”,例如绘制出如下图所示的软件结构(教材图5.5):
图2 软件结构图
Step2: 软件层次图的绘制,选择“组织结构图”绘制,如下图:
图3 软件层次图
Step3: 程序流程图的绘制,visio中选择“流程图”中的“基本流程图”,得到如下图形:(下图仅是一个例子)
图4 程序流程图。