《软件工程》实验指导书(信计).docx
《《软件工程》实验指导书(信计).docx》由会员分享,可在线阅读,更多相关《《软件工程》实验指导书(信计).docx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、授课专业:信息与计算科学授课教师: 江志华实验学时: 16 学 时数学与信息科学学院2012年2月实验1 软件工程概念与相关工具1.1软件工程的计算环境(实验估计时间:90 分钟)1.1.1 背景知识软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。 软件开发方法就是开发软件的规范化方法。软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。软件工具和软件开发环境都是软件
2、工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment) 和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。1.1.2 实验目的1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期
3、各阶段的定义和内容。2)通过 Internet 搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。1.1.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。需要准备一台带有浏览器、能够访问因特网的计算机。1.1.4 实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:这个定义的来源是:2)“软件生存周期”是软件工程技术的重要基础,是对软件的长远发展的看法,这种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生存周期之内。请查阅有关资料,给出“软件生存
4、周期”的定义:这个定义的来源是:3)“软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要内容是:这个定义内容的来源是:4)由于工作对象和范围的不同以及经验的不同,对软件生存周期过程中各阶段的划分也不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是:你认为把软件生存周期划分为不同阶段的意义何在:5)上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技术支持工作?并将搜索结果记录下来。提示:一些软件工程专业网站的例子包括www.51CMM.COM(软件工程专家网)www.SA-SE.COM(系统分析&软
5、件工程网)www.SERCenter.COM(软件工程研究中心)www.UML.NET.CN(火龙果软件工程-UML 软件工程组织)你习惯使用的网络搜索引擎是:你在本次搜索中使用的关键词主要是:表 1-1 软件工程专业网站实验记录网站名称网址内容描述在本实验中将你感觉比较重要的2个软件工程专业网站记录下来: 网站名称: 网站名称:综合分析,你认为各软件工程专业网站当前的技术(如培训内容)热点是: 名称:主要内容: 名称:主要内容: 名称:主要内容:1.2工具、环境与CASE(实验估计时间:90分钟)1.2.1 背景知识软件工程的主要目标是提高软件生产率,改善软件质量和降低软件成本,而这些目标的
6、实现必须依靠软件工具、软件开发环境和计算机辅助软件工程(CASE)的广泛应用。1. 软件工具软件工具是“可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理等目的而编制的计算机程序或软件。”它一般是为专门应用而开发,其主要目的是为了提高软件生产率和改善软件的质量。如今,软件工具重视用户界面的设计,不断地采取新理论和新技术,正由单个工具向多个工具集成的方向发展,且注重工具间的平滑过渡和互操作性。软件工具的商品化推动着软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。软件工具的范围很广,它既包括比较成熟的传统工具,如操作系统、编译程序、解释程序
7、和汇编程序等,又包括支持软件生存周期各阶段,如需求分析、设计、编码、测试、维护等的开发和管理工具。例如,一项分类标准把软件工具分为13类,它们是系统模拟和模型工具、需求追踪工具、需求分析工具、设计工具、 编码和单元测试工具、测试和集成工具、文档工具、项目管理工具、配置管理工具、质量保证工具、度量工具、软件再用工具、其他工具。2. 软件开发环境软件开发环境是指在计算机基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。1985年第八届国际软件工程会议提出的关于“软件开发环境”的定义是:“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。”一
8、般说来,软件开发环境都具有层次式的结构,例如可区分为四层:1)宿主层:它包括基本宿主硬件和基本宿主软件。2)核心层:包括工具组、环境数据库、通信设施和运行时刻支持设施。3)基本层:包括一组工具,如编译程序、编辑程序、调试程序、连接程序和装配程序等。这些工具都是由核心层来支持的。4)应用层:以特定的基本层为基础,包括一些补充工具,借以更好地支持各种应用软件的研制。按内容分,软件开发环境一般由环境数据库、接口软件和工具组等构成。1)环境数据库。这是软件开发环境的核心,其中存放的信息有被研制软件在其生存周期中所必需的信息和软件研制工具的有关信息等。例如,它把经过各种软件工具加工后的软件产品和半成品(
9、如各种文件、源代码及测试数据)存入库内,以便根据需要进行查询、修改或输出等。在环境数据库中,可以分别标识的信息组称为对象;作为一组相关的版本而存在的一组对象称为版本组。把一个项目中各个不同的“对象组”组合起来,就可以构成各种不同的软件配置。2)接口软件。包括系统与用户的接口、子系统和子系统之间的接口。开发环境要求所有的接口都具有统一性。例如,为了实现用户和各种系统的通信,要求有统一调用方式。3)工具组。软件开发环境中的工具彼此有交互作用。工具组中的各个工具被设计成由一些基本功能成分组成。这些成分可以组合,供用户选用,并且可通过环境数据库进行通信。 语言工具。它一般提供编译(或解释)程序、连接装
10、配程序、调试程序、 静态及动态分析程序等一系列语言支撑工具。也有的系统支持非过程语言的运行。 质量保证工具。目前大量使用的仍是静态、动态测试技术以及各种形式的评审技术。与形式方法相联系的程序证明和验证技术已为许多专家所重视。 需求分析及设计工具。主要由文本编辑工具、图形工具及一致性检验工具等支持。 配置管理工具。对于不同用户或不同的硬件配置,一个系统往往需不同的软件配置;即使同一软件也有不同的版本;加上软件产品的修改需要进行严格的管理等原因,软件的配置管理已成为软件生产管理的重要课题。软件开发环境的发展方向是集成化的软件工程环境,即软件生存周期中各个阶段的开发环境(工具与支持系统)集成为一致的
11、用户接口,包括制定各种标准接口。以下一些名称具有相同或类似的含义:软件开发环境(SDE)、软件工程环境(SEE)、软件支持环境(SSE)、项目支持环境(PSE)、自动开发环境(ADE)、 集成化程序设计环境(IPE)、工具盒(Toolbox)、工具箱(Toolkit)。3. 计算机辅助软件工程(CASE)CASE 是一组工具和方法的集合,用来辅助软件开发生命周期各阶段进行软件开发,它是软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物,CASE 把软件开发技术、软件工具和软件开发方法集成到一个统一的框架中,并且吸取了计算机辅助设计(CAD)、软件工程、操作系统、数据库、
12、网络和许多其他计算机领域的原理和技术。因而,从产业角度讲,CASE 是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE 可以简单到单个工具,它支持某个特定的软件工程活动,或者复杂到一个完整的环境,包含了工具、数据库、人员、硬件、网络、操作系统、标准以及许多其他部件。CASE的构造积木块如图 1-1 所示。每个构造积木块是形成其上一层的基础,而 CASE工具位于构造积木块的顶部。 环境体系结构由硬件平台和操作系统(包括网络和数据库管理软件)构成, 铺设了CASE的基石。但是,CASE 环境本身要求其他的构造积木块。一组可移植服务提供了CASE工具及其集成框架与环境体系结构间的连接桥梁
13、。集成框架是一组专用程序,它们使得单个的 CASE工具可以和其他工具相互通信,能够创建项目数据库,以及使终端用户(软件工程师)看到同样的软件界面。可移植服务允许CASE工具及其集成框架能够跨越不同的硬件平台和操作系统使用,而不需要大量的相应修改。某些CASE工具保持“点解决方案”,即工具被用于辅助某个特定的软件工程活动(如分析建模),但并不直接和其他工具通信,不关联到一个项目数据库,也不是某个集成CASE环境的一部分。这种方案虽然不很理想,但CASE工具仍可以被有效地使用。对 CASE 工具的分类,可以根据功能、它们被作为管理工具还是技术工具、它们在软件工程过程各个步骤中的使用、支撑它们的环境
14、体系结构(硬件和软件)、或者它们的起源或价格来划分。按使用的功能来进行分类,主要有: 信息工程工具。 过程建模和管理工具。 项目计划工具。 风险分析工具。 项目管理工具。 需求跟踪工具。 度量和管理工具。 文档工具。 系统软件工具。 质量保证工具。 数据库管理工具。 软件配置管理工具。 分析和设计工具。 原型和仿真工具。 界面设计和开发工具。 原型工具。 编程工具。 集成和测试工具。 静态分析工具。 动态分析工具。 测试管理工具。 客户/服务器测试工具。 再工程工具。4GB/T158531995软件支持环境GB/T158531995软件支持环境规定了软件支持环境(software suppor
15、t environment)的基本要求,软件开发支持环境的内容及实现方法,以及对软件生存期支持部门软件支持能力的具体要求,适用于软件支持环境的设计、建立、管理和评价。GB/T158531995 定义的软件支持环境由一个宿主机系统,加上其他有关的设备和规程而构成。它能对目标机系统(或对功能和物理上相关的一组目标机系统)的软件提供全面的支持,包括性能评价、系统与软件生成、开发与修改测试、模拟与仿真、培训、软件集成、配置管理、软件的运行分配。软件支持环境又分为软件开发支持环境和软件生存期支持环境两种类型。前者是由软件开发单位确定、并经任务委托单位认可的资源,用于支持合同项目中的软件需求;而后者是由软
16、件生存期支持部门使用的(属于任务委托单位的)资源,用于为指定的目标机系统提供整个生存期内的软件支持。1.2.2 实验目的1)熟悉软件工具、软件开发环境以及 CASE 工具的基本概念及其分类。2)了解主流的软件工具和软件开发环境产品。3)通过 Internet 搜索与浏览,了解软件工具、软件开发环境和 CASE 工具的发展与应用状况,进一步掌握通过专业网站丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。4)了解 GB/T15853-1995软件支持环境的相关内容。1.2.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。请联系指导老师或者熟识软
17、件工程技术的人士,如软件企业的职员和具有丰富开发经验的老师等,了解他(她)们所在的企业或开发团队在软件研发活动中, 是否使用以及使用了哪些软件工程的工具和开发支持环境,在什么地方可以找到关于这些软件工具、开发环境和 CASE 工具的技术资料和信息。需要准备一台带有浏览器、能够访问因特网的计算机。1.2.4 实验内容与步骤在本实验中,我们复习相关的技术概念,列举并简单介绍一些主流和优秀的软件工具、软件开发环境和 CASE 工具产品。1. 软件工具、开发环境和 CASE 的概念在软件工程技术中,无论采用哪一种开发方法,重要的是要尽可能地使用自动化工具来提高系统开发工作的速度和质量。1)请查阅有关资
18、料(例如教材、本实验的“背景知识”和专业网站等),结合自己的理解,给出“软件工具”、“软件开发环境”和“CASE 工具”的定义: 软件工具: 软件开发环境: CASE 工具:提示:在实际应用中,并不是所有支持系统开发的工具都被供应商称为CASE工具,如今的供应商有可能把他们的工具称为可视化建模工具、集成应用开发工具或往返工程工具等。2)请填写以下术语的英文缩写,并思考、理解其含义。 软件开发环境: 软件工程环境: 软件支持环境: 项目支持环境: 自动开发环境: 集成化程序设计环境: 工具盒: 工具箱:3)GB/T158531995软件支持环境规定的软件支持环境的基本要求是:2. Microso
19、ft VisioVisio 实际上只是一个绘图工具。但是,由于其所具有的强大的专业绘图功能,系统分析员可以用 Visio 来创建 CASE 应用中所需要的任何系统模型。Visio 带有一个绘图模板集,包含了用于各种商业和工程应用的符号。其中的软件和系统开发模板提供了流程图、数据流图、实体-联系(E-R)图、UML 图以及其他许多图形符号。模板提供了一个用于存储图表元素的定义和描述信息的有限资料库。尽管 Visio 并没有提供用于系统项目开发的完整资料库,但许多系统开发人员还是喜欢 Visio 所提供的绘制必要图表的灵活性。请通过网络搜索,简单了解和体会 Visio 工具的应用状况:3. Vis
20、ible Analyst集成应用程序开发工具Visible Analyst是可视系统公司()的产品。这种工具使得绘制典型的传统模型如数据流图和E-R图更加容易,同时也能支持面向对象UML模型。Visible Analyst包含了一个用于定义系统组件并提供错误检测以及一致性检验支持的资料库。请通过网络搜索,简单了解和体会 Visible Analyst 工具的应用状况:4. Oracle DesignerOracle公司()将Oracle Designer描述成个工具集。该工具集用来记录定义并快速构造灵活、图形化的客户-服务器应用。它常常与Oracle Developer集成在一起。而Oracl
21、e Developer是一个用于在Oracle关系数据库上创建 GUI应用的开发工具。Oracle Designer包括一个完整的资料库,具有图形表示功能和代码生成功能,是一个支持传统的系统开发方法的集成CASE工具。用于分析的系统模型程序包括一个过程模型程序、功能等级绘图程序、数据流绘图程序以及 E-R 绘图程序。Design Transformer 以及 Design Editor 使用它所生成的图表以及资料库中的详细定义来创建数据库和应用逻辑。请通过网络搜索,简单了解和体会 Oracle Designer 工具的应用状况:5. Rational Rose作为 UML 支撑环境的 Rati
22、onal Rose 可视化建模工具,如今已是 IBM 公司的专门用来支持面向对象方法的工具。Rational Rose 可用于 Rational 统一过程(RUP) 或使用 UML 图表的任何方法。该工具除提供资料档案库外还提供逆向工程和代码生成能力,同时也能和其他工具结合使用,从而提供一个完整的系统开发环境。UML 是一种面向对象分析与设计(OOA&D)方法的可视化建模语言,适用于以面向对象技术来描述任何类型项目,适用于系统开发的不同阶段,包括需求规格描述直至系统实现后的测试、维护和发布等。而 Rational Rose 则是实现这种建模语言的工具,相当于 UML 的编译与解释系统。Rose
23、 是一个以 UML 语言为基础的软件支撑环境,即面向对象的 CASE 工具。请通过网络搜索,简单了解和体会 Rational Rose 工具的应用状况:6. Together Soft往返工程是软件工程工具中的一个新概念。由于系统开发是经常反复的过程,尤其在面向对象方法中。因此,对图形模型(例如类图)和生成程序代码进行同步操作是很重要的。比如,如果分析员改变了程序代码,那么类图也需要更新。 同样地,如果类图改变了,那么程序代码也要更新。往返工具将自动地完成两个方向上(往返)的同步过程。Together Soft公司()在其称为Together的工具中首先采用了往返工程。Together使用UM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实验 指导书
限制150内