版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,办公电话:516274电子邮件:yliu放学后有问题的话,请发送电子邮件I,参考书软件工程概论(第5版)张海文清华大学出版社软件工程(第2版)奇奇昌,潭景平,宁红编书,高等教育出版社Shari Lawrence P ffrence,软件和软件工程,培训目标,本课程的目的和任务是让学生通过本课程的学习了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,提高每个人的软件开发能力和软件项目管理能力。学习经营思想、工程方法。1.1软件和软件危机(1),软件的概念,软件是什么?软件是程序吗?软件是程序,开发软件是程序编写的错误概念需要修正!庞大的规模、无形的手、软件=程序数据文档、1.
2、1软件和软件危机(2)、软件概念软件定义:软件是描述可执行计算机程序和程序执行预期功能和性能所需的数据、软件开发过程及其管理、程序的操作和使用的相关文档。程序、软件和软件产品:独唱-合唱-万人合唱|简单程序更复杂的程序软件,1.1软件和软件危机(3),初始两阶段三阶段面向部署的多用户分布式系统强大的台式机系统有限部署“智能”面向对象技术定制软件数据库低成本硬件专家系统软件产品消费者的影响人工神经网络并行计算网络软件开发成本和进度估计不正确2。使用者不满3。质量很不满意4。没有适当的文件5。软件经常无法维护6。供应不足:软件开发生产力赶不上计算机应用程序的快速趋势、软件危机以及计算机软件开发和维
3、护过程中出现的一系列严重问题。软件危机示例,IBM的OS/360,5,000个人年,具有约100万条命令;经费达数亿美元,结果令人失望,超过2000个错误导致系统完全无法运行。brooks是OS/360系统的负责人,他解释了开发过程中的困难和混乱。“就像怪兽在泥潭中死去挣扎,越是挣扎,泥巴埋得越多,最后没有任何野兽能逃脱被泥潭淹没的命运。1963年从美国飞往火星的火箭爆炸,造成了1000万美元的损失。原因是,fortran程序:DO 5 I=1,3无意中写道:DO 5 I=1.3,1967年苏联“联盟1”载人宇宙飞船返航时,软件无视小数点,进入大气层时无法打开降落伞,被烧毁。1.1软件和软件危
4、机(5),软件开发和维护过程中出现的许多严重问题与软件本身的特性有关,与软件开发和维护方法不正确有关。客观:软件本身的特性逻辑组件的庞大主观:不正确的开发方法忽视需求分析,错误地认为:软件开发=程序编写鄙视软件维护。1968年北大西洋公约组织计算机科学家在联邦德国举行了国际会议,讨论了软件危机问题。这次会议正式创造并使用“软件工程”一词,新的工程领域诞生了!软件工程指导计算机软件开发和维护的工程领域工程管理开发技术1993年,IEEE提供了更全面、更具体的定义:“软件工程包括:在软件开发、运行和维护过程中应用系统、规范、可测量的方法,即在软件中应用工程;研究中提到的方法。1.2软件工程及其基本
5、原理(1),软件工程的目标软件工程的目标是利用先进的软件开发技术和管理方法提高软件的质量和生产率。也就是说,以更短的周期、更低的成本生产高质量的软件产品,最终实现软件的工业生产。软件的质量特性:功能性、可靠性、可用性、效率、可维护性和可移植性。1.2软件工程及其基本原理(2),1.2软件工程及其基本原则(3),软件工程的基本原则(1)根据软件生命周期逐步制定计划,认真实施(2)坚持阶段审查(3)坚持严格的产品控制(4)使用现代软件开发技术5733软件生命周期包括三个阶段:软件定义、软件开发和操作维护,每个阶段可以分为多个阶段。1.3软件生命周期(2),软件定义期间的主要任务是解决“做什么”(w
6、hat)问题,以确定项目的总体目标和可行性;导出实现工程目标必须使用的策略和系统必须执行的功能。估计完成项目所需的资源和成本。制定工程日程。一般分为三个阶段:问题定义、可行性研究和需求分析。1.3软件生命周期(3),软件开发期间的主要任务是具体设计和实施“如何”问题,即在前期定义的软件。包括总结设计、详细设计、编码和测试四个阶段。1.3软件生命周期(4),软件执行维护窗口主要任务是使软件不断满足用户的需要。通常,有四种类型的维护活动:修复维护,即诊断和修复在使用过程中发现的软件错误。适应维护,即根据环境变化修改软件;根据用户要求改进或扩展软件,以实现更完整的维护。主动式维护,即针对未来维护活动
7、修改预先准备的软体。据统计,实际用于软件维护的成本占软件总成本的55%到70%。软件工程的重要目标之一是提高软件的可维护性,降低软件维护成本。1.3软件生命周期(5),定义每个阶段要完成的基本任务问题和可行性研究此阶段要回答的关键问题是:“需要解决哪些问题?在成本和时间的限制下,能否解决问题?值得做吗?(2)需求分析在此阶段要回答的关键问题是:目标系统应该做什么?(3)软件设计设计是软件工程的技术核心。现阶段要回答的关键问题是:如何实现目标系统?1.3软件生命周期(6),每个阶段要执行的基本操作(4)程序编码和单元测试此阶段要解决的问题是“正确实施所执行的设计”,即“如何编写正确且可维护的程序
8、代码?”(5)集成和系统测试测试是控制软件质量的重要手段,此阶段的主要任务是进行集成测试和系统测试。(6)将软件执行和维护提供软件投入正式使用后,进入操作阶段。这个阶段可以持续几年。软件可能由于多种原因运行,需要修改。1.4软件工程方法(1),概念软件工程包括技术和管理两个方面,是技术和管理紧密结合而形成的工程领域。软件开发前过程中使用的整套技术方法称为方法学,也称为通用。1.4软件工程方法(2),三要素:方法、工具、流程。软件工程方法是完成软件开发各种任务的技术方法。软件工具是为使用方法而提供的自动和半自动软件工程支持环境。过程是为了获得高水平软件而必须完成的一系列任务框架,它规定了完成每个
9、任务的任务步骤。现有方法(结构方法)、面向对象方法,这是当前使用最广泛的软件工程方法。软件工程方法(3),也称为1.4生命周期方法或结构化范例。根据软件生命周期的每个阶段,使用结构化技术完成每个阶段的任务。特点:(1)强调自上而下完成软件开发的所有阶段。(2)结构方法具有行为导向性或数据导向性,缺乏将两者有机结合的机制。软件工程方法(4),一种与1.4数据操作紧密结合的面向对象的方法。软件开发过程是一个反复多次的进化过程。概念和表示中面向对象方法的一致性确保了各种开发活动之间的平稳过渡。面向对象的方法对于大型、复杂、交互能力更强的系统很有用。1.5软件过程、软件过程是高水平软件需要执行的一系列
10、任务的框架,规定了完成每项任务的操作步骤。流程定义了使用方法的顺序、必须提供的文档资料、保证软件质量和协调更改所需采取的管理措施,以及在软件开发的所有阶段通知任务完成的里程碑。通常使用生命周期模型简要描述软件过程。生命周期模型也称为进程模型,因为它指定了生命周期执行的阶段和顺序。将软件生命周期活动设置为按线性顺序连接的多个阶段的模型。瀑布、不同级别的下降特性阶段顺序和依赖性推迟的观点的质量保证、1.5.1瀑布模型(1)、现有瀑布模型、1.5.1瀑布模型(2)、瀑布模型有很多优点,可以迫使开发人员采用规范的方法(例如结构化技术)。严格规定了各阶段必须提交的文件。要求每个阶段交付的所有产品都要经过
11、质量保证组的仔细验证。每个阶段生成的文档对于维护软件产品至关重要,没有文档的软件几乎无法维护。瀑布模型的成功主要是因为它是以文档为中心的模型。基于存在问题、不符合要求的系统、用户基本要求的说明,投入较少的人力和物力,迅速构建初始模型,使用户及时执行和查看模型的报价和使用效果,补充和细化需求说明,提出改进意见,开发人员进一步修改迭代,重复迭代,直到获得一个用户满意的模型。1.5.2快速原型模型(1)、(1)原型系统通过与用户的交互进行了验证,并通过相应的规范指南正确描述了用户要求,因此,随着规范说明文档中的错误的发现,开发过程的后续阶段不会进行更大的返工。(2)开发人员通过构建原型系统,已经学到
12、了很多,设计和编码阶段出错的可能性也比较小,因此在以后的阶段,在前面的阶段纠正错误的可能性自然减少了。(3)软件产品交付给用户后,维护开始。根据需要完成的维护任务种类,可能需要返回到各种阶段,如需求分析、规格说明、设计或编码。,1.5.2快速保护模型(2),使用增量模型开发软件时,将软件产品设计、编码、集成和测试为一系列增量组件。每个元件由多个互动模组组成,您可以完成特定功能。1.5.3增量模型(1)、增量模型的优点(1)可以在短时间内提交对用户有用的工作产品。也就是说,从第一个组件交付之日起,用户可以执行一些有用的任务。(2)随着产品功能的逐步增加,用户有更多的时间学习和适应新产品,从而减少
13、了全新软件对用户组织的影响。(3)项目失败的风险较低,某些增量组件可能会出现一些问题,但是其他增量组件可以成功地传递给客户。(4)优先级最高的服务首先交付,然后依次合并其他增量组件。因此,最重要的系统服务将接受最多的测试。1.5.3增量模型(2),增量组件开发每个增量组件必须按如下方式实现系统功能,因此增量组件开发可以使用瀑布模型方法。瀑布模型与快速原型模型相结合的1.5.3增量模型(3),两种模型都添加了忽略的风险分析。螺旋模型的基本想法是使用原型和其他方法将风险降至最低。理解此模型的简单方法是将其视为在每个阶段之前添加了风险分析过程的快速原型模型。1.5.4螺旋模型(1)、简化的螺旋模型、完全螺旋模型、螺旋模型的优点有利于强调可选方案和约束,有助于将软件质量作为软件开发的重要目标。减少因测试或测试不足而产生的风险。在螺旋模型中维护只是模型的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年度业务合作传感器部署协议书
- 2025年江苏省常熟市高二生物下册期末考试检测卷带答案(能力提升)
- 2025年江苏省新沂市高二生物下册期末考试考试卷带答案(达标题)
- 2025年江苏省昆山市高二生物下册期末考试测试卷及答案【名校卷】
- 2026年广东省南雄市高二生物下册期末考试试卷附答案【满分必刷】
- 2026年湖北省麻城市高二生物下册期末考试检测卷及答案(夺冠)
- 2025年广东省兴宁市高二生物下册期末考试试卷含答案【预热题】
- 2026年江苏省如皋市高二生物下册期末考试模拟卷附答案(黄金题型)
- 2025年浙江省嵊州市高二生物下册期末考试模拟卷附答案
- 2026年四川省什邡市高二生物下册期末考试试卷完美版附答案
- 2026四川甘孜州甘孜县人民医院考试招聘护士8人笔试备考题库及答案详解
- 漂流岗位责任制度
- DBJT13-366-2021 建筑工程附着式升降脚手架应用技术标准
- 城市道路日常养护作业服务投标文件(技术方案)
- 中药热奄包疗法操作评分标准
- JT∕T 795-2023 事故汽车修复技术规范
- 趣识古文字智慧树知到期末考试答案章节答案2024年吉林师范大学
- 2024初中数学中考总复习教案
- 眼内炎病例讨论
- 110KV电缆输电线工程施工组织设计
- 病例分享 (呼吸科)
评论
0/150
提交评论