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

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

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

1、UML系统建模及系统分析与设计,王欣 张毅 编著 中国水利水电出版社,第1章 面向对象软件开发方法,教学目的, 了解软件的发展和软件工程的概念。 了解软件开发的常用方法。 重点掌握面向对象技术的基本概念和开发过程。 了解几种典型的面向对象开发方法。 了解可行性研究方法。 掌握可行性分析报告的书写格式。,1.1软件发展与软件工程,软件是一种特别的产品,随着其规模和复杂性的进步及应用领域的扩大,逐渐形成了工程。 软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。,1.1软件发展与软

2、件工程,软件工程(Software Engineering,简称为SE)是针对软件这一具有特殊性质的产品的工程化方法。 软件工程涵盖了软件生存周期的所有阶段,并提供了一整套工程化的方法来指导软件人员的开发工作。,1.1.1 软件的发展与特征,1. 软件的发展阶段 软件发展的历史可以大致分为如下的四个阶段: 第一个阶段(20世纪50年代到60年代)是程序设计阶段,基本是个体手工劳动的生产方式。20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。 20世纪60年代美国大学开始有计算机专业,专门教人们写软件。 早期的软件开发也

3、没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。,1.1.1 软件的发展与特征,1. 软件的发展阶段 第一个阶段严格来说这个时期尚无软件的概念,基本上只有程序、程序设计概念,不重视程序设计方法。 软件主要是用于科学计算,规模很小,采用简单的工具(基本上采用低级语言),硬件的存储容量小,运行可靠性差。 20世纪中期,盘算机从军用领域转向民用领域应用,那时编写程序的工作被视为艺术家的创作。,第一阶段的主要特征是:, 程序设计只是一个隐含在开发者头脑中的过程,程序设计的结果,除了程序流程图和源程序清单可以留下来之外没有任何其他形式的文档资料保留下来。 此时只有程序的概念,

4、没有软件的概念。 主要采用汇编语言,甚至是机器语言,以解决计算机内存容量不够和运算速度太低的矛盾。由于过分追求编程技巧,程序设计被视为某个人的神秘技巧,程序除作者本人外,其他人很难读懂。,1. 软件的发展阶段,第二阶段(20世纪60年代到70年代)是软件设计阶段,采取小组合作生产方式。 这一时期盘算机的利用领域得到进一步扩大,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。 人们为摆脱汇编语言和机器语言编程的困难,相继研制出了一批高级程序设计语言,大大加速了计算机应用普及的步伐,各种类型的应用程序相继出现。,1. 软件的发展阶段,第二阶段软

5、件开始作为一种产品被广泛使用,出现了“软件作坊”。“ 这个阶段的开发成本令人吃惊地高,而失败的软件开发项目却屡见不鲜。最为突出的例子是美国IBM公司于1963年1966年开发的IBM360系列机的操作系统。IBM360操作系统的历史教训已成为软件开发项目中的典型事例被记入历史史册。“软件危机”就这样开始了。,“软件危机”,“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。 为解决这个问题,1968年秋季NATO(北大西洋公约组织)的科技委员会召集了近50名一流的编程人员、计算机科学家和工

6、业界巨头讨论并制定摆脱“软件危机”的对策。在联邦德国召开的这次国际学术会议上第一次提出了“软件危机”(software crisis)。,“软件危机”,软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。 概括来说,软件危机包含两方面问题:一是如何开发软件,以满足日益增长,日趋复杂的需求;二是如何维护数量不断膨胀的软件产品。,第二阶段阶段的主要特征, 由于程序的规模增大,程序设计已不可能由个人独立完成,而需要多人分工协作。软件的开发方式由“个体生产”发展到“小组软件作坊”。 程序的运行、维护也不再由一个人来承担,而是由开发小组承担。 程序已不再是计算机硬件的附属成份,而是计算机

7、系统中与硬件相互依存、共同发挥作用的不可缺少的部分。在计算机系统的开发过程中,起主导作用的已经不仅仅是硬件工程师,同时也包括软件工程师。,1. 软件的发展阶段,第三个阶段(20世纪70年代到90年代)采用工程化的生产方式,是传统软件工程阶段。 微处理器的出现与应用使个人计算机发展迅速,这个阶段的硬件向超高速、大容量、微型化以及网络化方向发展。 软件系统的规模、复杂性增强,促进了软件开发过程管理及工程化。 这个时期还包括开发、使用和维护过程所需的文档。软件开发范围从需求定义、分析、设计、编码、测试、使用到维护等整个软件生命周期。,第三阶段的主要特征, 软件产业已经兴起,“软件作坊”已经发展为软件

8、公司,甚至是跨国公司。 软件开发的成功率大大提高,软件的质量也有了很大的保证。软件已经产品化、系列化、标准化、工程化。 软件工程并发环境及其相应的集成工具大量涌现,软件开发技术中的度量问题受到重视,1. 软件的发展阶段,第四阶段(20世纪90年代至今)是现代软件工程阶段。 数据库、开发工具、开发环境、网络、分布式、面向对象技术等工具方法都得到应用。 Internet技术的迅速发展使得软件系统从封闭走向开放,Web应用成为人们在Internet上最主要的应用模式,异构环境下分布式软件的开发成为一种主流需求,软件复用和构件技术成为技术热点。,第四阶段的主要特征:, 面向对象技术广泛使用。 软件开发

9、技术逐渐成熟。 这个时代的主流应用技术采用面向对象技术、软件复用技术(设计模式、软件框架、软件体系结构等)、构件设计技术、分布式计算技术、软件过程管理技术等。,2. 软件的特征,软件同传统的工业产品相比,有其独特的特性。 软件是一种逻辑实体,具有抽象性。 软件没有明显的制造过程。 软件在使用过程中,没有磨损、老化的问题。当修改的成本变得难以接受时,软件就被抛弃。 软件对硬件和环境有着不同程度的依赖性,这就导致了软件移植的问题。,2. 软件的特征, 软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。 软件是复杂的,而且以后会更加复杂。 软件的成本相当昂贵。软件开发需要投入大量的、高强度

10、的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。 软件工作牵涉到很多社会因素。人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。,1.1.2 软件工程,软件工程的方法就是基于软件危机的问题提出来的。 大型的、复杂的软件系统开发是一项工程,必须按工程学的方法组织软件的生产和管理,必须经过系统的分析、设计、实现、测试和维护等一系列的软件生命周期阶段。这一认识促使了软件工程学的诞生。,1. 软件工程的概念与知识体系,软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。软件工程包括两方面内容:软件开发技术和软件项目管理。 软件开

11、发技术包括软件开发方法学、软件工具和软件工程环境。软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。软件工程的三要素是方法、工具和过程。,软件工程应该包括的知识,IEEE的软件工程实施体系指南SEWBOK(Guide to the Software Engineering Body of Knowledge 2004Version)界定了软件工程的10个知识领域(KAs:Knowledge Areas),即软件需求、软件设计、软件构建、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法及软件质量。,软件工程知识体系指南(2004),软件

12、工程知识体系指南(2004),2. 软件工程的框架,软件工程的框架由软件工程目标、软件工程活动和软件工程原则三个方面的内容构成。,软件工程的目标,是开发与生产出具有良好的软件质量和费用合算的产品,即生产具有正确性、可用性以及合算的软件产品。 正确性是指软件产品达到预期功能的程度。 可用性是指软件基本结构、实现及文档为用户可用的程度。费用合算是指软件开发运行的整个开销能满足用户要求的程度。 软件质量是指该软件能满足明确的和隐含的需求能力有关特征和特性的总和。,软件工程活动,包括需求、设计、实现、确认和支持。 需求包括问题分析和需求分析。 问题分析包括需求获取和定义,又称软件需求规约。 需求分析包

13、括生成软件功能规约。 设计包括概要设计和详细设计。 实现就是把设计结果转换为可执行的程序代码。 确认贯穿整个开发过程,对完成的结果进行确认,保证产品满足用户的要求。 支持是修改和完善活动。,软件工程的原则, 选取适宜开发范型。该原则与系统设计有关,在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。 采用合适的设计方法。在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。,软件工程

14、的原则, 提供高质量的工程支持。“工欲善其事,必先利其器”。在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。 重视开发过程的管理。软件工程的管理,直接影响可用资源的有效利用、生产满足目标的软件产品和提高软件组织的生产能力等问题。因此,仅当软件过程得以有效管理时,才能实现有效的软件工程。,软件工程的框架,软件工程的目标是可用性、正确性和合算性 软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。,3. 软件工程的基本原理, 用分阶段的生命

15、周期计划严格管理 坚持进行阶段评审。 实行严格的产品控制。 结果应能清楚地审查。 开发小组的人员应该少而精。,1.2 软件过程和开发方法,1.2.1软件过程 软件过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件过程描述了为了开发出客户满意的软件,什么人(who)、在什么时候(when)、做什么事(what)以及怎么做(how)这些事以实现某一个特定的具体目标。 通常用生命周期模型简洁地描述软件过程。,1.2 软件过程和开发方法,1.2.1软件过程 生命周期模型规定了把生命周期划分成哪些阶段及各阶段的执行顺序,因此,称为软件过程模型,又称为软件开发模

16、型。 软件开发模型是指软件开发中的所有过程、活动和任务的结构框架,它能清晰、明确地表达软件开发的全过程 软件开发通常包括需求、设计、实现、确认和支持等阶段。,常见的软件过程模型有,瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 此外还有迭代模型、V模型和智能模型等。,1. 瀑布模型,1970年温斯顿罗伊斯(Winston Royce)提出了著名的“瀑布模型(Waterfall Model)”,它有时也称为传统生存周期模型或线性顺序过程模型。 20世纪80年代之前,它一直是唯一被广泛采用的软件开发模型,现在它仍然是软件工程中应用最广泛的过程模型之一。 传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。 瀑布模型将软件生命周期划分为软件计划、需求分析、系统设计、软件编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。,瀑布模型,瀑布模型的主要特点:, 阶段间具有顺序性和依赖性。 推迟实现的观

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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