




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程,1,软件工程第1章软件工程概念,讲座教师:清华大学计算机系yin renkun yinrk 432 passwordqhdxjsjx,软件工程,2,提示:设计和建模点,结构分析建模动态模型(状态、事件跟踪图)UML建模:用例图、类图、序列图、活动图、软件工程、3、软件概念、软件定义软件由计算机程序、数据和文档组成。 软件与硬件、数据库、人员、进程等一起构成了计算机系统。软件按功能分类:应用程序、系统软件、支持软件。软件开发经历了程序设计阶段、程序系统阶段、软件工程阶段三个阶段。软件工程,软件工程概念的出现来自软件危机。软件危机的主要特征软件价格在整个项目投资中的比重不断提高。软件开发成本严重超过。软件开发周期远远超过规定的日期。软件质量难以保证。软件修改、维护困难;失败的根本原因在于开发人员对用户的要求(人的问题、技术问题)、软件工程,5,1968年北大西洋公约组织会议上德国人Bauer的定义:“建立和使用精密的工程化原则,以经济的方式获取可以在实际系统中有效运行的可靠软件的一系列方法。”1983年IEEE对软件工程的定义:“软件工程是开发、操作、维护和恢复软件的系统方法。”.1993年IEEE更全面的定义:“系统化、标准化、可度量的方法将软件开发、运行和维护流程,即工程应用于软件”。软件工程定义、软件工程、6、软件工程框架、软件工程、7、软件工程框架提供了软件工程的三个主要方面。软件工程目标-指定软件工程实践结果(即软件)必须具有的基本特性,包括可用性、准确性和经济性。软件工程流程包括要求、分析和设计、实施、验证和测试、维护和支持的基本活动。软件工程的四个原则-通过适当的开发模式、适当的开发方法、提供高质量的工程支持、实施有效的工程管理,以及实现软件工程目标的四个方面指导每个工程活动。软件工程,8,软件工程知识结构,2001年5月,ISO/IECJTC1发布了guideothesoftwareengineeringbodyofknowledge SWEBOK指南V0.95(试用版)。SWEBOK将软件工程领域的主要知识分为10个知识领域。软件要求、软件设计、软件构建、软件测试、软件维护、软件配置管理、软件工程管理、软件工程流程、软件工程工具和方法、软件质量。软件工程,9,软件工程知识结构,2001年5月,ISO/IECJTC1发布了guideothesoftwareengineeringbodyofknowledge SWEBOK指南V0.95(试用版)。SWEBOK将软件工程领域的主要知识分为10个知识领域。这10个领域是软件要求软件设计软件构建软件测试软件配置管理软件工程管理软件工程流程软件工程工具和方法软件质量、软件工程、10、ISO9000定义:软件工程流程是将输入转换为输出的一组相互关联的资源和活动。从软件开发的角度来看,这是软件开发的一系列开发活动,它使用适当的资源(人员、硬软件工具、时间等)在流程结束时将输入(用户要求)转换为输出(软件产品)。软件工程流程和软件生命周期、软件工程、11、软件工程流程定义了使用:方法的顺序、需要提供的文档资料、质量保证和适应更改所需的管理,以及在软件开发的所有阶段完成的里程碑。软件工程进程由四个基本进程活动组成:计划:软件规格说明do:软件开发check:软件确认action:软件演化、软件工程、12、软件生命周期由软件定义、软件开发和软件执行维护三个阶段组成。软件生命周期模型是软件工程思想的具体化,是整个软件生命周期内由系统开发、操作和维护实施的所有活动和操作的进程框架。常用的软件生命周期模型包括瀑布模型、演化模型、螺旋模型、增量模型、分数模型、快速应用开发(RAD)模型。软件工程,13,瀑布模型,每个活动自上而下相互连接的固定顺序,每个活动都在一个质量循环(输入-处理-输出-复查)中,就像瀑布逐步落下一样。阶段之间有顺序性和依赖性。推迟实现时间。每个步骤都必须完成规定文档。在每个阶段结束之前完成文档审阅。软件工程,14,软件工程,15,进化模型,进化模型是迭代的,必须在软件改进之前进化。进化模型首先开发“原型”软件,完成部分主要功能,向用户展示和征求意见,然后逐步完善,最终获得满意的软件产品。随着业务和产品要求的变化,采用线性开发方法是不现实的。快速实现并提交有限版本,以应对市场竞争的压力。软件工程,16,软件工程,17,螺旋模型,螺旋模型将瀑布模型和进化模型相结合,两种模型都添加了忽略的风险分析。螺旋模型沿螺旋旋转,从内到外,每个旋转都开发出更精密的新版本。计划风险分析开发实施工程客户评价、软件工程、18、软件工程、19、增量模型、增量模型是迭代和演化的过程。增量模型将软件产品分解为一系列增量组件,逐步添加到增量开发迭代中。每个元件由多个互动模组组成,您可以完成特定功能。以前完成的增量可以为以后的增量提供服务。增量开发方法的新进化版本称为“eXtremeProgramming”(至尊编程)。软件工程、20、软件工程、21、软件工程、22、分数模型、重复和无间距特性。系统的一个部分经常重复多次,在每次迭代中添加相关对象演化的软件组件。无间隔意味着各种开发活动(分析、设计和编码)之间没有明确的界限。分数模型是以物件为中心的程序。软件工程、23、软件工程、24、转换模型、转换模型是基于正式规范说明语言和程序转换的软件开发模型。此外,使用结构化软件开发方法,对结构化软件规格说明执行一系列自动或半自动程序转换,最终映射到计算机系统可接受的程序系统。多阶段程序转换过程的重要特性是每个阶段程序转换的准确性仅与用作该阶段转换基础的规范Mi和转换后的假设Mi 1有关。软件工程,25,在这种意义上,转换阶段独立于其他转换阶段。这称为转换的独立性。此模型仅适用于软件的正式开发方法。需要严格的数学理论和正式的技术支持。需要对整个开发环境(如程序转换工具、清理证明工具等)的支持。软件工程,26,第4代基于技术的模型,第4代语言(4GL)是基于大型数据库管理系统开发的,是面向结果的非程序语言。它支持多种软件工具,可以独立于特定处理器整合利用和管理多种数据资源,并满足不同级别的用户需求。以4GL为核心的软件开发技术将成为第四代技术(4GT),采用4GT的软件开发模式,如图所示。如果软件开发人员定义了软件要求并提供了要求规范的说明,则4GT工具会自动将此要求规范说明转换为软件工程,27,程序代码。这大大缩短了分析、设计、编码和测试时间。以4GL为核心的软件开发技术将成为第四代技术(4GT),采用4GT的软件开发模式,如图所示。、软件工程、28、快速应用程序开发(RAD)模型、快速应用程序开发模型是在软件开发中使用大量可重复使用组件的增量开发模型。业务建模需要五个阶段来建模业务功能的信息流。数据建模为业务中的数据对象和关系建模。流程建模描述完成业务功能的数据转换。应用程序创建应用程序组件和自动工具构建。测试和重复测试新组件和接口。也称为软件工程,29,软件工程,30,软件开发模型(Paradigm),模型,样式。模型(Model)或开发模式(Pattern)通常被视为开发技术,就像方法(Methodology)一样。板材主导了设计方法、编码语言、测试和检验技术的选择。流程模型将软件定义为流程流,由一系列步骤组成的算法。每个步骤都是具有输入和输出的过程,将这些步骤连接在一起会产生贯穿整个程序的控制流。软件工程,31,面向对象模型使用识别和建模问题领域的实体作为系统开发的起点,面向对象系统中的对象是数据抽象和进程抽象的合成。逻辑范型基于将问题的知识细分为一组特定规则(如prolog语言)的规则。面向流程的模型将问题分解为独立运行的模块。强制两个或多个程序同时运行。这些过程相互协作解决问题。面向访问的模型是配置用户界面的有用技术。软件工程,32,基于函数的范式基于将问题的知识划分为特定规则集并以语言的“if_then”等结构表示的规则。说明性模范。每个开发模型都有其支持者和用户。每个开发模型特别适合于特定类型的问题或子问题。每个开发模式都以不同的方式考虑问题。每个开发模型使用不同的方法,导致问题、软件工程、33、每个开发模型发生不同种类的块、过程和生成规则。在系统开发中,经常将大问题分解为子问题组。对每个子问题使用相应的软件开发范式。软件工程,34,软件工程原则是抽象和自上而下,分层镶嵌是使用分层抽象方法有效地控制软件开发的复杂性。将问题分解为更小、更容易解决的模块,有助于隐藏和抽象信息。信息隐藏和数据封装将模块的软件设计决策封装在模块内部,有助于隔离模块实现和使用,控制修改本地化。抽象和自上而下、分层细分、软件工程原则、软件工程、35、本地化通过在一个物理模块中集中逻辑上相互关联的计算机资源,促进具有特定目的的事物聚合。一致的模块使用一致的设计策略、编程风格,确保程序内部接口的一致性、软件和硬件接口的一致性、系统规格说明和系统行为的一致性。完整性软件系统不丢失任何组件。可验证性系统分解应遵循可检查性、可测试性和可审阅性原则,以确保系统的准确性。软件工程,36,软件工程的基本原则是,按软件寿命阶段制定计划,将整个软件开发过程认真实施为一个项目,将项目分为几个阶段,分别制定各个阶段的计划,一一实施。坚持阶段审查前一阶段的结果将成为下一阶段的依据。只有忠实地进行阶段性的审查,才能保证错误不会传播到下一阶段。软件工程,37,严格的产品控制符合性在整个过程中,将影响软件质量的因素置于严格的控制之下。使用现代编程技
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《谏逐客书》教学课件制作
- 《谁丢的鞋子》课件
- 公司行政部安全培训记录课件
- 亲子阅读课件
- 税务预算管理办法解读
- 亲子互动探索课件
- 《让我自己来》课件
- 蛛网膜下腔出血的护理
- 连锁餐饮研发部工作总结
- 事故管理安全培训课件
- 2025年8月31日湖南省市直遴选笔试真题及答案解析(B卷)
- 液化气瓶安全知识培训课件
- 毕节法院辅警面试题目及答案
- 足浴店突发事件应急处置预案
- 2025国家教育行政学院招聘9人(非事业编)笔试参考题库附答案解析
- 柴油安全知识培训课件
- 中药制备工艺汇报课件
- 南太平洋地区华侨华人的社会与文化研究
- 儿童早期发展中的回应性照护模式研究
- 幼儿园大班自然教育实施策略与效果研究
- 住宅工程质量常见问题防治技术标准DBJ 43T 302-2025知识解读
评论
0/150
提交评论