




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程导论试题集46172一、选择题
1.软件工程的出现是由于()。A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展
答案:A
解析:软件工程的出现是为了解决软件危机,软件危机主要表现在软件需求增长得不到满足、软件开发成本和进度无法控制、软件质量难以保证等方面。
2.软件生命周期一般包括软件开发期和软件运行期,下列()不是软件开发期应包含的内容。A.需求分析B.可行性研究C.软件维护D.详细设计
答案:C
解析:软件维护属于软件运行期的内容,软件开发期包括可行性研究、需求分析、概要设计、详细设计、编码和测试等阶段。
3.瀑布模型的关键不足在于()。A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审
答案:B
解析:瀑布模型是一种线性的软件开发模型,其关键不足是不能很好地适应需求的动态变更,当需求发生变化时,可能需要对前面的阶段进行大量修改,成本较高。
4.软件可行性研究一般不考虑()。A.是否有足够的人员和相关的技术来支持系统开发B.是否有足够的工具和相关的技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题
答案:D
解析:软件可行性研究主要从技术可行性、经济可行性和操作可行性等方面进行考虑,一般不考虑软件的质量问题,软件质量问题是在软件开发过程中通过各种质量保证措施来解决的。
5.需求分析阶段的任务是确定()。A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能
答案:D
解析:需求分析阶段的主要任务是确定软件系统的功能、性能、数据等方面的需求,为后续的设计和开发提供依据。
6.数据字典是用来定义()中的各个成份的具体含义的。A.程序流程图B.功能结构图C.系统结构图D.数据流图
答案:D
解析:数据字典是对数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得数据流图中的每个元素都有确切的解释。
7.结构化分析方法(SA)的主要思想是()。A.自顶向下、逐步分解B.自顶向下、逐步抽象C.自底向上、逐步抽象D.自底向上、逐步分解
答案:A
解析:结构化分析方法采用自顶向下、逐步分解的思想,将一个复杂的系统分解为若干个相对简单的子系统,每个子系统再进一步分解为更具体的模块,直到能够清晰地描述系统的功能和需求。
8.软件设计阶段一般又可分为()。A.逻辑设计与功能设计B.概要设计与详细设计C.概念设计与物理设计D.模型设计与程序设计
答案:B
解析:软件设计阶段分为概要设计和详细设计,概要设计主要确定软件系统的总体结构和模块划分,详细设计则对每个模块进行具体的算法设计和数据结构设计。
9.程序流程图中的箭头代表()。A.数据流B.控制流C.调用关系D.组成关系
答案:B
解析:程序流程图中的箭头表示控制流,它描述了程序执行的顺序和流程。
10.软件测试的目的是()。A.证明软件的正确性B.发现软件中的错误C.排除软件中的错误D.测定软件的可靠性
答案:B
解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性,通过测试发现错误后,再进行调试和修正。
二、填空题
1.软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
2.软件生命周期可分为可行性研究、需求分析、概要设计、详细设计、编码、测试、维护等阶段。
3.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
4.需求分析的基本任务是准确地定义新系统的目标,回答"系统必须做什么"的问题。
5.数据流图的基本符号包括数据流、加工、数据存储和数据源点/终点。
6.结构化设计是以数据流图为基础,按一定的步骤映射成软件结构。
7.程序设计语言的特性包括心理特性、工程特性和技术特性。
8.软件测试的步骤包括单元测试、集成测试、确认测试和系统测试。
9.软件维护的类型包括改正性维护、适应性维护、完善性维护和预防性维护。
10.软件项目管理的内容包括项目计划、项目组织、人员管理、质量管理、风险管理等。
三、简答题
1.简述软件危机的表现及产生的原因。
软件危机主要表现在以下几个方面:软件需求增长得不到满足。软件开发成本和进度无法控制。软件质量难以保证。软件维护困难。
产生软件危机的原因主要有:软件自身的特点,如软件的逻辑复杂性高、规模庞大等。软件开发过程缺乏有效的方法和工具。对软件项目的管理不善。软件开发人员与用户之间沟通不畅。
2.简述软件工程的基本原则。
软件工程的基本原则包括:选取适宜的开发模型。采用合适的设计方法。提供高质量的工程支持。重视开发过程的管理。
3.简述需求分析的步骤。
需求分析的步骤一般包括:问题识别:从系统角度来理解软件需求,确定对目标系统的综合要求,并提出这些需求的实现条件,以及需求应达到的标准。分析与综合:对获取的需求进行分析和综合,以形成对软件需求的清晰、准确的描述。编制需求规格说明书:将分析和综合的结果以文档的形式记录下来,形成需求规格说明书,作为后续开发工作的依据。需求评审:对需求规格说明书进行评审,确保其完整性、准确性和一致性,以避免后期开发过程中的需求变更。
4.简述结构化设计的特点。
结构化设计的特点包括:自顶向下,逐步求精:从整体到局部,将系统逐步分解为各个模块,每个模块再进一步细化。模块化:将系统划分为若干个独立的模块,每个模块具有特定的功能,模块之间通过接口进行联系。高内聚、低耦合:模块内部具有较高的内聚性,即模块内部各元素之间联系紧密;模块之间具有较低的耦合性,即模块之间的依赖关系较弱。面向数据流:以数据流图为基础进行设计,使设计结果与系统的逻辑结构紧密相关。
5.简述软件测试的策略。
软件测试的策略包括:静态测试:包括代码审查、走查、评审等,通过人工检查代码或文档来发现潜在的问题。动态测试:通过运行程序来发现错误,包括黑盒测试和白盒测试。黑盒测试:不考虑程序内部结构和实现细节,只依据程序的功能需求来设计测试用例,检查程序是否满足功能要求。白盒测试:基于程序的内部结构和逻辑,设计测试用例来检查程序中的每条路径和语句是否正确执行。单元测试:对软件中的最小可测试单元(模块)进行测试,检查模块是否正确实现了规定的功能。集成测试:将已测试过的模块组装起来,进行集成测试,检查模块之间的接口和交互是否正确。确认测试:验证软件是否满足用户的需求和期望,通常采用黑盒测试方法。系统测试:将软件与整个系统的其他部分(如硬件、数据库等)结合起来进行测试,检查系统是否满足整体要求。
四、综合题
1.某高校欲开发一个成绩管理系统,以便教师管理学生的成绩信息。请根据以下要求进行分析和设计:
(1)系统功能需求教师可以录入学生的成绩,包括课程名称、学生学号、成绩等信息。教师可以查询学生的成绩,可按学号、课程名称等条件进行查询。教师可以修改学生的成绩。教师可以删除学生的成绩记录。系统可以生成学生的成绩单,包括学生的学号、姓名、各课程成绩及总成绩等信息。
(2)系统非功能需求系统应具有较高的响应速度,在短时间内完成各项操作。系统应具备良好的安全性,防止学生成绩信息泄露。
(3)请画出该系统的数据流图。
答案:
顶层数据流图:
```++++|教师||成绩管理系统||||||录入成绩||查询成绩||修改成绩||修改成绩||删除成绩||删除成绩||生成成绩单||生成成绩单|++++```
一层数据流图:
```++++|教师||成绩管理系统||||||录入成绩||查询成绩||||||学生成绩||学生成绩||||||修改成绩||修改成绩||||||删除成绩||删除成绩||||||生成成绩单||生成成绩单|++++```
二层数据流图(以查询成绩为例):
```++++|教师||成绩管理系统||||||查询成绩||查询成绩||||||查询条件||学生成绩||||||学生成绩||查询结果|||||||||++++```
(4)请设计该系统的软件结构。
答案:
该系统的软件结构可以设计为以下几个模块:
成绩录入模块:负责教师录入学生成绩的功能。成绩查询模块:根据教师输入的查询条件查询学生成绩。成绩修改模块:修改学生的成绩。成绩删除模块:删除学生的成绩记录。成绩单生成模块:生成学生的成绩单。
模块之间的调用关系如下:
```++++++++++|成绩录入||成绩查询||成绩修改||成绩删除||成绩单生成||||||||||||||||||||||成绩管理系统|||||||||||||||||||||||||||||++++++++++```
(5)请说明该系统的数据库设计(至少包括数据库表结构)。
答案:
数据库设计如下:
学生表(students):学号(student_id):主键,唯一标识学生。姓名(student_name):学生姓名。
课程表(courses):课程编号(course_id):主键,唯一标识课程。课程名称(course_name):课程名称。
成绩表(scores):学号(student_id):外键,关联学生表的学号。课程编号(course_id):外键,关联课程表的课程编号。成绩(score):学生该课程的成绩。
通过这些表结构,可以有效地存储和管理学生的成绩信息,满足系统的功能需求。
2.请描述一个软件项目从需求分析到软件交付使用的完整过程,并说明每个阶段的主要任务和文档产出。
软件项目从需求分析到软件交付使用一般经历以下完整过程:
(1)需求分析阶段主要任务:深入了解用户需求,与用户进行充分沟通,明确软件系统需要实现的功能、性能、数据等方面的要求。对需求进行分析和整理,去除模糊和不一致的部分,形成清晰、准确的需求描述。文档产出:需求规格说明书:详细记录软件系统的功能需求、性能需求、数据需求等,是后续开发工作的重要依据。
(2)概要设计阶段主要任务:根据需求规格说明书,对软件系统进行总体架构设计,确定系统的模块划分和模块之间的接口关系。设计软件的总体数据结构,规划数据的存储方式和流动方式。文档产出:概要设计说明书:包括软件系统的总体架构图、模块划分、模块功能描述、接口设计、数据结构设计等内容。
(3)详细设计阶段主要任务:对每个模块进行详细的算法设计和数据结构设计,确定模块内部的具体实现细节。编写详细的程序流程图、伪代码等,为编码阶段提供清晰的指导。文档产出:详细设计说明书:针对每个模块,详细描述其算法、数据结构、输入输出参数、处理逻辑等。
(4)编码阶段主要任务:根据详细设计说明书,使用选定的程序设计语言编写实现各个模块功能的代码。遵循良好的编程规范和代码风格,确保代码的可读性、可维护性和可扩展性。文档产出:源程序清单:包含编写的所有代码文件。
(5)测试阶段主要任务:对编写的代码进行测试,发现并修复其中的错误。包括单元测试、集成测试、确认测试和系统测试等不同层次的测试活动。文档产出:测试计划:描述测试的目标、范围、方法、进度安排等。测试用例:记录针对各个功能点设计的测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网教育平台的用户黏性提升策略
- 互联网理财平台的竞争格局分析
- 体育教学中的师生互动与沟通技巧
- 冀教版英语八上Unit 6《Go with Transportation》(Lesson 31)英文(单元整体+课时教学设计)
- 2025年-江西建筑安全员B证考试题库
- 2025至2030年中国ST防锈颜料行业投资前景及策略咨询报告
- 2025至2030年中国PVC防静电IC包装管行业投资前景及策略咨询报告
- 2025至2030年中国PVC服装商标行业投资前景及策略咨询研究报告
- 2025至2030年中国Pt黑催化剂市场现状分析及前景预测报告
- 2025至2030年中国PET印刷膜商标原纸行业发展研究报告
- 沪教版数学八年级上册全册教案
- 特殊场所的消防安全知识培训
- 航海英语听力与会话
- 国家电网招聘2025-企业文化复习试题含答案
- 2024年官方兽医牧运通考试题库(含答案)
- 《hpv与宫颈癌》课件
- 【课件】校园安全系列之警惕“死亡游戏”主题班会课件
- 西安交通大学《程序设计思想方法与实践》2021-2022学年期末试卷
- 快乐读书吧:童年(专项训练)-2023-2024学年六年级语文上册(统编版)(含答案)
- 企业信息化建设管理制度
- 妇产科医生个人职业发展路径计划
评论
0/150
提交评论