《软件工程案例开发与实践 第1章 软件工程综述.ppt》由会员分享,可在线阅读,更多相关《软件工程案例开发与实践 第1章 软件工程综述.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1 1章章 软件工程综述软件工程综述1.1 1.1 计算机软件与计算机发展计算机软件与计算机发展1.1.1 1.1.1 软件的发展软件的发展1 1、程序设计阶段(、程序设计阶段(1946194619561956年)年)2 2、程序系统阶段(、程序系统阶段(1956195619681968年)年)3 3、软件工程阶段(、软件工程阶段(19681968年至今)年至今)发展年代软件的发展阶段软件的含义决定质量的因素20世纪50年代至60年代程序设计阶段程序及说明书个人技术水平20世纪60年代至70年代程序系统阶段程序,数据,说明书小组技术水平20世纪70年代以后软件工程阶段程序、文档、数据项目经
2、理的项目管理水平1.1.2 计算机系统计算机系统1.硬件系统硬件系统硬件系统是计算机系统的基础。硬件系统由计算机、网络设备、连接设备及辅助设备组成。1.1.2 软件系统软件系统 软件的特征是:软件的特征是:(1 1)软件是一种逻辑实体。它的存在是保存在一种媒介)软件是一种逻辑实体。它的存在是保存在一种媒介上面,例如:纸张,磁盘,内存,磁带,光盘等。上面,例如:纸张,磁盘,内存,磁带,光盘等。(2 2)软件是绿色产品,没有污染,它的运行不会出现磨)软件是绿色产品,没有污染,它的运行不会出现磨损和对空气、土地等对人体有害的物质。损和对空气、土地等对人体有害的物质。(3 3)软件的研制是一种高智力劳
3、动。计算机软件既是作)软件的研制是一种高智力劳动。计算机软件既是作品,又是工具,是作品性与工具性紧密结合的智力成果。品,又是工具,是作品性与工具性紧密结合的智力成果。(4 4)计算机软件开发工作最大、成本高,但复制容易、)计算机软件开发工作最大、成本高,但复制容易、成本极低。计算机软件是开发者智力劳动的结晶,具有原成本极低。计算机软件是开发者智力劳动的结晶,具有原创性质。创性质。数据通信软件数据通信软件是指按着网络协议的要求,完成通信功能的软件。网络操作系统网络操作系统是指能够控制和管理网络资源的软件。网络应用软件(4)网络信息系统网络信息系统是指以计算机网络为基础开发的信息系统。1.2 软件
4、工程的概念软件工程的概念1.2.1 软件工程的定义与三要素软件工程的定义与三要素 软件工程是一门研究用工程化方法构建和维软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的护有效的、实用的和高质量的软件软件的学科。它应的学科。它应用计算机科学、数学及管理科学等原理,采用工用计算机科学、数学及管理科学等原理,采用工程的概念、原理、技术和方法来开发与维护软件,程的概念、原理、技术和方法来开发与维护软件,把正确的管理技术和目前最有效的技术与方法结把正确的管理技术和目前最有效的技术与方法结合起来去开发、生产、维护软件,以达到提高质合起来去开发、生产、维护软件,以达到提高质量,降低成本的目的
5、。量,降低成本的目的。IEEE对软件工程的定义是:对软件工程的定义是:1应用系统化的、学科化的、定量的方法来开应用系统化的、学科化的、定量的方法来开发、运行和维护软件,即将工程应用到软件;发、运行和维护软件,即将工程应用到软件;2对对1中的各种方法的研究。中的各种方法的研究。软件工程的三要素 软件工程的方法、工具和过程构成了软件工程的三软件工程的方法、工具和过程构成了软件工程的三要素。要素。1 1软件工程方法。是完成软件开发各项任务的技术方法,软件工程方法。是完成软件开发各项任务的技术方法,即为软件开发提供即为软件开发提供“如何做如何做”的技术。的技术。2 2软件工具。是为软件工程方法的运用提
6、供自动的或半软件工具。是为软件工程方法的运用提供自动的或半自动的软件支撑环境。这些工具自动的软件支撑环境。这些工具 。3 3软件工程过程。是将软件工程的方法和工具综合起来软件工程过程。是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的。它以达到合理、及时地进行计算机软件开发这一目的。它规定了完成各项任务的工作步骤,即回答软件开发规定了完成各项任务的工作步骤,即回答软件开发“何何时做时做”的问题。软件工程就是包含上述方法、工具及过的问题。软件工程就是包含上述方法、工具及过程在内的一些步骤。程在内的一些步骤。1.2.2 1.2.2 软件工程的原则软件工程的原则(1)抽象性
7、。(2)信息隐蔽性。(3)模块化。(4)局部化(5)确定性(6)一致性(7)完备性(7)可验证性。1.2.3 1.2.3 软件工程的目标软件工程的目标 软件工程的目标可以用四个字总结:多、快、软件工程的目标可以用四个字总结:多、快、好、省。好、省。“多多”指的是功能齐全;指的是功能齐全;“快快”指的是提高生产率,按照项目计划提指的是提高生产率,按照项目计划提前完成任务;前完成任务;“好好”指的是取得较好软件性能的,满足用指的是取得较好软件性能的,满足用户需要的高质量软件产品;户需要的高质量软件产品;“省省”指的是节省成本。指的是节省成本。1.3 1.3 软件工程的基本原理软件工程的基本原理1
8、用分阶段的生命周期计划严格管理。2 坚持进行阶段评审 3 实行严格的产品控制。4 采用现代程序设计技术。5结果可审查 6 开发小组的人员应少而精。7 软件实践不断改进。再见!再见!第第1 1章章 软件工程概述软件工程概述(续续)1.4 1.4 软件软件体系结构体系结构 软件体系结构的思想最早是由软件体系结构的思想最早是由DijsktraDijsktra等人提出的,等人提出的,Shaw,Shaw,PerryPerry以及以及WolfWolf等人在等人在8080年代末作了进一年代末作了进一 步的发展和研究。虽然步的发展和研究。虽然软件体系结构已经成为软件体系结构已经成为 软件工程的研究重点,但是由
9、于许多研究软件工程的研究重点,但是由于许多研究人员都是基于自己的经验从不同角度不同侧面对体系结构进行刻人员都是基于自己的经验从不同角度不同侧面对体系结构进行刻画。画。PerryPerry和和WolfWolf等人认为软件体系结构由一组具有特定形式的等人认为软件体系结构由一组具有特定形式的体系结构元素组成,包括处理元素、数体系结构元素组成,包括处理元素、数 据元素和连接元素三种。据元素和连接元素三种。Garlan&PerryGarlan&Perry则指出,软件体系结构包括一个系统的构件则指出,软件体系结构包括一个系统的构件结构、构件间的相互关系、以及控制构件设计和演化的原则结构、构件间的相互关系、
10、以及控制构件设计和演化的原则 和规和规范等三个方面,范等三个方面,ShawShaw和和GarlanGarlan认为,体系结构是对构成系统的元素、这些认为,体系结构是对构成系统的元素、这些元素间的交互、他们的构成模式、以及这些模式之间限制的描述。元素间的交互、他们的构成模式、以及这些模式之间限制的描述。目前一个比较统一的定义就是:软件体系结构是一个系统目前一个比较统一的定义就是:软件体系结构是一个系统的高层结构共性的抽象,是建立系统时的构造模型、构造风格、的高层结构共性的抽象,是建立系统时的构造模型、构造风格、构造模式。构造模式。1.4.1 层次体系结构层次体系结构 层次体系结构就是利用分层的处
11、理方式来处理复杂的的问题,层次系统要求上层子系统调用下层子系统的功能,而下层子系统不能够调用上层子系统的功能。1.4.2 C/S结构结构 客户机/服务器结构简称C/S结构或两层体系结构,由服务器提供应用(数据)服务,多台客户机进行连接。1.4.3 B/S 结构结构 在这种结构下,主要事务逻辑在服务器端(Server)实现,极少部分事务逻辑在前端浏览器(Browser)实现。客户机统一采用浏览器,用户工作界面是通过WWW浏览器来实现。1.响应速度响应速度 2交互性交互性 3处理打印和计算机处理打印和计算机I/O接口能力接口能力 4维护费用维护费用5安全性安全性1.4.4 B/S和和C/S比较比较
12、 1.5 软件工程的研究范畴软件工程的研究范畴1.5.1 软件工程方法学软件工程方法学1.定义说明方法。定义说明方法。定义说明的方法一般有两种:一种是形定义说明的方法一般有两种:一种是形式化方法,这种方法是建立在严密的数学式化方法,这种方法是建立在严密的数学基础上,满足逻辑上的完备性和一致性。基础上,满足逻辑上的完备性和一致性。另一种是非形式化定义方法,该方法常常另一种是非形式化定义方法,该方法常常用自然语言来定义用自然语言来定义。2.结构化的构造方法。结构化的构造方法。3.文档资料的描述方法。文档资料的描述方法。1.5.2软件工具和软件支撑环境软件工具和软件支撑环境 软软件件工工具具是是用用
13、来来帮帮助助开开发发、测测试试、分分析析、维维护护其其他他计计算算机机程程序序及及其其文文档档资资料料的的一一类类程程序序。如如编编辑辑程程序序、差差错错程程序序、诊诊断断程序等。程序等。大大规规模模计计算算机机程程序序及及其其文文档档资资料料的的生生产产所所使使用用的的软软件件工工具具则则是是指指需需求求分分析析工工具具、设设计计工工具具、编编码码工工具具、确确认认工工具具和和维维护护工工具具等等一一类类比比较较复复杂杂的的软软件件工工具具。是是一一种种自自动动化化系系统统。在在软软件件开开发发、维维护护和和管管理理中中,软件工具均起着重要的作用。软件工具均起着重要的作用。1.5.3软件管理软件管理软件项目的管理主要包括:软件项目的管理主要包括:-软件生存周期中的计划和工作进度管理;软件生存周期中的计划和工作进度管理;-成本管理;成本管理;-质量管理;质量管理;-人力资源管理;人力资源管理;-沟通管理;沟通管理;-项目风险管理;项目风险管理;-项目采购管理;项目采购管理;-工作范围的管理。工作范围的管理。1.5.4软件的规范与标准软件的规范与标准 软件的规范与标准指软件开发过程中作业标准化。作业标准化就是把软件开发过程中所需要做的工作分割成若干个作业,确定每一个作业所应承担的工作内容,以及相应的文档资料的内容。再见!再见!
限制150内