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