软件开发环境与工具第2版课件第2章 软件开发工具_第1页
软件开发环境与工具第2版课件第2章 软件开发工具_第2页
软件开发环境与工具第2版课件第2章 软件开发工具_第3页
软件开发环境与工具第2版课件第2章 软件开发工具_第4页
软件开发环境与工具第2版课件第2章 软件开发工具_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1需求分析工具与设计工具

2.1.1需求分析方法在开始介绍这部分之前请注意,工具可以是分析方法,设计方法,也可以是软件。

1.结构化需求分析方法 软件需求分析的方法很多,主要方法有自顶向下和自底向上两种。其中自顶向下的分析方法是最简单实用的方法。从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图(DataFlowDiagram,DFD)和数据字典(DataDictionary,DD)描述系统。第二章软件开发工具2.1需求分析工具与设计工具

2.1.1需求分析方法

1.结构化需求分析方法 数据流图和数据字典是需求分析说明书的主要内容。 1)数据流图:使用结构化分析方法,任何一个系统都可抽象数据流图。在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示存储。 2)数据字典:数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。第二章软件开发工具2.1需求分析工具与设计工具

2.1.1需求分析方法

2.面向对象的开发方法

目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对象产品出现。面向对象分析方法有Booch方法、Coad方法和OMT方法等。1)Booch方法

所采用的对象模型要素是:封装、模块化、层次类型、并发。重要的概念模型是类和对象、类和对象的特征、类和对象之间的关系。使用的图形文档包括六种:类图、对象图、状态转换图、交互图、模块图和进程图。第二章软件开发工具2.1需求分析工具与设计工具

2.1.1需求分析方法

2.面向对象的开发方法

2)Coad方法

该方法严格区分了面向对象分析OOA。在面向对象分析阶段,有五个层次的活动:①发现类及对象。②识别结构。③定义主题。④定义属性。⑤定义服务。第二章软件开发工具2.1需求分析工具与设计工具

2.1.1需求分析方法

2.面向对象的开发方法

3)OMT方法

OMT法是目前最为成熟和实用的方法之一。OMT方法的OOA模型包括对象模型,动态模型和功能模型。(1)对象模型表示静态的,结构化的“数据”性质,它是对模拟客观世界实体的对象及对象间的关系映射,描述了系统的静态及结构.通常用类图表示。第二章软件开发工具2.1需求分析工具与设计工具

2.1.1需求分析方法

2.面向对象的开发方法

3)OMT方法(2)动态模型描述与时间和操作顺序有关的系统特征与激发事件、事件序列、确定事件先后关系的状态以及事件和状态的组织。(3)功能模型表示变化的系统的功能性质,它指明了系统应该做什么

第二章软件开发工具2.1需求分析工具与设计工具

2.1.1需求分析方法

2.面向对象的开发方法

4)OOSE方法

OOSE方法全称是面向对象软件工程(ObjectOrientedSoftwareEngineering)共有三个阶段:第一阶段:分析。分析阶段产生两个模型:需求模型和分析模型。第二阶段:构造阶段。构造阶段可分为两步:设计和实现。第三阶段:测试。主要是验证系统的正确性第二章软件开发工具2.1需求分析工具与设计工具

2.1.2设计方法

1.结构设计方法

1)结构化设计方法简介 软件设计的方法是指开发阶段设计软件时所使用的方法。分为概要设计和详细设计两个阶段。第二章软件开发工具2.1需求分析工具与设计工具

2.1.2设计方法

1.结构设计方法

2)概要设计工具——结构图结构化设计过程的概要设计阶段的描述工具是结构图(SC-StructureChart)。(1)作用:软件结构概要设计阶段的工具。反映系统的总体结构。数据流图DFD是软件生命周期的定义阶段中的需求分析方法中结构化分析方法的一种,此外还有数据字典(DD)、判定树和判定表,而SC是开发阶段中概要设计使用的方法。第二章软件开发工具2.1需求分析工具与设计工具

2.1.2设计方法

1.结构设计方法

3)概要设计任务的实现——数据流图到结构图的变换典型的信息流类型:变换型和事务型。第二章软件开发工具2.1需求分析工具与设计工具

2.1.2设计方法

1.结构设计方法

4)详细设计方法(1)流程图(PFD:ProgramFlowDiagram)(2)盒图(N-S图)。(3)问题分析图(PAD:ProblemAnalysisDiagram)(4)过程设计语言(PDL)第二章软件开发工具2.1需求分析工具与设计工具

2.1.2设计方法

2.面向对象设计方法1)Booch设计方法2)Coad/Yourdon设计方法3)Jacobson设计方法4)Rambaugh设计方法5)Wirfs-Brock设计第二章软件开发工具2.1需求分析工具与设计工具

2.1.3需求与设计工具

1.需求工具与设计工具的概念 1)需求分析工具 用于软件生命周期需求分析阶段,辅助系统分析人员对用户的需求进行提取、整理、分析并最终得到完整而正确的软件需求分析规格说明书,以满足描述被开发软件各种功能和性能需求的方法和软件。第二章软件开发工具2.1需求分析工具与设计工具

2.1.3需求与设计工具

1.需求工具与设计工具的概念 2)设计工具 用于软件生命周期概要设计阶段,辅助系统设计人员根据需求分析的规格说明,按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等,并得到设计规格说明书,以满足描述设计阶段需求的方法和软件。第二章软件开发工具2.1需求分析工具与设计工具

2.1.3需求与设计工具

2.需求工具与设计工具分类

1)从自动化程度来看,其工具可以分为两类(1)以人工方式为主的需求分析工具与设计工具。(2)以自动化方式为主的需求分析工具与设计工具。第二章软件开发工具2.1需求分析工具与设计工具

2.1.3需求与设计工具

2.需求工具与设计工具分类

2)从支持分析设计技术的角度,其工具分为下面几类(1)结构化方法的工具。(2)面向对象分析的工具。(3)原型化分析的工具(4)基于其他方法的工具。第二章软件开发工具2.1需求分析工具与设计工具

2.1.3需求与设计工具

3.功能特性和衡量标准

作为需求分析工具与设计工具应当尽可能满足下列特性。1)针对结构化方法2)针对面向对象方法3)一些共性的功能特征:支持信息仓库、支持业务反向工程、支持版本控制、脚本支持等第二章软件开发工具2.1需求分析工具与设计工具

2.1.3需求与设计工具

4.衡量工具功能强弱的主要依据(1)所支持的需求分析方法和设计方法的类型与数量的多少。(2)使用的方便程度。(3)与设计工具衔接的程度(4)所占资源(5)是否提供错误检测机制。(6)用户领域知识提示功能。第二章软件开发工具2.2数据库设计工具

数据库设计工具,就是协助与数据库开发人员在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求的辅助手段、方法和支撑软件。第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 1.需求分析阶段的功能和性能 1)需求分析阶段 需求分析可以分为3个步骤。(1)收集需求。(2)需求的分析和整理。(3)评审分析结果。第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 1.需求分析阶段的功能和性能 2)概念设计阶段 在这个阶段,设计人员从用户的角度来看待系统的处理要求和数据要求,并产生一个反应用户观点的概念模型。概念模型的设计结果通常使用E-R图来表示。概念模型的设计过程是,首先对系统中的信息进行抽象。然后设计局部概念模式最后将局部概念模式整合成为整体概念模式。第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 1.需求分析阶段的功能和性能 3)逻辑结构设计阶段 4)物理设计阶段 5)数据库实施阶段:根据逻辑设计和物理设计的结果,生成可以为目标数据库接受的脚本,进而产生目标数据库。 6)数据库的运行和维护阶段第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 2.设计阶段的功能和性能要求 1)数据库设计过程中的困难(1)无法保证不同的模型之间,一个模型的不同子模型之间信息的一致性。(2)对于大型系统而言测试更加困难,通常的情况是牵一发而动全身。(3)工作进度难于控制。(4)文档编制困难。(5)版本控制困难。第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 2.设计阶段的功能和性能要求 2)数据库设计工具的功能需求 (1)认识和描述客观世界的能力。

(2)管理和存储数据库设计过程中产生的各类信息。 (3)根据用户的物理设计,自动生成创建数据库的脚本和测试数据。

第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 2.设计阶段的功能和性能要求 2)数据库设计工具的功能需求 (4)根据用户的需要,将数据库设计过程中产生的各类信息自动组织成文档,从而最大程度地减少数据库设计人员花在编写文档方面的时间和成本,并保证文档之间信息的一致性。 (5)为数据库设计的过程提供团队协同工作的帮助。第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 2.设计阶段的功能和性能要求 3)数据库设计的性能需求 (1)工具的表达能力和保持信息一致性的能力。 (2)使用可靠程度。 (3)对软硬件环境的要求。第二章软件开发工具2.2数据库设计工具2.2.1数据库设计工具功能和性能 2.设计阶段的功能和性能要求 4)数据库设计的信息需求 (1)用户需求方面的信息。 (2)有关数据库概念设计、逻辑设计和物理设计的信息。 (3)数据库实施和维护期间由维护人员收集和整理的信息。第二章软件开发工具2.2数据库设计工具2.2.2数据库设计工具分类 1.数据库设计工具 数据库设计工具可以从不同的角度进行分类,下面是常见的几种分类方式。 1)从工具所支持的设计阶段分类(1)需求分析工具(2)概念设计工具(3)逻辑设计工具(4)物理设计工具第二章软件开发工具2.2数据库设计工具2.2.2数据库设计工具分类 1.数据库设计工具 2)从工具的集成程度分类 3)根据工具和软硬件的关系分类 一般来说,需求分析和概念设计工具通常是独立于硬件和软件的第二章软件开发工具2.2数据库设计工具2.2.2数据库设计工具分类 2.典型数据库设计工具 1)数据建模工具 应用IDEFIX方法构造系统数据模型(1)构造实体关系图(EntityRelationshipDiagram(2)创建基于码的模型(Key-basedModel)(3)创建完整属性模型(Fully-AttributedModel)(4)创建转换模型(TransformationModel)(5)生成数据库管理系统模型(DBMSModel)第二章软件开发工具2.2数据库设计工具2.2.2数据库设计工具分类 2.典型数据库设计工具 2)数据库设计工具 PowerDesigner是最具集成特性的设计工具集,用于创建高度优化和功能强大的数据库,数据仓库和数据敏感的组件。 PowerDesigner包含六个紧密集成的模块:①PowerDesignerProcessAnalyst,用于数据发现;②PowerDesignerDataArchitect,用于双层,交互式的数据库设计和构造;③PowerDesignerAppModeler,用于物理建模和应用对象及数据敏感组件的生成;第二章软件开发工具2.2数据库设计工具2.2.2数据库设计工具分类 2.典型数据库设计工具 2)数据库设计工具 ④PowerDesignerMetaWorks,用于高级的团队开发,信息的共享和模型的管理;⑤PowerDesignerWarehouseArchitect,用于数据仓库的设计和实现;⑥PowerDesignerViewer,用于以只读的、图形化方式访问整个企业的模型信息。第二章软件开发工具2.3平面与多媒体设计工具 软件界面设计是概要设计规则说明书中必不可少的一个部分。本节将介绍软件界面设计的方法和规则、平面设计工具和多媒体设计工具。2.3.1软件界面设计

1.概述 软件界面的主要部分为UI(UserInterface)即用户界面,也称人机接口,是指用户和某些系统进行交互方法的集合,这些系统不单单指程序,还包括某种特定的机器,设备,复杂的工具等。第二章软件开发工具2.3平面与多媒体设计工具2.3.1软件界面设计

2.软件界面设计的关键部分1)软件启动封面设计2)软件框架设计3)软件按钮设计4)软件面板设计5)菜单设计6)标签设计7)图标设计8)滚动条及状态栏设计第二章软件开发工具2.3平面与多媒体设计工具2.3.1软件界面设计

2.软件界面设计的关键部分1)软件启动封面设计2)软件框架设计3)软件按钮设计4)软件面板设计5)菜单设计6)标签设计7)图标设计8)滚动条及状态栏设计第二章软件开发工具2.3平面与多媒体设计工具2.3.1软件界面设计

3.设计规范 1)一致性 保持字体及颜色一致;保持页面内元素对齐方式的一致;表单录入方式一致;可点击的按钮、链接需要切换鼠标手势一致;保持功能及内容描述一致;保持专业语言词汇的一致性,如“确定”对应“取消”,“是”对应“否”。第二章软件开发工具2.3平面与多媒体设计工具2.3.1软件界面设计

3.设计规范 2)布局 (1)菜单 (2)按钮 (3)功能 (4)排版 (5)表格数据列表,字符型数据保持左对齐,数值型右对齐 (6)滚动条 (7)页面导航 (8)信息提示窗口第二章软件开发工具2.3平面与多媒体设计工具2.3.1软件界面设计

3.设计规范 3)系统操作

(1)减少鼠标操作 (2)查询检索类页面

(3)重要操作提醒

(4)按键隐射 (5)避免使用鼠标双击动作 (6)表单录入页面,需要把输入焦点定位到第一个输入项。 4)系统响应(越快越好!)第二章软件开发工具2.3平面与多媒体设计工具2.3.2平面设计工具

1.平面设计软件的分类 随着人们的需求和技术的发展,市场上出现了众多的平面设计软件。这些平面设计软件基本可以分为三类: 1)第一类图像处理第一类以图像处理为主的ADOBEPHOTOSHOP

2)第二类图形绘制 第二类则是图形绘制为主,这类软件比较多,基本上是COREL公司的COREDRAW、ACROMEDIA公司的FREEHAND和ADOBE公司的ILLUSTRATOR三足鼎立局面。第二章软件开发工具2.3平面与多媒体设计工具2.3.2平面设计工具

1.平面设计软件的分类 随着人们的需求和技术的发展,市场上出现了众多的平面设计软件。这些平面设计软件基本可以分为三类: 3)第三类排版软件

第三类则是排版软件。目前主要有PAGEMAKER、INDESIGN、QUARKXPRESS、方正飞腾等几个。第二章软件开发工具2.3平面与多媒体设计工具2.3.3多媒体开发工具

多媒体开发工具是基于多媒体操作系统基础上的多媒体软件开发平台,可以帮助开发人员组织编排各种多媒体数据及创作多媒体应用软件。 1.多媒体开发工具的类型

1)基于时基的多媒体创作工具 优点:操作简便,形象直观,在一时间段内,可任意调整多媒体素材的属性,如位置、转向等。 缺点:要对每一素材的展现时间作出精确安排,调试工作量大。典型代表:Director和Action。第二章软件开发工具2.3平面与多媒体设计工具2.3.3多媒体开发工具 1.多媒体开发工具的类型

2)基于图标或流线的多媒体创作工具 优点:调试方便,在复杂的航行结构中,流程图有利于开发过程。 缺点:当多媒体应用软件规模很大时,图标及分支增多,进而复杂度增大。典型代表:Authorware和IconAuthor。第二章软件开发工具2.3平面与多媒体设计工具2.3.3多媒体开发工具 1.多媒体开发工具的类型

3)基于卡片或页面的多媒体创作工具 优点:组织和管理多媒体素材方便。 缺点:在要处理的内容非常多时,由于卡片或页面数量过大,不利于维护于修改。典型代表:ToolBook和HyperCard 4)以传统程序语言为基础的多媒体创作工具:需要用户编程量较大,而且重用性差、不便于组织和管理多媒体素材、调试困难例如VBVCDelphi等。第二章软件开发工具2.3平面与多媒体设计工具2.3.3多媒体开发工具

2.多媒体开发工具的功能

1)面向对象的编辑环境 2)具有较强的多媒体数据I/O能力 3)动画处理能力 4)超级连接能力 5)应用程序的连接能力(1)可建立程序级通信:DDE(DynamicDataExchange);(2)对象的链接和嵌入:OLE(ObjectLingkingandEmbedding)。 6)模块化和面向对象第二章软件开发工具2.3平面与多媒体设计工具2.3.3多媒体开发工具

3.多媒体开发工具的特征

1)编辑特性 2)组织特性 3)编程特性 4)交互式特性 (1)简单转移 (2)条件转移 (3)结构化语言第二章软件开发工具2.3平面与多媒体设计工具2.3.3多媒体开发工具

3.多媒体开发工具的特征

5)性能精确特性 6)播放特性 7)提交特性第二章软件开发工具2.4编程工具

2.4.1计算机语言的种类

1.编程视角的计算机语言分类

(1)过程性语言。

(2)说明性语言。

(3)脚本语言。

(4)面向对象的语言。第二章软件开发工具2.4编程工具

2.4.1计算机语言的种类

2.演化视角的的计算机语言分类

演化视角的计算机语言的种类分为机器语言,汇编语言,高级语言三大类。

1)机器语言

机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

2)汇编语言汇编语言是一种用助记符表示的仍然面向机器的计算机语言。

第二章软件开发工具2.4编程工具

2.4.1计算机语言的种类

2.演化视角的的计算机语言分类

演化视角的计算机语言的种类分为机器语言,汇编语言,高级语言三大类。

3)高级语言

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:

(1)解释类(2)编译类

第二章软件开发工具2.4编程工具

2.4.2第四代语言 第四代语言(TheFourthGenerationLanguage,以下简称4GL)的出现是出于商业需要。4GL这个词最早是在80年代初期出现在软件厂商的广告和产品介绍中的。因此,这些厂商的4GL产品不论从形式上看还是从功能上看,差别都很大。但是人们很快发现这一类语言由于具有“面向问题”、“非过程化程度高”等特点,可以成倍提高软件生产率,缩短软件开发周期,因此赢得了很多用户。第二章软件开发工具2.4编程工具

2.4.2第四代语言 第四代语言的功能特点分类 1)查询语言和报表生成器 2)图形语言 3)应用生成器 (1)交互式应用生成器 (2)编程式应用生成器 4)形式规格说明语言第二章软件开发工具2.4编程工具

2.4.2第四代语言 第四代语言的应用前景 1)4GL与面向对象技术将进一步结合 2)4GL将全面支持以Internet为代表的网络分布式应用开发 3)4GL将出现事实上的工业标准 4)4GL将以受限的自然语言加图形作为用户界面 5)4GL将进一步与人工智能相结合 6)4GL继续需要数据库管理系统的支持 7)4GL要求软件开发方法发生变革第二章软件开发工具2.4编程工具

2.4.3脚本语言

1.定义

脚本语言(Scriptlanguages,scriptingprogramminglanguages,scriptinglanguages)是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。

一个脚本通常是解释执行而非编译。脚本语言通常很简单且易学易用,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。第二章软件开发工具2.4编程工具

2.4.3脚本语言

2.特点(1)脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间的语言。(2)脚本语言与编程语言也有很多相似地方,只不过更为简便(3)脚本也是一种由程序代码组成的语言。(4)它是一种解释性的语言。(5)脚本语言一般都是以文本形式存在,类似于一种命令。(6)用脚本语言开发的程序在执行时,由其所对应的解释器(或称虚拟机)解释执行。第二章软件开发工具2.4编程工具

2.4.3脚本语言

3.优缺点

1)优点

(1)快速开发

(2)容易部署

(3)同已有技术的集成

(4)易学易用

(5)动态代码

2)缺点

脚本语言的功能不够全面,它会要求一种“真正的”计算机语言配合第二章软件开发工具2.4编程工具

2.4.3脚本语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论