《软件质量及软件成本控制》由会员分享,可在线阅读,更多相关《软件质量及软件成本控制(58页珍藏版)》请在金锄头文库上搜索。
1、华东理工大学硕士 学位论文第 1 页软件质t及软件成本控制本文阐述了软件工程的演进, 以 及项目 管理的概念。 结合人事代理综合服务系统项目 的开发, 对其从软件工程和项目 管理的角度进行评价。 总结人事代理综合系统开发过程中的经验, 为以后的软件开发提出可遵循的原则, 并提出了简化的软件能力成熟度模型( C M M) 2项目 开发时参考。关键词: 软件质量 软件成本级供上海先达条码技术有限公司以后进行软件、 项目 能力成熟度 、 软件能力成熟度第 a页华东理工大学硕士 学 位 论文S o f t w a r e Q u a l i t y 第 2 页华东理工大学硕 士 学位 论文最主要的差别
2、是在构造程序框架时, Wa r n ie r 方法仅考虑输人数据结构, 而J a c k s o n方法不仅考虑输人数据结构,而且还考虑输出数据结构。1 . 1 .4问题分析法P A M问 题分析法P A M ( P r o b le m A n a l y s i s M e t h o d ) 是8 0 年 代末由日 立公司 提出 的 一种软件开发方法P A M 的基本思想是: 考虑到输人、 输出数据结构, 指导系统的分解, 在系统分析指导下逐步综合。 这一方法的 具体步骤是: 从输入、 输出数据结构导出基本处理框; 分析这些处理框之间的先后关系; 按先后关系逐步综合处理框,直到画出整 个
3、系 统的P A D ( P r o b l e m A n a l y s i s D e s i g n ) 图。 P A M方法的 另一个优点是使用P A D图。这是一种二维树形结构图,是到目 前为止最好的详细设计表示方法之一,远远优于N - S图和P D L语言。1 . 1 .5面向对象的软件开发方法随着O O P ( 面向 对象编程) 向O O D ( 面向 对象设计) 和O O A ( 面向对象分析) 的 发 展, 最 终形成面向 对象的软件 开发方法O M T ( O b j e c t M o d e l i n g T e c h n i q u e ) 。 这 是 一种自 底
4、向上和自 顶向下相结合的 方法, 而且它以对象建模为基础, 从而不仅考虑了输入、输出数据结构, 实际上也包含了所有对象的数据结构。 0 0技术在需求分析、 可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破 ,彻底地解决了在这些方面存在的严重问题。( 1 )自 底向 上的归纳。 O M T的 第一步是从问 题的陈述人手, 构造系统模型口从真实系统导出 类的体系, 即对象模型包括类的属性, 与子类、 父类的继承关系,以及类之间的关联。 类是具有相似属性和行为的一组具体实例( 客观对象) 的抽象, 父类是若干子类的归纳。 在自 底向上的归纳过程中, 为使子类能更合理地继承父类的属
5、性和行为,可能需要自 顶向下的修改,从而使整个类体系更加合理。( 2 )自 顶向下的分解。系统模型建立后的工作就是分解。 在 O M T中 通常按服务来分解。 服务是具有共同目 标的相关功能的集合, 如v 0处理、 图形处理等 这 一 步 的 分 解 通 常 很 明 确 , 而 这 些 手 系 统 的 进 一 步 分 解 因 有 较 具 体 的 系 统 模 型 为依据,也相对容易。所以O MT也具有自顶向下方法的优点,即能有效地控制模块的复杂性,同时避免了Y o u r d o n 方法中功能分解的困难和不确定性( 3 ) O M T的基础是对象模型 每个对象类由 数据结构( 属性) 和操作(
6、 行为) 组成, 有关的所有数据结构( 包括输人、 输出数据结构) 都成了软件开发的依据。 O M T不仅具有J a c k s o n 方法和P A M的优点, 而且可以应用于大型系 统。 更重要的是,华东 理工大学硕士 学 位 论 文第 3页在J a c k s o n 方法和P A M方法中,当它们的出发点输人、 输出数据结构( 即系统的边界) 发生变化时, 整个软件必须推倒重来 但在O M T中系统边界的改变只是增加或减少一些对象而已,整个系统改动极小。( 4 ) 需求分析彻底 需求分析不彻底是软件失败的主要原因之一。传统的软件开发方法不允许在开发过程中用户的需求发生变化, 从而导致种
7、种问题正是由于这一原因,人们提出了原型化方法,推出探索原型、实验原型和进化原型,积极鼓励用户改进需求。 在每次改进需求后又形成新的进化原型供用户试用, 直到用户基本满意, 大大提高了软件的成功率。 但是它要求软件开发人员能迅速生成这些原型,这就要求有自 动生成代码的工具的支持。O M T彻底解决了这一问题。 因为需求分析过程已与系统模型的形成过程一致, 开发人员与用户的讨论是从用户熟悉的具体实例( 实体) 开始的。开发人员必须搞清现实系统才能导出系统模型, 这就使用户与开发人员之间有了共同的语言, 避免了传统需求分析中可能产生的种种问题。( 5 ) 可维护性大大改善。 在O M T 之前的软件
8、开发方法都是基于功能分解的。O MT的基础是目 标系统的对象模型,而不是功能的分解。 功能是对象的使用,它依赖于应用的细节, 并在开发过程中不断变化。 由于对象是客观存在的, 因此当需求变化时对象的 性质要比 对象的使用更为稳定, 从而使建立在对象结构上的软件系统也更为稳定。 更重要的是O M T 彻底解决了软件的可维护性。由于不再在原来的程序模块中引人修改, 所以彻底解决了软件的可修改性, 从而也彻底解决了软件的可维护性。1 . 1 . 6可视化开发方法可视化开发是9 0年代软件界最大的两个热点之一。Wi n d o w s 提供了应用程序设计接口A P I ( A p p l i c a
9、t i o n P r o g r a m m i n g I n t e r f a c e ) , 它包含了6 0 0 多个函 数, 极大地方便了图形用户界面的开发。 但是在这批函数中, 大量的函数参数和使用数量更多的有关常量, 使基于W i n d o w s A P I 的开发变得相当困难。为此人们利用W in d o w s A P I 的O b j e c t W i n d o w s 开 发了 一 批可 视 开 发 工 具。 可 视 化开 发 就是 在 可视开发工具提供的图形用户界面上, 通过操作界面元素, 诸如菜单、 按钮、 对话框、 编辑框、 单选框、复选框、 列表框和滚动
10、条等,由可视开发工具自动生成应用软件。这类应用软件的工作方式是事件驱动。 对每一事件, 由系统产生相应的消息,再 传递给相应的消息响应函数 这些消息响应函数是由可视开发工具在生成软件第 4页华东理工大学硕士 学位 论文时自动装人的。 可视开发工具应提供两大类服务。 一类是生成图形用户界面及相关的消息响应函数。 通常的方法是先生成基本窗口, 并在它的外面以图标形式列出 所有其它的界面元素, 让开发人员挑选后放人窗口 指定位置。 在逐一安排界面元素的同时, 还可以用鼠 标拖动, 以使窗口的布局更趋合理。 另一类服务是为各种具体的子应用的各个常规执行步骤提供规范窗口, 它包括对话框、 菜单、 列表框
11、、 组合框、 按钮和编辑框等,以 供用户挑选。 开发工具还应为所有的选择( 事件) 提供消息响应函数。可视化开发是软件开发方式上的一场革命, 它使软件开发从专业人员的手中解放出 来, 对缓解8 0 年代中 后期爆发的应用软件危机有重大作用。1 . 1 . 7 I CAS E早在1 9 8 2 年美国国防部就提出了S T A R S 工程, 希望建立一个“ 用以支持需求定义、 程序生成以及软件维护等软件生存期全部活动的, 并把它们集成在一起的整个体系” 。 但早期的 软件开发环境工具较少, 且不配套, 支持需求分析等高层次生存期阶段的工具更少。随着软件开发工具的积累,自 动化工具的增多, 软件开
12、发环境进人了第三代I C A S E ( I n t e g r a t e d C o m p u t e r - A i d e d S o f t w a re E n g i n e e r i n g ) 。系统集成方式经历了 从 数据交换( 早期C A S E 采用的集成方式点到点的数据转换) ,到公共用户界面( 第二代C A S E : 在一致的 界面下调用众多不同的工具) , 再到目 前的信息中心库方式。这是I C A S E的主要集成方式。 它不仅提供数据集成和控制集成, 还提供了一组用户界面管理设施和一大批工具。I C A S E 的 进一步发展则是与 其它软件开发方法的
13、结合,如与面向对象技术、软件重用技术结合,以及智能化的 I C A S E 。近几年已出现了能实现全自 动软件开发的I C A S E . I C A S E的最终目 标是实现应用软件的全自 动开发, 即开发人员只 要写好软件的需求规格说明书, 软件开发环境就自 动完成从需求分析开始的所有的软件开发工作,自 动生成供用户直接使用的软件及有关文档。1 .1 .8 软件 重 用和 组 件连 接1 9 8 3年,F r e e m a n对软件重用给出了详细的定义: “ 在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。 ”软件人工制品可以是源代码片断、 子系统的设计结构、 模块的详细设
14、计、 文档和某一方面的规范说明等。目 前软件重用沿着下面三个方向发展:( 1 ) 基于软件复用库的软件重用。 这类软件开发方法要求提供软件可重用成华东理工大学硕士 学位 论文第 5页份的 模式分类和检索, 且要解决如何有效地组织、 标识、 描述和引用这些软件成份。 通常采用两种方式进行软件重用: 生成技术, 这是对模式的重用。由软件生成器通过替换特定参数, 生成抽象软件成份的具体实例; 组装方式, 常用的组装方式有: 子程序库技术、 共享接口 设计和嵌套函 数调用等。 组装方式对软件重用成份通常不作修改,或仅作很少的修改。( 2 ) 与面向 对 象技术 结合。 0 0 技术中 类的 聚集、 实
15、例对类的 成 员函 数或操 作的引用、 子类对父类的 继承等使软件的可重用性有了 较大的提高。 而且这种类型的重用容易实现。 所以这种方式的软件重用发展较快。( 3 ) 组件连接。 这是目 前发展最快的软件重用方式。 第一个出现的组件连接技 术O L E 1 .0 ( O b j e c t L i n k i n g a n d E m b e d d i n g ) 是M i c r o s o ft 公司 于1 9 9 0 年1 1 月推 出的。1 9 9 3 年5 月发表了O L E 2 .0 . O L E 给出了软件组件( C o m p o n e n t O b j e c t
16、 ) 的接口 标准。 这样任何人都可以按此标准独立地开发组件和增值组件( 组件上添加一些功能构成新的 组件) , 或由 若干组件组建集成软件。 在这种软件开发方法中,应用系统的开发人员可以把主要精力放在应用系统本身的研究上, 因为他们可在组件市场上购买所需的大部分组件。软件组件连接的 第二个标准是1 9 9 5 年3 月推出的O p e n D o c 。 这是I B M. A p p le 等 公司 组成的 C I L a b s 集团 使用的 标准。由 于O p e a D o c 的 编程接口 比。 L E 小,因 此。 p e n D o c 的 应用程序能与O L E 兼容。第三个组件连接标准是对象管理集团 O M G 于 1 9 9 1年发表的C O R B A ( C o m m o n O b j e c t R e q u e s t B r o k e r A r c h i t e c t u r e ) , 1 9 9 4 年O M G又发表了C O RB A 2 . 0 .1 .2项目 管理的进展1 . 2 . 1 项目 定义需要组织来实 施完成的