系统建模及系统分析与设计教学课件汇总完整版电子教案全书整套课件幻灯片(最新).ppt
《系统建模及系统分析与设计教学课件汇总完整版电子教案全书整套课件幻灯片(最新).ppt》由会员分享,可在线阅读,更多相关《系统建模及系统分析与设计教学课件汇总完整版电子教案全书整套课件幻灯片(最新).ppt(567页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、UML系统建模及系统分析与设计系统建模及系统分析与设计编著第第1章章面向对象软件开发面向对象软件开发方法方法教学目的教学目的了解软件的发展和软件工程的概念。了解软件的发展和软件工程的概念。了解软件开发的常用方法。了解软件开发的常用方法。重点掌握面向对象技术的基本概念和开发过程。重点掌握面向对象技术的基本概念和开发过程。了解几种典型的面向对象开发方法。了解几种典型的面向对象开发方法。了解可行性研究方法。了解可行性研究方法。掌握可行性分析报告的书写格式。掌握可行性分析报告的书写格式。1.1软件发展与软件工程软件发展与软件工程v软件是一种特别的产品,随着其规模和复杂性的软件是一种特别的产品,随着其规
2、模和复杂性的进步及应用领域的扩大,逐渐形成了工程。进步及应用领域的扩大,逐渐形成了工程。v软件(软件(software)是计算机系统中与硬件)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程)相互依存的另一部分,它包括程序(序(program)、相关数据()、相关数据(data)及其说明)及其说明文档(文档(document)。)。1.1软件发展与软件工程v软件工程(软件工程(SoftwareEngineering,简称为,简称为SE)是针对软件这一具有特殊性质的产品的工程)是针对软件这一具有特殊性质的产品的工程化方法。化方法。v软件工程涵盖了软件生存周期的所有阶段,并提软
3、件工程涵盖了软件生存周期的所有阶段,并提供了一整套工程化的方法来指导软件人员的开发供了一整套工程化的方法来指导软件人员的开发工作。工作。1.1.1软件的发展与特征1.软件的发展阶段软件的发展阶段软件发展的历史可以大致分为如下的四个阶段:软件发展的历史可以大致分为如下的四个阶段:第一个阶段(第一个阶段(20世纪世纪50年代到年代到60年代)是程序设计阶年代)是程序设计阶段,基本是个体手工劳动的生产方式。段,基本是个体手工劳动的生产方式。20世纪世纪50年年代,软件伴随着第一台电子计算机的问世诞生了。以代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的写软
4、件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。数学家和电子工程师。20世纪世纪60年代美国大学开始有计算机专业,专门教人年代美国大学开始有计算机专业,专门教人们写软件。们写软件。早期的软件开发也没有什么系统的方法可以遵循,软件早期的软件开发也没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。设计是在某个人的头脑中完成的一个隐藏的过程。1.1.1软件的发展与特征1.软件的发展阶段软件的发展阶段第一个阶段严格来说这个时期尚无软件的概念,基本上第一个阶段严格来说这个时期尚无软件的概念,基本上只有程序、程序设计概念,不重视程序设计方法。只有程序、程序设计概念,
5、不重视程序设计方法。软件主要是用于科学计算,规模很小,采用简单的工具软件主要是用于科学计算,规模很小,采用简单的工具(基本上采用低级语言),硬件的存储容量小,运行(基本上采用低级语言),硬件的存储容量小,运行可靠性差。可靠性差。20世纪中期,盘算机从军用领域转向民用领域应用,世纪中期,盘算机从军用领域转向民用领域应用,那时编写程序的工作被视为艺术家的创作。那时编写程序的工作被视为艺术家的创作。第一阶段的主要特征是:第一阶段的主要特征是:程序设计只是一个隐含在开发者头脑中的过程,程序设计只是一个隐含在开发者头脑中的过程,程序设计的结果,除了程序流程图和源程序清单程序设计的结果,除了程序流程图和源
6、程序清单可以留下来之外没有任何其他形式的文档资料保可以留下来之外没有任何其他形式的文档资料保留下来。留下来。此时只有程序的概念,没有软件的概念。此时只有程序的概念,没有软件的概念。主要采用汇编语言,甚至是机器语言,以解决计主要采用汇编语言,甚至是机器语言,以解决计算机内存容量不够和运算速度太低的矛盾。由于算机内存容量不够和运算速度太低的矛盾。由于过分追求编程技巧,程序设计被视为某个人的神过分追求编程技巧,程序设计被视为某个人的神秘技巧,程序除作者本人外,其他人很难读懂。秘技巧,程序除作者本人外,其他人很难读懂。1.软件的发展阶段软件的发展阶段v第二阶段(第二阶段(20世纪世纪60年代到年代到7
7、0年代)是软件设计阶年代)是软件设计阶段,采取小组合作生产方式。段,采取小组合作生产方式。v这一时期盘算机的利用领域得到进一步扩大,对软件这一时期盘算机的利用领域得到进一步扩大,对软件系统的需求和软件自身的复杂度急剧上升,传统的开系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需发方法无法适应用户在质量、效率等方面对软件的需求。求。v人们为摆脱汇编语言和机器语言编程的困难,相继研人们为摆脱汇编语言和机器语言编程的困难,相继研制出了一批高级程序设计语言,大大加速了计算机应制出了一批高级程序设计语言,大大加速了计算机应用普及的步伐,各种类型的应用程序相继出
8、现。用普及的步伐,各种类型的应用程序相继出现。1.软件的发展阶段软件的发展阶段v第二阶段软件开始作为一种产品被广泛使用,出第二阶段软件开始作为一种产品被广泛使用,出现了现了“软件作坊软件作坊”。“v这个阶段的开发成本令人吃惊地高,而失败的软这个阶段的开发成本令人吃惊地高,而失败的软件开发项目却屡见不鲜。最为突出的例子是美国件开发项目却屡见不鲜。最为突出的例子是美国IBM公司于公司于1963年年1966年开发的年开发的IBM360系列机的操作系统。系列机的操作系统。IBM360操作系统的历史教操作系统的历史教训已成为软件开发项目中的典型事例被记入历史训已成为软件开发项目中的典型事例被记入历史史册
9、。史册。“软件危机软件危机”就这样开始了。就这样开始了。“软件危机软件危机”v“软件危机软件危机”使得人们开始对软件及其特性进行更使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。别人看懂,通篇充满了程序技巧。v为解决这个问题,为解决这个问题,1968年秋季年秋季NATO(北大西(北大西洋公约组织)的科技委员会召集了近洋公约组织)的科技委员会召集了近50名一流的名一流的编程人员、计算机科学家和工业界巨头讨论并制编程人
10、员、计算机科学家和工业界巨头讨论并制定摆脱定摆脱“软件危机软件危机”的对策。在联邦德国召开的的对策。在联邦德国召开的这次国际学术会议上第一次提出了这次国际学术会议上第一次提出了“软件危机软件危机”(softwarecrisis)。)。“软件危机软件危机”软件危机指的是在计算机软件的开发和维护过程中软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:一是如何开概括来说,软件危机包含两方面问题:一是如何开发软件,以满足日益增长,日趋复杂的需求;二发软件,以满足日益增长,日趋复杂的需求;二是如何维护数量不断膨胀的软件产品。是如
11、何维护数量不断膨胀的软件产品。第二阶段阶段的主要特征第二阶段阶段的主要特征由于程序的规模增大,程序设计已不可能由个由于程序的规模增大,程序设计已不可能由个人独立完成,而需要多人分工协作。软件的开发人独立完成,而需要多人分工协作。软件的开发方式由方式由“个体生产个体生产”发展到发展到“小组软件作坊小组软件作坊”。程序的运行、维护也不再由一个人来承担,而是程序的运行、维护也不再由一个人来承担,而是由开发小组承担。由开发小组承担。程序已不再是计算机硬件的附属成份,而是计算程序已不再是计算机硬件的附属成份,而是计算机系统中与硬件相互依存、共同发挥作用的不可机系统中与硬件相互依存、共同发挥作用的不可缺少
12、的部分。在计算机系统的开发过程中,起主缺少的部分。在计算机系统的开发过程中,起主导作用的已经不仅仅是硬件工程师,同时也包括导作用的已经不仅仅是硬件工程师,同时也包括软件工程师。软件工程师。1.软件的发展阶段软件的发展阶段第三个阶段(第三个阶段(20世纪世纪70年代到年代到90年代)采用工程年代)采用工程化的生产方式,是传统软件工程阶段。化的生产方式,是传统软件工程阶段。微处理器的出现与应用使个人计算机发展迅速,这微处理器的出现与应用使个人计算机发展迅速,这个阶段的硬件向超高速、大容量、微型化以及网个阶段的硬件向超高速、大容量、微型化以及网络化方向发展。络化方向发展。软件系统的规模、复杂性增强,
13、促进了软件开发过软件系统的规模、复杂性增强,促进了软件开发过程管理及工程化。程管理及工程化。这个时期还包括开发、使用和维护过程所需的文档。这个时期还包括开发、使用和维护过程所需的文档。软件开发范围从需求定义、分析、设计、编码、软件开发范围从需求定义、分析、设计、编码、测试、使用到维护等整个软件生命周期。测试、使用到维护等整个软件生命周期。第三阶段的主要特征第三阶段的主要特征软件产业已经兴起,软件产业已经兴起,“软件作坊软件作坊”已经发展为已经发展为软件公司,甚至是跨国公司。软件公司,甚至是跨国公司。软件开发的成功率大大提高,软件的质量也有了软件开发的成功率大大提高,软件的质量也有了很大的保证。
14、软件已经产品化、系列化、标准化、很大的保证。软件已经产品化、系列化、标准化、工程化。工程化。软件工程并发环境及其相应的集成工具大量涌现,软件工程并发环境及其相应的集成工具大量涌现,软件开发技术中的度量问题受到重视软件开发技术中的度量问题受到重视1.软件的发展阶段软件的发展阶段v第四阶段(第四阶段(20世纪世纪90年代至今)是现代软件工程阶段。年代至今)是现代软件工程阶段。v数据库、开发工具、开发环境、网络、分布式、面向对象数据库、开发工具、开发环境、网络、分布式、面向对象技术等工具方法都得到应用。技术等工具方法都得到应用。vInternet技术的迅速发展使得软件系统从封闭走向开放,技术的迅速发
15、展使得软件系统从封闭走向开放,Web应用成为人们在应用成为人们在Internet上最主要的应用模式,异上最主要的应用模式,异构环境下分布式软件的开发成为一种主流需求,软件复用构环境下分布式软件的开发成为一种主流需求,软件复用和构件技术成为技术热点。和构件技术成为技术热点。第四阶段的主要特征:第四阶段的主要特征:v面向对象技术广泛使用。面向对象技术广泛使用。v软件开发技术逐渐成熟。软件开发技术逐渐成熟。v这个时代的主流应用技术采用面向对象技术、软这个时代的主流应用技术采用面向对象技术、软件复用技术(设计模式、软件框架、软件体系结件复用技术(设计模式、软件框架、软件体系结构等)、构件设计技术、分布
16、式计算技术、软件构等)、构件设计技术、分布式计算技术、软件过程管理技术等。过程管理技术等。2.软件的特征v软件同传统的工业产品相比,有其独特的特性。软件同传统的工业产品相比,有其独特的特性。v软件是一种逻辑实体,具有抽象性。软件是一种逻辑实体,具有抽象性。v软件没有明显的制造过程。软件没有明显的制造过程。v软件在使用过程中,没有磨损、老化的问题。当修改软件在使用过程中,没有磨损、老化的问题。当修改的成本变得难以接受时,软件就被抛弃。的成本变得难以接受时,软件就被抛弃。v软件对硬件和环境有着不同程度的依赖性,这就导致软件对硬件和环境有着不同程度的依赖性,这就导致了软件移植的问题。了软件移植的问题
17、。2.软件的特征软件的特征v软件的开发至今尚未完全摆脱手工作坊式的开发方式,软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。生产效率低。v软件是复杂的,而且以后会更加复杂。软件是复杂的,而且以后会更加复杂。v软件的成本相当昂贵。软件开发需要投入大量的、高软件的成本相当昂贵。软件开发需要投入大量的、高强度的脑力劳动,成本非常高,风险也大。现在软件的开强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。销已大大超过了硬件的开销。v软件工作牵涉到很多社会因素。人的因素,常常成为软件工作牵涉到很多社会因素。人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。
18、软件开发的困难所在,直接影响到项目的成败。1.1.2软件工程v软件工程的方法就是基于软件危机的问题提出来的。软件工程的方法就是基于软件危机的问题提出来的。v大型的、复杂的软件系统开发是一项工程,必须按工程学大型的、复杂的软件系统开发是一项工程,必须按工程学的方法组织软件的生产和管理,必须经过系统的分析、设的方法组织软件的生产和管理,必须经过系统的分析、设计、实现、测试和维护等一系列的软件生命周期阶段。这计、实现、测试和维护等一系列的软件生命周期阶段。这一认识促使了软件工程学的诞生。一认识促使了软件工程学的诞生。1.软件工程的概念与知识体系软件工程的概念与知识体系v软件工程是一门研究如何用系统化
19、、规范化、数软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护量化等工程原则和方法去进行软件的开发和维护的学科。软件工程包括两方面内容:软件开发技的学科。软件工程包括两方面内容:软件开发技术和软件项目管理。术和软件项目管理。v软件开发技术包括软件开发方法学、软件工具和软件开发技术包括软件开发方法学、软件工具和软件工程环境。软件项目管理包括软件度量、项软件工程环境。软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目目估算、进度控制、人员组织、配置管理、项目计划等。软件工程的三要素是方法、工具和过程。计划等。软件工程的三要素是方法、工具和过程。
20、软件工程应该包括的知识软件工程应该包括的知识vIEEE的软件工程实施体系指南的软件工程实施体系指南SEWBOK(GuidetotheSoftwareEngineeringBodyofKnowledge2004Version)界定了软件工程的)界定了软件工程的10个知识领个知识领域(域(KAs:KnowledgeAreas),即软件需),即软件需求、软件设计、软件构建、软件测试、软件维护、求、软件设计、软件构建、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法及软件质量。软件工程工具和方法及软件质量。软件工程知识体系指南(
21、软件工程知识体系指南(2004)知识域知识域内容内容软件需求软件需求基础、需求过程、需求获取、需求分析、需求规格说明、需求确认和实践考虑软件设计软件设计基础、软件设计关键问题、软件结构与体系结构、软件设计质量的分析与评价、软件设计符号、软件设计的策略与方法软件构造软件构造基础、管理构造、实际考虑软件测试软件测试基础和测试级别、测试技术、与测试相关的度量、测试过程软件工程知识体系指南(软件工程知识体系指南(2004)知识域知识域内容内容软件维护软件维护基础、软件维护的关键问题、维护过程、维护技术软件配置管理软件配置管理过程管理、软件配置标志、软件配置控制、软件配置状态统计、软件配置审核、软件发行
22、管理和交付软件工程管理启动和范围定义、软件项目计划、软件项目实施、评审与评价、关闭、软件工程度量软件工程过程过程实施与改变、过程定义、过程评定、过程和产品度量软件工程工具和方法软件工程工具、软件工程方法软件质量软件质量基础、软件质量过程、实践考虑相关学科计算机工程、计算机科学、管理、数学、项目管理、质量管理、软件人类工程学和系统工程2.软件工程的框架软件工程的框架v软件工程的框架由软件工程目标、软件工程活动软件工程的框架由软件工程目标、软件工程活动和软件工程原则三个方面的内容构成。和软件工程原则三个方面的内容构成。开发范型开发范型开发范型开发范型设计方法设计方法设计方法设计方法支持过程支持过程
23、支持过程支持过程管理过程管理过程管理过程管理过程需需需需求求求求设设设设计计计计实实实实现现现现确确确确认认认认支支支支持持持持可用性可用性可用性可用性正确性正确性正确性正确性合算性合算性合算性合算性软件工程活软件工程活软件工程活软件工程活动维动维动维动维软件工程目软件工程目软件工程目软件工程目标维标维标维标维软件工程软件工程软件工程软件工程原则维原则维原则维原则维图图图图1.1.软件工程框架软件工程框架软件工程框架软件工程框架软件工程的目标软件工程的目标v是开发与生产出具有良好的软件质量和费用合算是开发与生产出具有良好的软件质量和费用合算的产品,即生产具有正确性、可用性以及合算的的产品,即生
24、产具有正确性、可用性以及合算的软件产品。软件产品。v正确性是指软件产品达到预期功能的程度。正确性是指软件产品达到预期功能的程度。v可用性是指软件基本结构、实现及文档为用户可可用性是指软件基本结构、实现及文档为用户可用的程度。费用合算是指软件开发运行的整个开用的程度。费用合算是指软件开发运行的整个开销能满足用户要求的程度。销能满足用户要求的程度。v软件质量是指该软件能满足明确的和隐含的需求软件质量是指该软件能满足明确的和隐含的需求能力有关特征和特性的总和。能力有关特征和特性的总和。软件工程活动软件工程活动v包括需求、设计、实现、确认和支持。v需求包括问题分析和需求分析。问题分析包括需求获取和定义
25、,又称软件需求问题分析包括需求获取和定义,又称软件需求规约。规约。需求分析包括生成软件功能规约。需求分析包括生成软件功能规约。v设计包括概要设计和详细设计。v实现就是把设计结果转换为可执行的程序代码。v确认贯穿整个开发过程,对完成的结果进行确认,保证产品满足用户的要求。v支持是修改和完善活动。软件工程的原则软件工程的原则v选取适宜开发范型。该原则与系统设计有关,选取适宜开发范型。该原则与系统设计有关,在系统设计中,软件需求、硬件需求以及其他因在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 建模 系统分析 设计 教学 课件 汇总 完整版 电子 教案 全书 整套 幻灯片 最新
限制150内