第3章 计算机的软件系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 计算机的软件系统

3.4.3 软件需求分析 1.需求分析的任务 需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。用户的需求包括功能、性能、可靠性、安全保密、成本消耗、开发进度、资源使用和用户接口等许多方面。 2.需求分析的方法和工具 需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成,它定义了表示系统逻辑视图和物理视图的方式。 返回3.4 3.4.4 软件设计 通常把设计阶段的工作分为两步走,即概要设计和详细设计。 概要设计阶段应着重实现需求的程序模块设计问题,这包括考虑如何把被开发的软件系统划分成若干个模块,并决定模块间的接口。 详细设计则要决定每个模块内部的处理过程,即具体算法。 3.4.5 编码 编码阶段的任务是根据详细设计说明书编写程序。 返回3.4 3.4.6 软件测试 1.软件测试的方法 软件测试有黑盒测试和白盒测试两类方法。 2.软件测试的步骤 测试过程是按单元测试、组装测试、确认测试和系统测试四个步骤进行的。 返回3.4 3.4.7 软件维护 1.软件维护的必要性 (1)在运行过程中的某些特定条件下暴露出来的程序错误和设计缺陷需作修改,这些错误和缺陷在开发后期测试阶段未能发现。 (2)适应功能需求变化,增强软件功能,并提高软件性能。 (3)要求已投入运行的软件与其他相关的程序有良好的接口,利于协同工作。 (4)使运行软件的应用范围得到必要的扩充。 2.软件维护的内容 (1)纠错性维护是在软件运行过程中发生异常或故障时进行的。 (2)适应性维护是为了使该软件能适应外部环境的变化,例如新的操作系统和新的版本不断涌现。 (3)完善性维护是为了扩充软件的功能,提高原有软件性能而开展的软件工程活动。 返回3.4 * 1)CPU管理:按照一定的策略对CPU进行分配,并对其运行进行有效的控制和管理,充分提高CPU的利用率。 单道程序系统:任一时刻只允许一个程序在系统中执行 一个程序执行结束后才能执行下一个程序 * 多道程序系统:多道程序同时执行 特点: 多道:计算机内存中同时存放了几道相互独立的程序 宏观上并行:同时在执行 微观上串行:各程序轮流地占有CPU,交替执行 * 进程基本特征 动态性 程序的一次执行过程 并发性 系统中可以同时有几个进程在活动 独立性 能独立运行的基本单位,资源分配基本单位 异步性 进程按各自独立的、不可预知的速度前进 * 对进程时行“细分”,一个进程可再分为多个线程 为提高CPU的利用率引入线程,其优点: (1) 充分共享共源 (2) 减少内存开销 (3) 提高并发性 (4) 切换速度相对较快 线程:核心级线程和用户级线程 UNIX:进程是CPU的分配单位 Windows:线程是CPU的分配单位 除了CPU以外,进程是在UNIX和WINDOWS中资源的分配单位 * 2)存储器管理:按照一定的策略进行内存的分配和回收、内存中程序和数据的保护以及解决内存扩充的问题,从而提高存储器的利用率。 最大容量与CPU的寻址能力有关 32位CPU最大可达4GB。 * DOS:单用户单任务操作系统 Windows:单用户多任务操作系统 Unix:多用户多任务分时操作系统 Netware/Windows NT:网络操作系统 在股票报价、天气预报、交通报告等系统中都有实时操作系统的影子 3.2.4 常用算法介绍 算法包括数值计算算法和非数值计算算法两类 ,一些典型的简单的算法概要介绍 : 1.递归 2.枚举法 3.查找 4.排序 返回 3.2.5 算法评价 1.算法的时间复杂度 2.算法的空间复杂度 3.算法是否易理解、易维护 返回3.2 1.算法的时间复杂度 算法时间复杂度是指依据算法编制程序后在计算机中运行时所耗费的时间的大小决定的。 通常,把整个程序中语句的重复执行次数之和作为该程序运行的时间特性,称为算法的时间复杂度,用T(n)表示。T为英文单词Time的第一个字母,T(n)中的n表示问题规模的大小。如在累加求和中n表示待加数的个数,在矩阵相加问题中n表示矩阵的阶数,在图中n表示顶点数等。算法的时间复杂度T(n)实际上是表示当问题的规模n充分大时该程序占用时间的一个数量级。例如,若某程序运行时的时间复杂度为(n)=2n3+2n2+2n+2,则表明程序运行所需要的时间与n3成正比,引入符号“O”进行算法复杂度分析,则有T(n)= O(n3)。若T(n)=2n-1,则该问题的时间复杂度T(n)=O(2n)。 返回 2.算法的空间复杂度

文档评论(0)

2232文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档