欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

单元一 初识软件工程

  • 资源ID:240570752       资源大小:1.20MB        全文页数:55页
  • 资源格式: PPT        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

单元一 初识软件工程

软件工程主讲人:路 景 软件的哲学 之 初识软件工程软件工程威海职业学院 单元一 初识软件工程软件工程 软件的哲学 之 初识软件工程软件工程威海职业学院教学目标理解软件工程的发展历程、基本思想及常用方法;掌握软件生存周期的含义及软件生存周期模型的优缺点;能够根据软件项目的自身特点、客户要求等选择合适的生命周期模型进行项目开发;软件的哲学 之 初识软件工程软件工程威海职业学院你正确认识软件了吗?软件发展简史 软件是什么?不同的人对软件认识不同。用户:软件是刻在光盘上,安装后能完成一定 功能的东西开发商:软件就是一种产品开发人员:软件是智慧的结晶 软件的哲学 之 初识软件工程软件工程威海职业学院一.软件的内涵 软件是计算机系统中的程序和有关文档的完整集合。计算任务的处理对象和处理规则的描述;(指令序列及数据)为了便于了解程序所需的资料说明(文字资料、图形资料、使用说明书、设计技术资料等)软件程序文档千万不能没有我!软件的哲学 之 初识软件工程软件工程威海职业学院二.软件的特征软件是无形的,不是具体的物理实体软件与硬件的生产方式不同软件与硬件的维护不同软件是复杂的软件成本相当昂贵 软件的哲学 之 初识软件工程软件工程威海职业学院三.软件开发技术的发展 计算机发展史 软件开发技术发展史电子管时代(19461958)晶体管时代(19581965)集成电路时代(19651970)大规模集成电路时代(1970至今)程序设计阶段(个体手工劳动)(20世纪50年代初60年代中)程序系统阶段(软件作坊)(20世纪60年代中70年代初)软件工程阶段(20世纪70年代中至今)软件的哲学 之 初识软件工程软件工程威海职业学院四、软件工程诞生的导火索 软件危机1.软件危机的含义 软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题。软件危机在20世纪60年代末全面爆发,主要针对如何开发软件、怎样满足对软件日益增长的需求、如何维护现有软件三个重要问题。软件的哲学 之 初识软件工程软件工程威海职业学院危机何在(软件危机产生的原因):软件不符合用户的实际需求软件价格昂贵软件开发项目超支和延期软件质量低,可靠性差软件缺少适当的文档资料难于修改和维护软件 软件的哲学 之 初识软件工程软件工程威海职业学院2.如何化解危机我们需要从管理、技术和工具三个方面入手来解决软件危机加强软件开发过程的管理推广使用开发软件的成功技术和方法开发和使用好的软件工具 软件的哲学 之 初识软件工程软件工程威海职业学院 1968年在前联邦德国格密斯举行了称为“软件危机”的国际学术会议。我们必须既要有技术措施,又要有管理措施!软件工程是解决软件危机的唯一有效方法!软件工程是解决软件危机的唯一有效方法!软件的哲学 之 初识软件工程软件工程威海职业学院初识软件工程一.软件工程的定义 软件工程是对软件开发、运行、维护的系统化的、有纪律的、可定量的方法之应用,即对软件的工程化应用。(IEEE)软件工程是为了经济的获得可靠的并且能在实际计算机上工作的软件,所需要的健全的工程原理及方法的确立和使用。软件的哲学 之 初识软件工程软件工程威海职业学院软件工程三要素方法:软件开发使用的专业技术指明软 件开发“如何做”工具:软件开发、维护和分析中使用的 程序系统过程:将方法与工具综合起来,定义方 法使用的顺序,要求交付的文 档、资料等 软件的哲学 之 初识软件工程软件工程威海职业学院二.软件工程的基本内容 软件工程研究的主要内容是软件开发技术和软件开发管理两个方面。其目的是研究如何以较小的代价获得高质量的软件。软件的哲学 之 初识软件工程软件工程威海职业学院传统软件工程学的基本内容:软件生存周期模型软件分析 可行性分析 需求分析 软件设计总体设计详细设计软件实现软件测试软件维护软件管理 软件的哲学 之 初识软件工程软件工程威海职业学院软件生存周期 一.什么是软件生存周期?一个计算机软件从功能确定、设计到开发成功投入使用,并在使用中不断修改、增补和完善,直到停止该软件使用的全过程。你能找出上述定义中包含的软件开发整个过程需要完成的工作吗?软件的哲学 之 初识软件工程软件工程威海职业学院二.软件生存周期的阶段 项目实施人员改进后的系统维护、改进、完善系统使用和维护软件运行维护测试人员测试报告发现错误、排除错误(质检)软件测试程序员系统程序编写程序实现(单元测试)用户、开发人员概要设计说明书详细设计说明书建立软件模块结构,设计具体算法(怎么做)软件设计软件开发用户、开发人员需求规格说明书理解、表达用户需求(“做什么”)需求分析用户、开发人员可行性研究报告确定总目标,项目可行性研究可行性分析与计划软件定义参与人员主要成果工作任务阶段名称总体设计详细设计集成测试确认测试 软件的哲学 之 初识软件工程软件工程威海职业学院三.软件生存周期模型 软件开发模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。软件的哲学 之 初识软件工程软件工程威海职业学院 软件生命周期模型反映了软件生存期各种活动应该如何组织,8个阶段应该如何衔接。它实质上反映了软件工程三要素中的过程,因此也被称为“软件过程模型”或“软件生存周期模型”。软件的哲学 之 初识软件工程软件工程威海职业学院1.瀑布模型(最早的软件开发模型)软件的哲学 之 初识软件工程软件工程威海职业学院基本思想 各项活动自上而下,相互衔接,以固定次序进行,如同瀑布流水,逐级下落。每一阶段开发活动应按如下步骤进行:从上一项活动接收本项活动的工作对象利用这一输入完成本项工作对本项活动实施的工作进行评审将本项活动工作成果,作为输出传给下面 软件的哲学 之 初识软件工程软件工程威海职业学院优点和缺点优点:能够保证产品有较高质量,保证缺陷能尽早发现。缺点:在软件开发初期指明软件系统的全部需求较困难;易导致项目人力资源过多的闲置;用户要等相当长时间才能得到最初版本;上流的错误会在下流进行传播,逆转会延误工期,增加成本。软件的哲学 之 初识软件工程软件工程威海职业学院适用场合当有一个明确的、相对稳定的需求分析和很容易被理解的技术解决方案时,可以采用瀑布模型。需要对一个已有系统进行明确定义的适应性调整或增强的时候,可以采用瀑布模型。软件的哲学 之 初识软件工程软件工程威海职业学院2.原型模型听取用户听取用户意见意见建造建造/修改修改原型原型用户测试用户测试运行原型运行原型 软件的哲学 之 初识软件工程软件工程威海职业学院基本思想 (1)开发人员根据用户需求快速开发一个原型 (2)征求用户对原型的评价意见,进一步使需求精确化 (3)根据精确后的需求改进、完善原型,直到满足用户需求为止 软件的哲学 之 初识软件工程软件工程威海职业学院原型开发途径 (1)仅模拟软件系统的人机界面和人机交互方式 (2)开发一个工作模型,实现软件系统中重要的或容易产生误解的功能 (3)利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能 软件的哲学 之 初识软件工程软件工程威海职业学院优点和缺点优点:原型模型能够从实践中了解用户的需求,对改善沟通和用户参与有较好的效果,是一种良好的启发式方法。缺点:搭建原型时,经常没有考虑整体质量和今后的可维护性问题可能采用不适当的程序设计语言或算法用户不能正确理解原型的意义 软件的哲学 之 初识软件工程软件工程威海职业学院适用场合 需求不明确或需求经常随时间变化的系统。软件的哲学 之 初识软件工程软件工程威海职业学院3.增量模型(渐增模型)软件的哲学 之 初识软件工程软件工程威海职业学院基本思想 (1)首先建立一个统一的体系结构分析设计 (2)在增量模型的每一个阶段,都要编码产生一个新的构件(中间版本)(3)将新构件集成到先前已经构成的产品中并作为一个整体进行测试,直到满足用户需求为止 一般首先开发产品的核心部分,然后再逐步开发产品的附加部分 软件的哲学 之 初识软件工程软件工程威海职业学院开发流程一个典型的产品通常由1050个构件组成。软件的哲学 之 初识软件工程软件工程威海职业学院优点和缺点优点:增量模型的每个阶段都交付一个可操作的产品,从第一个构件交付开始,客户就能做有用的工作缺点:后开发的构件必须能够集成到先前已开发的产品中而不毁坏已开发的功能。要求体系结构设计必须是开放的,否则有难度 软件的哲学 之 初识软件工程软件工程威海职业学院适用场合当没有足够的人员在规定的期限内开发完整的产品由于不可克服的客观原因而把交付期限规定的太短原型模型是一种迭代的开发形式,想想原型模型与渐增模型有什么不同之处?软件的哲学 之 初识软件工程软件工程威海职业学院4.演化模型基本思想 第一次迭代(需求-设计-实现-测试-集成)-反馈-第二次迭代(需求-设计-实现-测试-集成)-反馈-采用演化模型的开发过程,实际上就是从初始的原型逐步演化成最终软件产品的过程。软件的哲学 之 初识软件工程软件工程威海职业学院缺点如果所有的产品需求在一开始并不完全弄清楚的话,会给总体设计带来困难及削弱产品设计的完整性,影响产品性能的优化及产品的可维护性。如果缺乏严格的过程管理的话,这个生命周期模型很可能退化为一种原始的无计划的“试错改”模式。心理上,可能产生一种影响尽最大努力的想法,认为虽然不能完成全部功能,但还是造出了一个有部分功能的产品。如果不加控制地让用户接触开发中尚未测试稳定的功能,可能对开发人员及用户都产生负面的影响。软件的哲学 之 初识软件工程软件工程威海职业学院适用场合演化模型特别适用于对软件需求缺乏准确认识的情况。想想演化模型与增量模型有什么不同之处?软件的哲学 之 初识软件工程软件工程威海职业学院5.螺旋模型 软件的哲学 之 初识软件工程软件工程威海职业学院基本思想 (1)将瀑布模型与原型模型结合起来(2)增加了风险分析(3)将瀑布模型的多个阶段转化到多个迭代过程中 软件的哲学 之 初识软件工程软件工程威海职业学院开发过程 螺旋模型主要由4个部分组成:需求定义、风险分析、实施开发和计划评审。每一次迭代均包含六个步骤:决定目标和解决方案识别和解决项目的风险评估解决方案开发本次迭代的交付物,验证交付物的正确性计划下依次迭代提交下一次迭代的步骤和方案 软件的哲学 之 初识软件工程软件工程威海职业学院优点和缺点优点:实现了随着项目成本投入不断增加,风险逐渐减小缺点:需要具有相当丰富的风险评估经验和专门知识,而且费用昂贵 软件的哲学 之 初识软件工程软件工程威海职业学院适用场合 一般适用于大型软件项目的开发 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group微软的软件产品周期计划计划设计设计执行执行稳定稳定发布发布 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group规划阶段和设计阶段产品品规划(划(PlanningPlanning)市场机会客户需求功能和技术愿景(Vision)制定计划和过程产品品设计(DesignDesign)细化需求功能和架构设计界面设计开发计划 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group实施阶段和定型阶段实施阶段实施阶段(Implement)(Implement)编写代码构建产品产品定型产品定型(Stabilize)(Stabilize)验证和改进测试和调试44 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group发布阶段产品发布阶段产品发布阶段(Release)(Release)交付生产在线内容的发布和维护进入产品更新阶段45 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group微软里程碑模型1)由微软软件工程团队在实际中逐步创立2)集合了各种软件开发模型的优点3)微软软件工程实践的真实写照 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group什么是里程碑?1)项目的检查点(Checkpoint)2)包含产品生命周期中的一个或多个阶段3)基于 Exit Criteria一系列”是/否”问题所有问题的回答都是”是”时,可以进入下一阶段4)由M0,M1,M2,M3 RC0,RC1等一系列阶段组成M:MilestoneRC:Release Candidate 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group微软里程碑模型 软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group微软里程碑模型49里程碑(Milestones)M0:规划和设计(plan and design)Mn:实施(coding as speced)定型/稳定(Stabilization:test,verify and stabilize)交付生产(RTM/W:release to manufacture/web)软件的哲学 之 初识软件工程软件工程威海职业学院Strategic Partnership Group Microsoft Asia-Pacific R&D Group里里程程碑模型术语碑模型术语术语定义Spec Complete 规格说明书设计评审完毕Feature Coding编写代码实现功能Code Complete(CC)所有里程碑计划的功能编码完成Test Plan Complete 测试计划制定并评审完毕Zero Bug Bounce(ZBB)本里程碑大于48小时的缺陷数量等于零ZBB Test Pass(ZBBTP)所有功能测试都在当前构建(build)上运行一遍Zero Resolved Bugs(ZRB)里程碑内解决的并等待验证的漏洞数量等于零Exit Criteria里程碑交付物质量标准Full Test Pass所有需要执行的测试用例集合Test Sign-Off对里程碑构建(Build)做最后的验证和媒介验收RTM/RTW产品发布到光盘生产厂或者网站上线 软件的哲学 之 初识软件工程软件工程威海职业学院8.生命周期模型的选择原则在前期需求明确的情况下尽量采用瀑布模型在用户无信息系统使用经验,需求分析人员技能不足情况下要借助原型模型在不确定因素很多,很多东西前面无法计划情况下,尽量采用增量、迭代和螺旋模型在需求不稳定情况下尽量采用增量、演化模型在资金和成本无法一次到位情况下可采用增量模型模型可以综合使用 软件的哲学 之 初识软件工程软件工程威海职业学院思考题:假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?软件的哲学 之 初识软件工程软件工程威海职业学院软件开发方法 软件工程的三要素之一,告诉人们“每个阶段做什么以及怎么做”。结构化方法结构化分析结构化设计面向对象方法面向对象分析面向对象设计 软件的哲学 之 初识软件工程软件工程威海职业学院 软件的哲学 之 初识软件工程软件工程威海职业学院软件开发人员分析员角色(从事需求分析阶段工作):业务流程分析员、系统分析员、用户界面设计员开发角色(从事软件设计和实现工作):构架设计师、数据库设计员、系统设计员、实施员(程序员)测试员角色(从事软件测试工作):测试设计员、测试员

注意事项

本文(单元一 初识软件工程)为本站会员(无***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!