- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是软件过程模型
高级软件工程 第1节课:软件工程概述 刘驰 教授 北京理工大学软件学院 讲授内容 软件工程的基本概念 基于计算机的系统工程 软件过程 1. 什么是软件? Software=program+data+document Custom software Generic software, Shrink-wrapped software Embedded software Safety-critical software COTS(Commercial Off-the-Shelf) I will create a software to update the database. (a piece of software, or a software system) 可以按功能、规模、工作方式、可靠性高低等进行划分 2. 什么是软件工程? 1968年秋季,NATO(北约)的科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。Fritz Bauer在会议上首次提出“软件工程”概念。 The establishment and use of sound?engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” --- Fritz Bauer, 1968 IEEE:软件工程是 (1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化思想应用于软件开发过程中 (2)上述方法的研究。 软件工程的目标: 低成本, 高质量, 按时交付 软件工程的本质特性 关注大型程序的构造 如何控制复杂性 软件需求不断变化 旨在提高软件开发的效率 团队合作是软件工程顺利实施的关键 软件必须有效支持它的用户 由一种文化背景的人替另一种文化背景的人创造产品(设计者、使用者) 3. SW and CS 计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,而软件工程则研究软件制作中的实际问题。 理论上,所有软件工程都应该以计算机科学理论作为坚实的基础,但对付实际的、复杂的问题时需要用软件工程的方法来解决。 4. SW and Systems Engineering 系统工程的产生比软件工程早。 基于计算机的系统工程,研究由软件起主导作用的、有关负责系统的开发和进化的方方面面,包括硬件开发、系统决策、过程设计、系统实施和软件过程等。 5. 什么是软件过程? 软件过程是指开发软件产品的一组活动及其结果。 所有的软件过程都包含4项基本的活动:软件描述、软件开发、软件有效性验证和软件进化。 不同的软件过程以不同的方式组织这4项活动,活动的结果会影响活动的进度。 不同的机构可能用不同的过程来制作同一类产品。 为什么要定义软件过程? 一个过程定义了为达到确定的目标,需要什么人在什么时间以何种方式做何种工作(Goal,Who,When,How,What) 对于 Customer, User, Developer, Manager,一个广泛适用的过程使得所有涉众更好地理解自己所扮演的角色、更清楚地知道自己及他人在什么时间做什么。 促使过程的有机结合和改善,以获得“最好过程” 可以使公司内部的培训标准化。 由于过程的可重复性,利于开发进度的安排,利于成本估算。 6. 什么是软件过程模型? 模型与建模 软件过程模型是从一特定的角度对软件过程的本质描述。 软件过程模型包括构成软件过程的各种活动、软件产品以及所有涉众(stakeholder) 从不同的角度对软件过程的描述,就得到不同的过程模型种类。如: 工作流模型:描述软件过程中各种活动的序列及其输入、输出和相互依赖型。其中的活动皆为人的活动。 数据流或活动模型:把软件过程描述成一组活动,其中每个活动都完成一定的数据转换。该模型中的活动层次低于工作流模型。 角色/动作模型:描述参与软件过程的不同角色及其所负责的活动。 通用模型或范型(Paradigm, Methodology) Waterfall Model Waterfall Model with Maintenance Circle Waterfall Model with Prototyping Spiral Model(瀑布模型+原型模型) V Model Phased Development Model Incremental and Iterative Model RUP 7. 软件工程的成本及成本分布 软件成本分布取决于所采用的软件过程和所开发的软件类型。 一般的成本分布: 描述:设计:开发:集成与测试
文档评论(0)