admin 管理员组文章数量: 894198
软件工程(速成)——第一章 软件与软件工程
一、软件危机
1.Software=Program+Data+Document
2.软件的特点:
(1)无形
(2)副本制作简单
(3)无磨损
3.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
4.软件危机的典型表现:
(1)对软件开发成本和进度的估计常常很不准确;
(2)用户对“已完成的”软件系统不满意的现象经常发生;
(3)软件产品的质量往往靠不住;
(4)软件常常是不可维护的;
(5)软件通常没有适合的文档资料;
(6)软件成本在计算机系统总成本中所占的比例逐年上升;
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
5.产生软件危机的原因:
一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
二、软件工程
1.中心思想:
把软件当作一种工业产品,要求采用工程化的原理与方法对软件进行计划、开发和维护。
2.目的:
实现按预期的进度和经费完成软件生产计划,提高软件的生产率和可靠性。
3.基本流程:
(1)首先进行系统调查和系统分析;
(2)再进行逻辑设计、物理设计;
(3)最后才编制实施;
(4)反复测试;
(5)试运行后,再投入长期运行;
(6)在运行中不断维护、完善。
三、软件生命周期
四、软件工程模型
1.瀑布模型:
(1)阶段具有顺序性和依赖性{①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输入文档正确,后一阶段的工作才能获得正确的结果}
(2)推迟实现的观点
(3)质量保证的观点{①每个阶段都必须完成规定的文档;②每个阶段结束前都要对所完成的文档进行评审}
瀑布模型基本上是一种文档驱动的模型
优点: 可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点: 用户只能通过文档了解产品,很可能导致最终开发出的软件产品不能真正满足用户的需要。
2.快速原型模型:
快速原型的本质是“快速”,快速原型模型是不带反馈环的
优点: 有助于保证用户的真实需要的得到满足;软件产品的开发基本上是线性顺序进行的。
缺点: 系统结构通常较差;用户可能混淆原型系统和最终系统。
3.增量模型:
增量模型也称为渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。
优点: 能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品。
难点: 软件体系结构必须是开放的;不同的构件可能无法集成到一体。
4.螺旋模型:
螺旋模型的基本思想是:使用原型及其他方法来尽量降低风险。
理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。适用于内部开发的大规模软件项目。
优点: (风险驱动)对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试和测试不足所带来的风险;维护和开发之间并没有本质区别。
缺点: 过多的迭代次数可能会增加成本,延迟提交时间。
5.喷泉模型:
“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。
喷泉模型适用于面向对象的软件开发
优点: 各个阶段没有明确的界限,开发人员可以同步开发;降低错误的可能性。
缺点: 需要大量的开发人员,不利于项目的管理;要求严格管理文档,审核难度大。
五、Rational统一过程(略)
练习题:
1.软件是一种( )。
A、程序
B、数据
C、逻辑产品
D、物理产品2.软件生存周期中花费最多的阶段是( )。
A、详细设计
B、软件编码
C、软件测试
D、软件维护3.软件开发方法是( )。
A、指导软件开发的一系列规则和约定
B、软件开发的步骤
C、软件开发的技术
D、软件开发的思想4.瀑布模型本质上是一种( )模型。
A、线性顺序
B、顺序迭代
C、线性迭代
D、能及早见到产品的5.在软件开发模型中,提出最早、应用最广泛的模型是( )。
A、瀑布模型
B、喷泉模型
C、快速原型模型
D、螺旋模型6.瀑布模型不适合用于( )的软件开发。
A、需求模糊不清
B、用户不能参与开发
C、用户对计算机不了解
D、开发人员对业务知识不熟悉7.软件工程的出现是由于( )。
A、软件危机的出现
B、计算机硬件技术的发展
C、软件社会化的需要
D、计算机软件技术的发展8.软件在运行和使用中也存在退化问题。()
9.软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。()
10.软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。()
11.原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。()
12.软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。()选择题答案:CDAAAAA
判断题答案:对错对对对
本文标签: 软件工程(速成)第一章 软件与软件工程
版权声明:本文标题:软件工程(速成)——第一章 软件与软件工程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1688192360h190268.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论