UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法

上传人:飞*** 文档编号:51336686 上传时间:2018-08-13 格式:PPT 页数:133 大小:2.10MB
返回 下载 相关 举报
UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法_第1页
第1页 / 共133页
UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法_第2页
第2页 / 共133页
UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法_第3页
第3页 / 共133页
UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法_第4页
第4页 / 共133页
UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法_第5页
第5页 / 共133页
点击查看更多>>
资源描述

《UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法》由会员分享,可在线阅读,更多相关《UML系统建模及系统分析与设计 王欣 第1章 面向对象软件开发方法(133页珍藏版)》请在金锄头文库上搜索。

1、UML系统建模及系统分析与设计王欣 张毅 编著中国水利水电出版社在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:http:/第第1 1章章 面向对象软件开发面向对象软件开发 方法方法教学目的教学目的 了解软件的发展和软件工程的概念。 了解软件开发的常用方法。 重点掌握面向对象技术的基本概念和开发过程。 了解几种典型的面向对象开发方法。 了解可行性研究方法。 掌握可行性分析报告的书写格式。1.11.1软件发展与软件工程软件发展与软件工程v软件是一种特别的产品,随着其规模和复杂性的进步及应用领域的扩大,逐渐形成了工程。v软件(s

2、oftware)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。1.1软件发展与软件工程v软件工程(Software Engineering,简称为 SE)是针对软件这一具有特殊性质的产品的工程化 方法。 v软件工程涵盖了软件生存周期的所有阶段,并提 供了一整套工程化的方法来指导软件人员的开发工 作。1.1.1 软件的发展与特征1. 软件的发展阶段 软件发展的历史可以大致分为如下的四个阶段: 第一个阶段(20世纪50年代到60年代)是程序设计阶 段,基本是个体手工劳动的生产方式。20世纪50年代 ,

3、软件伴随着第一台电子计算机的问世诞生了。以写软 件为职业的人也开始出现,他们多是经过训练的数学家 和电子工程师。 20世纪60年代美国大学开始有计算机专业,专门教人 们写软件。 早期的软件开发也没有什么系统的方法可以遵循,软件 设计是在某个人的头脑中完成的一个隐藏的过程。1.1.1 软件的发展与特征1. 软件的发展阶段第一个阶段严格来说这个时期尚无软件的概念,基本上 只有程序、程序设计概念,不重视程序设计方法。软件主要是用于科学计算,规模很小,采用简单的工具 (基本上采用低级语言),硬件的存储容量小,运行可 靠性差。20世纪中期,盘算机从军用领域转向民用领域应用, 那时编写程序的工作被视为艺术

4、家的创作。第一阶段的主要特征是: 程序设计只是一个隐含在开发者头脑中的过程 ,程序设计的结果,除了程序流程图和源程序清单 可以留下来之外没有任何其他形式的文档资料保留 下来。 此时只有程序的概念,没有软件的概念。 主要采用汇编语言,甚至是机器语言,以解决计 算机内存容量不够和运算速度太低的矛盾。由于过 分追求编程技巧,程序设计被视为某个人的神秘技 巧,程序除作者本人外,其他人很难读懂。1. 软件的发展阶段v第二阶段(20世纪60年代到70年代)是软件设计阶段,采取小组合作生产方式。v这一时期盘算机的利用领域得到进一步扩大,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在

5、质量、效率等方面对软件的需求。v人们为摆脱汇编语言和机器语言编程的困难,相继研制出了一批高级程序设计语言,大大加速了计算机应用普及的步伐,各种类型的应用程序相继出现。1. 软件的发展阶段v第二阶段软件开始作为一种产品被广泛使用,出 现了“软件作坊”。“v这个阶段的开发成本令人吃惊地高,而失败的软 件开发项目却屡见不鲜。最为突出的例子是美国 IBM公司于1963年1966年开发的IBM360系 列机的操作系统。IBM360操作系统的历史教训已 成为软件开发项目中的典型事例被记入历史史册。“ 软件危机”就这样开始了。“软件危机”v“软件危机”使得人们开始对软件及其特性进行更 深一步的研究,人们改变

6、了早期对软件的不正确看 法。早期那些被认为是优秀的程序常常很难被别人 看懂,通篇充满了程序技巧。 v为解决这个问题,1968年秋季NATO(北大西 洋公约组织)的科技委员会召集了近50名一流的编 程人员、计算机科学家和工业界巨头讨论并制定摆 脱“软件危机”的对策。在联邦德国召开的这次国际 学术会议上第一次提出了“软件危机”(software crisis)。“软件危机”软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:一是如何开发软件,以满足日益增长,日趋复杂的需求;二是如何维护数量不断膨胀的软件产品。第二阶段阶段的主要特征 由于程序的规模增

7、大,程序设计已不可能由个 人独立完成,而需要多人分工协作。软件的开发方 式由“个体生产”发展到“小组软件作坊”。 程序的运行、维护也不再由一个人来承担,而是 由开发小组承担。 程序已不再是计算机硬件的附属成份,而是计算 机系统中与硬件相互依存、共同发挥作用的不可缺 少的部分。在计算机系统的开发过程中,起主导作 用的已经不仅仅是硬件工程师,同时也包括软件工 程师。1. 软件的发展阶段第三个阶段(20世纪70年代到90年代)采用工程 化的生产方式,是传统软件工程阶段。微处理器的出现与应用使个人计算机发展迅速,这 个阶段的硬件向超高速、大容量、微型化以及网络 化方向发展。软件系统的规模、复杂性增强,

8、促进了软件开发过 程管理及工程化。这个时期还包括开发、使用和维护过程所需的文档 。软件开发范围从需求定义、分析、设计、编码、 测试、使用到维护等整个软件生命周期。第三阶段的主要特征 软件产业已经兴起,“软件作坊”已经发展为软 件公司,甚至是跨国公司。 软件开发的成功率大大提高,软件的质量也有了 很大的保证。软件已经产品化、系列化、标准化、 工程化。 软件工程并发环境及其相应的集成工具大量涌现 ,软件开发技术中的度量问题受到重视1. 软件的发展阶段v 第四阶段(20世纪90年代至今)是现代软件工程阶段。v 数据库、开发工具、开发环境、网络、分布式、面向对象 技术等工具方法都得到应用。v Inte

9、rnet技术的迅速发展使得软件系统从封闭走向开放 ,Web应用成为人们在Internet上最主要的应用模式,异 构环境下分布式软件的开发成为一种主流需求,软件复用和 构件技术成为技术热点。第四阶段的主要特征:v 面向对象技术广泛使用。 v 软件开发技术逐渐成熟。 v这个时代的主流应用技术采用面向对象技术、软 件复用技术(设计模式、软件框架、软件体系结构 等)、构件设计技术、分布式计算技术、软件过程 管理技术等。2. 软件的特征v 软件同传统的工业产品相比,有其独特的特性。 v 软件是一种逻辑实体,具有抽象性。 v 软件没有明显的制造过程。 v 软件在使用过程中,没有磨损、老化的问题。当修改 的

10、成本变得难以接受时,软件就被抛弃。 v 软件对硬件和环境有着不同程度的依赖性,这就导致 了软件移植的问题。2. 软件的特征v 软件的开发至今尚未完全摆脱手工作坊式的开发方式 ,生产效率低。 v 软件是复杂的,而且以后会更加复杂。 v 软件的成本相当昂贵。软件开发需要投入大量的、高 强度的脑力劳动,成本非常高,风险也大。现在软件的开销 已大大超过了硬件的开销。 v 软件工作牵涉到很多社会因素。人的因素,常常成为 软件开发的困难所在,直接影响到项目的成败。1.1.2 软件工程v 软件工程的方法就是基于软件危机的问题提出来的。v 大型的、复杂的软件系统开发是一项工程,必须按工程学 的方法组织软件的生

11、产和管理,必须经过系统的分析、设计 、实现、测试和维护等一系列的软件生命周期阶段。这一认 识促使了软件工程学的诞生。1. 软件工程的概念与知识体系v软件工程是一门研究如何用系统化、规范化、数 量化等工程原则和方法去进行软件的开发和维护的 学科。软件工程包括两方面内容:软件开发技术和 软件项目管理。 v软件开发技术包括软件开发方法学、软件工具和 软件工程环境。软件项目管理包括软件度量、项目 估算、进度控制、人员组织、配置管理、项目计划 等。软件工程的三要素是方法、工具和过程。软件工程应该包括的知识vIEEE的软件工程实施体系指南SEWBOK( Guide to the Software Engi

12、neering Body of Knowledge 2004Version)界定了软件工 程的10个知识领域(KAs:Knowledge Areas ),即软件需求、软件设计、软件构建、软件测试 、软件维护、软件配置管理、软件工程管理、软件 工程过程、软件工程工具和方法及软件质量。软件工程知识体系指南(2004)知识域知识域内容内容软件需求软件需求软件需求基础、需求过程、需求获取软件需求基础、需求过程、需求获取 、需求分析、需求规格说明、需求、需求分析、需求规格说明、需求 确认和实践考虑确认和实践考虑 软件设计软件设计软件设计基础、软件设计关键问题、软件设计基础、软件设计关键问题、 软件结构与

13、体系结构、软件设计质软件结构与体系结构、软件设计质 量的分析与评价、软件设计符号、量的分析与评价、软件设计符号、 软件设计的策略与方法软件设计的策略与方法 软件构造软件构造软件构造基础、管理构造、实际考虑软件构造基础、管理构造、实际考虑软件测试软件测试软件测试基础和测试级别、测试技术软件测试基础和测试级别、测试技术 、与测试相关的度量、测试过程、与测试相关的度量、测试过程软件工程知识体系指南(2004)知识域知识域内容内容软件维护软件维护软件维护基础、软件维护的关键问题、维护过程、维护技软件维护基础、软件维护的关键问题、维护过程、维护技 术术软件配置管理软件配置管理软件配置管理过程管理、软件配

14、置标志、软件配置控制、软件配置管理过程管理、软件配置标志、软件配置控制、 软件配置状态统计、软件配置审核、软件发行管理和交软件配置状态统计、软件配置审核、软件发行管理和交 付付软件工程管理软件工程管理启动和范围定义、软件项目计划、软件项目实施、评审与启动和范围定义、软件项目计划、软件项目实施、评审与 评价、关闭、软件工程度量评价、关闭、软件工程度量软件工程过程软件工程过程过程实施与改变、过程定义、过程评定、过程和产品度量过程实施与改变、过程定义、过程评定、过程和产品度量软件工程工具和方软件工程工具和方 法法软件工程工具、软件工程方法软件工程工具、软件工程方法软件质量软件质量软件质量基础、软件质

15、量过程、实践考虑软件质量基础、软件质量过程、实践考虑相关学科相关学科计算机工程、计算机科学、管理、数学、项目管理、质量计算机工程、计算机科学、管理、数学、项目管理、质量 管理、软件人类工程学和系统工程管理、软件人类工程学和系统工程2. 软件工程的框架v软件工程的框架由软件工程目标、软件工程活动 和软件工程原则三个方面的内容构成。开发范型开发范型设计方法设计方法支持过程支持过程管理过程管理过程需需求求设设计计实实现现确确认认支支持持可用性可用性正确性正确性合算性合算性软件工程活软件工程活 动维动维软件工程目软件工程目 标维标维软件工程软件工程 原则维原则维图图1. 1. 软件工程框架软件工程框架

16、软件工程的目标v是开发与生产出具有良好的软件质量和费用合算 的产品,即生产具有正确性、可用性以及合算的软 件产品。 v正确性是指软件产品达到预期功能的程度。 v可用性是指软件基本结构、实现及文档为用户可 用的程度。费用合算是指软件开发运行的整个开销 能满足用户要求的程度。 v软件质量是指该软件能满足明确的和隐含的需求 能力有关特征和特性的总和。软件工程活动v包括需求、设计、实现、确认和支持。 v需求包括问题分析和需求分析。 问题分析包括需求获取和定义,又称软件需求规 约。 需求分析包括生成软件功能规约。 v设计包括概要设计和详细设计。 v实现就是把设计结果转换为可执行的程序代 码。 v确认贯穿整个开发过程,对完成的结果进行 确认,保证产品满足用户的要求。 v支持是修改和完善活动。软件工程的原则v 选取适宜开发范型。该原则与系统设计有关 ,在系统设计中,软件需求、硬件需求以及其他因 素之间是相

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号