软件开发环境.ppt
《软件开发环境.ppt》由会员分享,可在线阅读,更多相关《软件开发环境.ppt(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、School of Computer&Information 软件开发环境软件开发环境主讲人主讲人:邵邵 堃堃School of Computer&Information 软件开发环境讲授内容:软件开发环境讲授内容:软件开发环境重点教授面向软件开发过程的各类软件软件开发环境重点教授面向软件开发过程的各类软件开发工具和使用方法。开发工具和使用方法。讲述重点:讲述重点:1.了解软件工程中方法,工具和过程之间的基本概念,及了解软件工程中方法,工具和过程之间的基本概念,及其相互关系(讲述为主);其相互关系(讲述为主);2.了解当前的主要软件开发方法,结构化开发、面向对象了解当前的主要软件开发方法,结构
2、化开发、面向对象开发、面向方面开发和面向组件的开发等(学生自己开发、面向方面开发和面向组件的开发等(学生自己查找资料,然后做报告);查找资料,然后做报告);School of Computer&Information 软件开发环境讲授内容:软件开发环境讲授内容:3.了解针对这些开发方法的主要工具软件(学生自己查找了解针对这些开发方法的主要工具软件(学生自己查找资料,然后做报告),重点介绍面向对象开发方法资料,然后做报告),重点介绍面向对象开发方法UML,及其开发工具,及其开发工具RationalRose(讲述为主讲述为主)。软件。软件开发工具、软件测试工具和软件开发过程项目管理工开发工具、软件
3、测试工具和软件开发过程项目管理工具;具;School of Computer&Information 软件开发环境的背景软件开发环境的背景l软件工程化的背景;软件工程化的背景;l软件规模化的背景;软件规模化的背景;l软件产业化的背景;软件产业化的背景;School of Computer&Information 软件开发环境的定义l软件开发环境软件开发环境(SoftwareDevelopmentEnvironment)是指在基本硬件和宿至软件的是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称开发和维护而使
4、用的一组软件,简称SDE。l它由软件工具和环境集成机制构成,前者用以它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及治理提供统为工具集成和软件的开发、维护及治理提供统一的支持。一的支持。School of Computer&Information 软件开发环境中各类元素之间的关系SoftwareEngineeringa“quality”focusa“quality”focusprocessmodelprocessmodelmethodsmethodstoolstools注:软件工程的三个基本要
5、素:方法、工具和过程过程:规定了完成各项任务的过程;方法:完成软件开发的各项任务的技术方法;工具:软件工程的支撑环境;School of Computer&Information 软件开发环境的分类-按开发模型和开发方法分支持支持瀑布模型瀑布模型、演化模型演化模型、螺旋模型螺旋模型、喷泉模型喷泉模型以及以及结构化方法结构化方法、信息模型方信息模型方法法、面向对象方法面向对象方法等不同模型及方法的等不同模型及方法的软件开发环境。软件开发环境。School of Computer&Information 软件开发环境的分类-按功能及结构特点分类有有单体型单体型、协同型协同型、分散型分散型和和并发型
6、并发型等等多种类型的软件开发环境。多种类型的软件开发环境。School of Computer&Information 软件开发环境的分类-按开发阶段分类l前端开发环境前端开发环境(支持系统规划、分析、设计等阶段支持系统规划、分析、设计等阶段的活动的活动);l后端开发环境后端开发环境(支持编程、测试等阶段的活动支持编程、测试等阶段的活动);l软件维护环境;软件维护环境;l逆向工程环境;逆向工程环境;此类环境往往可通过对功能较全的环境进行剪裁此类环境往往可通过对功能较全的环境进行剪裁而得到。而得到。School of Computer&Information 软件开发环境的分类-按应用范围分类有
7、有通通用用型型和和专专用用型型软软件件开开发发环环境境。其其中中专用型软件开发环境与应用领域有关;专用型软件开发环境与应用领域有关;School of Computer&Information 软件开发环境的构造软软件件开开发发环环境境由由工工具具集集和和集集成成机机制制两两部部分分构构成成,工工具具集集和和集集成成机机制制间间的的关关系系如如同同“插件插件”和和“插槽插槽”间的关系。间的关系。School of Computer&Information 工具集软件开发环境中的工具可包括:软件开发环境中的工具可包括:支支持持特特定定过过程程模模型型和和开开发发方方法法的的工工具具,如如支支持持
8、瀑瀑布布模模型型及及数数据据流流方方法法的的分分析析工工具具、设设计计工工具具、编编码码工工具具、测测试试工工具具、维维护护工工具具,支支持持面面向向对对象象方方法法的的OOA工工具具、OOD工具和工具和OOP工具等;工具等;独独立立于于模模型型和和方方法法的的工工具具,如如界界面面辅辅助助生生成成工工具具和和文文档出版工具;档出版工具;亦可包括管理类工具和针对特定领域的应用类工具。亦可包括管理类工具和针对特定领域的应用类工具。School of Computer&Information 集成机制对对工工具具的的集集成成及及用用户户软软件件的的开开发发、维维护护及及管管理理提提供供统统一一的的
9、支支持持。按按功功能能可可划划分分为为环环境境信信息息库库、过过程程控控制制及及消消息息服服务务器器、环环境境用用户户界界面面三三个个部部分。分。School of Computer&Information 环境信息库是是软软件件开开发发环环境境的的核核心心,用用以以储储存存与与系系统统开开发发有有关关的的信信息息并并支支持持信信息息的的交交流流与与共共享享。库库中中储储存存两两类类信信息息,一一类类是是开开发发过过程程中中产产生生的的有有关关被被开开发发系系统统的的信信息息,如如分分析析文文档档、设设计计文文档档、测测试试报报告告等等;另另一一类类是是环环境境提提供供的的支支持持信信息息,如
10、如文文档档模模板板、系系统统配配置置、过过程程模模型型、可复用构件等。可复用构件等。School of Computer&Information 过程控制和消息服务器是是实实现现过过程程集集成成及及控控制制集集成成的的基基础础。过过程程集集成成是是按按照照具具体体软软件件开开发发过过程程的的要要求求进进行行工工具具的的选选择择与与组组合合,控控制集成并行工具之间的通信和协同工作。制集成并行工具之间的通信和协同工作。School of Computer&Information 环境用户界面包包括括环环境境总总界界面面和和由由它它实实行行统统一一控控制制的的各各环环境境部部件件及及工工具具的的界界
11、面面。统统一一的的、具具有有一一致致视视感感(Look&Feel)的的用用户户界界面面是是软软件件开开发发环环境境的的重重要要特特征征,是是充充分分发发挥挥环环境境的的优优越越性性、高高效效地地使使用用工工具具并并减减轻轻用用户户的的学学习习负负担担的保证。的保证。School of Computer&Information 完善的软件开发环境通常具有如下:l(1)软件开发的一致性及完整性维护;软件开发的一致性及完整性维护;l(2)配置管理及版本控制;配置管理及版本控制;l(3)数据的多种表示形式及其在不同形式之间自动转换;数据的多种表示形式及其在不同形式之间自动转换;l(4)信息的自动检索及
12、更新;信息的自动检索及更新;l(5)项目控制和管理;项目控制和管理;l(6)对方法学的支持;对方法学的支持;School of Computer&Information 软件开发环境与软件开发方法l软软件件开开发发方方法法(SoftwareDevelopmentMethod)是是指指软软件件开开发发过过程程所所遵遵循循的的办办法法和和步步骤骤。软软件件开开发发活活动动的的目目的的是是有有效效地地得得到到一一些些工工作作产产物物,也也就就是是一一个个运运行行的的系系统统及及其其支支持持文文档档,并并且且满满足足有有关关的的质质量量要要求求。软软件件开开发发是是一一种种非非常常复复杂杂的的脑脑力力
13、劳劳动动,所所以以经经常常更更多多讨讨论论的的是是软软件件开开发发方方法法学学,指指的的是是规规则则、方方法法和和工工具具的的集集成成,既既支支持持开开发发,也也支支持持以以后后的的演演变变过过程程(交交付付运运行行后后,系统还会变化,或是为了改错,或是为了功能的增减系统还会变化,或是为了改错,或是为了功能的增减)。School of Computer&Information 典型的软件开发和系统演化的活动分析、设计、实现、确认分析、设计、实现、确认(测试验收测试验收)、演、演化化(维护维护)School of Computer&Information 覆盖开发全过程,并且便于在各阶段间的过渡
14、;覆盖开发全过程,并且便于在各阶段间的过渡;便于在开发各阶段中有关人员之间的通信;便于在开发各阶段中有关人员之间的通信;支持有效的解决问题的技术;支持有效的解决问题的技术;支持系统设计和开发的各种不同途径;支持系统设计和开发的各种不同途径;在开发过程中支持软件正确性的校验和验证;在开发过程中支持软件正确性的校验和验证;软件开发方法应该考虑的一般因素School of Computer&Information 软件开发方法应该考虑的一般因素便于在系统需求中列入设计、实际和性能的便于在系统需求中列入设计、实际和性能的约束;约束;支持设计师和其他技术人员的智力劳动;支持设计师和其他技术人员的智力劳动
15、;在系统的整个生存周期都支持它的演化;在系统的整个生存周期都支持它的演化;受自动化工具的支持。受自动化工具的支持。此外,在开发的所有阶段,有关的软件产物都应该是可见和可控此外,在开发的所有阶段,有关的软件产物都应该是可见和可控的;软件开发方法应该可教学、可转移,还应该是开放的,即可的;软件开发方法应该可教学、可转移,还应该是开放的,即可以容纳新的技术、治理方法和新工具,并且与已有的标准相适应以容纳新的技术、治理方法和新工具,并且与已有的标准相适应可称为应用型软件开发环境。可称为应用型软件开发环境。School of Computer&Information 主要的面向对象软件工程方法主要的面向
16、对象软件工程方法wCRC卡wUMLSchool of Computer&Information CRC卡一种简单的面向对象建模方法卡一种简单的面向对象建模方法CRC(Class-Responsibility-Collaborator)卡建模是一种简单且有效卡建模是一种简单且有效的面向对象的分析技术。它由三部分组的面向对象的分析技术。它由三部分组成:成:1.类类(Class)2.职责职责(Responsibility)3.协作协作(Collaborator)School of Computer&Information CRC卡的类卡的类一个类代表许多类似的对象。而对象是系统模型一个类代表许多类似
17、的对象。而对象是系统模型化中关注的事物。他们可以是一个人、地方、事化中关注的事物。他们可以是一个人、地方、事情、或任何对系统有重要性的概念。类名一般列情、或任何对系统有重要性的概念。类名一般列在在CRC卡的顶部。卡的顶部。School of Computer&Information CRC卡的职责卡的职责职责是类需要知道或做的任何事物。这些职责是类职责是类需要知道或做的任何事物。这些职责是类自身所知的知识,或类在执行时所需的知识。自身所知的知识,或类在执行时所需的知识。School of Computer&Information CRC卡的协作卡的协作协作是指为获取消息,或协助执行活动的其他类
18、。协作是指为获取消息,或协助执行活动的其他类。在特定情形下,与指定的类按一个设想共同完成在特定情形下,与指定的类按一个设想共同完成一个一个(或许多或许多)步骤。协作的类顺着步骤。协作的类顺着CRC卡的右边卡的右边排列。排列。School of Computer&Information CRC模型模型CRC模型是CRC卡的集合,它代表一个应用域或问题域的全部或一部分。School of Computer&Information CRC范例范例CRC模型是最普遍的用户。图中展示了一个航运/存货控制系统的CRC模型例子,展示的CRC卡将被放在一张书桌或工作桌上。注意卡的放置:相互协作的卡是彼此接近的
19、,无关系的卡不能放在附近。School of Computer&Information CRC卡的构建步骤一1、CRC模型组一起加入(模型组包括相关的客户领域人员、设计者、记录员、系统分析员等)。2、安排模型房间。3、进行集体自由讨论内容根据此CRC模型的系统目标进行,如系统是为谁开发的?那些商业业务需要这个系统的何种支持?工作时需要什么信息?总之尽量按能达到系统要求实现的目标进行,包括进行活动时对资源、条件、活动及人员的要求。School of Computer&Information CRC卡构建步骤二卡构建步骤二4、讲解CRC模型技术(完成集体讨论后,设计者将描述CRC模型过程。通常需要
20、花费十至十五分钟,该过程包括创造几个CRC卡范例,范例参考上图)。5、重复地执行CRC模型步骤。6、执行用例情景试验用户情景试验是一个任务过程模式,其中用户们将积极地参与以保证需求是准确的。基本的思想是一组商业领域专家(也就是客户方),设计者,系统分析员一步步通过一系列的用例证实CRC模能准确地反映出用户的需求。School of Computer&Information CRC模型的优点CRC模型就是一种沟通方式,客户方与开发方如何通过这种有效的、易实现、易操作的方式建立一个能描述准确的、双方达成共识的系统需求。CRC建模因为用户积极参与到模型的定义中,他们对工作的满意度就会增加,并与开发者
21、们并肩创造这个CRC模型,通过这个一连串的模型卡,双方对待建的系统需求目标达成共识。School of Computer&Information CRC卡的缺点CRC模型只是一个面向对象应用的用户需求定义的一部分。你也应该考虑到用例,原型,和正式的需求文档。是否要使用CRC建模,就根据项目、企业、客户自身存在和所需的条件而定了School of Computer&Information 面向对象的软件过程面向对象的软件过程-喷泉模型喷泉模型 需求阶段面向对象分析阶段面向对象设计阶段编码阶段集成和测试阶段运行状态进一步开发维护期喷泉模型的生命周期与结构化方法的生命周期是一致的,但喷泉模型的各个阶
22、段是迭代和无缝的。School of Computer&Information 面向对象的软件过程面向对象的软件过程-RUP-RUP RUP的二维开发模型横轴是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭 代(Iteration)和 里程 碑(Milestone);纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)。School of Computer&Information RUPRUP的各
23、个阶段和里程碑的各个阶段和里程碑-横向横向 RUP中的软件生命周期在时间上被分解为四个顺序的阶段初始阶段初始阶段(Inception)(生命周期目标里程碑)前景文档:对核心项目要求、关键性质、主要限制的一般性的前景说明;初始的用例模型(完成1020);初始的项目术语表;初始的商业用例,包括商业环境、验收规范以及成本预测;初始的风险评估;项目规划,其中明确阶段和迭代;商业模型,根据需要可选;一个或多个原型;细化阶段细化阶段(Elaboration)(生命周期结构里程碑)构造阶段构造阶段(Construction)(初始运行能力)交付阶段交付阶段(Transition)(产品发布里程碑)用例模型(
24、至少完成80):识别出了所有的用例和角色,以及大多数用例的描述;调整一些增加的需求,包括非功能性需求以及任何与特定用例无关的需求;软件体系结构描述;可执行的体系结构原型;修订后的风险表和商业用例;整个项目的开发计划,包括粗略项目规划,显示迭代过程以及相应的评估准则;更新的开发用例,指定要使用的过程;初步的用户手册(可选);在特定平台上集成的软件产品;用户手册;对当前版本的描述;beta测试确认新系统达到用户的预期;与被取代的旧系统并行操作;功能性数据库的转换;用户和维护人员培训;向市场、分销商和销售人员进行新产品的展示;School of Computer&Information RUPRUP
25、的核心工作流的核心工作流-纵向纵向 描述如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化。分析设计的结果是一个设计模型和一个可选的分析模型。目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 环境
限制150内