软件工程方法与工具精选课件.ppt
《软件工程方法与工具精选课件.ppt》由会员分享,可在线阅读,更多相关《软件工程方法与工具精选课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于软件工程方法与工具第一页,本课件共有61页2.1 软件工程方法概述概念概念软件工程包含软件工程包含技术技术和和管理管理两方面的内容,是技术和两方面的内容,是技术和管理紧密结合所形成的工程学科。管理紧密结合所形成的工程学科。通常将软件开发全过程中使用的一整套技术方法的通常将软件开发全过程中使用的一整套技术方法的集合称为集合称为方法学方法学(methedology)(methedology),也称为,也称为范型范型(paradigm)(paradigm)。目前使用最广泛的软件工程方法学:目前使用最广泛的软件工程方法学:传统方法(结传统方法(结构化方法)构化方法),面向对象方法面向对象方法。第二
2、页,本课件共有61页2.1 软件工程方法概述三要素:三要素:方法、工具和过程。软件工程软件工程方法方法为软件开发提供了为软件开发提供了 “如何做如何做”的技术的技术;软件软件工具工具为软件工程方法提供了自动的或半自动的软为软件工程方法提供了自动的或半自动的软件开发支撑环境件开发支撑环境;过程过程是为了获得高质量的软件所需要完成的一系是为了获得高质量的软件所需要完成的一系列列任务框架任务框架,它规定了完成各项任务的,它规定了完成各项任务的工作步骤工作步骤。第三页,本课件共有61页2.1 软件工程方法概述结构化方法结构化方法 也称为也称为生命周期方法学生命周期方法学或或结构化范型结构化范型。将软件
3、生命。将软件生命周期的全过程依次划分为若干个阶段,采用结构化技术周期的全过程依次划分为若干个阶段,采用结构化技术来完成每个阶段的任务。来完成每个阶段的任务。特点:特点:(1)(1)强调自顶向下强调自顶向下顺序顺序地完成软件开发的各阶段地完成软件开发的各阶段任务任务;(2)(2)结构化方法要么面向行为,要么面向数据,缺乏结构化方法要么面向行为,要么面向数据,缺乏使两者有机结合的机制。使两者有机结合的机制。第四页,本课件共有61页2.1 软件工程方法概述l面向对象方法面向对象方法是将数据和对数据的操作紧密地结合起来的方法。是将数据和对数据的操作紧密地结合起来的方法。软件开发过程是软件开发过程是多次
4、反复迭代多次反复迭代的演化过程。的演化过程。面向对象方法在概念和表示方法上的一致性,保证了面向对象方法在概念和表示方法上的一致性,保证了各项开发活动之间的平滑过渡。各项开发活动之间的平滑过渡。对于大型、复杂及交互性比较强的系统,使用面对于大型、复杂及交互性比较强的系统,使用面向对象方法更有优势。向对象方法更有优势。第五页,本课件共有61页2.1 软件工程方法概述l形式化方法形式化方法形式化方法是一种基于形式化数学变换的软件开发形式化方法是一种基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。方法,它可将系统的规格说明转换为可执行的程序。该过程的具体描述如图所示。该过程的
5、具体描述如图所示。第六页,本课件共有61页2.1 软件工程方法概述l形式化方法的主要特点形式化方法的主要特点(1)(1)软件需求规格说明被细化为用数学记号表达的详细的形式软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;化规格说明;(2)(2)设计、实现和单元测试等开发过程由一个变换开发过程代替。设计、实现和单元测试等开发过程由一个变换开发过程代替。通过一系列变换将形式的规格说明细化成为程序。这种细化的过通过一系列变换将形式的规格说明细化成为程序。这种细化的过程如图所示。程如图所示。第七页,本课件共有61页 2.2 面向对象的概念与开发方法现实世界就是由各种对象组成的,如建筑物、人
6、、汽车、现实世界就是由各种对象组成的,如建筑物、人、汽车、动物、植物等。动物、植物等。复杂的对象可以由简单的对象组成。复杂的对象可以由简单的对象组成。在研究对象时主要考虑对象的属性和行为,有些不在研究对象时主要考虑对象的属性和行为,有些不同的对象会呈现相同或相似的属性和行为,如轿车、同的对象会呈现相同或相似的属性和行为,如轿车、卡车、面包车。卡车、面包车。通常将属性及行为相同或相似的对象归为一类。通常将属性及行为相同或相似的对象归为一类。类可以看成是对象的抽象,代表了此类对象所具有的共类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。有属性和行为。第八页,本课件共有61页2.2 面
7、向对象的概念与开发方法Coad和和Yourdon给出了给出了“面向对象面向对象”的一的一个定义:个定义:面向对象对象类继承消息通信面向对象对象类继承消息通信如果一个系统是使用这样如果一个系统是使用这样4 4个概念设计和实个概念设计和实现的,则可认为这个现的,则可认为这个系统是面向对象的系统是面向对象的。用面向对象的编程语言所写的系统,就是面向对象的么?第九页,本课件共有61页对象对象有两个层次的概念:对象有两个层次的概念:(1)(1)现实生活中对象指的是客观世界的实体。可以是可见现实生活中对象指的是客观世界的实体。可以是可见的有形对象,如人、学生、汽车、房屋等;也可以是抽的有形对象,如人、学生
8、、汽车、房屋等;也可以是抽象的逻辑对象,如银行帐号,生日。象的逻辑对象,如银行帐号,生日。(2)(2)程序中对象就是一组变量和相关方法的集合,程序中对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有其中变量表明对象的状态,方法表明对象所具有的行为。的行为。第十二页,本课件共有61页对象可以将程序中的对象分为可以将程序中的对象分为5类:类:物理对象,角色,物理对象,角色,事件,交互,规格说明事件,交互,规格说明。(1)(1)物理对象(物理对象(Physical ObjectsPhysical Objects)物理对象是最易识别物理对象是最易识别的对象,通常可以在问题领域
9、的描述中找到,它们的属的对象,通常可以在问题领域的描述中找到,它们的属性可以标识和测量。性可以标识和测量。例如,大学课程注册系统中的学生对象;一个网络管理系例如,大学课程注册系统中的学生对象;一个网络管理系统中各种网络物理资源对象(如开关、统中各种网络物理资源对象(如开关、CPUCPU和打印机)都是和打印机)都是物理对象。物理对象。第十三页,本课件共有61页对象(2)角色(角色(Roles)一个实体的角色也可以抽象成一个单独一个实体的角色也可以抽象成一个单独的对象。角色对象的操作是由角色提供的技能。的对象。角色对象的操作是由角色提供的技能。例如,一个面向对象系统中通常有例如,一个面向对象系统中
10、通常有“管理器管理器”对象,它履行协调对象,它履行协调系统资源的角色。一个窗口系统中通常有系统资源的角色。一个窗口系统中通常有“窗口管理器窗口管理器”对对象,它扮演协调鼠标器按钮和其他窗口操作的角色。特别象,它扮演协调鼠标器按钮和其他窗口操作的角色。特别地,一个实际的物理对象可能同时承担几个角色。地,一个实际的物理对象可能同时承担几个角色。例如,一个退休教师同时扮演退休者和教师的角色。例如,一个退休教师同时扮演退休者和教师的角色。第十四页,本课件共有61页对象(3)事件(事件(Events)一个事件是某种活动的一次一个事件是某种活动的一次“出出现现”。例如例如“鼠标鼠标”事件。一个事件对象通常
11、是一个数据实体,它事件。一个事件对象通常是一个数据实体,它管理管理“出现出现”的重要信息。事件对象的操作主要用于对数据的重要信息。事件对象的操作主要用于对数据的存取。的存取。如如“鼠标鼠标”事件对象有诸如光标坐标、左右键、单击,双事件对象有诸如光标坐标、左右键、单击,双击等信息。击等信息。第十五页,本课件共有61页对象(4)交互(交互(Interactions)交互表示了在两个对象之交互表示了在两个对象之间的关系,这种类型的对象类似于在数据库设计时所间的关系,这种类型的对象类似于在数据库设计时所涉及的涉及的“关系关系”实体。实体。当实体之间是多对多的关系时,利用交互对象可当实体之间是多对多的关
12、系时,利用交互对象可将其简化为两个一对多的关系。将其简化为两个一对多的关系。例如,在大学课程注册系统中,学生和课程之间的例如,在大学课程注册系统中,学生和课程之间的关系是多对多的关系,可设置一个关系是多对多的关系,可设置一个“选课选课”交互对交互对象来简化它们之间的关系。象来简化它们之间的关系。第十六页,本课件共有61页2.3 统一建模语言UML简介面向对象的建模语言面向对象的建模语言很多,目前使用最广泛很多,目前使用最广泛的是统一建模语言的是统一建模语言(UMLUML,Unified Unified Modeling Language)Modeling Language);它将它将Booch
13、Booch、RumbaughRumbaugh和和JacobsonJacobson等各自独等各自独立的立的OOAOOA和和OODOOD方法中最优秀的特色组合成方法中最优秀的特色组合成一个统一的方法。一个统一的方法。第二十七页,本课件共有61页2.4 软件工具概述软件工具的概念软件工具的概念软件工具的发展软件工具的发展软件工具的分类软件工具的分类常用软件工具介绍常用软件工具介绍第三十三页,本课件共有61页软件工具的概念软件工具的概念软件工具是指能支持软件生存周期中软件工具是指能支持软件生存周期中某一阶段某一阶段(如系(如系统定义、需求分析、设计、编码、测试或维护等)的统定义、需求分析、设计、编码、
14、测试或维护等)的需要而使用的软件工具。需要而使用的软件工具。早期的软件工具主要用来辅助程序员编程,如编辑程序、早期的软件工具主要用来辅助程序员编程,如编辑程序、编译程序、排错程序等。在提出了软件工程的概念以后,编译程序、排错程序等。在提出了软件工程的概念以后,出现了一批软件工具来辅助软件工程实施,这些软件工出现了一批软件工具来辅助软件工程实施,这些软件工具涉及到软件开发、维护、管理过程中的各项活动,并具涉及到软件开发、维护、管理过程中的各项活动,并辅助这些活动高质量地进行。辅助这些活动高质量地进行。软件工具通常也称为软件工具通常也称为CASECASE(计算机辅助软件工程,计算机辅助软件工程,c
15、omputer aided software engineering)computer aided software engineering)工具。工具。第三十四页,本课件共有61页软件工具的发展软件工具的发展5050年代末期出现了程序设计语言,因此,出现了年代末期出现了程序设计语言,因此,出现了编辑程序、汇编程序和各种程序语言的编译程序编辑程序、汇编程序和各种程序语言的编译程序或解释程序、连接程序、装配程序、排错程序或解释程序、连接程序、装配程序、排错程序等等辅助软件编程活动的工具。辅助软件编程活动的工具。6060年代末提出软件工程的概念后,支持软件开发、年代末提出软件工程的概念后,支持软件
16、开发、维护、管理等过程的各种活动的工具也应运而生。维护、管理等过程的各种活动的工具也应运而生。例如,支持需求分析活动的需求分析工具、支持维护例如,支持需求分析活动的需求分析工具、支持维护过程的维护工具和理解工具、支持管理过程中进度管过程的维护工具和理解工具、支持管理过程中进度管理活动的理活动的PERTPERT工具、支持软件过程的质量保证工具工具、支持软件过程的质量保证工具等。等。第三十五页,本课件共有61页软件工具的发展软件工具的发展8080年代中期提出了软件过程的新概念,人们开始年代中期提出了软件过程的新概念,人们开始研制过程建模的工具、过程评价工具。研制过程建模的工具、过程评价工具。如今,
17、软件工具重视用户界面的设计,不断地采用如今,软件工具重视用户界面的设计,不断地采用新理论和新技术,正由单个工具向多个工具集成的新理论和新技术,正由单个工具向多个工具集成的方向发展,且注重工具间的平滑过渡和互操作性。方向发展,且注重工具间的平滑过渡和互操作性。第三十六页,本课件共有61页软件工具的分类软件工具的分类软件工具的种类繁多,很难有一种统一的分类方法,通软件工具的种类繁多,很难有一种统一的分类方法,通常从不同的观点来进行分类。常从不同的观点来进行分类。由于大多数软件工具仅支持软件生存周期过程中的某些特由于大多数软件工具仅支持软件生存周期过程中的某些特定的活动,所以通常可以按软件过程的活动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 方法 工具 精选 课件
限制150内