《软件开发平台与工具的意义》由会员分享,可在线阅读,更多相关《软件开发平台与工具的意义(8页珍藏版)》请在金锄头文库上搜索。
1、软件开发平台与工具的意义 学号:20087610715 班级:软件工程08级7班姓名:李瑞民 背景知识软件开发平台是一种软件开发工具,以通用技术架构(如MVC)为基础,集成常用建模工具、二次开发包、基础解决方案等而成。可以大幅缩减编码率,使开发者有更多时间关注客户需求,在项目的需求、设计、开发、测试、部署、维护等各个阶段均可提供强大的支持。 软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的软件开平台应运而生。 平台是一段时间内科研成果的汇聚,也是
2、阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,目前国内的管理软件市场,软件开发平台的应用已经成为一种趋势。 目前国内的软件开发平台,除国际品牌如IBM,国内平台商比较成熟的有Justep、普元、昕友亿方、创恒信、北京百特安茂信息技术有限公司提供的VisualSet开发平台,以及山东金现代信息技术有限公司出品的轻骑兵软件开发平台等,部分管理软件企业也开始借力平台提升企业竞争力,如用友。 软件开发工具包(Software Development Kit, 即 SDK)是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开
3、发工具的集合。 它或许只是简单的为某个程序设计语言提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。 软件工程师通常从目标系统开发者那里获得软件开发包。为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。SDK 经常可以直接从互联网下载。有时也被作为营销手段。例如,甲产品或许会免费提供 构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。 需求收集中的作用对商业用户来说,他们后面是成百上千个供应商,前面
4、是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。实际情况是用户,开发者都认识了到了上面的几点问题,但是由于需 求的变更可能来自客户方, 也可能来自开发方, 作为客户他们可能不愿意为需求的变更付出 更多的投资,开发方有可能是主动的变更了需求,他们的目的可能是使软件做的更精致,于 是作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方各得其所. 基于上述的问题,必须对需求进行管理,使需求
5、能够真正成为软件工程和管理的基线, 使软件计划,活动和工作产品同软件需求保持一致,使需求可以复用. 需求一定要与投入有必然的联系. 需求一定要与投入有必然的联系, 否则如果需求变更的成本由开发方来承担, 则项目需 求的变更就成为必然了.人们常说世上没有免费的午餐,同样也不应该有免费的需求变更. 但是,接受需求变更目前却是软件开发商不得不咽下的苦果.所以,在项目的开始无论是开 发方还是出资方都要明确这一条:需求变,软件开发的投入也要变. 2,需求的变更要经过出资者的认可. 需求的变更引起投入的变化, 所以要通过出资者的认可, 这样才会对需求的变更有成本 的概念,能够慎重地对待需求的变更.笔者曾经
6、经历过一个项目,为了避免项目的风险,我 们请了用户代表全程参与了开发过程, 结果此用户代表在开发过程提出了大量 小的需求变 更,当开发人员按此需求变更修改了软件时,在项目进入现场实施阶段时,却有大量的这些 变更需要改回去, 问题就是出在我们的项目组成员视该用户代表的需求为圣旨, 却忽略了需 求是否经过了客户方真正有决策权的人员的认可. 3,小的需求变更也要经过正规的需求管理流程. 小的需求变更也要经过正规的需求管理流程,否则会积少成多.在实践中,人们往往不 愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间.下图为需求金字塔:软件设计中的作用:软件的设计是一个将需求转变
7、为软件陈述(表达)的过程。这种陈述给一个对软件的全局观点。系统通过逐步求精使得设计陈述逐渐接近源代码。这里有两个基本步骤:第一步是初步设计 Preliminary design ,关注于如何将需求转换成数据和软件框架。 第二步是详细设计Detail design ,关注于将框架逐步求精细化为具体的数据结构和软件的算法表达。发生中的设计行为、数据、算法和程序设计需要由现代程序所需的界面设计这一清晰的行为来结合起来。界面设计 Interface design 建立程序布局和人机交互机制。贯穿设计过程的质量由一系列的 正式技术评定 formal technical reviews 或 设计排演 de
8、sign walkthroughs 来评价。它不仅从项目管理的角度帮助人们组织与实施项目,把有关进度、资源、质量、验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新、实现了跨生命周期的信息管理与共享,为信息以及软件的复用创造了条件。IBM Rational Unified Process (RUP) 是 IBM Rational指导软件开发的方法论。在多年的软件开发实践中,IBM从众多的合作伙伴和客户的上千个成功项目中不断地总结经验教训,经过收集和整理后得到了一套实用的最佳实践,这些最佳实践经验就构成了 Rational Unified Process。利用 RUP 所定义
9、的流程来指导软件开发,就可以最大程度地降低项目的风险,增加项目开发的可预测性,确保项目按照预定的计划按时发布,同时能够交付高质量的软件产品。RUP中详细定义了软件开发过程中所涉及的三大要素: 角色(Role):在项目开发过程中承担某一职责的人; 活动(Activity):构成整个项目的开发活动; 工件(Artifact):某一开发活动所处理的信息,包括文档、模型、代码等。除了角色、活动、工件之外,RUP中针对每一个工件,提供了模板(Template)和检查点列表(Checkpoints)来帮助开发人员来开发这一工件;针对每一个开发活动,RUP也提供了工作指南(Guideline)和工具向导(T
10、ool Mentor)来指导相应的开发;并且RUP中也提供了丰富的示例来作为学习的参考。所有的这些内容都被组织在 9 个规程下,每个规程中都定义有详细的工作流(Workflow)来指导开发人员在什么时候从事什么样的开发活动。RUP将软件开发的最佳实践经验总结在这些内容中,并且通过这些内容来为开发人员提供最完善的指导,从而保证项目能够按时按质的完成。代码设计中的作用:代码是人为确定的代表客观事物(实体)名称、属性或状态的符号 或者是这些符号的组合。软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的
11、成熟和通用,功能更强大、更能满足企业级客户需求的软件开平台应运而生。IBM Rational Software Architect(RSA) 是一个基于UML、实现模型驱动开发思想的设计和开发工具,既能很好地支持先进的、以模型为中心的模型驱动的开发模式,对传统的以代码为中心的开发模式同样具有强大的支持能力,尤其有助于帮助开发团队顺利、平滑地从以代码为中心转向以模型为中心,从而大大提供团队的开发能力、开发效率和开发质量。RSA 建立在开放的行业标准 Eclipse 平台之上。利用RSA可以创建具有良好架构的软件产品或系统。RSA 把软件设计和开发中需要的方方面面的功能集成为一个功能强大但却简单易
12、用的工具中,完全包含 RAD(Rational Application Developer)的全部功能。1.图 12: IBM Rational Software Architect(RSA)RSA 支持最新版的建模标准UML,支持模型到模型或模型到代码的转换,内置从 UML 模型到 C+/J2EE/Java 代码的转换引擎,同时提供强大的、基于标准的转换规则自定义和扩展机制;支持架构分析和基于规则的架构控制及架构发现;支持 SOA,ESB 等先进架构的生成;支持对模式和反模式的编写、发现及应用;支持代码重构及基于规则的代码静态自动分析和评审(甚至自动的修复),支持代码级的运行时自动分析(包括
13、运行在应用服务器容器中的代码,可以分析内存泄漏、代码覆盖率以及代码行级和方法级的性能);内置基于 JUNIT 并经过强大扩展的单元测试/组件测试能力;含有针对数据库对象的 IE 和 IDEF 图编辑器;RSA 的资产浏览器可以实现基于资产的开发和软件资产重用。RSA 的需求透视图可以直接浏览 RequisitePro 中的需求,从而实现从需求到模型到实施的追踪;RSA 同样支持与变更管理工具 ClearQuest 的无缝集成;RSA 内嵌 RUP,可以提供基于上下文的动态流程指导;另外,RSA 支持模型的比较和合并,支持与配置管理工具的集成。IBM Rational软件工具为开发人员和开发团队
14、提供了整个开发生命周期的支持。单独使用时,Rational 软件的每种工具在其各自市场领域中都处于领先地位。结合使用时,它们更是提供了无与伦比的自动化和易用性。Rational 软件工具可以在 Windows、Unix、Linux 和大型机平台上使用,并且可以支持绝大多数语言、IDE 和操作环境,其中包括:Java、Eclipse、C/C+/C#、Visual Basic .NET、Microsoft .NET、COM/+、CORBA、100 多个针对实时和嵌入式系统开发人员的开发环境,以及最新的 Internet/Web 服务标准。结束语纵观目前软件开发平台市场,虽然发展态势良好,但是否真正实现管理思想的落地,是其长期发展的关键因素。具备管理思想的软件开发平台也将得到企业更多青睐,以POBA应用开发平台为例。这是普巴软件有限公司在大中华管理理论根基上,结合丰富的经验,潜心研发多年而推出的新一代企业级应用开发平台,已在多个行业得到广泛应用,并赢得良好口碑。即便在信息化应用日益发达的今天,在中国本土企业的应用中,先进的信息化工具必须要与中国特色的管理思想相结合,才能真正在中国企业中实现广泛而深入的应用。而拥有先进信息化技术的软件开发平台只有荟萃了大中华管理精髓,才能适应企业的管理和业务需求,才能帮助CIO们走上成功的信息化建设之路,成为中国企业最贴合实际的选择。