23207326 软件工程答案
一、选择题
以下关于软件的定义,正确的是( )
A. 软件就是程序
B. 软件是程序、数据以及开发、使用和维护程序需要的所有文档的
完整集合
C. 软件仅指数据
D. 软件是开发和维护程序的文档
答案:B
软件危机主要表现在多个方面,以下不属于软件危机表现的是
( )
A. 对软件开发成本和研制进度的估计常常很不精确
B. 用户对已完成的软件系统满意度高
C. 软件产品的质量往往靠不住
D. 软件成本在计算机系统总成本中所占的比例逐年上升
答案:B
软件工程是指导计算机软件开发和维护的一门学科,其目的不包
括( )
A. 提高软件质量
B. 增加软件开发成本
C. 缩短开发周期
D. 提高软件的可维护性
答案:B
软件开发过程中,需求分析阶段的主要任务不包括( )
A. 与用户沟通,明确用户需求和期望
B. 编写代码
C. 对需求进行分析和整理,形成需求规格说明书
D. 对需求进行评审和确认
答案:B
结构化程序设计的特征包括( )
A. 程序模块有多个入口和多个出口
B. 程序中只包含顺序、条件和循环三种控制结构
C. 程序中包含任意控制结构
D. 程序模块无明确的入口和出口
答案:B
二、简答题
简述软件危机产生的原因
软件自身特点:软件是计算机系统中的逻辑部件,具有无形性,
其规模庞大且结构复杂,这给软件开发和维护带来客观困难。例如大
型软件系统可能包含数百万行代码,各模块之间的关系错综复杂,难
以理解和管理。
开发方式与技术:软件开发人员在开发和维护时采用的生产方式、
方法、技术存在问题。传统开发方式可能缺乏严谨的流程和规范,开
发工具落后,导致生产效率提高缓慢。比如一些小型软件团队在开发
过程中没有良好的版本控制和项目管理,容易出现代码混乱、进度失
控等问题。
人员因素:软件开发人员忽视需求分析的重要性,轻视软件维护。
需求分析不充分会导致开发出的软件与用户实际需求脱节,而后期软
件维护工作又因前期开发的不规范变得困难重重。例如,开发人员未
充分与用户沟通,开发出的软件功能无法满足用户业务需求,需要大
量返工。
什么是软件工程?它与传统软件开发有何不同?
软件工程定义:软件工程是指导计算机软件开发和维护的一门学
科,它运用工程化的概念、原理、技术和方法来开发及维护软件,将
经过时间考验而证明正确的管理技术和当前能够得到的最好技术方
法结合起来,以经济地开发出高质量的软件并有效地维护它。
与传统软件开发不同:传统软件开发可能更依赖个人经验和技巧,
缺乏系统性和规范性。而软件工程强调遵循严格的开发流程,如需求
分析、设计、编码、测试、维护等阶段,每个阶段都有明确的任务和
产出。同时,软件工程注重团队协作,不同角色的人员各司其职,共
同完成项目。例如在大型软件项目中,需求分析师负责收集和整理需
求,软件设计师进行系统架构设计,程序员负责编码实现,测试人员
进行全面测试,各环节紧密配合,这与传统软件开发中可能由一人主
导多个环节有很大区别。
需求分析阶段的基本任务有哪些?
确定综合需求:分析员和用户共同确定软件系统的功能需求,明
确系统需要实现哪些功能;性能需求,如响应时间、吞吐量等;环境
需求,包括运行的硬件、软件环境等;接口需求,与其他系统的交互
接口等;用户界面需求,以及可靠性、安全性、保密性、约束、可移
植性和可维护性等方面的需求。例如开发一款电商系统,需明确商品
管理、订单处理、支付功能等功能需求,以及系统在高并发下的性能
要求。
分析数据需求:由于软件系统多为信息处理系统,需确定系统处
理和产生的信息,分析数据的结构、关系等。如电商系统中,要分析
商品数据、用户数据、订单数据等的结构和相互关系。
建立逻辑模型:通过抽象和分析,建立目标系统的逻辑模型,如
数据流图、实体 - 关系图等,描述系统的功能、数据和流程。
编写需求规格说明书:将需求分析结果以规范的文档形式呈现,
作为用户和开发者共同理解和后续开发的依据,也是测试验收的基准。
需求评审:由分析员和用户一起对需求分析结果进行严格审查,
确保需求的准确性、完整性和一致性。
三、应用题
为某小型图书馆管理系统设计用例图,该系统主要功能包括图书
借阅、图书归还、图书查询、读者信息管理
参与者:读者、图书馆管理员。
用例:
图书借阅:读者向管理员提出借阅请求,管理员在系统中查询图
书是否可借,若可借则办理借阅手续,更新图书和读者信息。
图书归还:读者归还图书,管理员检查图书是否有损坏,若正常
则办理归还手续,更新图书和读者信息。
图书查询:读者或管理员可根据书名、作者、ISBN 等信息查询
图书信息,包括库存情况等。
读者信息管理:管理员可添加、修改、删除读者信息,查询读者
借阅记录等。
用例图绘制:以矩形表示系统,椭圆表示用例,小人表示参与者,
用线段连接参与者和相关用例,表示参与者与用例之间的交互关系。
例如,读者与图书借阅、图书归还、图书查询用例相连,管理员与图
书借阅、图书归还、图书查询、读者信息管理用例相连。
假设开发一个在线教育平台,预计开发周期为 6 个月,成本预
算为 50 万元。在开发过程中,因需求变更导致开发周期延长 2 个
月,成本增加 10 万元。请分析该情况对项目的影响,并提出应对措
施
对项目的影响:
时间方面:开发周期延长 2 个月,可能导致平台上线时间推迟,
错过最佳市场推广时机,影响平台的竞争力和收益。例如一些热门课
程可能因上线延迟,被竞争对手抢占市场份额。
成本方面:成本增加 10 万元,超出预算 20%,可能影响项目
的盈利能力。若后续再有需求变更或其他意外情况,可能导致资金链
紧张,影响项目的顺利进行。
应对措施:
需求管理方面:建立严格的需求变更管理流程,在接到需求变更
请求时,进行全面评估,包括对时间、成本、技术可行性等方面的影
响。如组织相关人员进行需求变更评审会议,只有当变更带来的价值
大于其对项目的负面影响时,才批准变更。
项目计划调整:根据需求变更情况,重新制定项目计划,合理分
配资源,优化开发流程,尽量缩短因变更导致的时间延长。例如对任
务进行优先级排序,优先开发关键功能,确保项目核心价值不受影响。
成本控制:对增加的成本进行详细分析,寻找可优化的环节,如
优化开发技术,减少不必要的资源浪费。同时,与相关方沟通,争取
更多的资金支持或调整预算安排。