软件工程方法与工具

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对象
(4) 交互(Interactions)── 交互表示了在两个对
象之间的关系,这种类型的对象类似于在数据库 设计时所涉及的“关系”实体。
• 当实体之间是多对多的关系时,利用交互对象可 将其简化为两个一对多的关系。
• 例如,在大学课程注册系统中,学生和课程之间 的关系是多对多的关系,可设置一个“选课”交 互对象来简化它们之间的关系。
• 软件工具的概念 • 软件工具的发展 • 软件工具的分类 • 常用软件工具介绍
软件工具的概念
• 软件工具是指能支持软件生存周期中某一阶段
(如系统定义、需求分析、设计、编码、测试或 维护等)的需要而使用的软件工具。
• 早期的软件工具主要用来辅助程序员编程,如编 辑程序、编译程序、排错程序等。在提出了软件 工程的概念以后,出现了一批软件工具来辅助软 件工程实施,这些软件工具涉及到软件开发、维 护、管理过程中的各项活动,并辅助这些活动高 质量地进行。
2.1 软件工程方法概述
• 三要素:方法、工具和过程。
软件工程方法为软件开发提供了 “如何做” 的技 术;
软件工具为软件工程方法提供了自动的或半自动 的软件开发支撑环境;
过程是为了获得高质量的软件所需要完成的一系 列任务框架,它规定了完成各项任务的工作步骤。
2.1 软件工程方法概述
• 结构化方法
• 软件工具通常也称为CASE(计算机辅助软件工程,
computer aided software engineering)工具。
软件工具的发展
• 50年代末期出现了程序设计语言,因此,出现了 编辑程序、汇编程序和各种程序语言的编译程序 或解释程序、连接程序、装配程序、排错程序等 辅助软件编程活动的工具。
• 现实世界就是由各种对象组成的,如建筑物、人、 汽车、动物、植物等。
• 复杂的对象可以由简单的对象组成。 • 在研究对象时主要考虑对象的属性和行为,有些
不同的对象会呈现相同或相似的属性和行为,如 轿车、卡车、面包车。 • 通常将属性及行为相同或相似的对象归为一类。 • 类可以看成是对象的抽象,代表了此类对象所具 有的共有属性和行为。
2.1 软件工程方法概述
• 概念
软件工程包含技术和管理两方面的内容,是技术 和管理紧密结合所形成的工程学科。
通常将软件开发全过程中使用的一整套技术方法 的集合称为方法学(methedology),也称为范型 (paradigm)。
目前使用最广泛的软件工程方法学:传统方法 (结构化方法),面向对象方法。
对象
(2) 角色(Roles)── 一个实体的角色也可以抽象成一个单
独的对象。角色对象的操作是由角色提供的技能。
• 例如,一个面向对象系统中通常有“管理器”对象,它履 行协调系统资源的角色。一个窗口系统中通常有“窗口管 理器”对象,它扮演协调鼠标器按钮和其他窗口操作的角 色。特别地,一个实际的物理对象可能同时承担几个角色。
2.3 统一建模语言UML简介
• 面向对象的建模语言很多,目前使用最广
泛的是统一建模语言(UML,Unified Modeling Language); • 它将Booch、Rumbaugh和Jacobson等 各自独立的OOA和OOD方法中最优秀的特 色组合成一个统一的方法。
2.4 软件工具概述
• 例如,一个退休教师同时扮演退休者和教师的角色。
对象
(3) 事件(Events)── 一个事件是某种活动的一次
“出现”。
• 例如“鼠标”事件。一个事件对象通常是一个数据实体, 它管理“出现”的重要信息。事件对象的操作主要用于对 数据的存取。
• 如“鼠标”事件对象有诸如光标坐标、左右键、单击,双 击等信息。
(2) 程序中对象就是一组变量和相关方法的集合, 其中变量表明对象的状态,方法表明对象所具有 的行为。
对象
• 可以将程序中的对象分为5类:物理对象,角色, 事件,交互,规格说明。
(1) 物理对象(Physical Objects)── 物理对象是最易识
别的对象,通常可以在问题领域的描述中找到,它们的 属性可以标识和测量。 例如,大学课程注册系统中的学生对象;一个网络管理系 统中各种网络物理资源对象(如开关、CPU和打印机) 都是物理对象。
该过程的具体描述如图所示。
2.1 软件工程方法概述
形式化方法的主要特点
(1) 软件需求规格说明被细化为用数学记号表达的详细的形 式化规格说明;
(2) 设计、实现和单元测试等开发过程由一个变换开发过程 代替。通过一系列变换将形式的规格说明细化成为程序。 这种细化的过程如图所示。
2.2 面向对象的概念与开发方法
2.2 面向对象的概念与开发方法
• Coad和Yourdon给出了“面向对象”的一 个定义: 面向对象=对象+类+继承+消息通信
• 如果一个系统是使用这样4个概念设计和实 现的,则可认为这个系统是面向对象的。
用面向对象的编程语言 所写的系统,就是面向
对象的么?
对象
• 对象有两个层次的概念:
(1) 现实生活中对象指的是Fra Baidu bibliotek观世界的实体。可以 是可见的有形对象,如人、学生、汽车、房屋等; 也可以是抽象的逻辑对象,如银行帐号,生日。
• 60年代末提出软件工程的概念后,支持软件开发、 维护、管理等过程的各种活动的工具也应运而生。 例如,支持需求分析活动的需求分析工具、支持 维护过程的维护工具和理解工具、支持管理过程 中进度管理活动的PERT工具、支持软件过程的质 量保证工具等。
是将数据和对数据的操作紧密地结合起来的方法。 软件开发过程是多次反复迭代的演化过程。 面向对象方法在概念和表示方法上的一致性,保
证了各项开发活动之间的平滑过渡。 对于大型、复杂及交互性比较强的系统,使用面
向对象方法更有优势。
2.1 软件工程方法概述
形式化方法
形式化方法是一种基于形式化数学变换的软件开 发方法,它可将系统的规格说明转换为可执行的 程序。
也称为生命周期方法学或结构化范型。将软件生命 周期的全过程依次划分为若干个阶段,采用结构 化技术来完成每个阶段的任务。 特点: (1) 强调自顶向下顺序地完成软件开发的各阶段 任务; (2) 结构化方法要么面向行为,要么面向数据,缺 乏使两者有机结合的机制。
2.1 软件工程方法概述
面向对象方法
相关文档
最新文档