软件工程习题-答案
- 格式:doc
- 大小:22.00 KB
- 文档页数:11
第 1 页 共 11 页 软件工程习题-答案
该习题答案由学生完成,仅供参考。象声词同学们能独立完成习题!
《软件工程》习题
第一章习题
1、计算机软件系统4个不同的发展阶段是:程序设计、程序系统、软件工程、面向对象阶段 。 2、软件危机发生在那个阶段?主要指哪两方面的问题?
程序系统阶段
原因:1、如何开发软件,以满足对软件日益增长的需求。2、如何维护数量不断膨胀的已有软件。
3、软件危机有几方面的典型表现?
○1、对软件开发成本和进度的估计常常很不准确
○2、用户对“已完成的”的软件系统不满意的现象经常发生
○3、软件产品的质量往往靠不住 ○4、软件常常是不可维护的
○5、软件通常没有适当的文档资料
○6、软件成本在计算机系统总成本中所占的比例逐年上升
○7、软件开发效率提高的速度,远远跟不上计算机应用迅速普及及深入的趋势
4、软件危机产生的原因是 、 。
与软件本身的特点有关 、软件开发与维护的方法不准确有关 第 2 页 共 11 页 5、软件是 、 和
的完整集合。
程序、数据 、相关文档
6、如何解决软件危机?
○1、一个软件必须是由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合 程项目
○3、推广使用在实践中总结出来的开发软件的成功的技术和方法 ○4、应该开发和使用良好的开发软件工具
○5、总之,为了解决软件危机,既要有必要的技术措施又要有必要的组织管理措施
○2、要充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同合作、共同完成的工
7、软件工程的定义?(以教材定义为准)
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他,这就是软件工程。
8、软件工程的本质特征有 、 、 、 、 、
和 。
1 第 3 页 共 11 页 关注大型程序的构造、中心课题是控制复杂性、软件经常变化、开发软件的效率非常重要、和谐地合作是开发软件的关键、软件必须有效地支持它的用户和由具有一种文化背景的人替另一种文化背景的人创造产品
9、软件工程的基本原理有 、 、 、 、 、
和 。
用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查 、开发小组的人员应该少而精和承认不断改进软件工程实践的必要性。
10、软件工程学的三个基本要素是 、 、 。
方法 、工具 、过程
11、软件工程学分为传统方法学和面向对象的方法学两大类。前者强调 ,而后者强
调 。
自顶向下顺序的完成软件开发的各阶段任务、多次反复迭代的演化过程
12、软件工程学中的面向对象的方法学有四个基本要点。它们是 对象 、 类 、 系统 、 消
息。 第 4 页 共 11 页 把对象作为融合了数据及数据上的操作行为的统一软件构件 、把所有对象都划分成类、按照父类与子类的关系把若关干个相关类组成一个层次结构的系统、对象彼此间仅能发送消息互相联系。
13、什么是软件生命周期?
软件从生产到软件报废的过程
14、软件生命周期划分为几个时期几个阶段?各阶段主要任务是什么?
软件定义、软件开发、软件为维护3个时期组成。 软件定义:问题定义,可行性研究,需求分析;
软件开发阶段:总体设计,详细设计、编码和单元测试,综合测试; 软件维护:使软件持久地满足用户的需求
15、软件生命周期中的软件维护分为几大类?哪类维护所占比重最大?
改正性维护,适应性维护,完善性维护,预防性维护 完善性维护占比重最大
16、什么是软件过程?其任务集合主包括哪些内容?
软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。包括一组软件工程任务、里程碑和应该交付的产品。
17、瀑布模型、快速原型模型、增量模型、螺旋模型和喷泉模型格有什么特点和优缺点? 第 5 页 共 11 页 1、瀑布模型:
特点:
○1、阶段间具有顺序性和依赖性 ○2、推迟实现的观点
○3、质量保证的观点
优点:
2
可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交文档;要求每个阶段的交出的所有产品必须经过质量保证小组的仔细验证
缺点:
瀑布模型是由文档驱动的是瀑布模型的主要缺点
2、快速还原模型:
特点:快速还原模型是快速建立起来的可直接在计算机上运行的程序,他所能完成的功能是最终产品的一个子集
优点:软件产品的开发基本上是线性顺序进行的 缺点:一旦需求确定了需求,原来的需求将被抛弃
3、增量模型:
优点:
逐步增加产品功能可以使用户有比较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲突
缺点: 第 6 页 共 11 页 ○1、把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发出来的
产品。
○2、必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过
程必须简单,方便,也就是说,软件体系结构必须是开放的
○3、从某种意义上来说,增量模型是自相矛盾的
4、螺旋模型
优点 :
○1、对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开
发的一个项目指标;
○2、减少过多测试或测试不足所带来的风险
○3、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间的并没有什么区别
5、喷泉模型
喷泉模型体现了面向对象软件开发过程迭代和无缝的特性
18、为什么说喷泉模型较好地体现了面向对象软件开发过程中的无缝和迭代特征?
喷泉模型图中的代表不同阶段的圆圈相互重叠,这明确表示两个活动之间的交叠;而面向对象方法在这种概念和表示方法上的一致性,保证了各项开发活动之间的无缝过度。 第 7 页 共 11 页 第二章习题
1、可行性研究的目的是什么?可行性研究的内容是什么?
确定问题是否值得去解决
3
技术、经济、操作、法律等的可行性
2、可行性研究中对问题的解法可行性包括主要和次要方面。两者分别包含 、 、 可行性和 、
可行性几个方面。
技术可行性、经济可行性、操作可行性 法律可行性 、社会效益
3、可行性研究过程主要有 、 、 、 、 、 、
和 几个步骤。
复查系统规模和目标 、研究目前正在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、 导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写文档提交审查几个步骤。
4、可行性研究过程中的第三步“导出新系统的高层次逻辑模型”涉及到 、 、 、 几种模型。
现有的物理系统、现有的逻辑模型、目标系统的逻辑模型、新的物理系统模型 第 8 页 共 11 页 5、可行性研究过程中的第五步中如何排定问题解法三种可行性的顺序?
技术可行性?操作可行性?经济可行性
6、系统流程图是描绘 的传统工具。它用 符号以 形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间 情况,而不是对
数据进行 的控制过程。
物理系统、图形、黑盒子、流动、加工处理 7、系统流程图与程序流程图的异同?
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的过程; 而程序流程图是指程序指令控制流的流动(即算法描述)
8、系统流程图包含 和 两大类图形符号。其名称和符号分别是什么?
基本符号、系统符号 P39
9、在面对复杂的系统中,比较好的方法是采用什么策略来描述?
分层次地描绘这个系统
10、数据流图是一种 技术,它描绘 和 从输入移动到输出的过程中所经受的 。在数据流图中没有任何具第 9 页 共 11 页 体的 ,它只是描绘数据在软件中流动和被处理的 。
图形化、信息流、数据、变换、物理部件、逻辑过程
11、数据流图的4种基本符号为 、 、 、 。附加符号有 、
和 。分别代表什么含义?
正方形、圆角矩形、开口矩形、箭头 星号、加号、○+(带圈加号)
正方形表示数据的源点或终点;圆角矩形代表变换数据的处理;开口矩形代表数据存储;箭头代表数据流;
4
星号表示数据流之间是“与”关系;加号表示“或”关系;○+号表示只能从中选一个。
12、画数据流图的步骤为(1)从问题描述中提取数据流图的4种成分(2)
(3)
(4)
。
(1)从问题描述中提取数据流图的4种成分(2)画功能级数据流图
(3) 第 10 页 共 11 页 对功能级数据流图中描绘的系统主要功能进一步细化(功能级分解)(4)
对处理进行编号 。
13、为数据流或数据存储命名要注意哪些?为处理命名要注意哪些内容?
为数据流命名:
1、名字应代表整个数据流的内容,而不是仅仅反映它的某些成分; 2、不要使用空洞的、缺乏具体含义的名字;
3、如果在为某个数据流起名时遇到困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。 为处理命名:
1、通常先为数据流命名,然后再为与之相关的处理命名;
2、名字应该反映整个处理的功能,而不是他的一部分功能; 3、名字最好有一个工具的及物动词加上一个具体的宾语组成;
4、通常名字中仅包含一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当;
5、如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的现象,应考虑重新分解。
14、数据流图的作用有(1)
(2) 。
作为交流信息的工具、作为分析和设计的工具 第 11 页 共 11 页 15、 和 共同构成了系统的逻辑模型。
数据流图 、数据字典
16、数据字典是关于 的集合,也就是对数据流图中包含的 定义的集合。涉及到的元素有 、 、 、 四类。