




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件项目,1,软件项目第一章软件项目概念,讲课老师:清华大学计算机系殷人昆yinrk432passwordqhdxjsjx,软件项目,2,提示:设计与建模的报告实体关系图,状态迁移图,数据词典结构化设计建模:从数据流图向系统结构化程序设计的转换:程序流程图,N-S图,PAD程序循环复杂度计算测试用例设计:逻辑垄断,循环测试,基本路径垄断, 因果关系图可靠性分析:估计测试前程序中的潜在错误OMT建模:对象模型、动态模型(状态图、事件跟踪图) UML建模:用例图、类图、序列图、事件图、软件工程,3 软件与硬件、数据库、人、进程等一起构成计算机系统。 软件按功能进行分类:应用软件、系统软件、支持软件. 软件的发展经历了程序设计阶段、程序系统阶段、软件工程阶段三个阶段。 软件工程、软件工程概念的出现是由软件危机引起的. 软件危机的主要特征软件价格在整个项目投入中所占的比例在不断上升软件开发成本大幅超过的软件开发周期大大超过了规定日期,软件质量难以保证的修改, 维护困难失败的根本原因是开发人员写的东西没有达到用户的要求(人的问题、技术问题),软件工程学,5,1968年德国人鲍尔在北大西洋条约机构会议上定义的“建立和使用完美的工程原则,以比较经济的手段实现1983年IEEE的软件工程定义:“软件工程是一种开发、运营、维护和修复软件的系统方法”。 1993年IEEE更全面的定义:“将系统化、规范化、可测量的方法应用于软件的开发、运行、维护的流程、工程”。 软件工程的定义、软件工程、6、软件工程框架、软件工程、7、软件工程框架显示了软件工程的三个主要方面。 软件工程的目标:规定软件工程实践结果(软件)应具有的基本性质,包括可用性、正确性、核算性:基本活动包括需求、分析和设计、实施、确认和测试、 软件工程四项原则,包括维护和支持:采用适当的开发模式,使用适当的开发方法,提供高质量的工程支持,实施有效的工程管理,从四个方面指导各项目的活动,软件工程软件工程,8,软件工程知识结构,2001年5月ISO/IECJTC1发布了SWEBOK指南V0.95(试用版) guidetthesoftworesoftworeengineglobalyoffknowledge。 SWEBOK把软件工程学科的主体知识分为10个知识领域。 这十个领域包括软件需求、软件设计、软件结构、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、以及软件工程,9,软件工程知识结构,2001年5月ISO/IECJTC1发布了SWEBOK指南V0.95(试用版) guidetthesoftworesoftworeengineglobalyoffknowledge。 SWEBOK把软件工程学科的主体知识分为10个知识领域。 这十个领域是软件请求软件设计软件构建软件测试软件配置管理软件工程过程软件工程工具和方法软件质量,软件工程,10,ISO9000定义:软件从软件开发的观点来看,使用适当的资源(包括人员、软件工具、时间等),进行软件开发的一系列开发活动,在流程结束时将输入(用户要求)转换为输出(软件产品)。 软件工程过程和软件生存周期,软件工程,11,软件工程过程在:方法的使用顺序,要求交货的文件资料,质量和变化对应必要的管理,软件开发各阶段完成软件工程过程包括plan:软件规范说明do:软件开发check:软件确认action:软件发展,软件工程,12,软件生存周期软件生存周期模式是软件工程思想的具体化,是跨越软件生存周期的系统开发、运行、维护实施的所有活动和任务的过程框架。 常用的软件生存周期模型有瀑布模型、进化模型、螺旋模型、增加模型、喷泉模型和快速应用开发(RAD )模型。 软件工程、13、瀑布模型、各活动由上而下,以相互连接的固定顺序,各活动处于质量环(输入-处理-输出-审查),以使瀑布逐步落下。 阶段之间有顺序性和依赖性。 延迟实现的观点。 在每个阶段必须完成规定的文档的每个阶段之前完成对文档的审阅。 软件工程,14,软件工程,15,进化模式,进化模式是反复的,软件必须经过进化完成。 进化模式首先开发了“原型”软件,完成了部分主要功能,向用户征求意见,逐渐完善,最终获得了满意的软件产品。 业务和产品的需求在变化中,采用线性开发方式是不现实的。 通过迅速实现和提交有限版本,可以应对市场竞争的压力。 软件工程、16、软件工程、17、螺旋模型、螺旋模型将瀑布模型和进化模型结合起来,对两个模型都施加了忽略的风险分析。 螺旋模型沿着螺旋旋转,从内向外旋转一圈,开发出更完整的新版本。 制定计划风险分析,工程客户评价、软件工程、18、软件工程、19、增量模式、增量模式是反复和发展的过程。 增量模型将软件产品分解为一系列增量组件,参加增量开发的反复。 每个部件包含多个相互作用的模块,并且可以执行特定功能。 以前完成的增加部分可以为后期的增加部分提供服务。 增分开发方法的新进化版本叫做“极限编程”。 软件工程、20、软件工程、21、软件工程、22、喷泉模型体现了迭代和无间隙的特性。 系统的某一部分常常反复工作,所关联的对象被加入到每次迭代中进化的软件要素中。 没有差距意味着每个开发活动,即分析、设计和编码之间不存在明显的边界。 喷泉模型是对象驱动的过程。 软件工程、23、软件工程、24、转换模型、转换模型是基于形式化标准解释语言和程序转换的软件开发模型。 采用形式化的软件开发方法,将形式化的软件规格说明进行一系列自动或半自动的程序转换,并将计算机系统映射到最终被接受的程序系统上。 多阶段程序变换过程的重要性质是,各阶段程序变换的正确性仅与作为该阶段变换依据的规范Mi和变换后的假设Mi 1有关。 另外,在软件工程、25等意义上,转换步骤与其他转换步骤独立。 这被称为变换的独立性。 该模型仅适用于软件的形式开发方法。需要严格的数学理论和形式化技术支持的开发环境(如程序转换工具、定理证明工具等)的全面支持。 软件工程、26、基于第四代技术的模型、第四代语言(4GL )是基于大型数据库管理系统发展的面向结果的非过程性语言。 这与特定处理器独立地有丰富的软件工具支持,且能够统一使用和管理各种数据资源,且能够满足用户不同级别的需要。 以4GL为中心的软件开发技术成为第4代技术(4GT ),采用4GT的软件开发模式如图所示。 在软件开发人员定义了软件的需求并提出了需求规格的说明之后,4GT工具就能自动将该需求规格的说明转换成软件工程、27、程序代码。 这大大缩短了分析、设计、编码和测试的时间。 以4GL为中心的软件开发技术成为第4代技术(4GT ),采用4GT的软件开发模式如图所示。软件工程、28、快速应用开发(RAD )模型、快速应用开发模型是增量开发模型,该模型开发软件大量使用可再利用的零件。 各阶段的开发经历了商业模式的商业功能的信息流模型化这5个阶段。 数据建模对业务的数据对象和关系进行建模。 流程建模描述了用于完成业务功能的数据转换。 应用生成应用组件和自动化工具的构建。 测试新的组件和接口,并重复测试。 软件工程,29,软件工程,30,软件开发模型,模型也被称为风范。 风扇型被认为是开发模式(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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机信息处理应用案例题目及答案
- 高考数学备考阶段总结试题及答案
- 材料疲劳裂纹扩展模型验证重点基础知识点
- BIM+ESE+数字孪生零碳数字化智能工厂建设方案
- 厨房油火灾应急预案(3篇)
- 医院空调火灾应急预案(3篇)
- 2025年软考设计师项目管理案例分析试题及答案
- 软件水平考试重难点总结试题及答案
- 车辆火灾车载应急预案(3篇)
- 物业防火灾应急预案(3篇)
- 《C语言程序设计》教学设计 项目八北京冬奥会奖牌榜指针
- 土地房屋测绘项目投标方案技术标
- 巡视巡察课件2025
- 湖北省武汉市江岸区2024-2025学年上学期元调九年级化学试题(含标答)
- 教师心理减压培训课件
- 2025年上半年台山市国粮食集团限公司招聘工作人员12人易考易错模拟试题(共500题)试卷后附参考答案
- PE给水管道施工组织方案
- 四年级 下册 人教版 数学 第八单元《平均数(二)(例2)》 课件
- 信息技术与人工智能(重庆工业职业技术学院)知到智慧树答案
- 飞机仪电与飞控系统原理知到智慧树章节测试课后答案2024年秋中国人民解放军海军航空大学
- 家具类项目安装调试方案
评论
0/150
提交评论