大学计算机基础 第10章软件设计基础学习资料_第1页
大学计算机基础 第10章软件设计基础学习资料_第2页
大学计算机基础 第10章软件设计基础学习资料_第3页
大学计算机基础 第10章软件设计基础学习资料_第4页
大学计算机基础 第10章软件设计基础学习资料_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

本章概要

4学时1.

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

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

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

软件生命周期:软件开发的具体步骤。11.

程序设计语言概述程序设计语言:程序的开发工具。由低级到高级、由面向过程到面向对象的演变过程。软件(Software):程序、数据及相关文档的集合,是用户与硬件之间的接口,是计算机系统运行的灵魂。程序是软件的核心。21.1机器语言计算机指令的格式操作码操作数1011100000001000

00000000;8存入累加器AX0000010100000111

00000000;7+AX中数据,存于AX中指令系统:一台计算机中全部指令的集合。机器语言:计算机硬件系统唯一识别并执行的语言,基本要素是计算机指令。硬件唯一能识别的、实现计算机基本功能的二进制编码,是指挥计算机工作的基本命令。

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

用于指明操作(功能),不同指令操作码不同。

与计算机系统的性能和硬件结构的复杂程度密切相关,同类型计算机有相同的指令系统。

机器语言的特点:程序执行效率高、可直接操作硬件。缺点:专业性强,指令不易记忆,编程序工作量大,调试程序困难。31.2汇编语言汇编语言:指令由英文单词或缩写构成,用符号和十进制数代替机器语言中的二进制编码。

特点:与计算机类型有关;与机器语言比较,容易记忆和书写;一般用于编制系统软件和过程控制软件。计算8+7的汇编语言程序示例:MovAX,8

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

;7加累加器A中的数据,存于AX中低级语言:机器语言和汇编语言的统称,也称面向机器的语言。4结构化程序设计语言是脱离计算机硬件结构的程序设计语言。如:Basic和C等。也称高级程序设计语言。致力于描述解决问题的具体方法和步骤。核心是数据结构和算法。

语言有各自的专用符号、语法规则和语句结构,基本要素是语句(命令)。语句格式近似自然语言,具有低级语言一段程序的功能。

Dima,b,cAsSinglea=Text1.Textb=Text2.Textc=Text3.TextIfb^2-4*a*c>=0Then

Text4.Text=(-b+Sqr(b^2-4*a*c))/(2*a)Text5.Text=(-b-Sqr(b^2-4*a*c))/(2*a)ElseText4.Text="无解"EndIf更接近自然语言,每条语句的功能较强,人们较容易理解和使用。5结构化程序设计语言1.结构化程序的基本特征可移植性好:为一类计算机设计的程序,经少量修改可在另一类计算机上运行。

程序内部结构化:程序由顺序、选择(分支)和重复(循环)3种结构组成。

程序模块化:一个大程序由若干个功能独立的、相互关联的程序模块(子程序、函数等)组成。If…EndIf和SelectCase…EndSelect语句。For…Next和Do…Loop语句。Function

…EndFunction和

Sub

…EndSub。6结构化程序设计语言2.具有代表性的语言

FORTRAN语言:是FormulaTranslator的缩写,在科学计算中发挥重要的作用。

Pascal语言:语言简单和结构化,用于科学计算和系统软件研制。

C语言:适合于系统描述,用于编写系统和应用软件。兼有高级语言和低级语言的特点。main(){

inta,b;a=10;b=20;

printf("a+b=%d\n",a+b);}7面向对象程序设计语言类:是具有相同特征对象的抽象,是创建对象的模板。

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

面向对象程序设计(OOP

中窗口、菜单和命令按钮等都是对象。流行的程序开发工具(如VB、C++、Delphi和Java等),兼有面向对象、可视化和结构化设计思想。1.对象与类

8面向对象程序设计语言2.

可视化程序设计控制和管理对象的3个要素:属性、事件和方法(程序)

用可视化工具(基类)创建程序中对象。

特点:程序设计过程直观,思路清晰,编写的程序代码量少。

描述对象的特征。如:名称(Name)、高度(Height)、可用(Enabled)和可见(Visible)等。

对象响应某种操作的反映机制,是响应操作的程序代码入口。如:Click和GotFocus等。

一种依附于对象的子程序,运行时执行相关的操作。如:SetFocus、Show和Hide等。

9面向对象程序设计语言3.具有代表性的语言

C++语言:基于C的面向对象程序设计语言,基本兼容C程序。特点:支持结构化和面向对象程序设计方法,也称混合型语言。

Delphi语言:基于Pascal的可视化程序设计语言,具有数据库管理功能,用于开发中小型数据库软件。

Java语言:称网络上世界语,适合开发基于网络(Internet)、多媒体、与平台无关(跨平台)

的应用程序。应用程序可在任何计算机上运行。10网页设计语言标记语言:用于设计静态网页,用于标记标注信息的类型和位置。

脚本语言:介于HTML和程序设计语言之间,用于设计动态网页。有VBScript和Java

。网页分为动态、静态两种方式。静态网页:信息直接来源网页文件(HTML或HTM)。动态网页:信息来源网站信息库。112.

序程序:对处理对象和规则的完整描述,是用计算机语言设计的,为完成某一任务、按一定顺序编排的指令(语句、命令)序列。执行程序:程序的实际工作(起作用)的过程,也称运行程序。程序必须装入内存后才能执行。

编写程序:任何程序都是由某种计算机语言设计而成的,只要掌握一门程序设计语言,就可设计程序。

12根据程序所处开发阶段或运行方式的不同,主要有源程序、可执行程序和动态链接库3种类型。1)源程序:用汇编或高级语言设计程序时的代码内容。保存源程序的文件称源程序文件。

程序及其类型2)

可执行程序:由源程序翻译(编译)生成的机器语言程序。Windows中常用可执行程序文件扩展名为EXE和COM。

3)

动态链接库DLL:由源程序生成的另一种机器语言程序,作为可执行程序的辅助文件,不能独立运行。有两个作用:提供应用程序接口(API)函数;程序的动态加载库。13主要特点:脱离语言环境(无源程序)运行程序,便于版权保护。直接运行机器语言程序,不重新翻译,提高程序整体运行速度。源程序的翻译方式1)

编译方式:用程序设计语言提供的编译或生成工具,自动对源程序逐句进行词法、语法分析和翻译机器语言指令。源程序无误后,生成机器语言程序文件(EXE或COM)。

源程序内容是程序设计语言代码,要由计算机硬件识别和执行,必须转换(翻译)成机器语言程序。14源程序的翻译方式2)

解释方式:在语言环境中运行源程序,执行每条语句前,系统分析该语句的词法和语法,若语句正确,则生成并执行该语句的机器语言指令,逐条如此处理,直到程序运行结束。153.

软件工程概述软件工程:将系统的、规范的、可度量的方法用于软件开发和维护整体过程的科学,用数学、计算机科学和管理科学的原理,借助传统工程科学的原则和方法创建与维护软件。构造数学模型和算法。负责软件实现和运行

。进度、资源、质量和经费管理

。制定规范、确定样例和评估成本

。目的:提高软件质量、降低软件成本。

16软件工程概述1.软件工程的诞生背景程序设计时代:高级程序设计语言出现前,程序设计语言是机器语言和汇编语言。软件开发完全依赖个人技能,不重视程序设计方法。

程序系统时代:出现高级程序设计语言,结构化程序设计方法成为软件开发的工具。

17软件工程概述泛指计算机软件开发和维护过程中所遇到的严重问题。主要归结成本、质量和生产率3个方面。2.

软件危机1)供需矛盾2)开发成本和时间失控3)质量难以保障硬件性价比上升,应用需求扩大,软件发展速度慢,需求得不到满足。

软件规模增大,复杂度增加,开发成本经常超出预算,不能按期交付使用。

管理与开发人员缺乏交流工具,过分依赖开发人员的技巧和创造力,很难开发出高质量软件。有些软件耗费大量人力和财力后被迫放弃。

4)维护困难缺乏开发规范和技术文档,很难阅读和修改其他人开发的软件,软件维护、移植和升级困难,导致重复开发,复用性降低。

18软件工程是一门交叉科学,包含方法、工具和过程3个要素。软件工程主要包括软件开发技术和软件工程管理。

软件工程概述3.软件工程的内容付出低成本,达到软件功能;按时完成开发,及时交付使用;软件有良好的稳定性、可靠性、适应性和可操作性,易于移植和维护。

4.软件工程的基本目标除程序设计语言(如VB)和DBMS(如Access)外,还有软件辅助设计工具(如:帮助信息制作、软件流程分析等),生成相关文档。

控制和管理软件开发和维护的各环节。

根据软件的类型,制定软件的开发策略、原则、步骤和相关文档资料。按工程化思想管理软件生产过程的各个重要环节,按计划、进度和预算实施软件开发和维护。

技术手段,支持项目的计划和估算、系统环境和软件需求分析、软件设计、编码、测试和维护。

195.软件工程的原则软件工程概述开发软件时,遵循抽象性、信息隐藏性、模块化、独立性、一致性、完整性和可验证性等原则。抽取事物基本特性和行为,采用分层抽象的方法。

逻辑上独立的成分是功能独立的程序单位(如子程序、窗体等),有良好的接口定义(如子形式参数、事件等)。隐藏模块的实现细节(实现代码),注意力集中在更高层次的对象上。模块的功能尽量独立和完整,其他模块通过接口建立联系,降低求解问题的复杂性。用规范、统一的符号和术语;软件与硬件接口一致;模块内外接口一致;系统规格说明书与软件系统的行为一致等。

不丢失重要成分,完全实现系统的功能。

分解软件系统应遵循系统易检查、测试和评审的原则,保证系统的可验证性。

20软件生命周期从形成概念,经过开发、使用和维护,直到退役的全过程。

可划为可行性研究(计划)、需求分析、概要设计、详细设计、代码实现、软件测试、使用与维护7个阶段。软件测试使用与维护概要设计详细设计代码实现软件开发可行性研究需求分析软件定义21软件定义阶段1.可行性研究:也称软件计划或策划阶段。主要对经费、软/硬件技术、效益和法律等可行性论证,制定系统开发实施计划。需求分析:对应用问题及环境的理解与分析,为应用问题建立模型,形成需求规格说明书。2.需求分析需求:用户对软件系统的功能、行为、性能和约束等方面的要求或期望。22软件定义阶段主要工作:获取资料

资料分析

形成需求规格说明书

需求评审

与用户业务交流和探讨,收集、积累业务资料(文件或表格等)。

包括数据、功能和性能描述等。为用户、系统分析员和软件开发人员提供共识资料,也是预期目标,为软件开发过程控制,系统功能测试、评估和验收提供依据。

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

学号姓名性别出生日期民族学院学院地址课程成

绩学分重修考试课堂实验总分22119901马伟立男1987-10-12汉族法学逸夫楼大学计算机65910C4

英语AB5√确认业务范围和处理细节,规划业务流程,确定解决方案、目标系统的功能模块及数据模型(如E–R图)。

23数据结构设计:也称数据对象设计,主要任务是设计数据的逻辑结构。软件开发阶段1.概要设计:也称结构设计或总体设计,确定软件和数据的总体框架。软件结构设计:按自顶向下、逐步求精和模块化的设计原则,分解和规划成若干个模块,确定模块之间的关联。

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

将软件按功能分为若干个模块,每个模块对应一个子程序、函数或对象(如菜单项、命令按钮等)

先考虑总体,后考虑细节;先考虑全局目标,后考虑局部功能。

将复杂问题逐级分解成模块,最低层子模块实现基本功能。学生信息管理代码维护学生信息成绩信息专业课程查询信息注册信息统计登记查询24软件开发阶段2.详细设计:设计每个低层模块的算法(如数据排序、查找等)和数据结构(如变量、数组等),确定模块调用和数据传输接口(如参数、函数返回值等)。描述算法的常用工具有伪代码(ProcedureDesignLanguage,PDL)、程序流程图和N–S图等,设计成果是详细设计说明书。顺序、折半查找等。

交换、选择、插入排序等。

25软件开发阶段3.编码实现:选择一种程序设计语言,进入程序设计阶段。用菜单或窗口结合工具栏设计软件总体框架。依据详细设计中的算法和数据结构设计各个模块的程序代码,设计成果是源程序。26软件测试对需求规格说明书、概要设计说明书及程序代码等内容的最后复审。测试目的:软件交付使用之前尽可能发现潜在的错误。语法错误:语句格式错误。如:PrintX:Y语义错误:不符合规定的运算,如:分母为0、负数开平方等。功能错误:与相关设计说明书不符的内容

。应该为分号或逗号27软件测试测试方法:基于计算机的测试,运行软件发现错误。1.

静态测试人工直接阅读和检查源程序,包括代码检查、静态结构分析和代码质量度量等。2.

动态测试测试用例:为测试软件而设计的数据。根据程序的功能或运算,考虑各种可能情况,构造有代表性的数据

温馨提示

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

评论

0/150

提交评论