软件工程教案课件

上传人:风*** 文档编号:241876646 上传时间:2024-08-01 格式:PPTX 页数:187 大小:1.73MB
返回 下载 相关 举报
软件工程教案课件_第1页
第1页 / 共187页
软件工程教案课件_第2页
第2页 / 共187页
软件工程教案课件_第3页
第3页 / 共187页
点击查看更多>>
资源描述
软件工程软件工程广东商学院信息学院核心课程广东商学院信息学院核心课程 软件工程广东商学院信息学院核心课程1目目录录l 第一章第一章 软件工程概述软件工程概述l 第二章第二章 可行性研究可行性研究l 第三章第三章 需求分析需求分析l 第四章第四章 概要设计概要设计l 第五章第五章 详细设计详细设计l第六章第六章面向对象的分析与设计方法面向对象的分析与设计方法l第七章第七章编码编码l第八章第八章软件质量与质量保证软件质量与质量保证l第九章第九章项目计划与管理项目计划与管理l第十章第十章软件开发工具与环境概述软件开发工具与环境概述目 录 第一章 软件工程概述2第一章第一章软件工程概述软件工程概述1.1软件软件1.2软件工程概念软件工程概念1.3软件生存周期与软件开发模型软件生存周期与软件开发模型1.4小结小结第一章 软件工程概述 1.1 软件 31.1软件软件1.1.1 1.1.1 软件的发展软件的发展 1.1.程序设计阶段程序设计阶段(2020世纪世纪5050年代初年代初2020世纪世纪6060年代中期)年代中期)2.2.程序系统阶段程序系统阶段(2020世纪世纪6060年代中期年代中期2020世纪世纪7070年代末)年代末)3.3.软件工程阶段软件工程阶段(2020世纪世纪7070年代中期年代中期2020世纪世纪8080年代中期)年代中期)4.4.第四阶段第四阶段(2020世纪世纪8080年代中期至今)年代中期至今)1.1 软件1.1.1 软件的发展41.1.1软件的发展软件的发展阶段阶段 第一阶段第一阶段第二阶段第二阶段第三阶段第三阶段第四阶段第四阶段典典型型技技术术面向批处理面向批处理有限的分布有限的分布自定义软件自定义软件多用户多用户实时实时数据库数据库软件产品软件产品分布式系统分布式系统嵌入嵌入“智能智能”低成本硬件低成本硬件消费者的影响消费者的影响强大桌面系统强大桌面系统面向对象技术面向对象技术专家系统专家系统人工神经网络人工神经网络并行计算并行计算网络计算网络计算表表1-1四个阶段典型技术比较四个阶段典型技术比较1.1.1 软件的发展阶段第一阶段第二阶段第三阶段第四阶51.1.2软件的定义软件的定义软件的定义如下:软件的定义如下:(1)在运行中能提供所希望的功能和性能的指令集。)在运行中能提供所希望的功能和性能的指令集。(2)使程序能够正确运行的数据结构。)使程序能够正确运行的数据结构。(3)描述程序研制过程、方法所用的文档。)描述程序研制过程、方法所用的文档。1.1.2 软件的定义软件的定义如下:61.1.3软件的特点软件的特点1.软件具有抽象性软件具有抽象性2.重视软件开发过程重视软件开发过程3.软件不会磨损、老化,但维护比较复杂。软件不会磨损、老化,但维护比较复杂。4.软件的开发和运行经常受到计算机系统的限软件的开发和运行经常受到计算机系统的限制,对计算机系统有不同程度的依赖性制,对计算机系统有不同程度的依赖性5.软件的开发尚未完全摆脱手工的开发方式软件的开发尚未完全摆脱手工的开发方式6.软件的开发费用越来越高,成本相当昂贵软件的开发费用越来越高,成本相当昂贵7.软件的开发过程复杂,需要在开发过程中进软件的开发过程复杂,需要在开发过程中进行管理行管理1.1.3 软件的特点 软件具有抽象性71.1.4软件的分类软件的分类1 1基于软件的功能划分基于软件的功能划分 (1 1)系统软件)系统软件 (2 2)支撑软件)支撑软件 (3 3)应用软件)应用软件2.2.基于软件工作方式的划分基于软件工作方式的划分 (1 1)实时处理软件)实时处理软件 (2 2)分时软件)分时软件 (3 3)交互式软件)交互式软件 (4 4)批处理软件)批处理软件 1.1.4 软件的分类 1基于软件的功能划分 81.1.4软件的分类软件的分类1 1基于软件规模的划分基于软件规模的划分 (1 1)微型软件)微型软件 (2 2)小型软件)小型软件 (3 3)中型软件)中型软件 (4 4)大型软件)大型软件 (5 5)甚大型软件)甚大型软件 (6 6)极大型软件)极大型软件1.1.4 软件的分类 1基于软件规模的划分 91.2软件工程概念软件工程概念1.2.1 1.2.1 软件危机与软件工程的定义软件危机与软件工程的定义 1.1.软件危机软件危机 软件危机指的是软件开发和维护过程中遇软件危机指的是软件开发和维护过程中遇到的一系列严重问题。到的一系列严重问题。软件危机包含以下两方面的问题:如何开软件危机包含以下两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。如何维护数量不断膨胀的已有软件。1.2 软件工程概念 1.2.1 软件危机与软件工程的定101.2.1软件危机与软件工程的定义软件危机与软件工程的定义软件危机的主要表现:软件危机的主要表现:产品不符合用户的实际需要。产品不符合用户的实际需要。软件开发生产率提高的速度远远不能满足客观软件开发生产率提高的速度远远不能满足客观需要。需要。软件产品的质量差。软件产品的质量差。对软件开发成本和进度的估计常常不准确。对软件开发成本和进度的估计常常不准确。软件的可维护性差。软件的可维护性差。软件文档资料通常既不完整也不合格。软件文档资料通常既不完整也不合格。软件的价格昂贵,软件成本在计算机系统总成软件的价格昂贵,软件成本在计算机系统总成本中所本中所 占的比例逐年上升。占的比例逐年上升。1.2.1 软件危机与软件工程的定义软件危机的主要表现:111.2.1软件危机与软件工程的定义软件危机与软件工程的定义1.2.1 1.2.1 软件危机与软件工程的定义软件危机与软件工程的定义 2.2.软件工程的定义软件工程的定义 软件工程是指导计算机软件开发和维护的软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。技术方法结合起来,这就是软件工程。1.2.1 软件危机与软件工程的定义1.2.1 软件危机与软121.2.1软件危机与软件工程的定义软件危机与软件工程的定义软件工程的软件工程的6 6条基本原则:条基本原则:(1 1)用分阶段的生存周期计划严格管理)用分阶段的生存周期计划严格管理(2 2)坚持进行阶段评审)坚持进行阶段评审(3 3)实行严格的产品控制)实行严格的产品控制(4 4)采用现代程序设计技术)采用现代程序设计技术(5 5)清楚地审查结果)清楚地审查结果(6 6)合理安排软件开发小组的人员)合理安排软件开发小组的人员1.2.1 软件危机与软件工程的定义软件工程的6条基本原则:131.2.2软件工程的原则软件工程的原则软件工程学应遵守以下原则:软件工程学应遵守以下原则:1.1.分解分解2.2.抽象和信息隐藏抽象和信息隐藏3.3.一致性一致性4.4.确定性确定性1.2.2 软件工程的原则软件工程学应遵守以下原则:141.3软件生存周期与软件开发模型软件生存周期与软件开发模型1.3.1 1.3.1 软件生存周期软件生存周期 一个软件从定义到开发、使用和维护,直一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常到最终被废弃,要经历一个漫长的时期,通常把这个时期称为生存周期。把这个时期称为生存周期。软件的生存周期一般可分为以下阶段:软件的生存周期一般可分为以下阶段:S1:问题的定义问题的定义 S2:可行性研究:可行性研究S3:需求分析:需求分析S4:概要设计:概要设计S5:详细设计:详细设计S6:编码编码S7:测试:测试S8:运行与维护:运行与维护1.3 软件生存周期与软件开发模型1.3.1 软件生存周期151.3软件生存周期与软件开发模型软件生存周期与软件开发模型1.3.1 1.3.1 软件生存周期软件生存周期 软件生存周期的软件生存周期的三大阶段三大阶段:1.1.计划阶段计划阶段分为两步:软件计划和需求分析分为两步:软件计划和需求分析2.2.开发阶段开发阶段三个步骤:设计、编码和测试三个步骤:设计、编码和测试3.3.维护阶段维护阶段分为改正性维护、完善性维护和适应性维分为改正性维护、完善性维护和适应性维护等护等1.3 软件生存周期与软件开发模型1.3.1 软件生存周期161.3.2软件开发模型软件开发模型1.3.2 1.3.2 软件开发模型软件开发模型 软件开发模型是软件过程思想的具体化,软件开发模型是软件过程思想的具体化,是实施与过程模型中的软件开发方法和工具,是实施与过程模型中的软件开发方法和工具,是在软件开发实践中总结出来的软件开发方法是在软件开发实践中总结出来的软件开发方法和步骤。和步骤。软件开发模型是整个软件生存周期的系统软件开发模型是整个软件生存周期的系统开发、运作、维护所实施的全部工作和任务的开发、运作、维护所实施的全部工作和任务的结构框架。结构框架。1.3.2 软件开发模型1.3.2 软件开发模型171.3.2软件开发模型软件开发模型1.1.瀑布模型瀑布模型又称为又称为生存周期模型生存周期模型。核心思想:核心思想:按工序将问题化简,将功能的实现与设计分开,按工序将问题化简,将功能的实现与设计分开,便于分工协作。采用结构化的分析与设计方法,将逻便于分工协作。采用结构化的分析与设计方法,将逻辑实现与物理实现分开。瀑布模型规定了各项软件工辑实现与物理实现分开。瀑布模型规定了各项软件工程活动,包括:程活动,包括:制定开发计划,进行需求分析和说明,制定开发计划,进行需求分析和说明,软件设计,程序编码,测试及运行维护软件设计,程序编码,测试及运行维护。并且规定了。并且规定了软件生存周期的各个阶段如同瀑布流水,逐级下落,软件生存周期的各个阶段如同瀑布流水,逐级下落,自上而下、相互衔接的固定次序。自上而下、相互衔接的固定次序。1.3.2 软件开发模型1.瀑布模型181.3.2软件开发模型软件开发模型计划计划需求分析需求分析设计设计编码编码测试测试运行维护运行维护计计划划阶阶段段开开发发阶阶段段维护阶段维护阶段图图14瀑布模型瀑布模型1.3.2 软件开发模型计划需求分析设计编码测试运行维护计191.3.2软件开发模型软件开发模型1.1.瀑布模型瀑布模型缺点:缺点:(1 1)缺乏灵活性缺乏灵活性,无法解决软件需求不明,无法解决软件需求不明确或不准确的问题。确或不准确的问题。(2 2)由于具有顺序性和相关性,凡后一阶)由于具有顺序性和相关性,凡后一阶段出现的问题需要通过前一阶段的重新确认来段出现的问题需要通过前一阶段的重新确认来解决。解决。(3 3)不能体现开发中的并行和串行。)不能体现开发中的并行和串行。1.3.2 软件开发模型1.瀑布模型201.3.2软件开发模型软件开发模型1.1.螺旋模型螺旋模型螺旋模型沿着螺线旋转,如图螺旋模型沿着螺线旋转,如图1-51-5所示,在笛卡尔所示,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即:坐标的四个象限上分别表达了四个方面的活动,即:(1 1)制定计划制定计划:确定软件目标,选定实施方案,弄清:确定软件目标,选定实施方案,弄清项目开发的限制条件;项目开发的限制条件;(2 2)风险分析风险分析:分析所选方案,考虑如何识别和消除:分析所选方案,考虑如何识别和消除风险;风险;(3 3)实施工程实施工程:实施软件开发;:实施软件开发;(4 4)客户评估客户评估:评价开发工作,提出修正建议:评价开发工作,提出修正建议1.3.2 软件开发模型1.螺旋模型211.3.2软件开发模型软件开发模型用户评价用户评价基于用户说明基于用户说明的计划的计划初始需求与项目计划初始需求与项目计划基于初始需求的风险分析基于初始需求的风险分析基于用户基于用户反应的风反应的风险分析险分析初始软件原型初始软件原型第二级原型第二级原型工程系统工程系统图图15螺旋模型螺旋模型1.3.2 软件开发模型用户评价基于用户说明的计划初始需求221.3.2软件开发模型软件开发模型3.3.第四代技术模型(第四代技术模型(4GT4GT)软件工程的第四代技术模型的应用关键在软件工程的第四代技术模型的应用关键在于软件描述的能力,它用一种特定的语言来完于软件描述的能力,它用一种特定的语言来完成或者以一种用户可以理解的问题描述方法来成或者以一种用户可以理解的问题描述方法来描述须解决的问题。描述须解决的问题。例如:数据库查询的非过程语言,报告生例如:数据库查询的非过程语言,报告生成器,数据操纵,屏幕交互及定义,以及代码成器,数据操纵,屏幕交互及定义,以及代码生成;高级图形功能;电子表格功能。生成;高级图形功能;电子表格功能。1.3.2 软件开发模型3.第四代技术模型(4GT)231.3.2软件开发模型软件开发模型4.4.原型模型原型模型从需求分析开始。软件开发者和用户在一从需求分析开始。软件开发者和用户在一起定义软件的总目标,说明需求,并规划出定起定义软件的总目标,说明需求,并规划出定义的区域。然后快速设计软件中对用户义的区域。然后快速设计软件中对用户/客户客户可见部分的表示。快速设计导致了原形的建造,可见部分的表示。快速设计导致了原形的建造,原形由用户原形由用户/客户评估,并进一步求精待开发客户评估,并进一步求精待开发软件的需求。逐步调整原型使之满足用户需求。软件的需求。逐步调整原型使之满足用户需求。如图如图1 16 6所示。所示。1.3.2 软件开发模型4.原型模型241.3.2软件开发模型软件开发模型需求的采需求的采集和细化集和细化快速设计快速设计建造原型建造原型用户评价原型用户评价原型对原型加工对原型加工产生样品产生样品图图16原型模型原型模型1.3.2 软件开发模型需求的采集和细化快速设计建造原型用251.3.2软件开发模型软件开发模型4.4.原型模型原型模型(1 1)适用范围适用范围 特别适用需求分析与定义规格说明特别适用需求分析与定义规格说明 设计人机界面设计人机界面 充作同步培训工具充作同步培训工具 “一次性一次性”的应用的应用 低风险引入新技术低风险引入新技术 (2 2)不适用范围不适用范围 嵌入式软件嵌入式软件 实时控制软件实时控制软件 科技数值计算软件科技数值计算软件1.3.2 软件开发模型4.原型模型261.3.2软件开发模型软件开发模型4.4.原型模型原型模型(3 3)步骤)步骤 S1S1:弄清用户:弄清用户/设计者的基本信息需求设计者的基本信息需求S2S2:开发初始原型系统:开发初始原型系统 S3S3:用原型系统完善用户:用原型系统完善用户/设计者的需求设计者的需求S4S4:修改和完善原型系统:修改和完善原型系统1.3.2 软件开发模型4.原型模型271.3.2软件开发模型软件开发模型4.4.混合模型混合模型混合模型把几种模型组合在一起,它允许一个项混合模型把几种模型组合在一起,它允许一个项目沿着最有效的路径发展。它提供了一种适用各种具目沿着最有效的路径发展。它提供了一种适用各种具体系统、环境和结构的灵活的结构。体系统、环境和结构的灵活的结构。混合模型分为混合模型分为分析、综合、运行和废弃分析、综合、运行和废弃四个阶段,四个阶段,各阶段的重叠为设计员提出了进行路线的选择。各阶段的重叠为设计员提出了进行路线的选择。混合模型的优点是:混合模型给管理人员提供了混合模型的优点是:混合模型给管理人员提供了在具体操作中使用结构框架的某种形式。由于混合模在具体操作中使用结构框架的某种形式。由于混合模型的不确定性,管理人员在一开始不必去决定完成开型的不确定性,管理人员在一开始不必去决定完成开发过程的方向发过程的方向。1.3.2 软件开发模型4.混合模型281.4小结小结本章首先介绍了软件的有关概念,包括本章首先介绍了软件的有关概念,包括软件的产生、定义、特点和种类,然后对软软件的产生、定义、特点和种类,然后对软件工程的概念进行了介绍,包括软件工程的件工程的概念进行了介绍,包括软件工程的定义、目标、原则和软件危机。最后介绍了定义、目标、原则和软件危机。最后介绍了软件生存周期与软件开发模型,主要包括瀑软件生存周期与软件开发模型,主要包括瀑布模型、原型模型、螺旋模型、基于四代技布模型、原型模型、螺旋模型、基于四代技术模型等。术模型等。1.4 小结本章首先介绍了软件的有关概念,包括软件的产29第二章第二章可行性研究可行性研究2.1可行性研究的任务可行性研究的任务2.2可行性研究的步骤可行性研究的步骤2.3系统流程图系统流程图2.4成本效益分析成本效益分析2.5小结小结第二章 可行性研究 2.1 可行性研究的任务 302.1可行性任务的研究可行性任务的研究 可行性研究的目的是用最小的代价在尽可能短的时间可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。内确定问题是否能够解决。目的不是解决问题,而是确定目的不是解决问题,而是确定问题是否值得去解。问题是否值得去解。一般说来,从一下几个方面进行研究:一般说来,从一下几个方面进行研究:1 1经济可行性经济可行性 2 2技术可行性技术可行性 技术可行性研究是系统开发过程中难度最大的、最重技术可行性研究是系统开发过程中难度最大的、最重要的工作。技术可行性研究包括:要的工作。技术可行性研究包括:(1)(1)风险分析风险分析 (2)(2)资源分析资源分析 (3)(3)技术分析技术分析2.1 可行性任务的研究 可行性研究的目的是用最小的代312.1可行性任务的研究可行性任务的研究 3 3运行可行性运行可行性 4 4法律可行性法律可行性 5 5开发方案可行性开发方案可行性 可行性研究最根本的任务是对以后的行动路线提出建可行性研究最根本的任务是对以后的行动路线提出建议:如果问题没有可行的解,应该建议停止这项工程的开议:如果问题没有可行的解,应该建议停止这项工程的开发;如果问题值得解,应该推荐一个较好的解决方案,并发;如果问题值得解,应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。且为工程制定一个初步的计划。可行性研究的成本只占预期的工程中成本的可行性研究的成本只占预期的工程中成本的5 510%10%2.1 可行性任务的研究 3运行可行性322.2可行性研究的步骤可行性研究的步骤一般来说,有以下步骤:一般来说,有以下步骤:1 1复查系统规模和目标复查系统规模和目标 2 2研究目前正在使用的系统研究目前正在使用的系统 3 3提出新系统的高层逻辑模型提出新系统的高层逻辑模型 4.4.重新定义问题重新定义问题 5.5.提出和评价供选择的方案提出和评价供选择的方案 6.6.推荐一个方案并说明理由推荐一个方案并说明理由 7.7.推荐开发工程决定推荐开发工程决定 8.8.书写计划任务书书写计划任务书 9.9.提交审查提交审查2.2 可行性研究的步骤一般来说,有以下步骤:332.3系统流程图系统流程图 系统流程图是系统流程图是描绘物理系统的传统工具描绘物理系统的传统工具。它。它的基本思想是用图形符号以黑盒子形式描绘系统的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,里面的每个部件(程序,文件,数据库,表格,人工过程等等)。人工过程等等)。系统流程图表达的系统流程图表达的是部件的信息流程是部件的信息流程,而不,而不表示对信息进行加工处理的控制过程,系统流程表示对信息进行加工处理的控制过程,系统流程图的基本符号见图图的基本符号见图2-12-12.3 系统流程图 系统流程图是描绘物理系342.3系统流程图系统流程图处理处理能改变数据或数据位置的加工或部件能改变数据或数据位置的加工或部件输入输出输入输出表示输入输出表示输入输出连接连接指出转到图的另一部分或从;另一部分转来指出转到图的另一部分或从;另一部分转来换页连接换页连接指出转到另一页图上或从另一页图转来指出转到另一页图上或从另一页图转来人工操作人工操作由人工完成处理由人工完成处理通信链路通信链路远程通信线路传送数据远程通信线路传送数据数据流数据流用来连接其他符号用来连接其他符号图图2-1系统流程图的基本符号系统流程图的基本符号2.3 系统流程图处理 能改变数据或数352.3系统流程图系统流程图例如:例如:可用系统流程图来分析下述问题。可用系统流程图来分析下述问题。某图书馆闭架借书流程如下:读者须先被验明证件后某图书馆闭架借书流程如下:读者须先被验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需图书并检索图书数据库来查找自己所需的图书。找到所需图书并填好索书单后到服务台借书。如果所借图书还有剩余,管填好索书单后到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。图理员将填好借书单,从库房中取出图书交于读者。图2-2 2-2 的系统流程图描述了上述系统的概貌。图中的每个符号定的系统流程图描述了上述系统的概貌。图中的每个符号定义了组成系统的一个部件,而并没有指明每个部件的具体义了组成系统的一个部件,而并没有指明每个部件的具体工作过程。图中的箭头指定了系统中信息的流动(逻辑)工作过程。图中的箭头指定了系统中信息的流动(逻辑)路径。路径。2.3 系统流程图例如:可用系统流程图来分析下述问题。362.3系统流程图系统流程图图图2-2图书馆借书系统流程图图书馆借书系统流程图读 者验 证索书单图书查询检书卡图书数据库借书借书单取书2.3 系统流程图图2-2 图书馆借书系统流程图读 者验372.4成本成本-效益分析效益分析 成本效益分析的目的是要从经济角度分析开成本效益分析的目的是要从经济角度分析开发一个特定的新系统是否划算,从而帮助使用部发一个特定的新系统是否划算,从而帮助使用部门负责人正确地作出是否投资于这项开发工程的门负责人正确地作出是否投资于这项开发工程的决定。决定。成本成本/效益分析首先要估算待开发系统的开发效益分析首先要估算待开发系统的开发成本,然后与可能取得的效益(有形的和无形的)成本,然后与可能取得的效益(有形的和无形的)进行比较与权衡。进行比较与权衡。2.4 成本-效益分析 成本效益分析的目的是要从经济角382.4.1成本估计成本估计 1.1.自顶向下成本估计自顶向下成本估计 这类方法这类方法着眼于软件的整体着眼于软件的整体。根据被开发项目的整体。根据被开发项目的整体特性,首先估算出总的开发成本,然后在项目内部进行成特性,首先估算出总的开发成本,然后在项目内部进行成本分配。本分配。自顶向下估计的自顶向下估计的缺点缺点是,对开发中某些局部的问题或是,对开发中某些局部的问题或特殊困难容易低估,甚至没有考虑到。特殊困难容易低估,甚至没有考虑到。可采用特尔斐(可采用特尔斐(DelphiDelphi)法,特尔斐法的传统作法是:)法,特尔斐法的传统作法是:把系统定义文件或规格说明发给各位专家,各自单独进行把系统定义文件或规格说明发给各位专家,各自单独进行成本估计,填入成本估计表(见图成本估计,填入成本估计表(见图2-32-3)。)。2.4.1 成本估计 1.自顶向下成本估计392.4.1成本估计成本估计 项目名:项目名:*日期:日期:1/1/2001以下是第以下是第1轮的估计值轮的估计值:您的估计值您的估计值平均估计值平均估计值人人-月月020406080100您对下轮的估计值是您对下轮的估计值是35人人-月月您的理由是:您的理由是:图图2-3特尔斐成本估计表特尔斐成本估计表2.4.1 成本估计 项目名:*402.4.1成本估计成本估计 2.2.自底向上成本估计自底向上成本估计 与自顶向下估计相反,由底向上估计不是从整体开始,与自顶向下估计相反,由底向上估计不是从整体开始,而是而是从一个个任务单元开始从一个个任务单元开始。其具体作法是,现将开发任。其具体作法是,现将开发任务分解为许多子任务,子任务又分成子子任务,直到每一务分解为许多子任务,子任务又分成子子任务,直到每一任务单元的内容都足够明确为止。然后把各个任务单元的任务单元的内容都足够明确为止。然后把各个任务单元的成本估计出来,汇合成项目的总成本。成本估计出来,汇合成项目的总成本。缺点缺点:有可能使成本估计偏低。:有可能使成本估计偏低。3.3.算法模型估计算法模型估计 算法模型就是资源模型,是成本估计的又一有效工具。算法模型就是资源模型,是成本估计的又一有效工具。模型估计的模型估计的关键,是要选好适用的模型关键,是要选好适用的模型。模型估计法常与。模型估计法常与自顶向下估计或由底向上估计结合使用。自顶向下估计或由底向上估计结合使用。2.4.1 成本估计 2.自底向上成本估计412.4.2费用估计费用估计 1.1.代码行技术代码行技术估计出源代码行数以后,用每行代码的估计出源代码行数以后,用每行代码的平平均成本乘以行数均成本乘以行数就可以确定软件的成本。每行就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和代码的平均成本主要取决于软件的复杂程度和工资水平。工资水平。2.2.任务分解技术任务分解技术首先把软件开发工程分解为若干个相对独立首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成的任务。再分别估计每个单独的开发任务的成本,最后加起来得出软件开发工程的总成本本,最后加起来得出软件开发工程的总成本。2.4.2 费用估计 1.代码行技术422.4.3几种度量效益的方法几种度量效益的方法 1.1.货币的时间价值货币的时间价值通常用利率表示货币的时间价值。设年利率为通常用利率表示货币的时间价值。设年利率为i,现,现已存入已存入P元,则元,则n年后可得钱数为年后可得钱数为F=P(1+i)n这就是这就是P元钱在元钱在n年后的价值。反之,若年后的价值。反之,若n年后能收年后能收入入F元,那么这些钱现在的价值是元,那么这些钱现在的价值是P=F/(1+i)n 2.2.投资回收期投资回收期投资回收期是衡量一个开发工程价值的经济指标。投资回收期是衡量一个开发工程价值的经济指标。投资回收期就是积累的经济效益等于最初的投资所需要投资回收期就是积累的经济效益等于最初的投资所需要的时间。投资回收期越短,就能越快获得利润。的时间。投资回收期越短,就能越快获得利润。2.4.3 几种度量效益的方法 1.货币的时间价值432.4.3几种度量效益的方法几种度量效益的方法 3.3.纯收入纯收入 工程的纯收入是衡量工程价值的另一项经济指标。工程的纯收入是衡量工程价值的另一项经济指标。纯收入就是在整个生存周期之内系统的累计经济效益纯收入就是在整个生存周期之内系统的累计经济效益(折合成现在值)与投资之差。(折合成现在值)与投资之差。如果纯收入小于零,那么显然这项工程不值得投资。如果纯收入小于零,那么显然这项工程不值得投资。只有当纯收入大于零,才能考虑投资。只有当纯收入大于零,才能考虑投资。2.4.3 几种度量效益的方法 3.纯收入442.5小结小结 通过可行性研究可以知道问题有无可行的通过可行性研究可以知道问题有无可行的解,进而避免人力、物力和财力上的浪费。解,进而避免人力、物力和财力上的浪费。可行性研究所需的成本占总工程成本的可行性研究所需的成本占总工程成本的5 510%10%。可行性研究的目的是用最小的代价在尽可可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是能短的时间内确定问题是否能够解决。也就是说可行性研究的目的是确定问题是否值得去解,说可行性研究的目的是确定问题是否值得去解,而不是解决问题。而不是解决问题。2.5 小结 通过可行性研究可以知道问题有无可行的解,进45第三章第三章需求分析需求分析3.1需求分析的任务与步骤需求分析的任务与步骤3.2需求分析的方法需求分析的方法3.3图形图形3.4需求规格说明与评审需求规格说明与评审3.5小结小结第三章 需求分析 3.1 需求分析的任务与步骤 463.1需求分析的任务与步骤需求分析的任务与步骤 通过软件需求分析,通过软件需求分析,把软件功能和性能的总体概念把软件功能和性能的总体概念描述为具体的软件需求规格说明描述为具体的软件需求规格说明,进而建立软件开发的,进而建立软件开发的基础。基础。3.1.1 3.1.1 需求分析的任务需求分析的任务 需求分析的任务不是确定系统如何完成它的工作,需求分析的任务不是确定系统如何完成它的工作,而是而是确定系统必须完成哪些工作确定系统必须完成哪些工作,也就是对目标系统提,也就是对目标系统提出完整、准确、清晰、具体的要求。出完整、准确、清晰、具体的要求。主要的任务主要的任务有:有:1.1.确定对系统的综合要求确定对系统的综合要求 2.2.分析系统的数据需求分析系统的数据需求3.3.提出系统的逻辑模型提出系统的逻辑模型 4.4.修正系统开发计划修正系统开发计划5.5.开发原型系统开发原型系统3.1 需求分析的任务与步骤 通过软件需473.1需求分析的任务与步骤需求分析的任务与步骤3.1.2 3.1.2 需求分析的步骤需求分析的步骤1.1.调查研究调查研究 分析人员协同程序员研究系统数据的流程及调查用分析人员协同程序员研究系统数据的流程及调查用户需求或查阅可行性报告、项目开发计划报告,访问现户需求或查阅可行性报告、项目开发计划报告,访问现场,获得当前系统的具体模型,以场,获得当前系统的具体模型,以IPOIPO图或图或DFDDFD图表示。图表示。2.2.分析与综合分析与综合3.3.书写文档书写文档 a.a.系统规格说明系统规格说明 b.b.数据要求数据要求 c.c.用户系统描述用户系统描述 d.d.修正的开发计划修正的开发计划4.4.需求分析评审需求分析评审3.1 需求分析的任务与步骤3.1.2 需求分析的步骤483.1需求分析的任务与步骤需求分析的任务与步骤3.1.3 3.1.3 需求分析的原则需求分析的原则1.1.必须能表达和理解问题的数据域和功能域必须能表达和理解问题的数据域和功能域 数据域包括:数据流、数据内容和数据结构数据域包括:数据流、数据内容和数据结构2.2.按按自顶向下逐层分解自顶向下逐层分解问题问题3.3.要给出系统的逻辑视图和物理视图要给出系统的逻辑视图和物理视图 (1 1)逻辑视图逻辑视图给出软件要达到的功能和要处理数据之给出软件要达到的功能和要处理数据之间的关系,而不是实现的细节。间的关系,而不是实现的细节。(2 2)物理视图物理视图给出处理功能和数据结构的实际表示形给出处理功能和数据结构的实际表示形式。式。3.1 需求分析的任务与步骤3.1.3 需求分析的原则493.2需求分析的方法需求分析的方法3.2.1 3.2.1 面向数据流的需求分析方法面向数据流的需求分析方法 结构化分析方法结构化分析方法是面向数据流进行需求分析的方法。是面向数据流进行需求分析的方法。结构化分析方法结构化分析方法使用数据流图使用数据流图DFDDFD与数据字典与数据字典DDDD来来描述,面向数据流问题的需求分析适合于数据处理类型描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。软件的需求描述。其其核心思想是分解化简问题核心思想是分解化简问题,将物理与逻辑表示分,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。开,对系统进行数据与逻辑的抽象。3.2 需求分析的方法3.2.1 面向数据流的需求分析方503.2需求分析的方法需求分析的方法3.2.2 3.2.2 数据流图数据流图 数据流图称为数据流图称为Data Flow DiagramData Flow Diagram。是描述数据处理。是描述数据处理过程的工具过程的工具。1.1.数据流图的含义数据流图的含义 以图形的方式描述数据流从输入到输出的传输变换以图形的方式描述数据流从输入到输出的传输变换过程过程2.2.数据流图的特点数据流图的特点 a.a.抽象性抽象性 b.b.概括性概括性 c.c.层次性层次性3.3.数据流图基本符号数据流图基本符号 (1)(1)数据流图中的主要图形元素数据流图中的主要图形元素 3.2 需求分析的方法3.2.2 数据流图513.2.2数据流图数据流图数据流图中的基本图形元素有数据流图中的基本图形元素有4 4种:种:数据输入的数据输入的源点源点和数据输出的和数据输出的汇点汇点。加工加工。输入数据在此进行变换产生输出数据。输入数据在此进行变换产生输出数据。数据流数据流。被加工的数据与流向。被加工的数据与流向。数据存储文件数据存储文件,须加以命名。,须加以命名。图图3-2 3-2 数据流图基本图形符号数据流图基本图形符号3.2.2 数据流图数据流图中的基本图形元素有4种:数据523.2.2数据流图数据流图(2)(2)数据流与加工之间的关系数据流与加工之间的关系 AB*CABBCA*数据数据A和和B同时输入变换成同时输入变换成C数据数据A变换成变换成B和和C数据数据A或数据或数据B(不能同时)输入变(不能同时)输入变换成换成C3.2.2 数据流图(2)数据流与加工之间的关系AB*CA533.2.2数据流图数据流图(2)(2)数据流与加工之间的关系数据流与加工之间的关系 ABCABBCA数据数据A变换成变换成B或或C(不能变换成(不能变换成B和和C)数据数据A或或B,或,或A和和B同时输入变换成同时输入变换成C数据数据A变换成变换成B或或C,或,或B和和CC3.2.2 数据流图(2)数据流与加工之间的关系ABCAB543.2.2数据流图数据流图4.4.数据流图的用途数据流图的用途(1)(1)系统分析员用这种工具可以自顶向下分析系统信息系统分析员用这种工具可以自顶向下分析系统信息 流程。流程。(2)(2)可在图上画出需要计算机处理的部分。可在图上画出需要计算机处理的部分。(3)(3)根据数据存贮,进一步作数据分析,向数据库设计根据数据存贮,进一步作数据分析,向数据库设计过渡。过渡。(4)(4)根据数据流向,定出存取方式。根据数据流向,定出存取方式。(5)(5)对应一个处理过程,用相应的语言、判定表等工具对应一个处理过程,用相应的语言、判定表等工具表达处理方法。表达处理方法。3.2.2 数据流图4.数据流图的用途553.2.2数据流图数据流图5.5.数据流图的优缺点数据流图的优缺点(1)(1)总体概念强,每一层都明确强调干什么,需要什么,总体概念强,每一层都明确强调干什么,需要什么,给出什么。给出什么。(2)(2)可以反映出数据的流向和处理过程。可以反映出数据的流向和处理过程。(3)(3)由于自顶向下分析,容易及早发现系统各部分的逻由于自顶向下分析,容易及早发现系统各部分的逻辑错误,也容易修正。辑错误,也容易修正。(4)(4)容易与计算机处理相对照。容易与计算机处理相对照。(5)(5)不直观不直观,一般都要在作业流程分析的基础上加以概,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到。括、抽象、修正来得到。3.2.2 数据流图5.数据流图的优缺点563.2.2数据流图数据流图6.6.数据流图画法数据流图画法(1)(1)画数据流图的一般原则画数据流图的一般原则 自外向内,自顶向下,逐层细化,完善求精自外向内,自顶向下,逐层细化,完善求精(2)(2)数据流图的分层方法数据流图的分层方法 一套分层的数据流图由一套分层的数据流图由顶图、底图和中间层顶图、底图和中间层的数据的数据流图所组成。流图所组成。称上层图为下层图的称上层图为下层图的“父父”图图,下层图称为上层图,下层图称为上层图的的“子子”图图。1233.13.23.3ABCDEFCDFUR父图父图子图子图3.2.2 数据流图6.数据流图画法1233.13.23573.2.2数据流图数据流图6.6.数据流图的画法数据流图的画法(3)(3)分层法绘制流程图的几个问题分层法绘制流程图的几个问题 编号的设置编号的设置 父图与子图的平衡父图与子图的平衡 局部数据存贮局部数据存贮 处理逻辑的分解与分细的程度处理逻辑的分解与分细的程度 由左到右绘制数据流图由左到右绘制数据流图 绘制数据流图时,可以先忽略枝节(次要)的绘制数据流图时,可以先忽略枝节(次要)的 信息信息 合理地命名合理地命名3.2.2 数据流图6.数据流图的画法583.2.2数据流图数据流图7.7.实例实例假如要分析一家公司的营销系统。其采购假如要分析一家公司的营销系统。其采购部门每天须要按销售部门提供的定货单(须定部门每天须要按销售部门提供的定货单(须定的货物)向供应商采购货物。每种货物的数量的货物)向供应商采购货物。每种货物的数量都存放在数据存储货物库存中,销售和采购使都存放在数据存储货物库存中,销售和采购使每种货物数量发生的变化能够在此数据存储中每种货物数量发生的变化能够在此数据存储中及时被反映出来。而资金的汇总、核对等工作及时被反映出来。而资金的汇总、核对等工作由其会计部门处理。由其会计部门处理。3.2.2 数据流图7.实例593.2.2数据流图数据流图7.7.实例实例 图图3-53-5第一层数据流图第一层数据流图3.2.2 数据流图7.实例 图3-5第一层数据流图60图图3-6销售系统销售系统3.2.2数据流图数据流图图3-6销售系统3.2.2 数据流图61图图3-7采购系统采购系统3.2.2数据流图数据流图图3-7采购系统3.2.2 数据流图62图图3-8会计系统会计系统3.2.2数据流图数据流图图3-8会计系统3.2.2 数据流图633.2.3数据字典数据字典1.1.数据字典的定义数据字典的定义数据字典是数据字典是关于数据的信息的集合关于数据的信息的集合,对数据流程图中,对数据流程图中的各个元素作完整的定义与说明,是数据流程图的补充的各个元素作完整的定义与说明,是数据流程图的补充工具。工具。数据流图和数据字典共同构成系统的逻辑模型数据流图和数据字典共同构成系统的逻辑模型。2 2数据字典的内容数据字典的内容 一般说来,数据字典由下列六类元素的定义组成:一般说来,数据字典由下列六类元素的定义组成:(1)数据流)数据流(2)数据项)数据项(3)数据结构)数据结构(4)数据存贮)数据存贮(5)处理逻辑)处理逻辑 (6)外部实体)外部实体3.2.3 数据字典1.数据字典的定义643.2.3数据字典数据字典3 3定义数据的方法定义数据的方法 由数据元素组成数据的方式只有下述由数据元素组成数据的方式只有下述4 4种基本类型:种基本类型:(l l)顺序顺序 即以确定次序连接两个或多个分量;即以确定次序连接两个或多个分量;(2 2)选择选择 即从两个或多个可能的元素中选取一个;即从两个或多个可能的元素中选取一个;(3 3)重复重复 即把指定的分量重复零次或多次。即把指定的分量重复零次或多次。(4 4)可选可选 即一个分量是可有可无的(重复零次或一即一个分量是可有可无的(重复零次或一次)。次)。4 4数据字典的用途数据字典的用途 数据字典最重要的用途是数据字典最重要的用途是作为分析阶段的工具作为分析阶段的工具。5.5.数据字典的实现数据字典的实现3.2.3 数据字典3定义数据的方法653.3图形图形3.3.1 3.3.1 层次方框图层次方框图 用用树形结构树形结构的一系列多层次的矩形框描述数据的层次的一系列多层次的矩形框描述数据的层次结构。结构。产品产品硬件硬件软件软件服务服务处处理理机机存存储储器器外外部部设设备备系系统统软软件件应应用用软软件件软软件件服服务务硬硬件件维维修修培培训训硬件系统硬件系统编译程序编译程序软件工具软件工具图图3-9某计算机公司全部产品的数据结构某计算机公司全部产品的数据结构3.3 图形3.3.1 层次方框图产品硬件软件服务处理机存663.3图形图形3.3.2 Warnier3.3.2 Warnier图图 法国计算机科学家法国计算机科学家WarnierWarnier提出了表示信息层次结构提出了表示信息层次结构的另外的另外一种图形工具一种图形工具。和层次方框图类似,。和层次方框图类似,WarnierWarnier图也图也用树形结构描绘信息,但是这种图形工具比层次方框图用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。提供了更丰富的描绘手段。系统软件系统软件编辑程序编辑程序软件产品软件产品软件工具软件工具测试驱动程序测试驱动程序设计辅助工具设计辅助工具 操作系统操作系统编译程序编译程序应用软件应用软件图图3-10Warnie图的一个例子图的一个例子3.3 图形3.3.2 Warnier图 673.3图形图形3.3.3 IPO3.3.3 IPO图图 IPOIPO图是图是输入输入/处理处理/输出图输出图的简称的简称,它是美国它是美国IBMIBM公司公司发展完善起来的一种图形工具发展完善起来的一种图形工具,能够方便的描绘输入数据能够方便的描绘输入数据 对数据的处理和输出数据的关系对数据的处理和输出数据的关系.旧的主文件旧的主文件事务文件事务文件1.校验校验主记录主记录2.校验校验事务记录事务记录3更新更新主记录主记录 有效的有效的主记录主记录有效的有效的事务记录事务记录更新后的更新后的主文件主文件输入输入处理处理输出输出图图3-11IPO图的一个例子图的一个例子3.3 图形3.3.3 IPO图旧的主文件1.校验 有效683.4需求规格说明书与评审需求规格说明书与评审 描述需求的文档描述需求的文档叫做叫做软件需求规格说明书软件需求规格说明书。3.4.1 3.4.1 需求规格说明的主要内容需求规格说明的主要内容 需求分析应交付的主要文档是需求分析应交付的主要文档是需求规格说明需求规格说明。软件需求规格说明的一般格式如下:软件需求规格说明的一般格式如下:1 1引言引言 2 2任务概述任务概述 3 3数据描述数据描述 4 4功能要求功能要求 5 5性能需求性能需求 6 6运行需求运行需求 7 7其他要求其他要求 8 8附录附录3.4.2 3.4.2 需求分析的评审需求分析的评审应该对功能的正确性、完整性和清晰性,以及其应该对功能的正确性、完整性和清晰性,以及其他需求给予评价。他需求给予评价。3.4 需求规格说明书与评审 描述需求的文档叫做软693.4需求规格说明书与评审需求规格说明书与评审 软件需求分析评审的主要内容一般说来,应该从软件需求分析评审的主要内容一般说来,应该从下述四个方面进行验证:下述四个方面进行验证:(1 1)一致性一致性 (2 2)完整性完整性 (3 3)现实性现实性 (4 4)有效性有效性 3.4.3 3.4.3 需求分析评审的方法需求分析评审的方法 1.1.验证需求的验证需求的一致性一致性 2.2.验证需求的验证需求的现实性现实性 3.3.验证需求的验证需求的完整性和有效性完整性和有效性 3.4 需求规格说明书与评审 软件需求分析评审的703.5小结小结软件需求分析是软件生存周期中重要的一软件需求分析是软件生存周期中重要的一步,也是最关键的一步。只有通过软件需求分步,也是最关键的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发具体的软件需求规格说明,进而建立软件开发的基础。的基础。本章主要介绍需求分析的任务和步骤、需本章主要介绍需求分析的任务和步骤、需求分析方法和需求分析规格说明。求分析方法和需求分析规格说明。3.5 小结软件需求分析是软件生存周期中重要的一步,也是71第四章第四章概要设计概要设计4.1概要设计的任务与步骤概要设计的任务与步骤4.2软件设计的原则软件设计的原则4.3面向数据流的设计方法面向数据流的设计方法4.4面向数据结构的设计方法面向数据结构的设计方法4.5概要设计文档评审概要设计文档评审4.6小结小结第四章 概要设计 4.1 概要设计的任务与步骤 724.1概要设计的任务与步骤概要设计的任务与步骤4.1.1 4.1.1 概要设计任务概要设计任务系统分析员系统分析员审查审查软件可行性计划、软件需求分析提供的文软件可行性计划、软件需求分析提供的文档,提出候选的档,提出候选的最佳推荐方案最佳推荐方案,确定,确定模块结构模块结构,划分,划分功能模块功能模块,编写编写概要设计说明书概要设计说明书。4.1.2 4.1.2 概要设计步骤概要设计步骤一般步骤如下:一般步骤如下:S1:设计系统方案:设计系统方案S2:选取一组合理的方案:选取一组合理的方案S3:推荐最佳实施方案:推荐最佳实施方案S4:功能分解:功能分解S5:软件结构设计:软件结构设计S6:数据库设计、文件结构的设计:数据库设计、文件结构的设计S7:制定测试计划:制定测试计划S8:编写概要设计文档:编写概要设计文档S9:审查与复审概要设计文档:审查与复审概要设计文档4.1 概要设计的任务与步骤 4.1.1 概要设计任务734.1.2概要设计步骤概要设计步骤图图4-1概要设计概要设计4.1.2 概要设计步骤 图4-1概要设计744.2软件设计的原则软件设计的原则4.2.1 4.2.1 模块化模块化模块化模块化就是把程序划分成若干个模块,每个模块具有一个就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。能,实现问题的要求。每个程序都相应地有一个最适当的模块数目每个程序都相应地有一个最适当的模块数目M,使得系统的,使得系统的开发成本最小。开发成本最小。采用模块化原理可以使软件采用模块化原理可以使软件结构清晰结构清晰,容易实现设计容易实现设计,软,软件的件的可阅读性、可理解性和可修改性可阅读性、可理解性和可修改性大大增强。大大增强。图图4-2模块与软件耗费模块与软件耗费4.2 软件设计的原则 4.2.1 模块化图4-2 模块与软754.2软件设计的原则软件设计的原则4.2.2 4.2.2 抽象与逐步求精抽象与逐步求精抽象抽象就是抽出事物的本质特性而暂时不考虑它们的细节。就是抽出事物的本质特性而暂时不考虑它们的细节。考虑对任何问题的模块化解法时,可以提出许多抽象的层次。考虑对任何问题的模块化解法时,可以提出许多抽象的层次。软件工程过程的每一步都是对软件解法的抽象层次的一次精化。软件工程过程的每一步都是对软件解法的抽象层次的一次精化。4.2.3 4.2.3 信息隐蔽和局部化信息隐蔽和局部化 信息隐蔽原理信息隐蔽原理指出:每一个模块的实现细节对于其他模块来说是指出:每一个模块的实现细节对于其他模块来说是隐蔽的,也就是说,隐蔽的,也就是说,模块中所包括的信息不允许其它不需要这些模块中所包括的信息不允许其它不需要这些信息的模块调用。信息的模块调用。局部化局部化是指把一些关系密切的软件元素物理地放得彼此靠近。是指把一些关系密切的软件元素物理地放得彼此靠近。4.2 软件设计的原则 4.2.2 抽象与逐步求精764.2软件设计的原则软件设计的原则4.2.4 4.2.4 模块独立性模块独立性模块独立性模块独立性是软件系统中每个模块只涉及软件要求的具体子是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。功能,而和软件系统中其他的模块接口是简单的。模块的独立程度模块的独立程度可以由两个定性标准度量,为可以由两个定性标准度量,为内聚和耦合内聚和耦合。1.1.耦合耦合是对一个软件结构内各个模块之间互连程度的度量。耦合强是对一个软件结构内各个模块之间互连程度的度量。耦合强弱弱取决于模块间接口的复杂程度取决于模块间接口的复杂程度。2.2.内聚内聚内聚是一个模块内各个元素彼此结合的紧密程度,理想内聚内聚是一个模块内各个元素彼此结合的紧密程度,理想内聚的模块只做一件事情。内聚和耦合是密切相关的,的模块只做一件事情。内聚和耦合是密切相关的,模块内的高内模块内的高内聚往往意味着模块间的松耦合聚往往意味着模块间的松耦合。4.2 软件设计的原则 4.2.4 模块独立性774.2软件设计的原则软件设计的原则4.2.5 4.2.5 结构设计原则结构设计原则1.显著改进软件结构提高模块独
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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