已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章软件工程,计算机科学与技术总论,计算机科学与技术系,软件的特点:,软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。软件的生产与硬件不同,在它的开发过程中没有明显的制造过程。在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。,计算机科学与技术总论,计算机科学与技术系,软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。软件的开发至今尚未完全摆脱手工艺的开发方式。软件本身是复杂的实际问题的复杂性。程序逻辑结构的复杂性。软件成本相当昂贵。相当多的软件工作涉及到社会因素。,计算机科学与技术总论,计算机科学与技术系,一、软件工程基本概念二、软件工程基本原则三、软件工程的设计模式四、软件质量,计算机科学与技术总论,计算机科学与技术系,1、软件工程基本概念,程序设计阶段50至60年代程序系统阶段60至80年代主要围绕软件项目,开展开发模型、支持工具以及开发方法的研究。软件工程阶段80年代以后开展有关软件生产技术、软件复用技术、软件生产管理的研究和实践;提出具有广泛应用前景的面向对象方法和相关的语言,近年来,软件工程的研究从过程转向产品更加注重程序的开发范型和软件生产。高智能、自动化CASE成为软件工程技术研究的热点。,计算机科学与技术总论,计算机科学与技术系,Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。IEEE:软件工程是开发、运行、维护和修复软件的系统方法。FritzBauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。,一、软件工程概念,计算机科学与技术总论,计算机科学与技术系,软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。目标是让学生了解和掌握软件开发中的方法学和工程学知识,并应用于实践。刘乃琦教授,软件设计实现技术与软件工程方法,计算机科学与技术总论,计算机科学与技术系,软件工程项目的基本目标,付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用,计算机科学与技术总论,计算机科学与技术系,1、软件生命周期,软件生命周期:开发、使用、修改。软件命周期六个步骤:(问题定义和可行性研究)制定计划、需求分析、设计(总体设计和详细设计)、程序编码、测试及运行维护。,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,2、制定计划,确定要开发软件系统的总目标。给出功能、性能、可靠性以及接口等方面的要求。完成该软件任务的可行性研究。估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度。制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,3、需求分析和定义,对待开发软件提出的需求进行分析并给出详细的定义。编写软件需求说明书或系统功能说明书及初步的系统用户手册。提交管理机构评审。,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,4、软件设计,概要设计把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应。详细设计对每个模块要完成的工作进行具体的描述,为源程序编写打下基础。编写设计说明书,提交评审。,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,5、程序编写,把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。写出的程序应当是结构良好、清晰易读的,且与设计相一致的。,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,6、软件测试,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,测试是软件开发的最后一个阶段,是保证软件质量的重要环节,它是对需求分析、设计和编码的最后复审,通过测试可以发现和纠正软件中的错误,以保证软件的可靠性。,6.1程序测试的基本概念,计算机科学与技术总论,计算机科学与技术系,测试看作其程序能够正常运行的证明。GJMyers:“程序测试是为了发现错误而执行程序的过程。”根据这一测试定义,只有发现了错误的测试才能认为是成功的测试。测试具有不彻底性。通过测试可以找出程序中的错误,但任何测试都是不彻底的,不能保证测试后的程序不存在遗留的错误。,6.2、程序测试的基本概念,计算机科学与技术总论,计算机科学与技术系,测试时还要考虑其经济性。一般来说,测试成本占整个开发成本的三分之一左右。为了降低测试成本,要认真研究测试策略,采用尽可能少的测试用例,发现尽可能多的程序错误。如果在设计阶段程序设计做得很好,那么测试时就不需花费太多时间。如果设计时没有充分地对算法进行测试,那么就可能存在许多逻辑错误,要花费较长时间来进行测试。一般规律是:在分析和设计算法时花时间越多,调试程序时就花时间越少。,计算机科学与技术总论,计算机科学与技术系,6.2测试的种类,在程序测试期,通常进行两类测试:人工测试和机器测试。人工测试(静态测试)对程序首先进行的不是机器测试,而是通过人工集体协同的方式来对被测程序进行静态审查,以发现代码中的错误。,计算机科学与技术总论,计算机科学与技术系,机器测试(动态测试)动态测试分为两类。一类是把被测程序看成一个黑盒,根据程序功能来设计测试用例,称为黑盒测试;另一类是根据被测程序的内部结构来设计测试用例,测试者必须事先了解被测程序的内部结构,故称为白盒测试。,6.2测试的种类,计算机科学与技术总论,计算机科学与技术系,高级测试高级测试通常就是由程序测试小组与用户一起进行的验收测试,这时不是将程序功能与系统设计规范说明书相比较,而是将它与用户需求说明相比较,即将它与用户的原始目标、预期结果以及用户当前需要相比较。当用户认为程序能够满足预期的需要时,开发过程的测试阶段就结束了。,6.2测试的种类,计算机科学与技术总论,计算机科学与技术系,6.3程序运行和维护,程序初步测试成功,并不说明大功告成,必须经过运行,在运行中使程序老化。所谓老化就是经过一段时间的运行之后,验证程序的性能指标,看看是否便于维护。已交付的软件投入正式使用,便进入运行阶段。这一阶段可能持续若干年甚至几十年。软件在运行中可能由于多方面的原因,需要进行修改。其可能的原因有:软件在运行中发现了错误需要修正;为了适应变化了的软件工作环境,需要适当变更;为了增强软件的功能需做变更等等。,计算机科学与技术总论,计算机科学与技术系,7、运行维护,改正性维护运行中发现了软件中的错误需要修正。适应性维护为了适应变化了的软件工作环境,需做适当变更。完善性维护为了增强软件的功能需做变更。,二、软件工程的基本原则,计算机科学与技术总论,计算机科学与技术系,瀑布模型演化模型螺旋模型喷泉模型智能模型,三、软件工程的设计方法,计算机科学与技术总论,计算机科学与技术系,1、瀑布模型,瀑布模型有什么缺点?如何改进?,计算机科学与技术总论,计算机科学与技术系,从上一阶段接受本阶段工作的对象作为输入。本阶段的工作成果作为输出传入下一阶段。评估各阶段,若本阶段工作得到确认,继续,否则返回前一阶段。可以增加反馈线来表示具有反馈回路的瀑布模型。,计算机科学与技术总论,计算机科学与技术系,核心系统开发,2、演化模型,演化模型有什么特点?,计算机科学与技术总论,计算机科学与技术系,w由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,用户只能给出系统的核心,并根据实现的核心系统有效地提出反馈,来支持系统的最终设计和实现。w第一次只是试验开发核心系统,其目标只是在于探索可行性,弄清软件需求。w第二次则在此基础上提出精化系统,获得较为满意的软件产品。,计算机科学与技术总论,计算机科学与技术系,3螺旋模型,计算机科学与技术总论,计算机科学与技术系,w制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件。w风险分析分析所选方案,考虑如何识别和消除风险。w实施工程实施软件开发。w客户评估评价开发工作,提出修正建议。,计算机科学与技术总论,计算机科学与技术系,迭代重复演进无间隙各阶段间无明显界限,4、喷泉模型,计算机科学与技术总论,计算机科学与技术系,基于知识的软件开发模型,并把专家系统结合在一起。该模型应用基于规则的系统,采用规约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。建立知识库,将模型、软件工程知识与特定领域的知识分别存入数据库。,5、智能模型,计算机科学与技术总论,计算机科学与技术系,软件工程与其他工程的区别?,软件组件的重用率低;对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年阿克苏辅警协警招聘考试备考题库含答案详解(达标题)
- 2025年邵阳辅警协警招聘考试备考题库及1套参考答案详解
- 2025年赣州辅警协警招聘考试备考题库及答案详解(名师系列)
- 2025年湘桥区意溪镇意溪中学操场围栏施工合同
- 2025年甘孜藏族自治州辅警招聘考试真题附答案详解(典型题)
- 2025年金华辅警协警招聘考试备考题库及一套参考答案详解
- 2025年韶关辅警协警招聘考试备考题库附答案详解(完整版)
- 2025年菏泽辅警招聘考试题库及1套完整答案详解
- 2025年铜陵辅警协警招聘考试备考题库及答案详解(有一套)
- 2025年镇江辅警协警招聘考试备考题库附答案详解(综合卷)
- 数据标注教学课件模板
- 新生儿溢奶与吐奶护理要点
- 护理求职展示
- 建筑行业项目经理职业规划
- 高中选科规划课件
- 2025年互联网信息审核员考试题库及答案
- 2025年乡村振兴面试题及答案
- 2025年《新课程标准解读》标准课件
- 2024年普通高中学业水平选择性考试(福建卷)物理试题含答案
- 交流发言:深入实施数字化转型条件下税费征管“强基工程”推动县税务局工作高质量发展
- 1与食品经营相适应的操作流程
评论
0/150
提交评论