收藏 分享(赏)

第一讲软件工程概论.ppt

上传人:fmgc7290 文档编号:8697438 上传时间:2019-07-08 格式:PPT 页数:42 大小:152KB
下载 相关 举报
第一讲软件工程概论.ppt_第1页
第1页 / 共42页
第一讲软件工程概论.ppt_第2页
第2页 / 共42页
第一讲软件工程概论.ppt_第3页
第3页 / 共42页
第一讲软件工程概论.ppt_第4页
第4页 / 共42页
第一讲软件工程概论.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、软件工程,软件工程导论,课 名:软件工程,教 材:软件工程导论 参考教材: 1.实用软件工程,郑人杰等,清华大学出版社 2.软件工程基础,汤惟,西安交通大学出版社,第一讲 软件工程概论,本讲主要内容,一. 软件工程学科的形成 二. 软件工程的概念、基本原理 三. 软件生存期模型 四. 软件工程项目的基本目标 五. 本课程讲授的主要内容及考核办法,一 软件工程学科的形成,1.软件的概念与特点,软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文

2、材料,一 软件工程学科的形成,1.软件的概念与特点,程序与软件的关系,程序,软件,商业化,共享软件,软件的特点,软件是一个逻辑的而不是物理的产品。软件具有与硬件不同的特点: 软件是由开发或工程化而形成的,而不是传统意义上的制造产生的; 软件不会“磨损”; 大多数软件是自定义的,而不是通过已有构件组装的。 维护不同.,40年代 第一台计算机计算机软件发展可以分为三个阶段:程序设计阶段:60年代初以前程序系统阶段:60-70年代初大程序系统 1968 “软件工程”软件工程阶段:70年代-至今,2.软件的发展和软件危机,产生的变化有:人们对软件有了新的认识软件的需求为大众化的:软件开发者和用户的分工

3、和责任软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存期,2.软件的发展和软件危机,软件技术面临的问题:,软件复杂性例:1 Windows95程序超过1000万行2 WWMCCS(军事和控制)花费3500多人拖了几年,交付后发显出100个错误。最后失败。3 城市银行出纳机程序7.8万行,150人年软件生产率OO技术(软件IC),软件危机的主要特征,软件开发周期大大超过规定日期; 软件系统开发成本高,周期长,质量差,满足不了市场需求; 软件质量无保证 软件系统开发人员数量少,质量低 软件系统维护难度大 软件开发缺乏合适的工具和方法 软件的版权问题得不到保证,成功的标准:,用户在使用 用户使

4、用软件很容易做完要做的事 失败的根本原因:开发人员写出的软件达不到用户要求:人的能力问题.当前技术发展问题系统平台问题,中国软件产业的挑战,外国软件打入 软件侵权行为 软件开发投资力度不足 软件人才结构不合理,缺乏高级系统程序员和项目负责人。 软件人员缺乏软件工程化的概念。,软件开发应该是一种组织良好、管理严密,各类人员协同配合,共同完成的工程项目 应该推广开发软件的成功的技术和方法 应该开发和使用更好的软件工具结论:按工程化的原则和方法组织软件开发工作,既要有良好的技术措施(方法、工具),又要有必要的组织管理措施。,3.解决软件危机的途径,二 软件工程的概念、基本原理,1.软件工程的定义,B

5、oehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料 IEEE:软件工程是开发、运行、维护和修复软件的系统方法 Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法 但主要思想是强调在软件开发过程中需要应用工程化原则的重要性,软件工程 (software engineering),软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。软件工程为了经济地获得可靠的和能在实际机器上高效运行的软件而建立合使用的好的工程原则。,1

6、 用分阶段的生命周期计划严格管理2 坚持进行阶段管理3 实行严格的产品控制4 采用现代程序设计技术5 结果应能清楚地审查6 开发小组的人员应该少而精7 承认不断改进软件工程实践的必要性,2.软件工程的基本原理,三个要素:方法、工具和过程软件工程方法为软件开发提供了“如何做”的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的,3.软件工程的三个要素,软件工程过程,软件规格说明:规定软件的功能及其运行的限制 软件开发:产生满足规格说明的软件 软件确认:确认软件能够完成客户提出的要求 软件演进:为满

7、足客户的变更要求,软件必须在使用的过程中演进,软件工程是一门交叉学科,软件开发模型 软件开发方法软件立项到终止的全过程软件开发工具软件开发环境 计算机辅助软件工程(CASE)软件工程管理软件工程经济学,?,软 件 工程的主要研究内容,三 软件生存期模型,软件生命周期(Software Life Cycle) 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生命周期(或软件生存期) 软件生存期六个步骤(三个阶段):(问题定义和可行性研究)制定计划、需求分析、设计(总体设计和详细设计)、程序编码、测试及运行维护,软件生存期模型直观地表达软件开发全部过程,明确规定要完成的主要活动

8、和任务 瀑布模型 原型模型 演化模型 螺旋模型 喷泉模型 智能模型,软件生存期(开发)模型,1. 瀑布模型 (线形顺序模型),可行性研究与计划,需求分析,设计,编码,运行维护,测试,软件 定义,系统实现,运行维护,特征: 从上一阶段接受本阶段工作的对象作为输入 本阶段的工作成果作为输出传入下一阶段 评估各阶段,若本阶段工作得到确认,继续,否则返回前一阶段 因而,可以增加反馈线来表示具有反馈回路的瀑布模型,2.原型模型,又称快速成型模型 一般用于最终系统的早期用户评价,开发工期短,质量有保证,原型范型,听取用 户意见,建造/修改原型,用户测试 运行原型,3. 演化模型,针对事先不能完整定义需求的

9、软件开发,核心系统开发,演化模型,w 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,用户只能给出系统的核心,并根据实现的核心系统有效地提出反馈,来支持系统的最终设计和实现。 w 第一次只是试验开发核心系统,其目标只是在于探索可行性,弄清软件需求 w 第二次则在此基础上提出精化系统,获得较为满意的软件产品,特点:,4螺旋模型,螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动 w 制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件 w 风险分析分析所选方案,考虑如何识别和消除风险 w 实施工程实施软件开发 w 客户评估评价开发工作,提出修正建议,特点:,5 喷泉模型,

10、特点:,迭代 重复 演进 无间隙 各阶段间无明显界限,6 智能模型,也称为基于知识的软件开发模型它综合上述开发模型,并把专家系统结合在一起。该模型应用基于规则的系统,采用规约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。 建立知识库,将模型、软件工程知识与特定领域的知识分别存入数据库。,制定计划,确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求 完成该软件任务的可行性研究 估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查,软件生存周期各阶段的任务,需求分析和定义,

11、对待开发软件提出的需求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 提交管理机构评审,软件设计,概要设计 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应 详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础 编写设计说明书,提交评审。,针对需求和软件设计的典型方法:结构化方法面向数据结构方法面向对象方法,程序编写,把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单” 写出的程序应当是结构良好、清晰易读的,且与设计相一致的,软件测试,单元测试,查找各模块在功能和结构上存在的问题并加以纠正 组装测试,将已测试过的模块按一定顺序组装起来 按规定的各项需求, 逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用,运行维护,改正性维护 运行中发现了软件中的错误需要修正 适应性维护 为了适应变化了的软件工作环境,需做适当变更 完善性维护 为了增强软件的功能需做变更,四 软件工程项目的目标,成功的项目:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用,四 软件工程项目的目标,目标之间的关系:,低开发成本,易于维护,按时交付,高可靠性,高性能,互斥关系,互补关系,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报