网站大量收购独家精品文档,联系QQ:2885784924

系统架构师学习记笔第四章.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统架构师学习记笔第四章

系统架构师学习笔记_第四章4.1? 软件开发方法 4.1.1? 软件开发生命周期 传统的软件生命期 是指软件产品 从形成概念(构思)开始,经过定义、开发、使用、维护、废弃,的全过程。 可以把软件生命期划分为 软件定义、软件开发、软件运行与维护,三个阶段。 1、软件定义时期 1.问题定义,目标系统“是什么”,系统的定位以及范围。 2 .可行性研究,技术可行性、经济可行性、操作可行性、社会可行性。 3.需求分析,确定软件系统的功能需求、性能需求、运行环境的约束,写出需求规格说明书、软件系统测试大纲、用户手册概要。 充分理解用户的需求,并以书面形式写出规格说明书,这是以后软件设计和验收的依据;用户也许很难 一次性 说清楚系统应该做什么。 系统分析员、软件开发人员、用户,共同完成,逐步细化、一致化、完全化 等。 软件需求规格说明 SRS,内容可以有 系统(或子系统)名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则 等。 2、软件开发时期 软件开发时期就是软件的设计与实现,概要设计、详细设计、编码、测试 等。 概要设计是在软件需求规格说明的基础上,建立系统的 总体结构(含子系统的划分) 和 模块间的关系,定义功能模块及各功能模块之间的关系。 详细设计对概要设计 产生的功能模块 逐步细化,包括 算法与结构、数据分布、数据组织、模块间接口信息、用户界面 等,写出详细设计报告。 测试可分成 单元测试、集成测试、确认测试、系统测试 等。通常把编码和测试 称为系统的实现。 3、软件运行和维护 软件维护就是尽可能地延长软件的寿命,没有维护的价值时,宣告退役,软件的生命结束。 4.1.2? 软件开发模型 软件生存周期模型 又称 软件开发模型 或 软件过程模型,模型的特点是 简单化,是软件开发实际过程的 抽象与概括。 为软件工程管理提供 里程碑和进度表,为软件开发过程提供 原则和方法。软件过程有各种各样的模型。 1、瀑布型 瀑布型的特点是 因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作的输入,前一个阶段的错漏会隐蔽地带到后一个阶段,每一个阶段工作完成后,都要进行审查和确认, 它的出现有利于人员的组织管理,有利于软件开发方法和工具的研究。 2、原型模型 根据用户提出的软件系统的定义,快速地开发一个原型,包含目标系统的关键问题和反映目标系统的大致面貌。 三种途径: 利用模拟软件系统的人机界面和人机交互方式。 真正开发一个原型。 找来一个或几个正在运行的类似软件进行比较。 实际工作中,由于各种原因,大多数原型都废弃不用,仅仅把建立原型的过程 当作帮助定义软件需要的一种手段。 注意: 用户对系统模糊不清,无法准确回答目标系统的需求。 经过对原型若干次修改,应该收敛到目标范围内,否则可能会失败。 对大型软件来说,如果没有现成的,就不应该考虑用原型法。 3、螺旋模型 是生命周期模型与原型模型的一个结合,分成多个阶段,每一个阶段都由4部分组成: 1.目标设定,指定对过程和产品的约束,并且制订详细的管理计划。 2.风险分析,制订解决办法。 3.开发和有效性验证,即开发软件产品。 4.评审,确定是否需要进入螺线的下一次回路。 增加一周,软件系统就生成一个新版本,系统应该尽快地收敛到用户允许或可以接受的目标范围内。 该模型支持大型软件开发,适用于面向规格说明、面向过程、面向对象 的软件开发方法,也适用于几种开发方法的组合。 4、基于可重用构件的模型 把软件工程项目所创建的 构件 不断地积累和存储在一个构件库中,系统将依赖构件的健壮性。 5、基于面向对象的模型 构件重用是非常重要的技术之一。一方面进行构件开发,另一方面进行需求开发,快速建立 OOA、OOD 原型,由重用构件组装而成,甚至通过组装可重用的子系统而创建更大的系统。 6、基于四代技术的原型 四代语言 完全不用变成方式来构造应用系统,而是利用一些生成器。 与通常的软件工程环境或计算机辅助软件工程不同,只侧重于支持应用软件开发过程中的 设计阶段和实现阶段,特别是支持界面以及与界面有关的处理过程。 4.1.3? 敏捷方法 1、敏捷方法的特点 敏捷方法是“适应性”而非“预设性”的,重型方法在计划制定完成后拒绝变化,而敏捷方法则欢迎变化。 “面向人的”而非“面向过程的” 传统的软件开发方法的基本思路一般是 只要图纸设计得合理并考虑充分,施工队伍可以完全遵照图纸顺利构造。 但是,一些设计错误只能在编码和测试时才能发现。 传统正规开发方法是 个体不重要,角色才是重要的,尽量减少人的因素对开发过程的影响,但是敏捷方法正好相反。 管理人员已经脱离实际开发活动相当长的时间了,如此设计出来的开发过程是难以为开发人员所接受的。 只有在第一线的开发人员才能真正掌握和理解开发过程中的技术细节,所以技术方面的

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档