计算机软件技术基础PPT课件.ppt_第1页
计算机软件技术基础PPT课件.ppt_第2页
计算机软件技术基础PPT课件.ppt_第3页
计算机软件技术基础PPT课件.ppt_第4页
计算机软件技术基础PPT课件.ppt_第5页
已阅读5页,还剩361页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于电脑软件技术,第一章软件工程第二章数据结构第三章操作系统第四章数据库技术第五章面向对象程序设计第六章计算机网络第七章网页设计综合练习问题,第一章软件工程,本章简要介绍了软件工程的形成和发展,重点介绍了软件开发的各种方法和软件测试策略及方法,最后简要介绍了软件开发环境和软件重用技术。1.1大纲软件工程提案源于20世纪60年代后期出现的“软件危机”,在短时间内发展到完整的学科方向,30多年来在理论研究和工程实践两方面做了很多工作。1.1.1软件工程形成和发展1。从软件发展的三阶段软件开发方法机器语言编程到软件工程方法,经历了三个阶段。1.计算机编程时期(从1946年到60年代中期),生产方式是

2、手工生产,个人劳动。只有程序而没有软件的概念。2.软件时期(从60年代中期到70年代中期)程序不再是硬件部分,有软件概念。防腐的生产方式已经很难满足软件生产的质量和数量上的要求。出现了“软件危机”。3.软件工程时代(70年代以后)1968年,1969年北大西洋公约组织成员国的软件工作人员举行了两次研讨会,推出了“软件工程”一词,其根本目的是克服“软件危机”面临的困难问题,进入软件工程时代。2 .软件危机(1)软件危机主要成果:软件开发成本和进度的估计往往不准确。用户往往对完成的软件不满意。3)软件质量经常受到怀疑。4)维持软件极其困难。5)缺乏好的软件文件。6)提高软件开发生产率的速度远远赶不

3、上电脑应用的快速普及和深入趋势。(2)软件危机发生的原因一般认为软件危机发生、软件产品的特点以及软件产品开发和维护方法不正确。第一,软件不是逻辑的系统部件牙齿,而是物理的系统部件,以节目和文档形式存在,具有无形性。第二:软件规模越大,功能越强,软件结构复杂性越大。(3)软件危机解决方法是充分吸收、借鉴人类长期从事各种工程项目积累的经验证的原则、概念、技术和方法,并应用于软件开发实践。软件开发组织得很好,管理严格,多种人员共同完成的工程项目,3,软件工程1983年IEEE说:“软件工程实例软件工程的多个茄子领域(1)软件工程方法学是研究软件结构技术的学科。”从软件定义、开发到维护,都需要适当的方

4、法。(2)软件工程环境是最终用户用于运行程序的电脑系统。对应用软件开发者来说,环境是开发活动的舞台。软件工具是环境中最活跃的成分。工具在这里是指有助于开发软件的所有软件。软件开发各方面开发了很多有效的工具。集成工具的自动切换,可以大大提高软件生产率。(3)软件工程管理软件工程管理的目的是根据软件预算和时间表完成项目计划,实现预期的经济和社会利益。1.1.2软件工程泛型1,传统的软件工程泛型瀑布模型瀑布模型是1976年BWBoehm牙齿提出的,是基于软件生存周期的范例。软件生命周期分为定义、开发和维护三个阶段,每个阶段分为多个子阶段,每个子阶段的工作顺序像自上而下瀑布一样展开。(参见下图)定义阶

5、段:定义用户需求分析问题:收集、分析、了解、了解用户需求可行性研究:确定问题是否存在可行的解决方案。需求分析:确定用户对软件系统的所有需求。开发阶段:设计:设计软件系统的模块层次、数据库结构、模块控制流程等。编程:由相应程序执行每个模块的控制流程发射。测试:检查并消除软件错误,以提高软件可靠性。维护阶段:操作和维护:维护软件系统的正常运行。每个阶段都有相应的文档。问题定义或行星研究,需求分析,设计,编程,测试,操作和维护,(目标和范围说明)结构化分析方法,也称为结构化分析方法。(1)SA方法的特点:核心思想:自上而下和逐步细化。基本手段:分解和抽象。分解:把大问题分成几个小问题单独解决。抽象:

6、省略细节,首先考虑问题的最本质属性。使用了几个描述要求手册的茄子规格工具。规范化文档,例如数据流图、数据字典、小说明(加工逻辑的说明)。(2)数据流图表(称为DFD图)SA方法使用“分解”方法(描述系统数据流的图形工具)标识将系统的逻辑输入和逻辑输出以及逻辑输入转换为逻辑输出所需的处理过程。1,数据流图的基本符号:(1)数据流(2)处理(3)数据存储(4)数据源点或端点。绘制每个层次的数据流图时需要注意的问题:(1)父图形和子图形平衡;(2)子图形的编号;(3)数据保留;(3)数据字典;(DD)数据流图中包含的所有元素定义集均数据字典。数据词典有四种茄子项目类型:“数据流”、“档案”、“数据项

7、”和“加工”。(1)数据流条目数据流条目提供数据流的定义。通常是列出相应数据流的每个配置数据项。例如:课程=课程名称讲师教材课程=星期几的第几个教室(2)档案主题档案主题提供了档案定义。订单档案=订单编号客户名称产品名称订购数量交货日期(3)数据项数据项数据项数据项提供数据项的定义。学号=19999 (4)加工项目加工项目也称为小说明。小说命中要准确地描述用户需要什么加工,该做什么。2,结构化设计结构化设计方法,也称为结构化设计(SD)方法。一种面向数据流的设计方法,用于确定软件结构。(1)SD方法的基本思想是基于SA方法的数据流图创建良好的模块图(例如,SC图表或软件分层块图表)。使用模块化

8、设计原理控制系统的复杂性。也就是说,模块相对独立,模块结构的深度和宽度合适,设计单入口单出口、单功能模块结构的软件结构或软件层次框图。牙齿方法提供了描述软件系统的工具,评估模块原理图质量的标准,即模块之间的连接越松越好,模块内组件之间的连接越紧密越好。(2)SD方法的设计原理1)模块:模块化是将系统划分为多个模块以获得满足问题需求的解决方案的过程。2)模块的独立性:模块的独立性有两个茄子定性测量标准,即内聚和耦合。管接头有6种,从小到大如下:这两个模块完全独立(无连接)。数据合并:即两个模块仅交换数据。状态耦合:在两个模块之间通过控制状态传送。组合环境:是通过两个模块之间的公共环境访问数据。公

9、共块耦合:表示多个模块参考整个数据区域。内容组合:是当一个模块使用存储在另一模块内部的数据或控制信息,或发送到另一模块中间时,或当一个模块具有多个入口时。可见模块间的耦合性越小越好。从小到大有六种。偶然的内聚,即一个模块由松散的关系或完全没有连接的多任务组成。逻辑集合:意味着一个模块执行的操作在逻辑上相同或相似。时间内集合:必须同时执行模块中包含的任务。通信集成:是模块内所有处理元素中相同的数据结构顺序集合:是模块的所有处理元素(例如,为了执行相同的功能,必须按顺序执行)。功能集:一个模块所有处理仅完成一个功能。内聚性给模块内部联系,所以内聚性越大越好。3)模块的设计准则通过模块的分解和集成提

10、高了模块的独立性。模块调用数最好不要超过5个。降低模块接口的复杂性。模块的所有子模块必须包含受评估影响的所有模块的集合。模块必须设计为单个入口和单个出口。模块的大小,一般50文章左右要合适。(3)数据流图的类型数据流图通常分为两种茄子主要类型3360转换处理和事务处理类型。转换处理类型:大多数数据流图可以看作是转换输入数据以处理输出数据,因此,可以将这些处理抽象为转换处理类型。转换过程主要分为输入数据、转换数据和输出数据三个阶段。它包含三个部分:输入流、转换流和输出流。在输入流中,信息是从外部格式转换为内部格式的结果。在输出流中,信息从内部格式的结果转换为外部格式的数据泄露系统。转换处理的数据

11、流图。事务处理类型:的另一数据流图可以看作是以某种方式处理一个数据流,然后根据处理结果选择输出数据流继续处理。牙齿类型的处理可以抽象为事务处理类型。在事务处理中,输入数据流称为事务流,处理称为事务中心,多个并行数据流称为事务路径。事务流中的事务被发送到事务中心后,事务中心将分析每个事务,并继续根据事务处理特性和特性选择要处理的事务路径。(4)SD方法的设计过程采用SD方法基于数据流图。如上所述,在分析阶段,几乎所有软件数据都可以用数据流图表示,因此SD方法基本上适用于所有软件开发活动。使用SD方法进行整体设计的过程大致如下:(1)研究、分析和审查数据流图,并确定软件要求规格中数据流的处理过程。

12、(2)根据数据流图确定数据流图的类型。(3)从数据流图中导出系统的初始软件结构图。(4)改进初始软件结构图,直到满足要求。(5)审查。(5)软件结构描述方法SD方法软件结构使用作为设计规范一部分的原理图进行说明。图表说明了软件模块结构,并反映了模块和模块之间的连接等特性。3,详细设计和编码(1)详细设计工作使用软件结构图中每个模块要使用的算法和块中的数据结构、选择的表示工具提供明确的说明。(2)详细设计的说明工具节目流程图也称为方块图,无论是什么编程语言类型,都可以直观、清楚、容易掌握。复杂的程序流程图可以由确定顺序结构选择结构(IF-THEN-ELSE)多分支选择结构(CASE)循环结构(W

13、HILE)的不同类型的基本结构组合或嵌套组成,然后确定循环结构(UNTIL)、(2),从而限制随机控制转移,顺序结构选择结构多分支选择结构,首先判定型循环结构后判定型循环结构,(3)结构化编码方法源代码要求3360最基本的要求是源程序的正确性。还必须考虑可读性、可理解性、可测试性和可维护性。写程序的风格:好的源程序意味着源代码逻辑简洁易读。编码原则:节目内部文件要选择意义明确的名字,注释正确,节目列表水平明确,布局合理。数据说明和顺序要标准化,个别复杂的数据结构注释要注释。每个句子都要简单直接,为了提高效率,程序过于复杂渡边杏。对输入数据要进行合法性检查。向输出数据添加输出数据的标志。在节目编

14、码阶段,以不影响程序的清晰度和可读性为前提,最大限度地提高效率。1.2.2面向对象开发方法面向对象技术是一种非常实用、功能强大的软件开发方法。面向对象的软件开发方法也称为对象定向软件开发(oosd)。OOSD包括三个茄子方面:面向对象的分析(OOA)、面向对象的设计(OOD)和面向对象程序设计(OOP)。其中OOP是默认机制,OOA和OOD是应用OOP的机制。面向对象的方法和技术是20世纪80年代以来逐步形成的问题和问题解决分析的新方法,其基本出发点是根据人类认识世界的方法和思维方式进行分析和问题解决。客观世界由很多具体的事物或事件、抽象的概念和规则等组成,因此我们要研究的事情、事物和概念都被

15、称为对象。面向对象的方法是使用对象作为最基本的元素、对象作为分析问题、问题解决核心。1,面向对象分析(OOA)将对象用作现实世界的抽象表示,将专门操作对象属性及其属性的服务、属性和服务定义为对象的特性。具有相同属性和服务抽象的一组对象配置类。因此,面向对象的模型可以包含多个类,并且对应于模型的多个层次结构,因此这些类具有层次结构关系和属性继承关系。面向对象的分析包括5个茄子主要阶段。(1)标识对象(2)标识对象属性(3)对象定义服务(4)标识对象所属的类(5)专题定义,2,面向对象设计(OOD) OOA是分类活动。每个部件由五个阶段组成:主题语、对象和类、结构、属性和外部服务。这五个级别分别对

16、应于OOA中的五个活动:主题语定义、对象标识、类标识、对象标识属性和对象标识服务。其中主体元件是整体设计的主体,包含完成目标软件系统主要功能的所有物件,用户界面元件提供人机交互所需物件,工作管理元件提供协调和管理目标软件个别工作的物件,数据管理元件定义专用物件。必须将依赖于目标软件系统开发平台的数据访问操作与其他功能分开,以提高对象独立性。概括地说,OOD方法是基于OOA模型不断地填充和扩展软件设计信息。3,面向对象的编程完成OOD后,开始进入编程阶段。目前主要选择面向对象的语言(如C)、基于对象的语言(如Ada)和程序语言(如C语言)。1.3软件测试和质量保证1.3.1软件测试原则1,定义基本概念软件测试:软件测试是针对发现错误运行程序的过程。软件测试:单元测试和综合测试。软件测试在软件生存周期中跨越了两个阶段。通常写完第一个模块后,进行所需的测试(称为单元测试)。属于编码和单元测试软件生命周期的同一阶段。完成牙齿阶段后还需要对软件系统进行各种综合测试,这是软件生存周期的另一个独立阶段,即测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论