软件工程的前景.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安西安交通大学 刘海岩安交 6
2、软件工程过程 软件工程的前20多年是“线性思维”的时代。如今待 解决问题的复杂性、多样性、多变性改变了软件开发过 程。演化过程模型强调了对增量式工作产品、风险分析、 计划修订以及用户反馈的需要。CMM给出了进行软件工 程实践时必需具备的过程域属性。对象技术结合基于构 件的软件工程对软件开发生产率和产品质量产生深远影 响。原型实现强调了用户参与,导致了更高的用户满意 度。 基于Web应用的快速增长正在改变软件工程过程及 其参与者。Web应用的即时性、安全性、美学成为主导 性考虑。一个Web工程小组融合了技术专家和内容专家 (艺术家、音乐家等)为大量且不可预测的用户群建造 信息源。Web应用开发的特殊性扩展了软件工程过程中 的有关活动。
西安西安交通大学 刘海岩安交 7
3、表示信息的模式 过去,开发的应用软件大多用于数据处理。当今数 据处理逐步让位于“信息技术”,并在某些应用中出现 了“知识” 这个术语。 数据:未加工的信息,即记录下来的事实。 信息:通过将事实与给定的语境相关联而导出。 知识:将多个语境中得到的信息相关联。 软件的未来之路正走向处理知识的系统。已经处理 数据近50年,抽取信息近30年,软件工程面临的挑战之 一就是建造基于知识的系统。
西安西安交通大学 刘海岩安交
8
4、基本的计算技术 建造和使用软件的人员、应用的软件工程过程以 及处理的信息均受到硬件和软件技术方面的进展的影 响。硬件技术提供了计算的潜能,软件开发者根据用 户需求努力创建发挥该潜能的软件。硬件技术可能会 沿着两条并行的路径发展: (1)继续发展,提供更大的能力。 (2)非传统的硬件体系结构(如大规模并行机、光处 理器、神经网络机)的发展可能会导致建造软件种类 上的根本性变化以及软件工程方法的变化。 软件技术驱动着软件工程的未来,软件生产逐步 走向构件化、标准化、工业化。软件工程会不断发生 变化,但有效的分析、设计、测试等活动总是在软件 开发中占据自己的位置。
西安西安交通大学 刘海岩安交
4
7、度量:在软件工程的许多活动中都涉及到度量,过程 度量、项目度量、软件质量度量。在生产率度量中,除 了代码规模之外,还应该用各种不同的特性来度量;在 产品质量度量中,除了错误和缺陷之外,还应包括用户 满意度、需求等因素。度量数据对管理软件项目、改进 软件过程有重要意义。 8、软件工具和开发环境:工具和环境能增强软件开发的 能力,帮助我们更好的管理项目、自动完成一些任务、 更快地找到和排除软件中的错误从而更有效的保证质量。 目前的商品化工具注重了设计和测试阶段。支持分析、 度量、管理、复用等方面的工具和环境还需进一步研究 与开发。
西安西安交通大学 刘海岩安交
5
11.2 未来之路
Roger S.Pressman对未来几年影响软件工程的有关 软件技术的变化范围进行了以下探讨: 软件工程的变化将受到来自以下四方面的影响: 1、人以及他们构造系统的方式 “人”指建造和使用软件的人。经验表明,当一 个项目组的人数增加时,并不能提高整体的软件生产 率,为什么?个体间和项目组间低效的通信造成。软 件开发离不开交流,网络改变了开发人员相互间通信 的方式,充分利用电子邮件、公告牌、视频会议等交 流手段。另外使用智能代理(agent)能改变开发人员 的工作模式,提高他们的工作能力。知识获取的方式 也对开发人员的培训、提高、交流、协作以及由此而 产生的软件开发的整体文化有较大的甚至深层的改变。
西安西安交通大学 刘海岩安交 10
西安西安交通大学 刘海岩安交
2
1、抽象:认识问题与解决问题抓住关键因素,避免过早 的陷入细节。使用抽象可以发现模式,便于总结经验和 复用。 2、分析与设计的方法和表示法:使用通用的分析与设计 方法和表示法不仅帮助建立系统模型,还有利于交流、 验证和复用。 3、用户接口原型化:随着软件逐渐进入我们生活的许多 关键领域,用户的角色变得越来越重要。通过把注意力 集中在用户需求和商业需求上,可以构建更有针对性、 更有效的产品。 4、软件体系结构:不同的体系结构反应对同一个问题的 不同解决方案,根据解决方案的特性选择合适的体系结 构。体系结构模式的确定还处于初始阶段,还需扩展研 究范围,以获得对模式、构件和风格含义的更好理解。
西安西安交通大学 刘海岩安交
3
5、软件过程:随着软件过程可见度和受控程度的提高,会 不断影响软件的质量,如何影响是研究的一个主题。软 件开发是一门科学也是一门艺术,它是创造与组合(不 是制造)。必须了解怎样在不丧失创造性和灵活性的前 提下,用软件过程来提高产品质量。CMM描述了有效的 软件过程的框架,能提高软件机构的软件开发能力,满 足成本、进度、功能及质量的要求。 6、复用:不再是仅仅复用程序中的代码,复用构件、复用 模式、复用框架、复用已有的经验和产品,软件开发和 维护过程都可以寻找复用机会。软件开发构件化就是在 复用的基础上提出来的软件开发技术,在一定的标准规范 下复用构件,大大提高软件生产的效率和质量。
第11章 软件工程的前景
取得的进展 未来之路 复习重点
西安西安交通Hale Waihona Puke Baidu学 刘海岩安交
1
1.1 取得的进展
软件工程随着计算机技术的发展而发展。最初的研 究重点是提高程序员的工作效率,开发了很多编程和调 试工具,随后又增加了文件管理、版本管理、软件配置 管理等功能,逐步形成CASE。 与此同时,开发方法和开发过程的研究也取得了很 多成果。瀑布模型的出现把其它行业中实施工程项目的 做法搬到软件行业中来。为了支持用户对需求的变化以 及解决大型软件的质量控制等问题,对传统的开发模型 进行了变形与扩展,形成了很多增量与演化的开发模型。 开发方法和技术的发展表现在以面向过程为主流的开发 方法发展为面向对象的开发方法。 Wasserman对软件工程走向成熟作了以下归纳:
西安西安交通大学 刘海岩安交
9
复习重点
1、软件工程研究的内容,各种软件开发模型的特点。 2、软件度量的意义及方法,软件项目估算,软件质量保证, 软件配置管理技术。 3、需求获取和需求分析的主要活动,OO的需求获取和分析 的不同点。 4、软件设计的活动,体系结构风格,界面设计。 5、设计的有关指导原则及OO对其的扩充。 6、软件测试的方法,测试用例的设计,测试策略,软件的 可靠性。 7、软件维护的活动,软件的可维护性。 8、面向对象的分析活动与分析模型。 9、面向对象的设计活动,设计模式。 10、面向对象测试的特点,测试策略及用例设计与传统的区 别。
2、软件工程过程 软件工程的前20多年是“线性思维”的时代。如今待 解决问题的复杂性、多样性、多变性改变了软件开发过 程。演化过程模型强调了对增量式工作产品、风险分析、 计划修订以及用户反馈的需要。CMM给出了进行软件工 程实践时必需具备的过程域属性。对象技术结合基于构 件的软件工程对软件开发生产率和产品质量产生深远影 响。原型实现强调了用户参与,导致了更高的用户满意 度。 基于Web应用的快速增长正在改变软件工程过程及 其参与者。Web应用的即时性、安全性、美学成为主导 性考虑。一个Web工程小组融合了技术专家和内容专家 (艺术家、音乐家等)为大量且不可预测的用户群建造 信息源。Web应用开发的特殊性扩展了软件工程过程中 的有关活动。
西安西安交通大学 刘海岩安交 7
3、表示信息的模式 过去,开发的应用软件大多用于数据处理。当今数 据处理逐步让位于“信息技术”,并在某些应用中出现 了“知识” 这个术语。 数据:未加工的信息,即记录下来的事实。 信息:通过将事实与给定的语境相关联而导出。 知识:将多个语境中得到的信息相关联。 软件的未来之路正走向处理知识的系统。已经处理 数据近50年,抽取信息近30年,软件工程面临的挑战之 一就是建造基于知识的系统。
西安西安交通大学 刘海岩安交
8
4、基本的计算技术 建造和使用软件的人员、应用的软件工程过程以 及处理的信息均受到硬件和软件技术方面的进展的影 响。硬件技术提供了计算的潜能,软件开发者根据用 户需求努力创建发挥该潜能的软件。硬件技术可能会 沿着两条并行的路径发展: (1)继续发展,提供更大的能力。 (2)非传统的硬件体系结构(如大规模并行机、光处 理器、神经网络机)的发展可能会导致建造软件种类 上的根本性变化以及软件工程方法的变化。 软件技术驱动着软件工程的未来,软件生产逐步 走向构件化、标准化、工业化。软件工程会不断发生 变化,但有效的分析、设计、测试等活动总是在软件 开发中占据自己的位置。
西安西安交通大学 刘海岩安交
4
7、度量:在软件工程的许多活动中都涉及到度量,过程 度量、项目度量、软件质量度量。在生产率度量中,除 了代码规模之外,还应该用各种不同的特性来度量;在 产品质量度量中,除了错误和缺陷之外,还应包括用户 满意度、需求等因素。度量数据对管理软件项目、改进 软件过程有重要意义。 8、软件工具和开发环境:工具和环境能增强软件开发的 能力,帮助我们更好的管理项目、自动完成一些任务、 更快地找到和排除软件中的错误从而更有效的保证质量。 目前的商品化工具注重了设计和测试阶段。支持分析、 度量、管理、复用等方面的工具和环境还需进一步研究 与开发。
西安西安交通大学 刘海岩安交
5
11.2 未来之路
Roger S.Pressman对未来几年影响软件工程的有关 软件技术的变化范围进行了以下探讨: 软件工程的变化将受到来自以下四方面的影响: 1、人以及他们构造系统的方式 “人”指建造和使用软件的人。经验表明,当一 个项目组的人数增加时,并不能提高整体的软件生产 率,为什么?个体间和项目组间低效的通信造成。软 件开发离不开交流,网络改变了开发人员相互间通信 的方式,充分利用电子邮件、公告牌、视频会议等交 流手段。另外使用智能代理(agent)能改变开发人员 的工作模式,提高他们的工作能力。知识获取的方式 也对开发人员的培训、提高、交流、协作以及由此而 产生的软件开发的整体文化有较大的甚至深层的改变。
西安西安交通大学 刘海岩安交 10
西安西安交通大学 刘海岩安交
2
1、抽象:认识问题与解决问题抓住关键因素,避免过早 的陷入细节。使用抽象可以发现模式,便于总结经验和 复用。 2、分析与设计的方法和表示法:使用通用的分析与设计 方法和表示法不仅帮助建立系统模型,还有利于交流、 验证和复用。 3、用户接口原型化:随着软件逐渐进入我们生活的许多 关键领域,用户的角色变得越来越重要。通过把注意力 集中在用户需求和商业需求上,可以构建更有针对性、 更有效的产品。 4、软件体系结构:不同的体系结构反应对同一个问题的 不同解决方案,根据解决方案的特性选择合适的体系结 构。体系结构模式的确定还处于初始阶段,还需扩展研 究范围,以获得对模式、构件和风格含义的更好理解。
西安西安交通大学 刘海岩安交
3
5、软件过程:随着软件过程可见度和受控程度的提高,会 不断影响软件的质量,如何影响是研究的一个主题。软 件开发是一门科学也是一门艺术,它是创造与组合(不 是制造)。必须了解怎样在不丧失创造性和灵活性的前 提下,用软件过程来提高产品质量。CMM描述了有效的 软件过程的框架,能提高软件机构的软件开发能力,满 足成本、进度、功能及质量的要求。 6、复用:不再是仅仅复用程序中的代码,复用构件、复用 模式、复用框架、复用已有的经验和产品,软件开发和 维护过程都可以寻找复用机会。软件开发构件化就是在 复用的基础上提出来的软件开发技术,在一定的标准规范 下复用构件,大大提高软件生产的效率和质量。
第11章 软件工程的前景
取得的进展 未来之路 复习重点
西安西安交通Hale Waihona Puke Baidu学 刘海岩安交
1
1.1 取得的进展
软件工程随着计算机技术的发展而发展。最初的研 究重点是提高程序员的工作效率,开发了很多编程和调 试工具,随后又增加了文件管理、版本管理、软件配置 管理等功能,逐步形成CASE。 与此同时,开发方法和开发过程的研究也取得了很 多成果。瀑布模型的出现把其它行业中实施工程项目的 做法搬到软件行业中来。为了支持用户对需求的变化以 及解决大型软件的质量控制等问题,对传统的开发模型 进行了变形与扩展,形成了很多增量与演化的开发模型。 开发方法和技术的发展表现在以面向过程为主流的开发 方法发展为面向对象的开发方法。 Wasserman对软件工程走向成熟作了以下归纳:
西安西安交通大学 刘海岩安交
9
复习重点
1、软件工程研究的内容,各种软件开发模型的特点。 2、软件度量的意义及方法,软件项目估算,软件质量保证, 软件配置管理技术。 3、需求获取和需求分析的主要活动,OO的需求获取和分析 的不同点。 4、软件设计的活动,体系结构风格,界面设计。 5、设计的有关指导原则及OO对其的扩充。 6、软件测试的方法,测试用例的设计,测试策略,软件的 可靠性。 7、软件维护的活动,软件的可维护性。 8、面向对象的分析活动与分析模型。 9、面向对象的设计活动,设计模式。 10、面向对象测试的特点,测试策略及用例设计与传统的区 别。