ImageVerifierCode 换一换
格式:PPT , 页数:50 ,大小:849.50KB ,
资源ID:2683050      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2683050.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件技术基础2.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件技术基础2.ppt

1、软件技术基础软件技术基础黄华第一章第一章 软件工程软件工程l1.1 1.1 软件工程概述软件工程概述l1.2 1.2 软件定义阶段软件定义阶段l1.3 1.3 需求分析需求分析l1.4 1.4 系统设计系统设计l1.5 1.5 详细设计详细设计l1.6 1.6 编码编码l1.7 1.7 软件测试软件测试l1.8 1.8 软件维护软件维护 软件开发领域越来越表现出的几个主要问题:软件开发领域越来越表现出的几个主要问题:l开发成本难以控制,开发进度不可预计;开发成本难以控制,开发进度不可预计;l软件质量和可靠性很差,用户很不满意;软件质量和可靠性很差,用户很不满意;l在软件开发过程中,缺乏良好的软

2、件文档;在软件开发过程中,缺乏良好的软件文档;l对软件的维护难度很大;对软件的维护难度很大;l软件开发的生产率很低,软件产品供不应求。软件开发的生产率很低,软件产品供不应求。1.1.1 软件危机软件危机1.1.软件危机的产生软件危机的产生l定义:定义:指在计算机软件指在计算机软件开发开发和和维护维护过程中所遇到的过程中所遇到的一系列一系列严重问题严重问题,几乎所有的软件都不同程度地具有这些问题。,几乎所有的软件都不同程度地具有这些问题。一方面:如何开发软件,来满足不断增长,日趋复杂的需一方面:如何开发软件,来满足不断增长,日趋复杂的需求;求;一方面:如何维护数量不断膨胀的软件产品。一方面:如何

3、维护数量不断膨胀的软件产品。软件危机产生的主要原因软件危机产生的主要原因l软件开发人员随心所欲地进行编程,缺乏系统软件开发人员随心所欲地进行编程,缺乏系统的、科学的开发方法和指导;的、科学的开发方法和指导;l用户在开发最初对软件需求的描述不准确,甚用户在开发最初对软件需求的描述不准确,甚至在软件开发过程中又提出修改要求;至在软件开发过程中又提出修改要求;l轻视软件维护工作,致使维护费用占软件总费轻视软件维护工作,致使维护费用占软件总费用的用的55%55%到到70%70%。1.1.2 软件工程软件工程l定义定义 软件工程是一门研究如何使用系统化、规软件工程是一门研究如何使用系统化、规范化、数量化

4、等工程的概念、原理、技术和方范化、数量化等工程的概念、原理、技术和方法去定义、开发和维护软件的有关技术和管理法去定义、开发和维护软件的有关技术和管理方法的工程科学。方法的工程科学。1.1.2 软件工程软件工程l研究的内容研究的内容1.1.技术:技术:软件开发方法学、软件工具及软件工程环境等。软件开发方法学、软件工具及软件工程环境等。2.2.管理:管理:通过计划、组织和控制等一系列活动,合理地配通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,已达到既定目标的过程。置和使用各种资源,已达到既定目标的过程。l软件工程的三要素软件工程的三要素1.1.方法方法-技术手段技术手段2.2.工具工

5、具-支撑环境支撑环境3.3.过程过程-工作步骤工作步骤1.1.2 软件工程软件工程l目标目标 以尽量小的代价和尽量少的时间开发出较以尽量小的代价和尽量少的时间开发出较高性能的合格软件。高性能的合格软件。1.1.3 软件生命周期软件生命周期l概念:软件生命周期是指从用户提出开发要求概念:软件生命周期是指从用户提出开发要求起,经过开发、使用和维护,直到最后退役止起,经过开发、使用和维护,直到最后退役止的全过程。的全过程。l具体过程:具体过程:计划、分析、设计、实现、测试、集成、计划、分析、设计、实现、测试、集成、交付、维护等阶段。交付、维护等阶段。软件开发的模型软件开发的模型l瀑布模型瀑布模型l原

6、型模型原型模型l螺旋模型螺旋模型l增量模型增量模型l迭代模型迭代模型l软件开发的模型软件开发的模型一、瀑布模型一、瀑布模型 将生命周期划分为制定计划、需求分析、将生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等软件设计、程序编写、软件测试和运行维护等6 6个基本阶段,并且规定了它们自上而下、相个基本阶段,并且规定了它们自上而下、相互衔接的固定次序。互衔接的固定次序。传统的瀑布模型存在的弊端传统的瀑布模型存在的弊端l用户难以清楚地给出所有需求用户难以清楚地给出所有需求;l设计阶段中可能会发生规格说明文档中的错误设计阶段中可能会发生规格说明文档中的错误;l设计上的缺陷或错

7、误可能在实现过程中显现出来设计上的缺陷或错误可能在实现过程中显现出来;l综合测试阶段将发现需求分析、设计或编码阶段综合测试阶段将发现需求分析、设计或编码阶段的许多错误的许多错误;l掩饰项目中真正的风险掩饰项目中真正的风险;具有维护循环的瀑布模型具有维护循环的瀑布模型瀑布模型必须坚持以下原则瀑布模型必须坚持以下原则l1.1.每个阶段都必须提供完整的文档,以作为该每个阶段都必须提供完整的文档,以作为该阶段工作结束的标志。阶段工作结束的标志。l2.2.每个阶段结束前都应对所完成的文档进行评每个阶段结束前都应对所完成的文档进行评审,以便尽早发现问题,改正错误。审,以便尽早发现问题,改正错误。软件开发的

8、模型软件开发的模型二、原型模型二、原型模型 建立一个能够反映用户主要需求的原型,建立一个能够反映用户主要需求的原型,使用户通过使用该原型来提出对原型的修改意使用户通过使用该原型来提出对原型的修改意见,然后再对原型进行修改,如此反复,最后见,然后再对原型进行修改,如此反复,最后建立起符合用户要求的新系统。建立起符合用户要求的新系统。原型模型原型模型原型模型原型模型l关键在于尽可能快速地建造出软件原型,一旦关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重弃。因此,原型系统的内部结构并不重

9、要,重要的是必须迅速地建造原型,随之迅速地修改要的是必须迅速地建造原型,随之迅速地修改原型,以反映客户的需求。原型,以反映客户的需求。软件风险是任何软件开发项目中都普遍存软件风险是任何软件开发项目中都普遍存在的实际问题,项目越大,软件越复杂,承担在的实际问题,项目越大,软件越复杂,承担该项目所冒的风险也越大。软件风险可能在不该项目所冒的风险也越大。软件风险可能在不同程度上损害软件开发过程和软件产品质量。同程度上损害软件开发过程和软件产品质量。因此,在软件开发过程中必须及时识别和分析因此,在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的风险,并且采取适当措施以消除或减少

10、风险的危害。危害。软件开发的模型软件开发的模型l构建原型是一种能使某些类型的风险降至最低的构建原型是一种能使某些类型的风险降至最低的方法。方法。l为了降低交付给用户的产品不能满足用户需要的为了降低交付给用户的产品不能满足用户需要的风险,一种行之有效的方法是在需求分析阶段快风险,一种行之有效的方法是在需求分析阶段快速地构建一个原型。速地构建一个原型。l原型并不能原型并不能“包治百病包治百病”,对于某些类型的风险,对于某些类型的风险,原型方法是无能为力的。原型方法是无能为力的。螺旋模型螺旋模型l螺旋模型的基本思想是,使用原型及其他方法螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种

11、模型的一个简便方来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,如图所示。分析过程的快速原型模型,如图所示。螺旋模型螺旋模型l优点:优点:1.有风险驱动,对可选方案和约束条件的强调。有风险驱动,对可选方案和约束条件的强调。2.有利于已有软件的重用,也有助于把软件质有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;量作为软件开发的一个重要目标;3.减少了过多测试(浪费资金)或测试不足减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;(产品故障多)所带来的风险;螺旋模型螺

12、旋模型l局限性:局限性:1.强调风险分析,但要求许多客户接受和相信强调风险分析,但要求许多客户接受和相信这种分析,并作出相关反应是不容易的;这种分析,并作出相关反应是不容易的;2.如果执行风险分析将大大影响项目的利润;如果执行风险分析将大大影响项目的利润;3.软件开发人员需要具有丰富的风险评估经验软件开发人员需要具有丰富的风险评估经验和专门知识,否则将出现真正的风险:当项和专门知识,否则将出现真正的风险:当项目实际上正在走向灾难时,开发人员可能还目实际上正在走向灾难时,开发人员可能还认为一切正常。认为一切正常。1.1.4 软件开发方法软件开发方法l结构化方法结构化方法l面向对象的软件开发方法面

13、向对象的软件开发方法l可视化开发方法可视化开发方法l生命周期法生命周期法l原型化方法原型化方法l1.1.4 软件开发方法软件开发方法1.1.结构化方法结构化方法 用结构化分析对软件进行需求分析,然后用结构化分析对软件进行需求分析,然后用结构化设计方法进行总体设计,最后是结构用结构化设计方法进行总体设计,最后是结构化编程和结构化测试。化编程和结构化测试。结构化分析结构化分析l结构化分析方法是使用数据流图(结构化分析方法是使用数据流图(DFDDFD)、数据字典)、数据字典(DDDD)、结构化语言、判定表和判定树的工具,来建立)、结构化语言、判定表和判定树的工具,来建立一种新的、结构化规格说明的目标

14、文档。一种新的、结构化规格说明的目标文档。l步骤:步骤:1.1.理解当前现状环节,建立当前系统的理解当前现状环节,建立当前系统的“具体模型具体模型”;2.2.从当前系统的从当前系统的“具体模型具体模型”抽象出当前系统的逻辑模型;抽象出当前系统的逻辑模型;3.3.建立目标系统的逻辑模型;建立目标系统的逻辑模型;4.4.作进一步的补充和优化作进一步的补充和优化-为了对目标系统做完整的描为了对目标系统做完整的描述,还需要考虑人机界面和其他问题。述,还需要考虑人机界面和其他问题。结构化设计结构化设计l概要设计:解决系统的模块结构,分解模块,概要设计:解决系统的模块结构,分解模块,确定系统的模块层次关系

15、确定系统的模块层次关系l详细设计:对系统中的每个模块的内部过程详细设计:对系统中的每个模块的内部过程进行设计和描述,解决每个程序功能模块究进行设计和描述,解决每个程序功能模块究竟如何实现的竟如何实现的“算法算法”问题。问题。1.1.4 软件开发方法软件开发方法2.2.面向对象的软件开发方法面向对象的软件开发方法 多层面的建立系统模型多层面的建立系统模型3.3.可视化开发方法可视化开发方法 辅助开发工具辅助开发工具 将开发人员注意力集中在业务逻辑和业务流将开发人员注意力集中在业务逻辑和业务流程上,在编程环节上利用可视化工具来完成。程上,在编程环节上利用可视化工具来完成。1.2 软件开发的定义阶段

16、软件开发的定义阶段软件定义阶段的任务是:软件定义阶段的任务是:l确定软件开发工程必须完成的总目标;确定软件开发工程必须完成的总目标;l确定工程的可行性;确定工程的可行性;l导出实现工程目标应该采用的策略及系统必须导出实现工程目标应该采用的策略及系统必须完成的功能;完成的功能;l估计完成该项工程需要的资源和成本,并且制估计完成该项工程需要的资源和成本,并且制定工程进度表。定工程进度表。1.2 软件定义阶段软件定义阶段1.2.1 1.2.1 问题定义问题定义l主要任务:主要任务:确定系统要解决的关键问题。确定系统要解决的关键问题。l实现方法:实现方法:通过对客户的访问调查,系统分析人员扼要地写出关于问通过对客户的访问调查,系统分析人员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。修改之后这份报告应该得到客户的确认。l需要交付的文档需要交付的文档 项目任务书项目任务书项目定义的内容项目定义的内容l目标、范围和进度目标、范围和进度l风险估计及防范措施风险估计及防范措施l完成期限与交

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1