预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共67页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件工程如何学习这门课程第一章概述1.1软件1.软件的特点1.软件的特点(续)2.软件的发展效率和质量硬件产生软件危机的原因缓解危机的方法?软件工程的目标:在给定成本、进度的前提下,开发满足用户需求的并具有以下特性的软件产品。软件工程的目标4)可理解性(understandability),指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。5)可维护性(maintainability),是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的难易程度。由于软件的维护费用在整个软件生存周期中占主要的比重,因此,可维护性是软件工程中的一个十分重要的目标。软件的可理解性和可修改性支持软件的可维护性。6)可重用性(reusability),是指软部件可以在多种场合使用的程度。概念或功能相对独立的一个或一组相关模块可构成一个软部件。软部件应具有清晰的结构和注释、正确的编码和较高的时空效率。可将各种软部件按照某种规则放在软部件库中供开发人员选用。广义地讲,可重用性还应包括应用项目、规格说明、设计、概念和方法等等的重用。一般来说,重用的层次越高,带来的效益越大。可重用性有助于提高软件产品的质量和开发效率、降低软件开发和维护费用。7)可适应性(adaptability),是指软件在不同的系统约束条件下,使用户需求得到满足的难易程度。选择广为流行的软硬件支持环境、采用广为流行的程序设计语言编码、采用标准的术语和格式书写文档可增强软件产品的可适应性。8)可移植性(portability),是指软件从一个计算机系统或环境移植到另一个上去的难易程度。采用通用的运行支持环境和尽量通用的程序设计语言的标准部分可提高可移植性。而应将依赖于计算机系统的低级(物理)特征部分相对独立、集中起来。可移植性支持软件的可重用性和可适应性。9)可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件开发各阶段的文档和程序的完整性、一致性、可理解性支持软件的可追踪性。10)可互操作性(interoperability),是指多个软件元素相互通信并协同完成任务的能力。软件工程的原则:软件工程的原则软件工程的原则软件工程的原则软件工程的基本原理1)用分阶段的生存周期计划严格管理2)坚持进行阶段评审3)实行严格的产品控制4)采用现代程序设计技术5)结果应能清楚地审查6)开发小组的人员应少而精7)承认不断改进软件工程实践的必要性1.3软件生存周期软件生存周期各阶段划分1.软件定义1)可行性研究2)软件需求分析2.软件开发1)总体设计2)详细设计3)编码实现开发软件不仅仅是编程4)测试软件研制与软件测试的层次对应关系3.软件的使用与维护及退役1)维护1.4软件开发模型软件开发模型的几种类型:以软件需求完全确定为基础的瀑布模型;在开发初期仅给出基本需求的渐进式模型,如原型模型、螺旋模型、喷泉模型等;以形式化开发方法为基础的变换模型、基于四代技术的模型;基于知识的智能模型等等。在实际开发时,应根据项目的特点和现有的条件选取合适的模型,也可以把几种模型组合起来使用以便充分利用各模型的优点。1.瀑布模型(WaterfallModel)瀑布模型验收测试线性过程太理想化各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。2.快速原型模型(RapidPrototypeModel)2.原型模型示意图3.增量模型(IncrementalModel)4.螺旋模型(SpiralModel)螺旋模型沿着螺线旋转,在笛卡尔坐标的四个象限上分别表达了四个方面的活动:制定计划。确定软件目标,选定实施方案,弄清项目开发的限制条件。风险分析。分析所选方案,考虑如何识别和消除风险。实施工程。实施软件开发。客户评估。评价开发工作,提出修正建议。螺旋模型的优点螺旋模型的缺点和适应场合5.喷泉模型(FountainModel)维护6.智能模型(IntelligentModel)6.智能模型(IntelligentModel)7.变换模型(transformationalmodel)8.基于四代技术的模型1.5软件开发方法、工具及环境2.面向对象建模方法面向对象方法学出现于20世纪80年代中后期,并迅速成为20世纪90年代的主流开发方法。以客观世界中实体为基础,将客观实体的属性与操作封装成对象,对象之间通过传递消息互相联系,以模拟现实中不