大学计算机基础-第10章_第1页
大学计算机基础-第10章_第2页
大学计算机基础-第10章_第3页
大学计算机基础-第10章_第4页
大学计算机基础-第10章_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

本章概要1.

程序设计语言概述:程序设计语言的分类及常见语言2.

程序:程序的类型及程序的执行方式。3.

软件工程:目前软件开发和维护的方法。4.

软件生命周期:软件开发的具体步骤。1程序设计语言概述机器语言是计算机硬件系统能唯一识别并执行的语言,基本要素是计算机指令。计算机指令是硬件唯一能识别的、实现计算机基本功能的二进制编码,是指挥计算机工作的基本命令。

2程序设计语言概述计算机指令的格式操作码用于指明操作(功能),不同指令具有不同的操作码。

操作码操作数操作数可能是数据(称为立即数)、存放操作数的内存单元地址或寄存器地址,也可能有多个操作数。

例计算8+7的机器语言程序示例:101110000000100000000000

;将8存入累加器AX中000001010000011100000000

7与累加器AX中的内容相加,结果仍存放在AX中指令系统:一台计算机中全部指令的集合。从计算机组成来看,指令系统与计算机系统的性能和硬件结构的复杂程度密切相关,因此,同类型计算机具有相同的指令系统。

3程序设计语言概述汇编语言:指令由英文单词或缩写构成,用符号和十进制数代替机器语言中的二进制编码,便于人们记忆和书写。

特点:机器语言和汇编语言都与计算机类型有关;汇编语言与机器语言比较,在助记方面有了较大的改善;汇编语言一般用于编制系统软件和过程控制软件。例计算8+7的汇编语言程序示例:MovAX,8

;将8存入累加器AX中AddAX,7

;7与累加器A中的内容相加,结果仍存放在AX中4程序设计语言概述结构化程序设计语言:脱离具体计算机硬件结构的程序设计语言

程序设计的核心是数据结构和算法;通过数据结构定义数据的存储形式;通过算法研究如何用快捷、高效的方法来组织解决问题的具体过程。

特点:5程序设计语言概述结构化程序设计语言的基本特征:

程序内部结构化:程序由顺序、选择(分支)和重复(循环)3种结构组成。程序模块化:一个大程序由若干个功能独立的、相互关联的程序模块(子程序、函数等)组成。可移植性好:即为一类计算机设计的程序,经少量改动后可以在另一类计算机上运行。

6程序设计语言概述具有代表性的结构化程序设计语言:

FORTRAN语言:是FormulaTranslator的缩写,在工程、数学和科学研究上是使用最广泛的语言,尤其是在科学计算中发挥着极其重要的作用。

Pascal语言:作为一门实用程序设计语言和教学工具,Pascal语言在高校计算机软件教学中一直处于主导地位。

C语言:适合于系统描述,可以用于编写系统和应用软件。7程序设计语言概述面向对象的程序设计语言:类:是具有相同特征对象的抽象,是创建对象的模板。

对象:是程序中最基本的运行实体,一个程序由若干个对象组成,各个对象既相互独立,又通过消息相互联系。

8程序设计语言概述可视化程序设计事件:是对象响应某种操作时的一种反映机制,是响应某种操作的程序代码入口。

属性:用于描述对象的特征。

方法:对象的方法实质是一种子程序,调用时依附于对象,运行时执行相关的操作,也称之为对象函数。

9程序设计语言概述具有代表性的面向对象程序设计语言:

C++语言:在C语言基础上增加了面向对象的支持,基本兼容C语言程序。其特点是既支持结构化程序设计方法,又支持面向对象程序设计方法,因此,也称之为混合型语言。

Delphi语言:是在Pascal基础上开发出来的可视化程序设计语言,是真正的面向对象编程语言,执行效率高,具有强大的数据库管理功能,是开发中小型数据库软件的理想编程工具。

Java语言:Java也是一种跨平台的程序设计语言,适合开发基于网络、多媒体、与平台无关的应用程序,应用程序可以在网络上传输,并可以运行在任何计算机上。10程序设计语言概述网页设计语言:标记语言主要用于设计静态网页,利用标记标注信息的类型和位置。

脚本语言是介于HTML和编程语言之间的一种语言,主要用于设计动态网页。

11程

序任何以计算机为处理工具的任务都是对处理对象和规则的完整描述,这种描述称为程序。要使程序起作用,必须将其装入到内存中执行,程序的实际工作过程称为执行或运行。

12程

序Windows操作系统中运行应用程序的方法:开始按钮→程序,选择应用程序单击;双击桌面上的应用程序图标;双击打开文件夹中应用程序图标;双击快捷方式图标;单击开始按钮→运行,输入应用程序的路径及文件名称→确定按钮。13用程序设计语言(汇编或高级语言)编写程序时,都是用符号代码(指令、语句或命令)或对象(如窗口、菜单)进行程序设计。通常,将设计的内容称为源程序,将保存这些内容的文件称为源程序文件。

程序及其类型根据程序所处软件的开发阶段或运行方式的不同,程序主要有源程序、可执行程序和动态链接库3种类型。可执行程序是由源程序翻译(编译)生成的、真实的机器语言程序。在Windows中,最常用的可执行程序文件扩展名为EXE和COM。

动态链接库是由源程序生成的机器语言程序的另一种形式,主要作为可执行程序的辅助文件,不能独立运行。14程序及其类型源程序的翻译方式:编译方式:通过程序设计语言提供的编译或生成工具,系统自动对整个源程序逐句进行词法分析、语法分析和机器语言指令翻译。

解释方式:在程序设计语言环境中直接运行源程序,在执行每条语句前,系统先分析语句的词法和语法,若语句正确,则生成并执行机器语言指令,直到程序运行结束。15软件工程概述软件工程是将系统的、规范的、可度量的方法应用于软件开发和维护整体过程的一门科学,用数学、计算机科学和管理科学的原理,借助传统工程科学的原则和方法创建与维护软件,从而达到提高软件质量、降低软件成本的目的。数学用于构造数学模型和算法。计算机科学负责软件实现和运行

。管理科学用于进度、资源、质量和经费管理

。工程科学用于制定规范、确定样例和评估成本

。16软件工程概述软件工程的诞生背景程序设计时代:软件开发主要是个体手工劳动,程序设计语言是机器语言和汇编语言,这个阶段被称为程序设计时代。软件开发完全依赖程序设计者的个人技能,不重视程序设计方法。

程序系统时代:高级程序设计语言出现后,提出了结构化程序设计的方法,并成为软件开发的主要工具,称此阶段为程序系统时代。

17供需矛盾;开发成本和时间失控;质量难以保障;维护困难。主要表现

:软件工程概述软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

软件发展速度落后于硬件发展水平,人们对软件的需求得不到满足。管理人员缺少开发软件的经验,需求描述不准确,而开发人员又缺少管理经验,二者之间缺乏交流工具,过分依赖开发人员在软件开发过程中的技巧和创造力,因此,很难开发出高质量的实用软件。由于缺乏软件开发规范和技术文档,人们很难阅读和修改其他人开发的软件,使软件维护、移植和升级困难,导致软件重复开发问题严重,软件复用性降低。

18软件工程主要包括软件开发技术和软件工程管理。

软件工程的内容软件开发技术根据软件的类型,制定软件的开发策略、原则、步骤和相关文档资料,将软件开发纳入规范化和工程化管理。软件工程是一门交叉科学,包含方法、工具和过程3个要素。方法是完成软件项目的技术手段,它支持项目的计划和估算、系统环境和软件需求分析、软件设计、编码、测试和维护。

除了程序设计语言(如C、VB等)和数据库管理系统(Access、VFP和SQLServer等)外,还应该包括软件辅助设计工具,协助管理项目和生成相关的文档。

过程用于控制和管理软件开发和维护的各个重要环节。

软件工程管理按工程化思想管理软件生产过程的各个重要环节,按计划、进度和预算实施软件开发和维护,以达到预期的目标。

19软件工程的基本目标软件工程的基本目标是付出较低的开发成本,达到要求的软件功能;按时完成开发任务,及时交付使用;开发出来的软件具有良好的稳定性、可靠性、适应性和可操作性,易于移植和维护。

20软件工程的原则在软件开发过程中,必须遵循抽象性、信息隐藏性、模块化、局部化、一致性、完整性和可验证性等原则。抽取事物最基本的特性和行为,忽略某些无关紧要的细节。

模块化是程序中逻辑上相对独立的成分,是功能相对独立的程序单位(VB语言中的子程序、窗体等),具有良好的接口定义(如子程序的形式参数、对象的事件等)。隐藏信息模块的实现细节(如子程序实现代码、对象的构造代码等),通过模块接口实现操作,将注意力集中在更高层次的对象上。一个模块的功能尽量独立和完整,不受其他模块运行(如改变同名变量的值)的干扰,在模块内部有较强的内聚力,其他模块只能通过接口与之建立联系,以便降低求解问题的复杂性。在一个软件系统的各个模块中,使用规范、统一的符号和术语;软件与硬件接口一致;模块内外接口一致;系统规格说明书与软件系统的行为一致等。

软件系统不丢失任何重要成分,完全实现系统所需要的功能。

开发大型软件系统需要逐步分解,系统分解应遵循系统容易检查、测试和评审的原则,以保证系统的可验证性。

21软件生命周期软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。

在“计算机软件开发规范”的国家标准中,将软件生存周期划分为可行性研究(计划)、需求分析、概要设计、详细设计、代码实现、软件测试、使用与维护7个阶段,在每个阶段中都明确规定了任务、实施方法、步骤和完成标志等,并要求产生相关的文档。22软件定义阶段1.可行性研究:也称软件计划或策划阶段

。此阶段主要对待开发系统涉及到的经费、软/硬件技术、效益和法律等方面的问题进行可行性论证,制定系统开发任务的实施计划。

2.需求分析:需求是用户对目标软件系统在功能、行为、性能和约束等方面的要求或期望。需求分析是对应用问题及其环境的理解与分析,为应用问题涉及的事物、功能及系统行为建立模型,将需求精确化和完整化,最终形成需求规格说明书。

23软件定义阶段需求分析的主要工作:获取资料

资料分析

形成需求规格说明书

需求评审

系统分析员与用户进行业务交流和探讨,不断收集、积累相关的业务资料(文件或表格等),加深理解需求,澄清模糊的概念,对有争议的业务环节达成共识等。

系统分析员对收集的资料进行综合分析和总结,确认业务范围和处理细节,规划业务流程,排除不合理的需求,确定应用问题的解决方案、目标系统的功能模块以及数据模型(如E–R图形),建立各功能模块之间的关联等。

需求分析的成果是需求规格说明书,通常包括数据描述、功能描述和性能描述等信息。它是用户、系统分析员和软件开发人员进行交流的共识资料,是待开发软件系统的预期目标,同时作为控制软件的开发过程,系统功能测试、评估和验收的依据。

对需求规格说明书进行审核,验证文档的一致性、完整性、正确性、可行性和有效性。

24软件开发阶段3.概要设计:也称结构设计或总体设计,根据需求确定软件和数据的总体框架。数据结构设计:也称数据对象设计,主要任务是依据需求分析的数据模型,结合程序中涉及的算法,设计数据文件的逻辑结构。软件结构设计:按自顶向下、逐步求精和模块化的设计原则,将一个软件分解和规划成若干个模块,确定各模块之间的关联信息。

概要文档:概要设计说明书、数据结构或数据库设计说明书和软件集成调试计划等。

25软件开发阶段4.详细设计:主要任务是设计软件功能结构图中每个最低层模块的局部算法(如数据排序、查找、统计等算法)和数据结构(如需要的变量、数组等),确定每个模块调用和数据传输接口(如参数、函数返回值、存储数据的文件或表名等)。描述算法的常用工具有伪代码(ProcedureDesignLanguage,PDL)、程序流程图和N–S图等,设计成果是详细设计说明书。26软件开发阶段5.编码实现:需要选择一种程序设计语言,进入程序设计阶段。通常利用菜单或窗口结合工具栏设计软件功能结构图的总体框架,依据详细设计中的算法和数据结构设计每个功能模块的程序代码,设计成果是源程序。27软件开发阶段6.软件测试:是对需求规格说明书、概要设计说明书及程序代码等内容的最后复审。软件质量保证贯穿于软件开发的整个过程,其中关键步骤是软件测试;软件测试目的是在软件产品交付使用之前尽可能发现潜在的错误;软件测试主要检测和更正语义和功能错误

。28软件开发阶段软件测试的方法:静态测试:不需要运行软件,由人工直接进行阅读和检查源程序,包括代码检查、静态结构分析和代码质量度量等。动态测试:是基于计算机的测试,通过运行软件发现错误。这种方法需要测试人员根据软件开发规格说明和程序内部结构精心地设计测试用例,通过输入数据和预期的输出结果发现软件中的错误。为测试软件而设计的数据称为测试用例。设计测试用例时,要根据程序的具体功能或运算,综合考虑各种可能情况,构造具有代表性的数据。

29软件开发阶段动态测试的方法:白盒测试:也称结构测试或逻辑驱动测试。需要测试人员先阅读和分析源程序的内部结构,根据程序可能执行的路径(分支或循环)设计测试用例,确保每个分支、每个循环体和循环边界条件至少执行一次,然后,通过测试用例运行软件,验证软件结构的正

温馨提示

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

评论

0/150

提交评论