2017年重庆邮电大学J10软件工程(同等学力加试)考研复试核心题库
● 摘要
一、名词解释
1. 抽象
【答案】把在现实世界中一定事物、状态或过程之间的共性集中和概括起来,暂时忽略它们之间的差异,这就是抽象。即抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
二、简答题
2. 一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson 方法设计该程序结构。
【答案】(1)输入数据的Jackson 图如图1所示:
图1输入数据的Jackson 图
(2)输出数据的图如图2所示:
图2 输出数据的Jackson 图
(3) 程序结构的图如图3所示:
图3程序结构的Jackson 图
3. 说明对象模型的特征。
【答案】(1)对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系。
(2)模型主要关心系统中对象的结构、属性和操作使用对象图来描述。
4. 需求分析有哪些特点?
【答案】(1)用户与开发人员很难进行交流
需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。但是在开始时,开发人员和用户双方都不能准确地提出系统要“做什么?”。由于用户和开发人员互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。
(2)用户的需求是动态变化的
对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和需求分析性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚 者,到开发后期还在提新的要求。
(3)系统变更的代价呈非线性增长
需求分析是软件开发的基础。在该阶段发现一个错误,解决它需要的代价要比等到设计、编程、测试和维护阶段解决小非常多。
5. 可行性研究包括哪些步骤?
【答案】(1)系统定义
为了定义好一个系统,需要分析人员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析人员正在解决的问题确实是要解决的问题。
(2)研究正在运行的系统
①正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,要开发一个新的计算机系统来代替旧的系统。因此,现有的系统是信息的重要来源,要研究它的基本功能,存在
什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否减少使用费用等。
②收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。
(3)导出新系统的逻辑模型
根据对现有系统的分析研究,逐渐明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具一数据流图和数据字典来描述数据在系统中的流动和处理情况。
(4)设计方案
分析人员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
(5)推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行性的解决方案是什么,并且说明该方案可行的原因和理由。
(6)编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
6. 试分析瀑布模型的优点和缺点。
【答案】瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终 得到软件产品。开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
(1)优点
①可强迫开发人员采用规范的方法。
②严格地规定了每个阶段必须提交的文档。
③要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
④对文档的约束,使软件维护变得容易一些,且能降低软件预算。
(2)缺点
①开发过程一般不能逆转,否则代价太大。
②实际的项目开发很难严格按该模型进行。
③客户往往很难清楚地给出所有的需求。
④软件的实际情况必须到项目开发的后期客户才能看到。
7. 什么是数据流图,其作用是什么,有哪些基本符号以及各表示什么含义?
【答案】(1)数据流图的定义