如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
云南大学软件学院实验报告序号:实验老师:实验时间:实验名称:学号:姓名:实验目的1.掌握敏捷软件开发、极限编程、软件原型构造等快速软件开发方法2.掌握软件复用的基本概念和相关方法3.掌握设计模式在软件复用和快速软件开发过程中的基本应用方法4.掌握基于构件的软件工程方法实验内容通过查看资料,各小组在组长的带领下讨论下列问题,在归纳总结后以书面形式提交报告。阐述敏捷软件开发、极限编程、软件原型构造方法的基本原理,并举例说明实际使用案例。答:(1)敏捷开发:允许开发团队将主要精力集中在软件本身,而不是在设计和编码上,它普遍依赖于迭代方法来完成软件描述、开发和移交,主要用于支持业务应用的开发,这里的系统需求总是在开发过程中快速的变化的,软件开发人员通过此方法迅速开发完成和移交可用软件,如果客户提出了新的变化了的需求,软件开发人员就在下一个循环中实现。(2)极限编程:最为人所熟知的敏捷方法,在极限编程中所有的需求都表示为脚本(称为用户情节),并直接实现为一系列任务,在写代码之前开发人员两两结对工作完成对每个任务的测试描述,并且在新的代码加入到系统中时,所有测试必须成功执行。(3)软件原型构造方法:原型(Prototype)即把系统主要功能和接口通过快速开发制作为“软件样机”,以可视化的形式展现给用户,及时征求用户意见,从而明确无误地确定用户需求。同时,原型也可用于征求内部意见,作为分析和设计的接口之一,可方便于沟通。结合第14章内容,回答怎样用快速软件开发方法实现对气象台系统。答:(1)如果采用敏捷软件开发方法,那么开发团队就需要根据迭代开发方法完成气象台系统的软件描述、开发,并移交给用户使用,并根据用户的反应和回馈,在下一次迭代过程中针对新的需求对系统实现做出改变。(2)如果采用极限编程,由于极限编程最为人所熟知的敏捷方法,所以在系统的开发实现上它与敏捷软件开发方法是相似的,只是在需求表示方面,极限编程会将气象台系统的需求表示成用户情节,并将其实现为一系列任务。(3)如果采用软件原型构造方法,那么开发者会迅速构建气象台系统的软件样机,并以可视化的形式展现给用户,及时征求用户对于气象台系统软件样机的意见,准确的确定需求,并最终完成开发。结合第14涨给出的气象台系统,为一个应用族抽象其体系结构,该应用族能够处理远程监控和数据收集。答:因为快速软件开发方法主要用于数据密集型应用,所以采用快速软件开发方法实现的气象台系统将会以工具集的形式出现,并能够对气象数据进行创建、搜索、显示和报告生成。这需要快速软件开发环境的支持:(1)嵌入气象台数据库结构的知识,并包括基本的数据库计算的操作。(2)通过界面生成器来创建输入的气象数据和显示的气象数据表格。(3)通过与办公应用的连接,生成用于对气象数值信息进行分析和处理的电子表格,或者是用于报告模板创建的字处理器。(4)通过报告生成器从气象数据信息中定义和创建气象信息报告。体系结构如下所示:观察者报告生成卫星信息集成可视生成显示界面气球气象站讨论构件与webservice之间的区别。答:(1)构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口,构件代表系统中的一部分物理实施,包括软件代码或其等价物。构件是面向软件体系架构的可复用软件模块。构件是可复用的软件组成成份,可被用来构造其他软件,它可以是被封装的对象类、类树、一些功能模块、软件框架、软件构架(或体系结构)、文档、分析件、设计模式等。构件是作为一个逻辑紧密的程序代码包的形式出现的,有着良好的接口,开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的,软件构件技术是软件复用的关键因素,也是软件复用技术研究的重点。构件是一种软件元素,与某个构件模型要求相一致,按照组成标准无需修改即可独立进行部署和组合。软件构件应具有的属性:可用性、有用性、质量、适应性、可移植性。构件的特点:自描述、可定制、可集成、连接机制。(2)WebService是一个平台独立的、松耦合的、自包含的、基于可编程的Web的应用程序,可使用开放的XML标准描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。WebService的服务接口对具体的服务实现进行了封装,从而使客户端不知道服务是如何实现的,服务接口需要绑定具体实现服务的服务组建来实现服务。WebService能够在一些常规的计算中提供一些服务,从而完成一个具体的任务,处理相关的业务或者解决一个复杂的问题。WebService形成了创建分布式应用的构件,可在因特网或企业的内部网中发布及访问这些构件,WebService需要依赖一整套的开放的因特网标准。We