姓名: 班级: 学号:
实验一
实验目的与要求
(1) 理解软件
的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基本原理。
(2) 理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类。
(3) 通过Internet了解软件工程技术网站和主流的软件工程工具等。
实验内容
(1) 上网了解查询软件工程网站和相关软件工程知识。
(2) 了解软件工程环境概念、层次、组成和开发要求。
(3) 查询现有主流的软件工程工具及其功能、用途、特点及适用范围。
(4) 浏览CASE工具。通过互联网了解现有的软件工程主流工具,完成表1-2的内容。
表1-2 软件工程工具分类
工具类型
代表性的工具名称
特点
适用软件工程阶段
文档编写工具
Microsoft Word、Microsoft Visio
直观的操作界面、模板与向导功能、丰富的帮助功能等。
软件开发权过程
与
工具
PowerDesigner
功能强大,使用方便,提供增量的数据库开发功能,支持局部更新等。
实现、测试、有效性验证
版本控制工具
Visual Soure Safe
提供了基本的认证安全和版本控制机制,能够对文本、二进制、图形图像等文件进行控制。
设计、实现
配置管理工具
ClearCase
功能强大,但使用复杂,采用许多新的配置管理思想支持多版本、并行开发等。
设计、实现
测试工具
WinRunner、LoadRunner
WinRunner能够提高测试人员的工作效率和质量;LoadRunner能对整个企业架构进行测试。缩短测试时间,优化性能和加速应用系统的发布周期。
实现、测试、有效性验证
维护工具
Concurrent Version System
主要用于在多人开发环境下的源码的维护,实际上CVS可以维护任意文档的开发和使用.
软件开发权过程
调试工具
交互式调试系统
实现、测试、有效性验证
再工程工具
交叉索引系统、程序重构系统
实现
程序分析工具
交叉索引生成器、静态/动态分析器
实现、测试、有效性验证
(5) 使用一些常用的CASE工具,如Visio、Rose、VSS、CVS、CVS、Project、PowerDesigner、WinRunner、LoadRunner、Eclipse等,快速了解他们的基本功能和作用,完成表1-3的内容。
表1-3 一些常用的软件工程工具分析
工具名称
主要功能
界面特点
环境要求
Visio
绘图功能
Windows操作系统
Rose
能满足所有建模环境(Web开发,数据建模,Visual Studio 和 C++ )需求能力和灵活性
Windows 9X,NT ,Alpha NT, SGI,Solaris,AIX,Digital UNIX和HP-UX
VSS
负责项目文件的管理
Windows操作系统
CVS
主要用于在多人开发环境下的源码的维护
Windows操作系统
Project
项目管理
Windows操作系统
PowerDesigner
分别从概念模型和物理数据模型俩个层次对数据库进行设计。
Windows操作系统
WinRunner
用于检测应用程序是否能够达到预期的功能及正常运行。
Windows操作系统
LoadRunner
预测系统行为和性能的工业
级负载测试工具,能优化系统性能。
Windows操作系统
Eclipse
主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
只是一个框架和一组服务,用于通过插件组件构建开发环境。
操作系统
(6) 软件企业调查。通过各种方式了解企业使用哪些CASE工具以及适用环境,完成表1-4的内容。
表1-4 软件企业使用CASE工具调查
公司名称
使用的工具
使用环境
公司规模
北京赛优科技有限公司
MDAC2.8SP1 Ghost8.3 Winrar3.71 微软王码五笔 智能ABC5.23 希网动态IP
UNIX。
北京赛优科技有限公司坐落在北京市朝阳区中关村电子城西区,是享受国家特别扶持的高新科技企业,是面向全国专业从事行业信息软件研究、开发与系统集成的高科技公司。赛优是在医疗、通讯、电子商务信息化等领域为客户提供可靠、先进、完善的信息管理系统及其相关产品的技术支持与服务的专业软件公司,同时是国家认证的“双软”企业、高新技术企业、ICP许可运营商。
5. 请查阅有关资料,给“软件”下一个定义
软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。
6. “软件生存周期”是软件工程技术的重要基础,是对软件的长远发展的看法,这种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生存周期之内,请查阅有关资料,给出“软件生存周期”的定义。
软件生存周期(SDLC,软件生命周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
7. “软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要内容是:
软件生存周期过程指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动是任务的集合;任务要起着把输入进行加工然后输出的作用。活动的执行可以是顺序的、重复的、并行的、嵌套的或者是有条件地引发的。是一套关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关Artifacts(计划、文档、模型、编码、测试、手册等)组成。目前有三种方法:UP(the unified process),The OPEN Process,OOSP(The Object-Oriented Software Process)。可概括为三类:基本过程类、支持过程类和组织过程类。基本过程类包括获取过程、供应过程、开发过程、运作过程、维护过程和管理过程。支持过程类包括文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程以及问题解决过程。组织过程类包括基础设施过程、改进过程以及培训过程。软件生存周期过程主要针对软件生产和管理进行研究。为了获得满足工程目标的软件,不仅涉及工程开发,而且还涉及工程支持和工程管理。对于一个特定的项目,可以通过剪裁过程定义所需的活动和任务,并可使活动并发执行。与软件有关的单位,根据需要和目标,可采用不同的过程、活动和任务。
8. 由于工作对象和范围的不同以及经验的不同,对软件生存周期过程中各阶段的划分也不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是:
①问题定义
②可行性分析
③总体描述
④系统设计
⑤编码
⑥调试和测试
⑦验收与运行
⑧维护升级到废弃
你认为把软件生存周期划分为不同阶段的意义何在?
这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
9. 上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技术支持工作?并将搜索结果记录下来。
www.51CMM.COM(软件工程专家网)
www.SA-SE.COM(系统分析&软件工程网)
www.SERCenter.COM(软件工程研究中心)
www.UML.NET.CN(火龙果软件工程-UML 软件工程组织)
你习惯使用的网络搜索引擎是:
你再本次搜索中使用的关键词主要是:软件工程权威网站
网站名称 网址 内容描述
全球最大中文IT社区
为IT专业技术人员提供最全面的信息传播和服务平台
在本实验中将你感觉比较重要的2个软件工程专业网站记录下来。
① 网站名称:全球最大中文IT社区
② 网站名称:
综合分析,你认为各软件工程专业网站当前的技术(如培训内容)热点是:
① 名称:TD缺陷描述定义模板
主要内容:发现新的BUG的时候,每次在描述里面都得重新写一遍软件的版本,数据库,使用的用户等信息。
10. 综合分析,你认为各软件工程专业网站当前技术热点是: