软件技术,绪论(精品).ppt

上传人:hwp****526 文档编号:85514496 上传时间:2023-04-11 格式:PPT 页数:54 大小:425.50KB
返回 下载 相关 举报
软件技术,绪论(精品).ppt_第1页
第1页 / 共54页
软件技术,绪论(精品).ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《软件技术,绪论(精品).ppt》由会员分享,可在线阅读,更多相关《软件技术,绪论(精品).ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件技术课程学习简介软件技术课程学习简介一、课程理论学习内容一、课程理论学习内容1 1VBVB程序设计语言程序设计语言2 2数据库原理数据库原理3 3VBVB数据库设计数据库设计4 4网络编程基础,补充内容网络编程基础,补充内容ASPASP技术技术二、课程实验学习内容二、课程实验学习内容1 1要求掌握科研课题开题报告的一般写作方法要求掌握科研课题开题报告的一般写作方法2 2完成一个微小型的微机应用系统的软件设计。完成一个微小型的微机应用系统的软件设计。课题按照小组为单位进行,每个课题组课题按照小组为单位进行,每个课题组1 13 3名名同学。同学。3 3学习科研课题结题报告的一般写作方法学习科研

2、课题结题报告的一般写作方法软件技术课程学习简介软件技术课程学习简介三、课程理论学习要求三、课程理论学习要求 VB VB程序设计语言、程序设计语言、数据库原理、数据库原理、VBVB数据库数据库设计、网络编程基础各章的基本概念和基本操设计、网络编程基础各章的基本概念和基本操作方法。作方法。考核方式:机考考核方式:机考四、课程实验学习要求四、课程实验学习要求1 1学习科研课题开题报告的一般写作方法,开题学习科研课题开题报告的一般写作方法,开题报告每个课题小组写一份。报告每个课题小组写一份。2 2学习一个在可视化软件平台下,设计一个微小学习一个在可视化软件平台下,设计一个微小型的微机应用系统。型的微机

3、应用系统。3 3学习科研课题结题报告的一般写作方法,结题学习科研课题结题报告的一般写作方法,结题报告每个同学写一份。报告每个同学写一份。软件技术课程学习简介软件技术课程学习简介考核内容:检查一个微小型的微机应用系统软件考核内容:检查一个微小型的微机应用系统软件设计的完成情况。设计的完成情况。1 1评价标准评价标准n创新性、合理性(创新性、合理性(5 5)n难度、复杂性(难度、复杂性(1515)n完整性(完整性(2020)n完成情况(完成情况(2020)n界面可操作性(界面可操作性(2020)n开题报告和结题报告(开题报告和结题报告(2020)软件技术课程学习简介软件技术课程学习简介考核内容:检

4、查一个微小型的微机应用系统软件考核内容:检查一个微小型的微机应用系统软件设计的完成情况。设计的完成情况。2 2考核方法考核方法n为了最终成绩的公平性,由课题小组组长组成为了最终成绩的公平性,由课题小组组长组成的评议小组,给出一个平时成绩。的评议小组,给出一个平时成绩。n每次实验课,由实验老师检查进度,并进行记每次实验课,由实验老师检查进度,并进行记录。录。n课题完成答辩,每个同学当堂演示你完成的内课题完成答辩,每个同学当堂演示你完成的内容检查内容,并对于你所使用平台工具的基本容检查内容,并对于你所使用平台工具的基本技术理论、课题中使用技术,以及功能和性能技术理论、课题中使用技术,以及功能和性能

5、等方面的问题进行提问。等方面的问题进行提问。第第1章章 概论概论1 11 1 程序设计语言程序设计语言1 12 2 程序的基本概念程序的基本概念1 13 3 软件的基本概念软件的基本概念1 14 4 应用系统软件的开发应用系统软件的开发 11 程序设计语言程序设计语言程序设计语言的分类程序设计语言的分类n程序设计语言可以从不同的角度进行分类。程序设计语言可以从不同的角度进行分类。n从从发发展展过过程程分分,第第一一代代语语言言(机机器器语语言言)、第第二二代代语语言言(汇汇编编语语言言)、第第三三代代语语言言(高高级级语语言言)、第第四四代代与与第五代计算机语言第五代计算机语言(可视化、面向对

6、象、网络可视化、面向对象、网络)n从从应应用用范范围围来来分分,分分为为通通用用语语言言与与专专用用语语言言;再再可可细细分分为为系系统统程程序序设设计计语语言言、科科学学计计算算语语言言、事事务务处处理理语语言言、实实时时控控制制语语言言、脚脚本本语语言言、教教学学用用语语言言以以及及用用于于解决非确定性问题的语言等。解决非确定性问题的语言等。n从从程序设计方法程序设计方法上来分,分为结构化语言、模块化语上来分,分为结构化语言、模块化语言与面向对象语言。言与面向对象语言。113程序设计语言的评价标准程序设计语言的评价标准n程序设计语言程序设计语言7种基本评价标准:种基本评价标准:(1)用户界

7、面好,操作简便用户界面好,操作简便;(2)对硬件、软件环境要求低对硬件、软件环境要求低;(3)对硬件资源利用的程度高对硬件资源利用的程度高;(4)代代码码质质量量高高,目目标标程程序序运运行行速速度度快快,可可靠靠性性高高,结构化性能高,可读性好结构化性能高,可读性好;(5)应用范围广泛应用范围广泛;(6)调用其它软件容易调用其它软件容易;(7)自身发展快。自身发展快。n如如果果一一种种程程序序设设计计语语言言,能能在在上上述述7个个方方面面都都有有较较高的得分,那它就是一种比较理想的语言。高的得分,那它就是一种比较理想的语言。114程序设计语言的选择标准程序设计语言的选择标准n开发软件时的程

8、序设计语言开发软件时的程序设计语言4个选择标准:个选择标准:1)应用范围)应用范围各种程序设计语言都有自己的适用范围。各种程序设计语言都有自己的适用范围。n在科学计算领域,在科学计算领域,FORTRAN常常是首选语言。常常是首选语言。n在事务处理方面,在事务处理方面,VisualBasic语言是较理想的选择语言是较理想的选择n在实时处理方面,选择汇编语言及在实时处理方面,选择汇编语言及C语言比较合适。语言比较合适。n在在开开发发系系统统软软件件方方面面,可可选选择择VisualC+、VisualJ+、Borland C+、Visual Basic、JBuilder、Delphi及及C+Buil

9、der等语言。等语言。n如果开发的软件中含有大量的数据操作,则可采用如果开发的软件中含有大量的数据操作,则可采用SQL、VisualFoxpro等数据库语言。等数据库语言。n在网络开发中,在网络开发中,Web服务器软件可以选择服务器软件可以选择Microsoft公司的公司的IIS、Apache组织开发的组织开发的Apache服服务器等。务器等。2)算法及计算复杂性算法及计算复杂性nFORTRAN、Pascal、C、C+等语言都能支持较等语言都能支持较复杂的算法与计算。复杂的算法与计算。n而绝大多数数据库语言都只能支持较简单的算法与而绝大多数数据库语言都只能支持较简单的算法与计算。计算。3)数据

10、结构数据结构nC、C+、Pascal语语言言都都提提供供了了数数组组、记记录录数数据据结结构构及及带带指指针针的的动动态态数数据据结结构构。它它们们适适合合于于设设计计系系统程序以及需要复杂数据结构的应用程序。统程序以及需要复杂数据结构的应用程序。4)效率效率n有有些些实实时时应应用用系系统统要要求求具具有有很很快快的的响响应应速速度度,可可以以选选择择汇汇编编语语言言或或C语语言言。有有时时应应用用系系统统中中只只是是某某一一部部分分要要求求具具有有很很快快的的响响应应速速度度,在在这这种种情情况况下下,可以选用汇编语言来编写这一部分程序可以选用汇编语言来编写这一部分程序.12程序的基本概念

11、程序的基本概念1.程序是由程序设计语言的抽象符号的集合程序是由程序设计语言的抽象符号的集合n程程序序设设计计语语言言有有面面向向机机器器的的汇汇编编语语言言,以以及及面面向向过程和面向对象的高级程序设计语言。过程和面向对象的高级程序设计语言。2程序是对数据施行算法的过程程序是对数据施行算法的过程n算算法法决决定定了了程程序序的的质质量量:同同样样的的数数据据用用不不同同的的算算法法实实现现,其其所所需需的的时时空空开开销销大大不不相相同同。要要达达到到时时间间和和空空间间性性能能的的最最佳佳,需需要要遵遵循循一一定定的的算算法法来来编编写写程程序序。在在不不同同情情况况下下需需要要选选用用不不

12、同同算算法法来来达达到到效率、质量的最佳。效率、质量的最佳。n面面向向对对象象的的程程序序也也需需要要算算法法:从从对对象象的的角角度度来来看看,程程序序是是对对对对象象的的行行为为和和状状态态及及对对象象间间关关系系的的描描述述。在在面面向向对对象象的的程程序序里里,同同样样需需要要算算法法,因因为为,状状态态和和属属性性是是用用数数据据表表示示的的,状状态态改改变变的的方方法法就就包包含含了了算算法法。只只是是面面向向对对象象语语言言提提供供了了更更高高抽抽象象的的对象概念。对象概念。13软件的基本概念软件的基本概念n软软件件的的定定义义:计计算算机机程程序序、方方法法、规规则则、程程序序

13、有有关关的的各各种种文文档档以以及及在在计计算算机机上上运运行行所所必必需需的的数数据据的的总总称称。n软软件件不不仅仅是是程程序序,还还包包括括其其功功能能和和性性能能的的说说明明性性信信息息。软软件件不不仅仅有有功功能能和和性性能能要要求求,还还有有质质量量、成成本本、交货期、使用寿命要求。交货期、使用寿命要求。1软件质量的评价标准软件质量的评价标准软件的质量软件的质量10条主要的标准。条主要的标准。1)可理解性)可理解性(Understandablity)n一一个个软软件件产产品品具具有有可可理理解解性性,主主要要指指的的是是该该软软件件的的用用途途对对用用户户来来说说是是十十分分清清楚

14、楚的的。除除了了软软件件的的功功能能之之外外,软软件件各各部部分分之之间间、各各子子系系统统之之间间的的分分工工,及及其其相相互互关关系系也也应应该该是是清清楚楚的的。当当用用户户按按规规定定调调用用软软件件的的某某个个部部分分时时,软软件件应应能能按按用用户户的的要要求求作作出明确的响应,解决用户的问题。出明确的响应,解决用户的问题。2)可靠性)可靠性(Reliablity)n软软件件产产品品的的可可靠靠性性主主要要是是指指在在软软件件整整个个生生命命周周期期内内,它它能能否否按按照照设设计计的的要要求求,实实现现所所需需要要的的各各功功能能。即即软软件件设设计计的的功功能能是是否否能能正正

15、确确实实现现,运运行行中中会会有有多多少少隐隐藏藏的的错错误误出出现现,错错误误出出现现的的后后果果是是什什么等。么等。3)效率)效率(Efficiency)n软软件件产产品品的的效效率率指指的的是是完完成成给给定定功功能能时时所所需需占占用用的的资资源源(时时间间和和空空间间)。在在这这里里,资资源源主主要要指指的的是是存储空间、存储空间、CPU时间、接口占用等等。时间、接口占用等等。4)可维护性)可维护性(Maintainablity)n软软件件产产品品的的可可维维护护性性是是指指为为了了满满足足新新的的要要求求,软软件产品应该是很容易修改和维护的。件产品应该是很容易修改和维护的。5)完整

16、性)完整性(Completencess)n完完整整性性要要求求软软件件自自成成体体系系,即即软软件件应应该该具具备备问问题题处处理理的的全全部部环环节节(如如输输入入、编编辑辑、处处理理、输输出出等等等等)。此此外外,完完整整性性还还要要求求软软件件应应具具有有相相应应的的容容错错能能力,即自动排除错误和恢复工作的能力。力,即自动排除错误和恢复工作的能力。6)简明性)简明性(concisess)n软软件件的的简简明明性性指指的的是是其其本本身身和和其其表表现现形形式式的的能能见见度度,使使用用户户对对发发生生的的事事情情一一目目了了然然,知知道道是是否否出出了了问问题题,问问题题出出在在什什么

17、么地地方方,以以及及如如何何解解决决问问题题;简简明明性性的的另另一一层层含含义义是是指指用用软软件件书书写写的的程程序序具具有有较少的命令行数。较少的命令行数。7)可移植性)可移植性(Portability)n可可移移植植性性是是指指软软件件在在多多种种类类型型的的计计算算机机配配置置上上都都能能容容易易而而有有效效地地操操作作。广广义义地地说说,软软件件应应在在任任何何硬件配置与操作系统下都能正常有效地运行。硬件配置与操作系统下都能正常有效地运行。8)可测试性)可测试性(Testablity)n软软件件的的可可测测试试性性是是指指对对该该软软件件的的技技术术性性能能及及质质量量是是否否能能

18、够够确确定定测测试试的的手手段段和和方方法法。一一个个可可测测试试性性好好的的软软件件,能能够够比比较较容容易易地地对对它它确确定定出出测测试试的的方方法,以便对它的技术性能作出评价。法,以便对它的技术性能作出评价。9)结构性)结构性(Structuredness)n软软件件相相互互依依赖赖的的部部分分,其其结结构构应应具具有有确确定定的的形形式式。一一般般所所说说的的结结构构性性指指的的是是模模块块化化的的程程度度,其其编编制制是是否否符符合合结结构构化化和和模模块块化化的的原原则则等等。当当然然,在在追追求求高高可可靠靠性性,高高运运行行效效率率时时可可能能会会使使结结构构性性能能变变差。

19、差。10)友好性)友好性(Friendliness)一一个个优优秀秀的的软软件件产产品品应应该该具具有有友友好好的的用用户户界界面面。有有丰丰富富的的操操作作提提示示和和联联机机帮帮助助信信息息,使使用用户户能能够够随时得到提示和帮助。随时得到提示和帮助。2软件的特征软件的特征n软件主要包括程序和相关文档。软件主要包括程序和相关文档。n从从静静态态角角度度来来看看,程程序序是是求求解解客客观观问问题题的的逻逻辑辑描描述,需检查程序的语法是否符合规则形式要求;述,需检查程序的语法是否符合规则形式要求;n从从动动态态角角度度来来看看,需需要要验验证证程程序序的的所所有有逻逻辑辑流流结结构构和和数数

20、据据结结构构是是否否正正确确。是是否否能能够够完完成成特特定定的的操操作和数据处理。作和数据处理。n软件的核心是其运行过程中动态变化的处理过程。软件的核心是其运行过程中动态变化的处理过程。n软软件件生生产产属属于于资资金金密密集集和和人人力力密密集集的的行行业业。大大型型软件开发投入人力较多,时间长,费用高。软件开发投入人力较多,时间长,费用高。1)软件是一种逻辑产品)软件是一种逻辑产品n软软件件和和硬硬件件是是截截然然不不同同的的两两种种产产品品和和概概念念。软软件件是是一一种种逻逻辑辑产产品品,具具有有无无形形性性,是是脑脑力力劳劳动动的的结结晶。晶。n软软件件产产品品在在设设计计和和生生

21、产产过过程程中中,首首先先要要抽抽象象出出问问题题求求解解的的数数学学模模型型或或逻逻辑辑模模型型,再再把把这这些些模模型型转转化化为为求求解解模模型型,然然后后根根据据求求解解模模型型写写出出程程序序,经经过调试和运行程序,最后得到求解的结果。过调试和运行程序,最后得到求解的结果。n整整个个开开发发过过程程是是通通过过人人脑脑进进行行的的逻逻辑辑思思维维完完成成的的,其其无无形形化化的的特特征征给给软软件件的的开开发发、生生产产过过程程的的管管理理带带来来不不便便,进进度度难难以以控控制制,开开发发质质量量难难以以评评价价和和保证。保证。n如如果果在在软软件件运运行行中中发发现现错错误误,很

22、很可可能能是是一一个个在在开开发发阶阶段段隐隐藏藏的的、在在测测试试阶阶段段没没能能检检测测出出来来的的故故障障。因因此此,软软件件维维护护通通常常意意味味着着修修改改原原来来的的设设计计,这这就就在在客观上决定了软件维护是相当复杂的工作。客观上决定了软件维护是相当复杂的工作。2)软件产品的质量需通过实践来验证)软件产品的质量需通过实践来验证n软软件件产产品品在在设设计计、编编程程和和实实现现过过程程中中的的各各个个阶阶段段其其质质量量难难以以保保证证和和检检验验,只只有有在在实实际际问问题题求求解解过过程程中中被证实是可行的,才能成为产品。被证实是可行的,才能成为产品。3)软件产品的成本构成

23、具有上升的趋势)软件产品的成本构成具有上升的趋势n在在软软件件产产品品生生存存周周期期中中,其其成成本本构构成成中中人人力力资资源源占占了了相相当当大大的的比比重重。这这其其中中,设设计计和和生生产产只只占占很很小小比比重重,而而维维护护却却占占了了很很大大比比重重,据据统统计计数数据据表表明,软件维护的费用占软件总费用的明,软件维护的费用占软件总费用的55%70%。n软软件件的的费费用用具具有有上上升升的的趋趋势势。这这是是因因为为实实际际问问题题的的复复杂杂性性决决定定了了实实用用软软件件的的系系统统规规模模庞庞大大,软软件件结结构构复复杂杂。例例如如,庞庞大大系系统统中中各各个个模模块块

24、之之间间逻逻辑辑接接口口的的定定义义、数数据据结结构构的的描描述述、所所有有开开发发人人员员的的协调和组织等等。协调和组织等等。4)软件产品的故障率随着软件维护而下降)软件产品的故障率随着软件维护而下降n在在软软件件产产品品生生存存周周期期中中,软软件件在在其其生生命命周周期期的的初初始始阶阶段段存存在在较较高高的的故故障障率率,当当开开发发过过程程中中的的错错误误被被纠纠正正后后,其其故故障障率率下下降降到到一一定定的的水水平平并并保保持持相相对稳定,直到该软件被废弃不用。对稳定,直到该软件被废弃不用。n软软件件是是只只有有过过时时而而无无“磨磨损损”的的商商品品。所所谓谓过过时时往往往往是

25、是它它所所在在的的硬硬件件环环境境升升级级,导导致致配配套套软软件件必必须须做做相相应应的的升升级级,否否则则不不能能再再用用;或或者者同同类类软软件件产品功已更新换代,使得本产品不具备竞争力。产品功已更新换代,使得本产品不具备竞争力。3软件的分类软件的分类按软件功能划分和按软件规模划分。按软件功能划分和按软件规模划分。1)按软件的功能划分)按软件的功能划分n按按功功能能划划分分,软软件件通通常常可可以以分分为为系系统统软软件件和和应应用用软件两大类。如下图所示。软件两大类。如下图所示。软件软件系统软件系统软件应用软件应用软件操作系统操作系统网络系统网络系统编译系统编译系统工具软件工具软件信息

26、管理信息管理实时控制实时控制科学计算科学计算人工智能人工智能专用领域专用领域嵌入式软件嵌入式软件多媒体技术多媒体技术(1)系统软件:系统软件:n系系统统软软件件定定义义:是是为为计计算算机机系系统统提提供供基基本本功功能能服服务的程序集合;务的程序集合;n系系统统软软件件的的功功能能:支支持持计计算算机机系系统统的的正正常常运运行行,并实现用户提交的各种操作。并实现用户提交的各种操作。n系系统统软软件件的的主主要要特特征征:与与计计算算机机硬硬件件系系统统有有很很强强的的交交互互性性,能能对对共共享享资资源源进进行行调调度度管管理理,能能解解决决并发性操作处理中存在的协调问题。并发性操作处理中

27、存在的协调问题。n系系统统软软件件的的用用户户接接口口:一一般般为为用用户户提提供供多多样样化化的的外部接口,便于用户管理和使用系统资源。外部接口,便于用户管理和使用系统资源。n系系统统软软件件主主要要包包括括:操操作作系系统统、网网络络系系统统、计计算算机语言编译机语言编译(解释解释)系统以及实用工具软件系统等。系统以及实用工具软件系统等。n操操作作系系统统是是计计算算机机软软件件系系统统的的核核心心,是是对对计计算算机机系系统统的的全全部部硬硬、软软件件资资源源(如如CPU、内内存存、硬硬盘盘、打打印印机机等等外外部部设设备备和和各各种种软软件件)进进行行统统一一管管理理、调调度度和和分分

28、配配的的软软件件系系统统,并并向向上上层层软软件件提提供供服服务务,各各种种应应用用程程序序都都是是在在操操作作系系统统的的支支持持下下运运行行的的,用户是通过操作系统对计算机进行操作的。用户是通过操作系统对计算机进行操作的。n操操作作系系统统:包包括括CPUCPU及及进进程程管管理理、内内存存管管理理、外外设设管理、文件系统管理。管理、文件系统管理。n网网络络系系统统:承承担担着着整整个个网网络络范范围围内内的的任任务务管管理理和和资资源源管管理理,帮帮助助用用户户共共享享整整个个网网络络中中的的信信息息资资源源,对对网网络络内内的的共共享享设设备备进进行行访访问问,并并支支持持网网络络中中

29、各各个个站站点点之之间间的的通通信信,使使网网络络中中各各个个部部分分遵遵守守协协议议,协调一致,有条不紊地工作。协调一致,有条不紊地工作。n程程序序设设计计语语言言编编译译系系统统:把把该该语语言言编编写写的的程程序序“翻译翻译”成计算机能直接执行的机器指令。成计算机能直接执行的机器指令。n工工具具软软件件:帮帮助助操操作作系系统统更更有有效效地地完完成成计计算算机机系系统统的的管管理理和和维维护护,提提高高工工作作效效率率,实实现现普普通通用用户户无法实现的一些操作。无法实现的一些操作。n数数据据库库管管理理系系统统:DBMS是是专专门门用用于于数数据据库库定定义义、管管理理和和维维护护的

30、的系系统统软软件件,是是用用户户和和数数据据库库间间的的接接口。口。n微微机机Windows平平台台的的数数据据库库管管理理系系统统有有Access、VisualFoxPro、Paradox等等,常常见见的的大大型型关关系系数数据据库库系系统统有有 SQL Server、Infomix、Oracale以以及及Sybase等。等。n随随着着多多媒媒体体、Internet和和WWW技技术术的的发发展展,现现在在的的大大型型数数据据库库大大都都支支持持多多媒媒体体数数据据类类型型,并并以以各各种种方方式式提提供供了了对对WWW的的支支持持,使使异异地地、异异构构机机之间的数据共享成为现实。之间的数据

31、共享成为现实。(2)应应用用软软件件是是为为满满足足用用户户不不同同领领域域和和不不同同问问题题的的应应用用需需求求而而设设计计的的软软件件,可可以以拓拓宽宽计计算算机机系系统统的的应应用领域。用领域。应用软件主要包括下列几类软件:应用软件主要包括下列几类软件:管管理理软软件件系系统统(ManagementInformationSystem,MIS)软件软件nMIS的的 核核 心心 是是 数数 据据 库库 管管 理理 系系 统统 (DataBaseManagementSystem,DBMS)。nMIS的的特特点点是是有有一一个个或或多多个个数数据据库库,存存放放所所有有业业务务的的信信息息,而

32、而应应用用程程序序是是离离散散的的,如如工工资资、会会计计、仓库、生产计划调度,彼此只有数据联系。仓库、生产计划调度,彼此只有数据联系。实时实时(Real-time)控制软件控制软件n实实时时控控制制软软件件是是对对现现实实世世界界中中随随时时(极极短短时时间间内内)发发生生的的事事件件进进行行监监测测、分分析析和和控控制制的的软软件件,其其包包括括从从外外部部环环境境收收集集信信息息(模模拟拟量量数数据据要要通通过过A/D、D/A变变换换),分分析析后后按按应应用用要要求求转转移移信信息息,处处理理后后作作出出响响应应(到到外外部部的的输输出出),实实时时处处理理要要求求即即时时响响应应用用

33、户户的的服服务务请请求求,并并在在较较短短时时间间内内完完成成数数据据处处理。理。科学计算数据处理软件科学计算数据处理软件n科科学学计计算算数数据据处处理理软软件件:应应用用在在数数值值领领域域,解解决决数数值值算算法法的的速速度度和和精精度度。包包括括可可视视化化计计算算、大大量量图图形形的的计计算算机机辅辅助助设设计计,以以及及在在多多处处理理机机系系统统中中实现并行计算和系统仿真等技术。实现并行计算和系统仿真等技术。人工智能软件人工智能软件n人人工工智智能能软软件件建建立立在在基基于于知知识识库库以以及及相相应应规规则则的的专家系统上。专家系统上。n专家系统也称为基于知识的问题求解系统。

34、专家系统也称为基于知识的问题求解系统。n实实用用的的人人工工智智能能软软件件有有模模式式识识别别、定定理理证证明明、专专家家系系统统、辅辅助助决决策策支支持持、图图像像语语音音识识别别、神神经经网网络络系系统统等等。近近年年来来图图像像、声声音音识识别别、自自学学习习、人人工工神神经经网网络络也也发发展展迅迅速速,例例如如,语语音音输输入入和和机机器器语言翻译等。语言翻译等。嵌入式嵌入式(Embeded)软件软件n嵌嵌入入式式软软件件:用用于于工工业业产产品品的的自自动动化化和和智智能能化化,在在每每个个工工业业产产品品中中嵌嵌入入一一个个的的单单片片机机,其其中中的的软软件件可可根根据据传传

35、感感器器传传入入的的数数据据控控制制该该产产品品行行为为。这这些些软软件件首首先先在在宿宿主主机机(host)上上以以某某种种语语言言开开发发,经经交交叉叉编编译译后后成成为为单单片片机机的的机机器器码码程程序序,烧烧入入单单片片机机,故故为为嵌嵌入入式式。应应用用程程序序的的开开发发、调调试试、修修改改和和升升级级全全在在宿宿主主机机上上完完成成。近近年年来来,Java芯芯片和片和Java嵌入式应用发展特别迅速。嵌入式应用发展特别迅速。多媒体软件多媒体软件n多多媒媒体体软软件件包包括括多多媒媒体体数数据据传传输输和和多多媒媒体体数数据据处处理理,例例如如,图图形形处处理理、图图像像处处理理、

36、动动画画制制作作、音音频频视视频频播播放放、音音频频视视频频编编辑辑、电电视视会会议议、多多媒体写作工具以及桌面排版等应用软件。媒体写作工具以及桌面排版等应用软件。2按软件规模划分按软件规模划分n软件系统可以划分为软件系统可以划分为6种不同的规模种不同的规模系统规模 人年源程序代码微型系统1人研制14周500行小型系统1人研制16个月10002000行中型系统25人研制12年500010000行较大型系统 520人研制23年50000100000行大型系统1001000人研制45年1 百万行;极大型系统 20005000人研制510年1 百万10百万行14应用系统软件的开发应用系统软件的开发初

37、学者在软件开发中存在的问题初学者在软件开发中存在的问题n没没有有准准确确、完完整整地地了了解解用用户户的的实实际际需需求求,就就急急于于编程。编程。n重编程,轻需求分析;重编程,轻需求分析;n重开发,轻维护;重开发,轻维护;n重程序,轻文档。重程序,轻文档。n这这样样做做的的后后果果就就是是在在软软件件系系统统中中“埋埋藏藏”了了许许多多故障隐患,直接危害着系统的可靠性和稳定性。故障隐患,直接危害着系统的可靠性和稳定性。n而而在在软软件件开开发发过过程程中中,问问题题发发现现得得越越早早,解解决决它它所所花花费费的的代代价价就就越越小小;而而问问题题发发现现得得越越晚晚,解解决决它所花费的代价

38、就越高。它所花费的代价就越高。n在进行软件设计时应当注意以下几点:在进行软件设计时应当注意以下几点:(1)注重分析解决问题。)注重分析解决问题。n软软件件开开发发过过程程实实际际上上就就是是用用程程序序语语言言来来描描述述解解决决问问题题的的方方法法和和步步骤骤。所所以以软软件件开开发发的的基基本本过过程程是是分分析析用用户户的的需需求求,找找出出需需要要解解决决的的问问题题,发发现现解解决问题的方法。决问题的方法。(2)掌握应用系统设计方法。)掌握应用系统设计方法。n分分析析和和综综合合是是处处理理复复杂杂系系统统的的基基本本方方法法,面面对对一一个个大大的的系系统统,应应该该学学会会使使用

39、用分分解解与与综综合合的的应应用用系系统统设设计计方方法法,把把复复杂杂问问题题分分解解为为若若干干子子问问题题,分分散散难难点点,各各个个击击破破,再再把把设设计计出出的的各各个个子子模模块块综综合为一大系统。合为一大系统。(3)广泛了解当前的最新计算机应用技术。)广泛了解当前的最新计算机应用技术。n由由于于计计算算机机技技术术发发展展飞飞速速,每每年年都都有有新新的的技技术术或或者者已已有有技技术术的的升升级级版版本本出出现现,选选准准适适合合的的新新技技术术来来实实现现设设计计目目标标,具具有有事事半半功功倍倍的的效效果果。实实现现一一个个系系统统,往往往往会会使使用用几几种种程程序序设

40、设计计语语言言或或者者工工具具软件。软件。(4)学会建立抽象模型。)学会建立抽象模型。n软软件件设设计计需需要要根根据据物物理理模模型型抽抽象象出出其其逻逻辑辑模模型型,通通过过建建立立的的模模型型描描述述抽抽象象事事物物间间的的关关系系。例例如如,建建立立系系统统需需要要分分析析模模型型、解解题题需需要要算算法法模模型型,在在算算法法中中采采用用符符号号语语言言代代替替计计算算机机动动作作;在在程程序序文文档中采用规格说明抽象软件行为。档中采用规格说明抽象软件行为。(5)力求系统结构清晰。)力求系统结构清晰。n现现在在的的软软件件越越来来越越复复杂杂,需需要要重重视视程程序序结结构构、数数据

41、据结结构构、结结构构化化数数据据、程程序序的的体体系系结结构构等等软软件件设设计计的的关关键键技技术术,在在编编写写程程序序代代码码前前,要要对对系系统统结结构构有有一一个个清清晰晰明明了了概概念念,设设计计出出一一个个好好的的结结构构可可以使解决问题的步骤变得清晰、简洁、高效。以使解决问题的步骤变得清晰、简洁、高效。(6)注意形式化、一致性和规范化。)注意形式化、一致性和规范化。n程程序序语语言言、数数学学公公式式都都是是形形式式系系统统,只只有有按按照照约约定定的的形形式式符符号号才才能能让让计计算算机机理理解解编编程程意意图图。随随着着软软件件系系统统的的越越来来越越复复杂杂,开开发发人

42、人员员越越来来越越多多,需需要要符符号号定定义义、表表示示风风格格、文文档档格格式式尽尽可可能能规规范范和和一致。以利于模块的综合、开发和调试。一致。以利于模块的综合、开发和调试。(7)重视书写程序文档。)重视书写程序文档。n以便帮助阅读和发现程序中的错误。以便帮助阅读和发现程序中的错误。一些不正确的观念一些不正确的观念n观念之一:观念之一:我们拥有一套讲述如何开发软件的书我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。软件开发中遇到的任何问题。n客观情况:客观情况:好的参考书无疑能指导我们的工作。好

43、的参考书无疑能指导我们的工作。充分利用书籍中的方法、技术和技巧,可以有效充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并地解决软件开发中大量常见的问题。但实践者并不能因此依赖于书籍,这是因为:(不能因此依赖于书籍,这是因为:(1)现实的工)现实的工作中,由于条件千差万别,即使是相当成熟的软作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。(件工程规范,常常也无法套用。(2)软件技术日)软件技术日新月异,没有哪一种软件标准能长盛不衰。祖传新月异,没有哪一种软件标准能长盛不衰。祖传秘方在某些领域很吃香,而在软件领域则意味着秘方在某些领域很吃香

44、,而在软件领域则意味着落后。落后。n观念之二:观念之二:既然需求分析很困难,不管三七二十既然需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随时一先把软件做了再说,反正软件是灵活的,随时可以修改。可以修改。n客观情况:客观情况:对需求把握得越准确,软件的修修补对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。软件修改越早代价发过程中要不断地加以改正。软件修改越早代价越少,修改越晚代价越大,就跟治病一样道理。越少,修改越晚代价越大,就跟治病一样道理。进度安排存在的问题进度安排存在的问题(

45、1)主管臆断制定了不现实的期限,按照不合理的)主管臆断制定了不现实的期限,按照不合理的进度表开展工作。进度表开展工作。(2)客户的需求发生了变化,但没有对进度表作出)客户的需求发生了变化,但没有对进度表作出相应的修改。相应的修改。(3)低估了项目的规模与难度,导致投入的人力和)低估了项目的规模与难度,导致投入的人力和物力不足。物力不足。(4)并未预见到存在难以克服的技术障碍。)并未预见到存在难以克服的技术障碍。(5)开发人员之间不能很好的交流、协作,导致各)开发人员之间不能很好的交流、协作,导致各阶段任务难以如期完成。阶段任务难以如期完成。一些有益的建议一些有益的建议(1)进度表要经过开发小组

46、的讨论,在得到大部数)进度表要经过开发小组的讨论,在得到大部数人的支持后才能实施。避免出现一厢情愿的局面。人的支持后才能实施。避免出现一厢情愿的局面。(2)进度安排并不见得一定要符合逻辑顺序。应尽)进度安排并不见得一定要符合逻辑顺序。应尽可能地先做技术难度高的事,后做难度低的事。也可能地先做技术难度高的事,后做难度低的事。也就是辛苦在前,轻松在后。就是辛苦在前,轻松在后。(3)开发一个大的软件项目,应该将进度表分为若)开发一个大的软件项目,应该将进度表分为若干个里程碑。一个里程碑之内的多个任务可以同步干个里程碑。一个里程碑之内的多个任务可以同步进行。进行。(4)进度表中必须留有缓冲时间,并将缓

47、冲时间用)进度表中必须留有缓冲时间,并将缓冲时间用到不确定的事情上。因为人们对即将要做的事情知到不确定的事情上。因为人们对即将要做的事情知之甚少,所以要留一些时间以防不测。之甚少,所以要留一些时间以防不测。Microsoft公公司的一些开发小组甚至制定了司的一些开发小组甚至制定了“50%缓冲规则缓冲规则”。零缺陷质量管理的观念零缺陷质量管理的观念高目标高目标n做一个项目通常需要多个人的协作。假设项目的总做一个项目通常需要多个人的协作。假设项目的总质量(最高为质量(最高为1)是十个开发人员的工作质量之积。)是十个开发人员的工作质量之积。如果每个人的质量目标是如果每个人的质量目标是0.95,那么十

48、个人的累积,那么十个人的累积质量不会超过质量不会超过0.19。如果每个人的质量目标是。如果每个人的质量目标是0.9分,分,那么十个人的累积质量不会超过那么十个人的累积质量不会超过0.03。只有每个人。只有每个人都做到都做到1,项目总质量才会是,项目总质量才会是1。软件的质量因素软件的质量因素n“运行正确运行正确”的程序不见得就是高质量的程序。这的程序不见得就是高质量的程序。这个程序也许运行速度很低并且浪费内存;也许代码个程序也许运行速度很低并且浪费内存;也许代码写得一塌糊涂,除了开发者本人谁也看不懂也不会写得一塌糊涂,除了开发者本人谁也看不懂也不会使用。正确性只是反映软件质量的一个因素而已。使

49、用。正确性只是反映软件质量的一个因素而已。n软件的质量因素很多,如正确性、精确性、可靠性、软件的质量因素很多,如正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等等(还可以列出十可复用性、可扩充性、兼容性等等(还可以列出十几个)。这些质量因素之间几个)。这些质量因素之间“你中有我,我中有他你中有我,我中有他”。n为为了了便便于于理理解解,可可以以参参照照武武侠侠小小说说中中的的武武学学分分类类,将质量因素粗略地分成几大派。将质量因素粗略地分成几大派。正确性与精确性易用性可理解性与简洁性性能与效率可复用

50、性与可扩充性少林派、武当派华山派昆仑派峨嵋派崆峒派正确性与精确性正确性与精确性n正正确确性性与与精精确确性性排排在在质质量量因因素素的的第第一一位位,因因为为如如果果软软件件运运行行不不正正确确或或者者不不精精确确,就就会会给给用用户户造造成成不不便便甚至造成损失。甚至造成损失。n即即使使一一个个软软件件能能100%地地按按需需求求规规格格执执行行,但但是是如如果果需需求求分分析析错错了了,那那么么对对客客户户而而言言这这个个软软件件也也存存在在错误。错误。n即即使使需需求求分分析析完完全全符符合合客客户户的的要要求求,但但是是如如果果软软件件没没有有100%地地按按需需求求规规格格执执行行,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁