- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
企业级应用软件架构开发过程与实践chapter2
企业级应用软件架构开发过程与实践chapter2
中国软件架构师网
软件高端人才修炼系列
企业级应用软件架构开发过程与实践
第二章
版本 0.5
胡协刚
首席软件架构师
szjinco@
目录
第一章软件与软件的特性
——从业务上下文出发的软件图景
3
第二章软件工程基本原理
——软件开发中的方法论
4
第一节问题解决规律与工程学方法
——软件开发的方法(理)论框架基础
5
问题解决
5
解决复杂问题与方法论7
工程问题与工程学方法10
第二节软件工程与软件过程——人类迄今为止最复杂的问题解决过程
14
软件工程
14
软件过程
16
软件过程的表述
18
软件过程的基本组成要素19
软件过程科目
discipline20
科目下的工作流
workflow20
工作流明细
workflow details21
软件生命期模型
22
以阶段为单位组合工作流24
第三节软件过程能力成熟度模型
——CMMI模型下的软件组织活动全景视图
27
软件过程的执行步骤
27
SW-CMM/CMMI过程体系
31
CMMI的过程成熟度等级
34
CMMI的过程域
37
本章小节
39
.中国软件架构师网, 2006 Page 2 of 40
第一章软件与软件的特性——从业务上下
文出发的软件图景
软件是人类有史以来创造的一种非常特别的制品,它具备与传统制品
完全不同的特性。
由于软件最初的形态只是用于科学计算的简单程序,这使得人们(特
别是刚刚学习编程的初学者)往往倾向于将软件看作是一种相对独立的事
物。传统软件工程也是从软件需求开始来阐述软件的生命周期,并给人一
种错觉,即软件需求早就存在于用户那里,我们要做的只是去发现它们(需
求获取)。这使得人们常常忽略一个简单的事实——软件是为了支持客户
的业务(或解决领域问题)而被开发的(需求规格是被开发出来的,换句
话说是被设计出来的),其内在特性受其上下文的制约,甚至就是上下文
的一种直接反映。
我们在研究软件的时候,不能脱离于它的上下文,例如软件的复杂性
根本上源至其问题域的复杂性。只有从业务(问题域)上下文入手,我们
才能真正看到软件的真实图景。
本章试图从一个更为广泛的视角,来分析软件、还有软件的特性;而
软件及其架构的开发策略与方法的研究,则始于人们对软件自身特性所引
发的固有问题的一种解决努力。
.中国软件架构师网, 2006 Page 3 of 40
第二章软件工程基本原理——软件开发中
的方法论
人们从事的大部分有意义活动,都可以归纳为一种问题解决的过程,
软件开发也不例外。思维学家们做了大量的研究来帮助人们提高问题解决
的能力,认知学、方法论等都属于这方面的成果。
软件被用来解决领域问题,它实际上包含了两个“问题解决”过程。
一是,如何使用软件来解决业务问题;二是,如何开发出这个能解决业务
问题的软件交付。我们当然更为关注后者。当前软件的规模、复杂度已经
大到迫使人们必须采用团队模式来组织开发,而人类以往的成功经验是以
工程的方式来组织团队协作;另外,软件有其特殊的地方,因此我们需要
改造传统工程方式来适应软件的开发——这便是软件工程的由来。
要将软件交付开发出来,不是单个的方法或步骤所能办到的,这涉及
到一系列的活动、方法等,而有序的软件开发活动序列便是软件过程。
本章试图从人类解决复杂问题的基本途径入手,一步步来分析软件开
发的基本方法,进而导出软件工程的基本框架,最后引入软件过程的体系
概念。
.中国软件架构师网, 2006 Page 4 of 40
第一节 问题解决规律与工程学方法——软件开发的方法
(理)论框架基础
澄清了软件的上下文与本质特性,理解了软件的各种质量属性,并将它们设定为
软件开发的目标;接下来,我们面临的挑战是如何去开发软件。
软件被用来解决人们的业务或领域问题,开发软件的过程就是去获得解决业务问
题结果的过程。人类在问题解决规律研究方面已经有大量的现成成果;传统的问题解
决步骤,实际上为软件开发(解决软件问题)提供了现成的(战略级的)理论方法框
架。现代的软件工程技术,其基础实际上就建立在这些问题解决规律之上。
问题解决
我们先从最基本的问题解决步骤入手,接下来考察复杂问题如何解决,然后将关
注点转向工程类问题,并最终推导出如何解决软件问题的基本途径。
问题解决是思维的一种形式;当个人或组织不知道如何从已知条件得到目标(期
望结果)的时候,“解决问题”这一智力活动便开始了。
对于普通的单一问题,我们可以将“解决问题”的过程简单地抽象为如下步骤:
识别与澄清问题
收集相关信息
分析问题和评估已有信息
考虑各类解决方案选项
您可能关注的文档
最近下载
- 广州数控GSK980TB3系列使用手册.pdf
- (热门!)最新版的比亚迪供应商审核自查表(可编辑!).docx VIP
- QJ300-12N钱江闪300维修手册(24.7.16).pdf VIP
- 一消《消防安全案例分析》历年真题及答案解析(第2套).pdf VIP
- (完整word版)内科护理学第五版目录.pptx
- 3.1 中国的土地资源(教学课件)地理商务星球版2025八年级上册.pptx
- 动力电池产品介绍.pptx VIP
- 肺结核患者的护理常规.pptx VIP
- 最新国家开放大学国开电大《机械制图》形考任务1-4 参考答案.pdf VIP
- 中国新能源汽车动力电池产业现状及前景展望.pptx VIP
原创力文档


文档评论(0)