资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章软件开发工具与环境概述,1.1 软件工具概述 软件(开发)工具是辅助和支持其它(应用)软件研制和维护的工具。其目的是为提高软件生产率、改进软件使其质量进一步提高。 1. 软件工具的范围 其包括成熟的传统软件工具:例如 操作系统(Windows 98 ,Windows NT & Linux , Unix ) 以及编译程序 、解释程序 、汇编程序等。 此外,凡支持需求分析、设计、编码、测试、维护等对软件生存周期各阶段的开发工具和管理工具均是。,软件工具概述,2.软件工具提高了工作效率 好的软件工具;软件人员乐意使用,功能齐全,开发人员劳动量减少,效率和质量均有提高,方便用户,工作可靠。 采用软件工具开发的(应用)软件可移植性,有利于标准化程度的提高。便于相互借鉴、推广。再之,开发方便的图形用户界面使用户喜欢、爱用、难度低便于推广使用计算机。例如Power Builder 即是。故软件工具是推广应用、开发应用的重要手段 。,软件工具概述,3.软件工具的特点 易于操作、功能强大、覆盖面大、可靠性高,且其本身可修改、可扩充。 4.软件工具的评价 采用比较的方法:将采用软件工具研制开发的软件项目与不采用软件工具研制开发的软件项目加以比较,得出两者效率的差异,从而对该软件工具的作用作出评价。 软件工具的广泛使用推动软件理论的发展。,1.2软件开发工具的功能,1.认识与描述客观系统 需求分析阶段: 不采用软件工具只能结合经验人自己分析归纳出(抽象出)信息需求、信息流程。 而采用软件工具则可自动分析归纳出信息需求和信息流程。因为对一复杂系统的认识和理解的工作(这是在软件开发工作的第一阶段)。这也正是人们希望软件开发工具提供帮助的一个重要原因。,软件开发工具的功能,2.存储与管理开发过程中的信息 在软件开发的各个阶段都要产生与使用许多信息。当项目规模比较大时,这些信息量就会大大增加。此外,当项目持续时间比较长时,信息的一致性显得十分重要。 故有关的信息保护与管理问题就显得更为突出了。,软件开发工具的功能,3.代码的编写与生成 在整个软件开发工作过程中程序编写工作占了较多的人力、物力和时间,提高代码的编制速度与效率。目前以第三代语言编程为主,改进主要是从代码自动生成和软件摸块重用两个方面去考虑。代码的自动生成对于某些比较固定类型的软件模块,可利用某些参数控制等方法加以实现。至于软件重用,即软件开发标准化,形成软件构件库(通用的、行业专用的、企业专用的等)这是一个远大而困难的目标。,软件开发工具的功能,4.文挡的编制或生成 文挡编写是软件开发中十分重要的一项工作,在这方面,计算机辅助的作用可以得到充分的发挥。在各种文字处理软件的基础上,有不少软件开发工具提供这方面的支持与帮助,例如文档自动生成系统等。其困难在于保持文档的一致性。此点属信息管理方面的问题。,软件开发工具的功能,5. 软件项目的管理 项目管理包括:进度管理、资源管理与费用管理、质量管理三个基本内容。至今,在项目管理方面已有不少成功的经验、方法与软件工具。此外,还有两个特殊问题:为了质量管理需有测试方案;另一是版本管理问题,版本的更新,要保持模块之间使用的一致性。 上述五点功能就是人们对软件开发工具的希望与要求。,1.3 软件开发工具的特性,软件功能是指软件能做什么事,即定性地说明能不能的问题,告诉我们该软件工具能在软件开发工程中提供哪些帮助;而性能则是指事情做到什么样的程度即尽可能定量地说明该软件开发工具能做到什么样的程度,说明这些支持或帮助的程度如何。 此外,作为一般的软件来说,效率、响应速度等也需考虑。对于软件开发工具来说,以下五点应是特别重要的。,软件开发工具的特性,1. 表达能力或描述能力 因为(欲开发的)软件项目千变万化,将某个软件开发工具用于某些软件项目的开发,就要能适应那个软件项目的种种情况 。常是根据使用者的若干参数来生成特定的代码段。 如果参数选择合理、参数详尽,充分规定所需代码段的各种特征,从而生成自己真正需要的代码段,则谓之描述能力/表达能力强;反之,如果该软件工具只能提供很少几个参数,用户无选择余地,从而生成的代码段就会十分死板,很难符合欲开发的具体的应用软件的要求,则谓之其描述能力/表达能力差。,软件开发工具的特性,2. 保持信息一致性的能力 实际工作要求软件开发工具不但能存储大量的有关信息,而且要有条不紊地管理信息,管理的主要内容就是保持信息的一致性。即: 各部分之间的一致; 代码与文档的一致; 功能与结构的一致; 这些均需软件开发工具提供有效的支持与帮助。,软件开发工具的特性,3. 使用的方便程度 人机界面应尽量通俗易懂,以吸引使用者参与开发过程,是否易用是一项重要的性能指标 。 4. 工具的可靠性 软件开发工具应当具有足够的可靠性。因为它涉及的都是软件开发过程中的重要信息,绝对不能丢失或弄错,故可靠性特别重要。,软件开发工具的特性,5. 对硬件和软件环境的要求 如果某一软件开发工具对硬件、软件环境要求太高,会影响它的使用范围,若一软件工具对环境要求太高,则显得其很“娇气”,使用范围很小。 对于综合的、集成化的软件开发工具来说,环境的要求总会比单项工具要求高。总之,软件开发工具的环境要求应尽量低,这有利于广泛使用。,1.4 软件开发工具的分类,主要有以下四种分类方法 : 一、基于工作阶段划分的工具 : 1. 设计工具 它是指在实现阶段对人们提供帮助的工具,是最具体的。例如,代码生成器、测试工具等。 2. 分析工具 它是指用于支持需求分析的工具,例如数据字典管理系统、绘图专用工具等 。 3. 计划工具 它是从更宏观的角度去看待软件开发,把有关进度、资源、质量、验收情况统一考虑,从而有计划地组织事实开发项目 。,软件开发工具的分类,二、基于集成程度划分的工具 目前,还应充分利用各种专用的软件开发工具。至于开发与应用集成化的软件开发工具是应当努力研究与探索的课题, 而要集成化地、统一地支持软件开发全过程的工具,还是相当困难的。 集成化的软件开发工具也常称为-软件工作环境 。,软件开发工具的分类,三、基于硬件、软件的关系划分的工具 按与硬件和软件的关系,软件开发工具可分两类 : 1. 依赖于特定计算机或特定软件(如某种数据库管理系统); 2. 独立于硬件与其它软件的软件开发工具 ; 一般来说,设计工具多是依赖于特定软件的。例如 集成化的软件开发工具常常是依赖于机器与软件的,因此,在研究与使用软件开发工具时必须注意 。,软件开发工具的分类,四、基于应用领域划分的工具 按应用领域的不同,应用软件可分为: 事务处理、实时应用、嵌入式应用软件等 。其中事务处理范围最广,从工资、仓库、会计等单项管理到具有决策能力的管理信息系统(MIS) ,还有收银处的各种计费软件、储蓄所使用的存款软件等,均属此类 。,1.5 软件开发环境,一、软件开发环境的特性 1. 可用性 用户友好性、易学、对项目工作人员的实际支持等 。 2. 自动化程度 3. 公共性 公共性是指覆盖各种类型用户、各种软件开发活动。 4. 集成化程度 5. 适应性 适应性是指符合用户要求的程度 。 6. 价值 得益和成本的比率。,软件开发环境,二、软件开发环境的结构 软件开发环境具有层次式的结构,分四层: 1. 宿主层: 基本宿主硬件和软件。 2. 核心层: 一般包括工具组、环境数据库和会话系统 。 3. 基本层: 一般包括一组工具,如编译工具、编辑程序、调试程序、连接程序和装配程序等。 4. 应用层: 以特定的基本层为基础,包括一些补充工具以更好地支援应用软件的研制 。,软件开发环境,三、软件开发工具与环境的关系 软件开发环境的主要组成成分是软件工具。不仅需要有众多的工具来辅助软件的开发,还需有一个统一的界面。 软件开发环境基本组成有三:交互系统、 工具集和环境数据库 。 软件开发工具在软件开发环境中以综合、一致和整体连贯的形态来支持软件的开发。,软件开发环境,四、软件开发环境的分类 根据各种软件环境的特点,软件开发环境的类型包括: 1.按研制目标分类 应用领域不同,如开发环境、项目管理环境、质量保证环境和维护环境等 。 2.按环境结构分类 基于语言的环境、基于操作系统的环境和基于方法论的环境 。 3.按工作模式分类 交互式、批处理式和个人分布式环境等。 。,1.6 软件开发过程,任一软件均有一个生存过程,从定义到开发、使用和维护,直到最终被废弃,这段时期称为生存周期。 软件生存周期分为以下步骤: S1: 问题定义 S2: 可行性研究 S3: 需求分析 S4: 概要设计 S5: 详细设计 S6: 编码 S7: 测试 S8: 运行与维护 软件生存期分为三个阶段:计划阶段、开发阶段和维护阶段 。,1.7 常用开发环境,目前,较流行的操作系统平台环境有: Windows ,Unix ,Linix etc. 1.7.1 Windows 98 开发环境 一、Windows 操作系统 1. Windows 操作系统的特点: 面向对象的图形用户界面、一致的用户接口、图形输出和多任务等。 2. Windows 编程的四个特点: 事件驱动、消息循环、图形输出、资源共享。,常用开发环境,3. Windows 的基本用户界面对象: 包括窗口、标题栏、图标、光标、插入符号、对话框、控件等 。 4. Windows 应用程序的基本组成和生成过程 :要经过编译、连接两个阶段 。 5. Windows 应用程序的开发工具:Visual-C+,Visual Basic, Delphi 等 。 6. Windows 程序开发 :在Windows 中,程序的基本单位是窗口,从面向对象的观点看,窗口本身就是一个对象。因此,用面向对象的方法进行Windows 程序设计与开发是很方便的。,关于Windows 程序开发的补充,在Windows中,程序的基本单位不是过程和函数,而是窗口。一个窗口是一组数据的集合(窗口函数)。从面向对象的角度来看,窗口本身就是一个对象,事件是发生在窗口上的事情。 Power Builder中的事件,如命令按钮有一叫“Clicked”事件,当鼠标单击,操作系统检测并把这消息传至该命令按钮。 故PowerBuilder与Windows中的事件存在着映射关系。,二、关于Windows98操作系统,1.Windows 98 的用户界面 : 是以高级 GUI 为特色的操作系统,有许多主要元素:窗口、对话框、消息框、控件等。 2. 用户界面元素: 有工具栏、状态栏、图象视图等。 3. 资源文件: 如对话框、菜单栏、光标等 。 4. 事件驱动系统: 5. 多任务操作: 6. MFC 库:MFC的本质就是一个包含微软公司已定义好的对象类库,便于对文件的操作、多媒体的使用、数据库的访问 。,三、Windows 98 开发环境,1. 用户接口 (1) 图形设备接口-GDI (2) 窗口和对话框-如应用窗口、对话框窗口。 (3) 文本-程序与用户对话的主要途径 。 (4) 标准控件-Windows 应用程序传送消息 。 (5) 常见控件-如工具栏、状态栏等 。 (6) 位图-包括设备相关位图( DDB )、设备无关位图 ( DIB ) 。应用程序用DDB在内存与屏幕之间传递消息, 显示信息图象 。,Windows 98 开发环境,2. 操作系统核心 (1) 内存模式 :32 位地址模式,内存4GB (2) 输入设备 :鼠标、键盘。 (3) 处理文件的方法 :利用MFC 的文档/视图结构 ; 3. Active X : 主要类型有 : (1) 容器程序 (2) 服务器程序 (3) 自动化程序 (4) Active X 控件,Windows 开发环境,4. 多媒体技术 允许程序开发者创建不同的Windows多媒体程序 。 5. VC 工具 (即 Visual C+ 开发
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号