书籍详情
《面向复用的需求建模》[45M]百度网盘|亲测有效|pdf下载
  • 面向复用的需求建模

  • 出版时间:2008-10
  • 热度:4471
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

  《面向复用的需求建模》以复用技术为主线,系统地介绍面向复用的软件开发过程中最关键的一步——需求建模所涉及的基本思想和方法,包括传统的需求工程、领域工程方法、面向特征的领域建模方法以及基于UML的需求建模。同时,结合金融信贷、奥运信息管理系统、文档编辑器、网上商店等领域的实际案例,应用面向复用的需求建模理论和方法进行了深入的建模实践。《面向复用的需求建模》内容兼顾理论与实践两方面,可使读者在获得面向复用的需求建模理论知识的同时,学会如何将理论知识应用于实践。
  《面向复用的需求建模》适用于计算机软件及相关专业的本科生或研究生,也适合高级计算机软件开发人员使用。

作者简介

  杨芙清,计算机软件科学
  家,中国科学院院士,IEEE FELLOW。现任北京大学信息学部主任、软件工程国家工程研究中心主任、软件与微电子学院理事长。国务院学位委员会学科评议组召集人,中国软件行业协会副理事长。《中国科学》、《科学通报》和Ⅸ电子学报》副主编。
  从事系统软件、软件工程、软件工业化生产技术和系统等方面的教学和研究工作。主持研制成功我国第一台百万次集成电路计算机多道运行操作系统和第一个全部用高级语言书写的操作系统,在国内率先倡导软件工程研究,创办了国内第一个软件工程学科;开创了软件技术的基础研究领域;主持了历经四个五年计划的国家重点科技攻关项目——青鸟工程和国家863计划若干重点课题的研究。多次获得各种荣誉称号和奖励,如:全国科学大会奖、国家科技进步二等奖、电子工业部科技进步特等奖、国家级教学成果奖一等奖、国家“七五”、 “八五”、 “九五”国家重点科技攻关计划先进个人等十七项国家及部委级的奖励。发表论文150余篇,著作8部,培养了百余名硕士、博士和博士后。
  梅宏,博士,教授,博士生导师,教育部长江学者奖励计划特聘教授,北京大学信息科学技术学院院长兼软件研究所所长。国家863高技术计划信息技术领域专家组成员,国家重点基础研究发展计划(973计划)首席科学家,中国计算机学会常务理事,软件工程专业委员会主任,信息产业部软件构件技术标准工作组组长。
  研究工作主要涉及软件工程及软件开发环境、软件复用及软件构件技术、(分布)对象技术、软件工业化生产技术及支持系统、新型程序设计语言等。先后参与、主持了十多项国家级课题研究工作,在杨芙清院士主持的国家“八五”、“九五”重点科技攻关项目“青鸟工程”中担任主要技术负责人。任973计划“Internet环境下基于Agent的软件中间件理论和方法研究”首席科学家。已发表论文100余篇,曾两次获国家科技进步二等奖(排名第三和第二),并获霍英东基金青年教师奖(研究类)、中国优秀博士后奖、国家杰出青年科学基金、中国青年科技奖、国家百千万人才工程国家级人选等个人荣誉。
  作者简介:
  赵海燕,博士,北京大学信息科学技术学院副教授.研究领域:软件工程。
  张伟,博士,北京大学信息科学技术学院讲师,研究领域:软件工程、软件复用。
  麻志毅,博士,北京大学信息科学技术学院副教授,研究领域:软件工程。

目录

第1部分领域工程概述
第1章 需求工程
1.1 引言
1.2 基础知识
1.2.1 需求的定义
1.2.2 需求的不同类型
1.2.3 需求工程的主要活动
1.2.4 需求工程的参与者
1.3 可行性分析
1.4 需求诱导
1.4.1 需求的来源
1.4.2 需求诱导的主要困难
1.4.3 需求诱导的技术手段
1.5 需求分析
1.5.1 需求分类
1.5.2 需求的概念性建模
1.5.3 系统体系结构设计与需求分配
1.5.4 需求协商
1.6 需求规约化
1.6.1 系统需求规约文档
1.6.2 软件需求规约文档
1.6.3 需求规约文档的评价指标
1.7 需求确认
1.7.1 需求审查
1.7.2 需求原型化
1.7.3 模型确认
1.7.4 接受性测试的设计
1.8 需求管理
1.8.1 需求过程的迭代性
1.8.2 需求变更管理
1.8.3 需求的属性
1.8.4 需求的可追踪性
1.9 总结

第2章 领域工程
2.1 引言
2.2 领域及领域工程
2.2.1 领域工程与应用工程
2.2.2 领域工程与复用成熟度
2.2.3 领域工程投资回报点
2.3 领域工程关键问题
2.3.1 领域工程的目标
2.3.2 领域范围的确定
2.3.3 领域共性和变化性需求的建模
2.3.4 DSSA的设计
2.3.5 各阶段制品之间的可追踪性
2.4 领域工程的规划与管理
2.4.1 规划问题
2.4.2 管理问题
2.4.3 组织方式
2.4.4 问题与决定
2.5 领域工程的代表性方法
2.5.1 FODA/FORM
2.5.2 SoftwareProductLines
2.5.3 FAST
2.5.4 PuLSE
2.5.5 FeatuRSEB
2.5.6 青鸟领域工程方法
2.6 总结

第2部分领域分析方法
第3章 面向特征的领域分析方法
3.1 引言
3.2 具体步骤
3.2.1 上下文分析
3.2.2 领域建模
3.2.3 体系结构建模
3.3 应用实例
3.3.1 窗口管理系统
3.3.2 上下文分析
3.3.3 领域建模
3.4 总结

第4章 面向特征的复用方法
4.1 引言
4.2 基本思想
4.2.1 面向特征
4.2.2 工程原则
4.2.3 工程过程
4.3 具体步骤
4.3.1 领域工程
4.3.2 应用工程
4.4 总结

第5章 领域特定的软件体系结构
5.1 引言
5.2 DSSA概述
5.2.1 定义
5.2.2 基本概念与术语
5.2.3 建模框架
5.2.4 涉及的制品
5.2.5 参考体系结构
5.2.6 基于体系结构的开发方法
5.2.7 体系结构描述语言
5.2.8 与体系结构风格的比较
5.3 DSSA过程
5.3.1 工程问题
5.3.2 阶段1:定义领域工程的范围
5.3.3 阶段2:定义领域特定的元素
5.3.4 阶段3:定义领域特定的设计和实现约束
5.3.5 阶段4:开发领域体系结构
5.3.6 阶段5:生产或收集可复用软件制品
5.4 DSSA实例
5.4.1 概述
5.4.2 领域模型
5.4.3 参考需求
5.4.4 参考体系结构
5.5 总结

第6章 青鸟领域工程方法
6.1 青鸟领域工程方法概述
6.1.1 领域工程的定义
6.1.2 领域工程的基本假定
6.1.3 领域工程的基本活动
6.1.4 领域模型与DSSA
6.1.5 变化性与关系
6.1.6 可追踪性
6.1.7 问题与解决
6.1.8 参与领域工程的人员
6.1.9 领域工程的准备工作
6.2 领域分析
6.2.1 目标与活动
6.2.2 产品
6.2.3 过程与指南
6.3 领域设计
6.3.1 目标与活动
6.3.2 产品
6.3.3 过程与指南
6.4 领域实现
6.4.1 目标
6.4.2 产品
6.4.3 过程与指南
6.5 总结

第3部分面向特征的领域建模方法
第7章 面向特征的需求分析
7.1 引言
7.2 基础知识
7.2.1 特征的定义
7.2.2 特征的规约属性
7.2.3 特征的操作化:责任分析
7.2.4 责任分配
7.2.5 资源容器
7.3 特征依赖关系
7.3.1 精化关系
7.3.2 约束关系
7.3.3 影响关系
7.3.4 交互关系
7.4 依赖关系之间的关联
7.4.1 由精化导致的约束
7.4.2 约束与交互
7.4.3 影响与交互
7.5 特征模型的剪裁检验
7.5.1 特定领域、基于定制的需求复用
7.5.2 在一组绑定时间上对特征模型进行剪裁
7.5.3 三条检验准则
7.6 一种具体形式的特征模型及其建模过程
7.6.1 一种具体形式的特征模型
7.6.2 建模过程
7.7 总结

第8章 特征驱动的软件体系结构设计
8.1 引言
8.2 一个简单的文档编辑器
8.3 特征与构件的解耦合
8.4 软件体系结构的构造
8.4.1 概览
8.4.2 特征的操作化
8.4.3 资源容器分析
8.4.4 交互分析
8.4.5 种子构件的建立
8.4.6 责任分配
8.4.7 概念构件分析
8.5 总结

第9章 面向特征的需求分析支持工具
9.1 引言
9.2 项目管理服务
9.3 视图管理服务
9.4 特征建模服务
9.5 辅助性编辑服务

第4部分基于UML构件规约的需求建模
第10章 UML构件规约
10.1 构件的定义
10.2 构件的接口
10.3 构件的端口
10.4 连接件
10.5 构件的内部结构

第11章 一种基于UML构件规约的需求建模方法
11.1 方法概述
11.2 构件规约模型
11.3 捕获需求
11.3.1 建立业务模型
11.3.2 建立系统的初步构架
11.3.3 建立用况模型
11.4 建立面向构件的分析模型
11.4.1 识别构件之间的关系
11.4.2 对构件的规约

第12章 面向构件的软件系统建模工具
12.1 构件图
12.2 制品图
12.3 部署图

第5部分面向复用的需求建模实践
第13章 文档编辑器领域建模实践
13.1 引言
13.2 文档编辑器特征分析
13.2.1 特征精化关系
13.2.2 特征约束关系
13.3 文档编辑器的高层软件体系结构设计
13.3.1 特征操作化与责任分配
13.3.2 高层软件体系结构设计
13.4 总结

第14章 网上购物软件领域建模实践
14.1 引言
14.2 网上购物软件的特征分析
14.3 基于网上购物软件特征模型的定制
14.4 网上购物软件的高层体系结构
14.5 总结

第15章 信贷管理领域建模实践
15.1 引言
15.2 建模过程
15.2.1 领域范围的建立
15.2.2 共性与变化性分析
15.2.3 特征模型的建立
15.3 总结

第16章 奥运会信息系统领域建模实践
16.1 引言
16.2 奥运会信息系统简介
16.3 注册制证系统需求概述
16.4 面向对象建模
16.4.1 注册制证系统整体业务模型
16.4.2 注册制证系统用况图
16.4.3 业务模型的实现
16.4.4 注册管理子系统业务模型
16.4.5 注册管理子系统用况图
16.5 特征建模
16.5.1 注册制证系统的特征模型
16.5.2 注册管理
16.6 总结

第17章 中间件领域的建模实践
17.1 引言
17.2 软件中间件的特征模型
17.2.1 协同特征
17.2.2 可靠性特征
17.2.3 其他特征
17.3 基于软件中间件特征模型的定制
17.3.1 CORBA中间件的特征模型
17.3.2 WebServices的特征模型
17.3.3 反射式中间件的特征模型
17.4 总结
参考文献

精彩书摘

  第1章需求工程
  1.1引言
  随着软件应用领域的不断扩展和深入,软件需求的获取、分析和管理逐渐成为软件开发过程中非常重要,但同时又相对困难的活动。早在20世纪70年代中期,研究者就已经发现对软件需求的获取和描述很难达到必要的完整性、一致性和无二义性,而这些需求中存在的缺陷往往会对最终软件产品的质量造成决定性的影响。在20世纪90年代进行的若干项调查研究中,研究者发现,软件需求问题的困难性并没有因为软件开发技术和方法的发展而逐渐减弱,反而呈现出不断增长的趋势,并在实际软件开发活动中展现出巨大的负面影响。一项涉及350家美国软件公司和8000多个软件项目的调研发现,软件需求的缺陷导致近1/6的软件项目彻底失败,近1/4的软件项目开发成本和周期远远超出预算。在欧洲,一项涉及17个欧盟国家和3800多个软件开发组织的调研也揭示了同样的现象: 软件开发中一半以上的问题都与软件需求缺陷有着密切的关系。
  从软件开发的成本来看,需求中的缺陷传播到软件开发后期导致的修正成本将远远大于在需求分析阶段的早期修正成本。在一项针对GTE,TRW,IBM和HP等公司若干独立软件项目开发成本的分析中,研究者发现了近似相同的需求缺陷修正成本规律: 以需求缺陷在需求分析阶段被发现后导致的修复成本为基准,在设计阶段被发现后导致的修复成本将增长2~~5倍,在编码阶段的修复成本将进一步增长10~~20倍,在软件维护阶段的修复成本则急速增长至100~~200倍。Snyder和Shumate进行的一项统计调查则发现,虽然74%左右的需求缺陷能够在需求获取和分析阶段通过客户交流、复查和协商等方式被发现,但仍然有4%和7%的需求缺陷分别被传播至软件的高层设计和详细设计阶段,而4%的需求缺陷甚至直到软件的维护阶段才会被发现。
  因此,如何以一种系统化的方式在软件的整个生命周期中对需求进行有效的管理就成为软件开发过程中的一个重要问题。这也是导致需求工程概念产生的直接原因。
  1.2基础知识
  1.2.1需求的定义
  在一般意义上,需求体现了为解决现实世界中的某个问题而必须具有的性质。特别的,软件需求指代了为解决特定的问题,软件必须表现出的性质。软件所能解决的问题具有广泛的多样性,例如: 通过软件实现对某些人工活动的自动化、通过软件支持特定组织的业务流程、通过软件控制硬件设备等问题。由于软件所能解决问题的复杂性,软件的需求也体现出很强的复杂性。通常,软件的需求是由特定组织内具有不同职能和角色的一组人群各自需求的一种复杂组合,或者是运行环境中的各种因素的一种复杂组合。
  软件需求必须具备的一个基本性质是可验证性(verifiability)。对于特定的软件需求,对其进行验证通常具有一定的困难性或者需要付出较高的代价。例如,对于特定软件系统吞吐量需求的验证可能会需要首先开发出相应的仿真软件。因此,软件需求人员和软件质量保证人员必须确保每个软件需求都可以在当前项目的资源消耗限制内得到验证。
  为了实现特定的目的,可以对需求关联特定的属性。例如,为了实现对资源的有效利用或者实现对项目进度的有效监控,可以对每个需求赋予不同的优先级别以便于对需求进行必要的取舍或者决定实现需求的前后顺序。通常需要对每个需求赋予全局唯一的标识符,以便于在特定的软件开发活动中对其进行引用。

前言/序言

  如何提高软件产品的质量和生产效率是软件产业发展过程中始终面临的一个重要问题。而软件项目要取得成功,最重要的莫过于了解要开发的软件需要解决哪些问题,此即软件需求所要解决的问题。它的基本任务是准确地定义未来系统的目标,确定为了满足用户的需要系统必须做什么。在此基础上通过对问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规约,为后续的软件设计、实现、测试直至维护提供基础。
  同时,软件复用作为避免重复劳动、提高软件质量和生产效率的解决方案,其出发点是软件产品的开发不再采用“从零开始”的模式,而是充分利用过去软件开发中积累的资产,诸如源代码、设计方案、需求规约以及测试用例等,实现对软件开发过程中可复用成分最大程度的复用。实践表明在软件的生命周期中,复用发生的时间越早,其带来的收益也就越大。因为一般而言,可复用的需求将导致可复用的设计,而可复用的设计则可进一步导致可复用的代码。当需求被复用时,相应的验收测试,验收测试计划和过程也能被复用。软件复用的研究和实践表明,特定领域的软件复用活动相对容易取得成功。这是由特定领域本身的相对内聚性和稳定性所决定的。内聚性保证了领域有足够的共性;而稳定性保证了生产可复用资产的投资可以获得足够的回报。
  作为软件复用的核心技术,领域工程的主要目的是实现对特定领域中可复用成分的分析、生产和管理;软件产品线的基本思想是在领域工程的基本上,利用这些可复用资产以及相关的组装和定制技术,开发出新的软件产品。本书主要关注于生产可复用软件资产的领域工程技术上,尤其集中在如下三个方面:建立领域需求模型的领域分析技术;对领域需求模型的复用技术;基于领域需求模型的高层软件体系结构设计方法。本系列丛书的《构件化软件的设计与实现》将涉及领域设计阶段和实现阶段的技术;本系列丛书的《软件复用过程与资源管理》将介绍面向复用的开发和基于复用的开发中的过程管理,以及所生产资源的管理技术。
  本书将以面向复用的需求建模方法和技术为题展开,全书共分5个部分。
  第1部分“领域工程概述”包括第1章和第2章,主题是面向复用的需求的基本概念。第1章主要介绍传统软件开发过程中与需求相关的一系列活动,包括需求的捕获、分析、规约、确认和管理等;第2章则对系统化地生产可复用资产的领域工程技术的起源和背景、相关概念、关键问题等方面进行了概略的介绍。
  第2部分“领域工程方法”由第3-第6章组成,分别介绍4种具有代表性的领域工程方法:面向特征领域分析方法(FODA);面向特征的复用方法(FORM);领域特定的软件体系结构方法(DSSA);青鸟领域工程方法。
  第3部分“面向特征的领域建模方法(FODM)”主要介绍北京大学软件所提出的一种领域工程方法。此部分由3章组成,其中,第7章介绍FODM面向特征的领域分析方法;第8章介绍FODM以特征为驱动的体系结构设计方法;第9章介绍一个支持FODM领域分析方法的软件工具。
  第4部分“基于UML构件规约的需求建模”包括第10章-第12章,其中第10章讲述UML2.0支持的构件模型及规约;第11章描述如何基于UML构件规约进行需求建模;第12章介绍一种面向构件的建模工具。
  第5部分“面向复用的需求建模实践”主要以若干实例为主线来演示第4部分所描述的FODM方法。其中第13章和第14章分别针对文档编辑器和网上商店领域进行需求建模实践,并在此基础上基于特征进行体系结构的设计;第15章-第17章则依次针对奥林匹克运动会系统、银行信贷系统以及中间件领域进行相应的需求建模,对应的体系结构设计则在本丛书的《构件化软件的设计与实现》中予以阐述。
  本书在编写过程中参考了大量的文献。我们也尽可能地将这些文献列于书后。但对于因疏漏而未能列出的参考文献,在此表达深刻的歉意。同时也对所有文献的作者们表示诚挚的感谢。由于时间仓促,加之笔者水平所限,书中难免有不妥或错误之处,敬请读者不吝赐教。
  另外,本书受到国家863计划(No.2006AA01Z156)和国家自然科学基金(No.60528006,60703065)等项目的资助,在此一并表示感谢。