软件工程第1章
- 格式:ppt
- 大小:561.00 KB
- 文档页数:114


第1章 习题与思考题参考答案
1 第1章 软件与软件工程的概念
1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。”这种观点是否正确?为什么?
认为“软件就是程序,软件开发就是编程序。”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?
可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:
(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因: 除了软件本身的特点,其原因主要有以下几个方面:
(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。 第1章 习题与思考题参考答案
《软件工程》第 1 页 共 14 页 《软件工程》综合复习资料
第一章 软件工程概述
一、选择题
1、瀑布模型本质上是一种( )。
A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型
2、计算机辅助软件工程,简称( )。
A、SA B、SD C、SC D、CASE
3、以下判断正确的是( )。
A、所谓软件开发就是编写程序。
B、利用软件工程的思想,已成功的解决了软件危机。
C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。
D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。
4、_____是以提高软件质量为目的的技术活动。
A.技术创新
B.测试
C.技术创造
D.技术评审
5、瀑布模型的存在问题是( )。
A.用户容易参与开发
B.缺乏灵活性
C.用户与开发者易沟通
D.适用可变需求
6、软件生命周期中所花费用最多的阶段是( )。
A.详细设计
B.软件编码
C.软件测试
D.软件维护
7、计算机系统就是( )
A.主机,显示器,硬盘,软驱,打印机等。
B.CPU,存储器,控制器,I/O接口及设备。
C.计算机硬件系统和软件系统。
D.计算机及其应用系统。
8、产生软件危机的原因主要与两个方面的问题有关:
A.软件在计算机中很难识别,存在磁盘中也看不到。
B.软件设计对人的智商要求很高,也要求很高的资金投入。
C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D.软件很难理解,硬件也很复杂。
9、软件开发瀑布模型中的软件定义时期各个阶段依次是( )
A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
C.可行性研究,需求分析,问题定义。 《软件工程》第 2 页 共 14 页 D.以上顺序都不对。
第 1 页 共 8 页 第一章 软件工程学概述
第一节 软件危机
1. 为了消除软件危机,20世纪60年代后期形成了新学科:计算机软件工程学。
2. 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(这些问题不是不能运行的软件才仅仅具有的,几乎所有的软件都不同程度存在这些问题。)
3. 软件危机包含两个方面的问题:
1. 如何开发软件,以满足对软件日益增长的需求。
2. 如何维护数量不断膨胀的已有软件。
4. 产生软件危机的原因 (page4—图1.1)
1. 一方面与软件本身的特点有关
2. 另一方面也和软件开发与维护的方法不正确有关。
5. 软件不同于一般程序,它的一个显著特点是:“规模庞大”。
6.
软件开发流程:
1. 问题定义: (确定要求解决的问题是什么)
2. 可行性研究: (决定该问题是否存在一个可行的解决办法)
3. 需求分析: (深入具体的了解用户需求)
进入开发时期:
对软件设计 概要设计
详细设计
编写程序(全部工作量10%—20%)
测试
交付使用
7. 软件产品的配置:
包括: 程序、文档、数据
8. 软件危机的一些典型表现:
1. 对软件开发成本和进度的估计常常不准确
2. 用户对“已完成的”软件系统不满意的现象经常发生
3. 软件产品的质量往往靠不住
4. 软件常常是不可维护的
5. 软件通常没有适当的文档资料。
6. 软件成本在计算机系统总成本中所占的比例逐年上升。
7. 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
第 2 页 共 8 页
第二节 软件工程
1. 软件工程定义
软件工程是: 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;
软件⼯程复习资料
软件⼯程
第⼀章
⼀、什么是软件?
软件(Software)是计算机系统中与硬件相互依存的另⼀部分,它是包括程序(Program),数据(Data)及其相关⽂档(Document)的完整集合。
程序是按事先设计的功能和性能要求执⾏的指令序列
数据是使程序能正常操纵信息的数据结构
⽂档是与程序开发,维护和使⽤有关的图⽂材料
⼆、软件危机
原因:与软件本⾝的特点有关(难于维护, 逻辑复杂)
与软件开发与维护的⽅法不正确有关:
软件≠程序
急于求成=拔苗助长
各⾃为阵⽆⽅法/学
现象:1.成本⾼2.计算机软件和硬件费⽤⽐
3.软件质量得不到保证
4.由于软件质量问题导致失败的软件项⽬⾮常多
5.进度难以控制
6.维护⾮常困难
办法:软件⼯程(学)
三、软件⼯程
软件⼯程是应⽤计算机科学、数学及管理科学等原理开发软件的⼯程。它借鉴传统⼯程的原则、⽅法,以提⾼质量,降低成本为⽬的。开发、运⾏和维护软件的系统⽅法
四、软件⼯程三要素
软件⼯程⽅法学包含3个要素:⽅法、⼯具和过程。
五、软件⽣命周期
六、软件过程模型瀑布模型
瀑布模型适合于⽤户需求明确、完整、⽆重⼤变化的软件项⽬开发。瀑布模型的成功在很⼤程度上是由于它基本上是⼀种⽂档驱动的模型。“瀑布模型是由⽂档驱动的”这个事实也是它的⼀个主要缺点。
在项⽬开始的时候,⽤户常常难以清楚地给出所有需求;⽤户与开发⼈员对需求理解存在差异。
实际的项⽬很少按照顺序模型进⾏。
⽤户必须有耐⼼,等到系统开发完成。
缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是⾮常困难的,导致“阻塞状态”。反馈信息慢,开发周期长。
虽然存在不少缺陷,瀑布模型经常被嘲笑为“旧式的”,但是在需求被很好地理解的情况下,仍然是⼀种合理的⽅法。快速原型模型
增量模型
增量模型是迭代和演进的过程。增量模型把软件产品分解成⼀系列的增量构件,在增量开发迭代中逐步加⼊。
每个构件由多个相互作⽤的模块构成,并且能够完成特定的功能。