《基于VB与PLC串口通信的液位监控系统.ppt》由会员分享,可在线阅读,更多相关《基于VB与PLC串口通信的液位监控系统.ppt(40页珍藏版)》请在三一办公上搜索。
1、软件技术基础 第1章 概述,河南工业大学电气工程学院,本章要点,软件的概念,软件与程序的关系了解软件技术规范掌握问题求解过程与方法理解软件开发过程,第1章 概述 2010-8,2,河南工业大学电气工程学院,软件与软件技术问题求解方法,主要内容,重点与难点,1.1程序与软件程序,程序:是一组计算机指令的集合,是解决问题过程的描述。程序的特征:静态和动态属性用程序语言抽象的符号表达是对数据实施算法的过程具有层次性、结构性,第1章 概述 2010-8,3,河南工业大学电气工程学院,1.1程序与软件软件,软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合文档是指编制
2、程序所使用的技术资料和使用该程序的说明性资料如使用说明书等。即开发、使用和维护程序所需要的一切资料。,第1章 概述 2010-8,4,河南工业大学电气工程学院,1.1 程序与软件,第1章 概述 2010-8,5,河南工业大学电气工程学院,软件的特征软件是有生命周期的商品软件是逻辑的而不是物理的软件是功能、性能完备的软件系统软件不会磨损,它故障率随时间的推移而降低软件的故障就是软件中的错误。,1.1程序与软件软件,软件危机:是指在软件开发过程中遇到的一系列问题。如开发周期长、成增加、可靠性降低等。造成软件危机的原因:如何开发软件?如何满足软件不断增长的需求如何维护现有的、容量在不断增加的软件?,
3、第1章 概述 2010-8,6,河南工业大学电气工程学院,1.1程序与软件软件,造成软件危机的原因:软件成本、开发成本和开发进度的估计不够准确用户对已完成的软件系统不满意的现象经常发生软件产品质量靠不住软件常常是不可维护的软件通常没有适当的文档资料软件的开发成本占计算机系统的总成本比例逐年上升,第1章 概述 2010-8,7,河南工业大学电气工程学院,1.2 软件分类,系统软件实时软件嵌入式软件商业软件过程和科学计算软件个人软件人工智能软件等。有太多的软件需要大家去开发开发软件困难吗?,第1章 概述 2010-8,8,河南工业大学电气工程学院,1.3软件技术规范,软件工程技术程序设计技术软件工
4、具环境技术系统软件技术数据库技术实时软件技术网络软件技术与实际工作相关的软件技术,第1章 概述 2010-8,9,1.3.1软件工程技术,软件开发的原则与策略软件开发过程(需求、设计、实现、测试和维护)软件开发方法与软件过程模型软件标准与软件质量的衡量软件开发的组织与项目管理软件版权等,第1章 概述 2010-8,10,河南工业大学电气工程学院,1.3.2 程序设计技术,程序结构与算法设计程序设计风格程序设计语言程序设计方法程序设计自动化程序的正确性证明程序的变换。,第1章 概述 2010-8,11,河南工业大学电气工程学院,1.3.3 软件工具环境技术,人机接口技术软件自动生成软件工具的集成
5、和软件开发环境软件的复用逆向工程等,第1章 概述 2010-8,12,河南工业大学电气工程学院,1.3.4 系统软件技术,操作系统编译方法分布式处理与并行计算多媒体软件处理技术等,第1章 概述 2010-8,13,河南工业大学电气工程学院,1.3.5 数据库技术,数据模型数据库与数据库管理系统分布式数据库面向对象数据库技术工程数据库多媒体数据库等,第1章 概述 2010-8,14,河南工业大学电气工程学院,1.3.6 实时软件技术,实时监控软件技术嵌入式实时软件技术,第1章 概述 2010-8,15,河南工业大学电气工程学院,1.3.7 网络软件技术,网络管理局域网技术网络互连技术智能网络无线
6、网络移动网络协议工程等,第1章 概述 2010-8,16,河南工业大学电气工程学院,1.3.8 与实际工作相关软件技术,如何延长软件的使用时间如何适应不断增强的软件性能如何控制软件的质量如何改变管理和配置记录如何设计用户的在线帮助文档和图表如何控制软件规模软件评估和软件开发计划的制订软件需求的表示和软件规格说明书的确定等,第1章 概述 2010-8,17,河南工业大学电气工程学院,1.4基于计算机的问题求解方法,就是建立求解问题的模型。把描述实际对象的数据及其相互关系映射到计算机的存储器上,编程序模拟对象领域中的求解过程。,第1章 概述 2010-8,18,河南工业大学电气工程学院,问题求解目
7、标,数据表示、处理?,如何表示要处理的数据 如何处理数据,第1章 概述 2010-8,19,河南工业大学电气工程学院,两个重要概念?,?,?,数据结构的问题,算法的问题,计算机求解过程 vs 软件工程的方法,(1)问题分析:弄清所要解的问题是什么;并且把它用一种语言(自然语言、说明语言或数学语言)清楚地描述出来(2)设计:建立程序系统的结构,重点是数据结构的设计和算法的设计(3)程序编码:采用适当的程序设计语言,编写出可执行的程序(4)程序测试和维护:发现和排除在前几个阶段中产生的错误,在使用中不断维护和完善,第1章 概述 2010-8,20,河南工业大学电气工程学院,需求分析,软件设计,软件
8、实现,软件测试,软件维护,实例:设计一个多岔路口 交通信号灯管理系统,首先需要分析一下所有车辆行驶路线的冲突问题。这个问题可以归结为对车辆的可能行驶方向作某种分组。分组的原则是使任一个组中各个方向行驶的车辆可以同时安全行驶而不发生碰撞。,第1章 概述 2010-8,21,河南工业大学电气工程学院,问题分析,第1章 概述 2010-8,22,河南工业大学电气工程学院,可通行方向AB AC ADBA BC BD DA DB DCEA EB ECED,构造结点结点间不可通行者连线如图1.2所示,图1.1多岔路口示意图,问题抽象,第1章 概述 2010-8,23,河南工业大学电气工程学院,把图中的结点
9、进行分组,无关性结点分在一组,使得有连线的结点不在同一个组里。,第1章 概述 2010-8,24,AB,AC,AD,BA,BC,BD,DA,D B,DC,EA,EC,ED,EB,着色,数学模型四色定理,如果把上图中的一个结点理解为一个国家,结点之间的连线看作两国有共同边界,上述问题就变成著名的“地图着色问题”。即求出最少要几种颜色可将图中所有国家着色,使得任意两个相邻的国家颜色都不相同,第1章 概述 2010-8,25,河南工业大学电气工程学院,设计:实现上述问题抽象过程算法设计,对n个结点,逐个测试其所有组合;逐个穷举所有可能的分组方法,分一组可不可以?若不可以,二组呢?若再不可以,三组呢?
10、,第1章 概述 2010-8,26,河南工业大学电气工程学院,方法:穷举法和贪心法,穷举法思想,先用一种颜色给尽可能多的不相邻的结点着色;然后对剩下的结点,再用一种颜色给尽可能多的不相邻的结点着色;如此反复,直到所有结点都已经着色。,第1章 概述 2010-8,27,河南工业大学电气工程学院,贪心算法思想,抽象描述,while 有结点未着色 选择一种新颜色;在未着色的结点中,给尽可能多的彼 此之间没有边的连接结点着色;,第1章 概述 2010-8,28,河南工业大学电气工程学院,算法描述,假设图G,集合V包括图中的结点v,着色开始时V是G所有结点集合,NEW表示已确定可用新颜色着色的结点集合。
11、while V!=NEW=;for 每个v V do if v与NEW中所有结点没有边连接 V=V v;NEW=NEWv;,第1章 概述 2010-8,29,河南工业大学电气工程学院,实现、测试与维护,选择一种程序设计语言编写代码,完成上述算法,调试程序使用前测试程序投入使用维护,第1章 概述 2010-8,30,河南工业大学电气工程学院,用软件工程方法思考,?,第1章 概述 2010-8,用软件开发过程思考上述问题,第1章 概述 2010-8,32,河南工业大学电气工程学院,软件需求分析,目的:系统“要解决什么问题?”、“做什么?”任务:收集、分析、理解、确定用户的要求;然后把用户的要求精确
12、、完整地描述表达出来。结果:可行性报告、软件计划、撰写需求说明书,第1章 概述 2010-8,33,河南工业大学电气工程学院,“什么是他们真正需要的”,软件设计,目的:要回答“如何解决该问题?”、“怎样做?”。任务:给出实现系统的实施蓝图。功能分解:设计每个模块的功能及接口。主要工作是完成软件系统结构(软件结构)设计、数据设计、界面设计和过程设计。结果:系统设计说明书和模块功能说明书,第1章 概述 2010-8,34,河南工业大学电气工程学院,概要设计,详细设计,软件构造,目的:选择一种程序设计语言写出高质量的代码和相应的文档。任务:根据设计说明书中每个模块的控制流程编写出相应的源程序。结果:
13、源程序和文档,第1章 概述 2010-8,35,河南工业大学电气工程学院,注意使系统更易于使用和系统的可重用性,软件测试,目的:保证系统的正确性、可靠性和可用性。任务:检查、发现程序中的错误,提高系统可靠性。结果:测试报告和软件修改报告等。,第1章 概述 2010-8,36,河南工业大学电气工程学院,系统是否能实现规定的操作?,软件维护,目的:维护软件系统的正常运行。任务:改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中新的功能要求。阶段结果:软件系统的问题报告和软件修改报告。,第1章 概述 2010-8,37,河南工业大学电气工程学院,是否满足用户的应用要求,思考与练习进一步讨论课堂讲授的求解问题方法写出你的解决方法和思路,第1章 概述 2010-8,38,河南工业大学电气工程学院,软件技术基础课程实验项目项目名称:班 级:学 号:完成时间:指导教师:2010年 月 日,第1章 概述 2010-8,39,河南工业大学电气工程学院,封面要求,实验项目文档规范,封面目录主体内容包括:需求分析技术路线工程进度测试报告个人小结,第1章 概述 2010-8,40,河南工业大学电气工程学院,