资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1软件工程软件工程 2 软件工程主要讲解内容软件工程主要讲解内容1 1、软件工程的内容与方法、软件工程的内容与方法 2 22 2、软件生命周期和开发模型、软件生命周期和开发模型 2 23 3、面向对象的概念与模型、面向对象的概念与模型 2 42 4、需求分析、需求分析 2 2 (用户需求报告(用户需求报告 需求规格说明书)需求规格说明书)5 5、软件设计、软件设计 2 62 6、软件实现、软件实现 2 2(概要设计说明书(概要设计说明书 软件详细设计说明书)软件详细设计说明书) (测试提问模板)测试提问模板)7 7、软件策划、软件策划(软件开发计划书)(软件开发计划书) 2 82 8、软件项目管理、软件项目管理 2 29 9、CMMCMM软件过程管理软件过程管理 2 102 10、软件配置管理、软件配置管理 2 21111、软件建模、软件建模UML 2 12UML 2 12、软件质量保证、软件质量保证 2 21313、软件发布与实施、软件发布与实施 2 142 14、软件维护软件维护 1 11515、软件培训、软件培训 1 161 16、总、总 结结 1 11717、实例串讲、实例串讲 1 181 18、学习报告要求、学习报告要求 2 23软件工程软件工程软件工程的内容与方法软件工程的内容与方法4主要讲解内容主要讲解内容1、软件工程的定义、软件工程的定义2、软件危机、软件危机3、软件工程研究内容、软件工程研究内容4、软件工程的原理、软件工程的原理5、软件工程的作用、软件工程的作用6、软件工程与六类岗位、软件工程与六类岗位7、软件的开发方法、软件的开发方法8、软件工程的五个面向理论、软件工程的五个面向理论5 软件工程软件工程导读导读: : 21 21世纪,什么技术将影响人类的生活?什么产世纪,什么技术将影响人类的生活?什么产业将决定国家的实力?业将决定国家的实力? 可以毫不夸张地说,信息技术与信息产业是首可以毫不夸张地说,信息技术与信息产业是首选的答案之一。选的答案之一。 信息技术与信息产业的发展离不开软件技术与信息技术与信息产业的发展离不开软件技术与软件产业的支撑。软件产业的支撑。 软件工程是软件及其产品开发、生产、服务和软件工程是软件及其产品开发、生产、服务和管理的科学,由此可见学习软件工程的重要性。管理的科学,由此可见学习软件工程的重要性。6 软件工程的定义软件工程的定义 1、是指导、是指导软件开发软件开发和和软件管理软件管理的工程学科。采用工程的工程学科。采用工程的概念、原理、技术和方法来开发与管理软件的过程,把的概念、原理、技术和方法来开发与管理软件的过程,把经过时间考验而证明正确的管理技术和当前能够得到的最经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。好的技术方法结合起来,这就是软件工程。 2、是研究和应用如何以系统性的、规范化的、可定量、是研究和应用如何以系统性的、规范化的、可定量的方法去开发、操纵和维护软件,即把工程应用到软件开的方法去开发、操纵和维护软件,即把工程应用到软件开发上。发上。 这里一是强调这里一是强调开发开发 (或者叫做研发或者叫做研发/制造制造/生产生产), 二是强调二是强调管理管理(或者叫做过程管理)。(或者叫做过程管理)。 这说明了开发中有管理,管理是为了更好地开发。所这说明了开发中有管理,管理是为了更好地开发。所以开发和管理是一个的相辅相成的两个方面。以开发和管理是一个的相辅相成的两个方面。7 软件的定义软件的定义 为了弄清软件工程的概念,首先要了解程序和软为了弄清软件工程的概念,首先要了解程序和软件的概念。件的概念。 一般认为,程序是计算机为完成特定任务而执行一般认为,程序是计算机为完成特定任务而执行 的指令的的指令的有序集合有序集合。站在应用的角度可以更通俗地。站在应用的角度可以更通俗地 理解为理解为: : 面向过程的程序面向过程的程序 = = 算法算法 + + 数据结构数据结构 面向对象的程序面向对象的程序 = = 对象对象 + + 消息消息 面向构件的程序面向构件的程序 = = 构件构件 + + 构架构架 软件的定义:软件的定义: 软件软件 = = 程序程序 + + 数据数据 + + 文档文档 上述定义看起来很简单,实际上却来之不易。上述定义看起来很简单,实际上却来之不易。8 人们对软件定义的认识过程人们对软件定义的认识过程年年 代代对软件定义的认识对软件定义的认识2020世纪世纪5050年代年代 软件就等于程序软件就等于程序 软件系统就是程序系统软件系统就是程序系统2020世纪世纪6060年代年代 软件等于程序加文档。软件等于程序加文档。 这里的文档,是指软件开发过程中的分析、设计、实这里的文档,是指软件开发过程中的分析、设计、实现、测试、维护文档,还包括管理文档现、测试、维护文档,还包括管理文档2020世纪世纪7070年代年代 软件等于程序加文档再加数据,软件等于程序加文档再加数据, 这里的数据不仅包括初始数据、测试数据,还包括研这里的数据不仅包括初始数据、测试数据,还包括研发数据、运行数据、维护数据和软件企业积累的项目工发数据、运行数据、维护数据和软件企业积累的项目工程数据、项目管理数据中大量的决策原始记录数据程数据、项目管理数据中大量的决策原始记录数据9文档的重要性文档的重要性 作为软件企业,文档是否规范、齐全是衡量是否成熟的重作为软件企业,文档是否规范、齐全是衡量是否成熟的重要标志之一。要标志之一。 软件文档分为两大类软件文档分为两大类: : 1 1、开发文档、开发文档主要由项目组书写,用于指导软件开发;主要由项目组书写,用于指导软件开发; 2 2、管理文档、管理文档主要由项目管理部门书写,用于指导软件管理主要由项目管理部门书写,用于指导软件管理和决策。和决策。 开发文档本身具有严格的层次关系和依赖关系,这种关系开发文档本身具有严格的层次关系和依赖关系,这种关系反映在如下的覆盖关系之中,即有反映在如下的覆盖关系之中,即有 用户需求报告用户需求报告 覆盖覆盖软件合同软件合同/ /软件任务书软件任务书需求规格说明书需求规格说明书覆盖覆盖用户需求报告用户需求报告概要设计说明书概要设计说明书覆盖覆盖需求规格说明书需求规格说明书详细设计说明书详细设计说明书覆盖覆盖概要设计说明书概要设计说明书 源源 程程 序序 覆盖覆盖详细设计说明书详细设计说明书 目目 标标 程程 序序 覆盖覆盖源程序源程序10 软件危机软件危机软件工程概念源自于软件危机软件工程概念源自于软件危机 软件危机是指在计算机软件的开发和管软件危机是指在计算机软件的开发和管理过程中所遇到的一系列严重问题。理过程中所遇到的一系列严重问题。软件危机的特征和原因软件危机的特征和原因: :用户需求不断变化用户需求不断变化;软件开发成本严重超标软件开发成本严重超标;软件开发周期大大超过规定日期软件开发周期大大超过规定日期;用户对软件使用的不满用户对软件使用的不满;软件质量难于保证软件质量难于保证,不易维护;不易维护;文档资料不齐文档资料不齐;11消除软件危机的途径消除软件危机的途径 为了消除软件危机,首先应该对计算机软件为了消除软件危机,首先应该对计算机软件有一个正确的认识。有一个正确的认识。 在研究探索更好更有效的技术和方法,尽快在研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误消除在计算机系统早期发展阶段形成的一些错误概念和做法。概念和做法。 总之,为了消除软件危机,既要有技术措施,总之,为了消除软件危机,既要有技术措施,又要有必要的组织管理措施。软件工程正是从管又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和管理软件理和技术两方面研究如何更好地开发和管理软件的一门新兴学科。的一门新兴学科。3812 软件工程研究内容软件工程研究内容 关于软件工程研究内容,至今没有统一的说法。可以关于软件工程研究内容,至今没有统一的说法。可以认为,研究内容涵盖了认为,研究内容涵盖了“软件开发模型、开发方法、支持软件开发模型、开发方法、支持过程和软件管理过程过程和软件管理过程”四个方面。四个方面。序号序号研究方面研究方面具体内容具体内容1 1开发模型开发模型瀑布模型、增量模型、原型模型、迭代模型瀑布模型、增量模型、原型模型、迭代模型2 2开发方法开发方法面向过程、面向数据、面向对象的方法面向过程、面向数据、面向对象的方法3 3支持过程支持过程CASECASE工具工具RoseRose4 4管理过程管理过程ISOISO90009000、CMMCMM、软件企业文化、软件企业文化 尽管软件开发模型和软件支持过程非常重要,但是尽管软件开发模型和软件支持过程非常重要,但是现代软件工程研究的重点,仍然是软件开发方法和软件现代软件工程研究的重点,仍然是软件开发方法和软件管理过程。在软件管理过程的内容中,除了管理过程。在软件管理过程的内容中,除了ISOISO90009000和和CMMCMM之外,企业文化也非常重要。之外,企业文化也非常重要。3813 软件工程的原理软件工程的原理 习惯上,人们常常把软件工程的方法(开发方法)、工具习惯上,人们常常把软件工程的方法(开发方法)、工具(支持方法的工具)、过程(管理过程)称为软件工程三要素(支持方法的工具)、过程(管理过程)称为软件工程三要素 1983年,有人提出了年,有人提出了7条原理作为软件工程的基本原理。条原理作为软件工程的基本原理。 1、用分阶段的生命周期计划,严格管理软件开发、用分阶段的生命周期计划,严格管理软件开发 2、坚持进行阶段评审、坚持进行阶段评审 3、实行严格的产品版本控制、实行严格的产品版本控制 4、采用现代程序设计技术、采用现代程序设计技术 5、结果应能清楚地审查,对文档要有严格要求、结果应能清楚地审查,对文档要有严格要求 6、开发小组的成员要少而精、开发小组的成员要少而精 7、不断地改进软件工程实践的经验和技术。、不断地改进软件工程实践的经验和技术。 3814 上述上述7条虽然是在面向过程的结构化时代提出来的,但是,条虽然是在面向过程的结构化时代提出来的,但是,在面向数据和对象的程序设计新时代,它仍然有效。在面向数据和对象的程序设计新时代,它仍然有效。 但还有一条作为软件工程的第但还有一条作为软件工程的第8条基本原理条基本原理 8 8、五个估计、五个估计 工作量的估计:主观上认为已经完成了工作量的估计:主观上认为已经完成了80%,但实际上只,但实际上只完成了完成了20%; 程序问题的估计:程序问题的估计:80%的问题存在于的问题存在于20%的程序之中;的程序之中; 模块功能的估计:模块功能的估计:20%的模块,实现了的模块,实现了80%的功能;的功能; 人力资源的估计:人力资源的估计:20%的人,解决了软件中的人,解决了软件中80%的问题;的问题; 投入资金的估计:企业信息系统中投入资金的估计:企业信息系统中80%的问题,可以用的问题,可以用20%的资金来解决。的资金来解决。 15 软件工程的作用软件工程的作用 软件工程的作用,是为了克服上个世纪软件工程的作用,是为了克服上个世纪6060年年代出现的软件危机,这种危机表现为软件开发的成代出现的软件危机,这种危机表现为软件开发的成本大、进度慢、维护难和质量得不到保障。本大、进度慢、维护难和质量得不到保障。 从当前来讲,软件工程的作用,就是告诉人从当前来讲,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程。在与软件开发和管理有关的人员和过程。3816 软件工程与六类岗位软件工程与六类岗位 1 1、管理人员、管理人员 基本条件是:软件专业宏观知识、软件工程管理知识,加基本条件是:软件专业宏观知识、软件工程管理知识,加上商业与资本运作知识。他们要用软件工程的理论和方法,来上商业与资本运作知识。他们要用软件工程的理论和方法,来管理整个公司的软件业务。管理整个公司的软件业务。 2 2、软件售前人员、软件售前人员 基本条件是:他们是公司的产品形象代表,既是软基本条件是:他们是公司的产品形象代表,既是软件产品专家,又是软件产品的实现顾问。只有这样,他件产品专家,又是软件产品的实现顾问。只有这样,他们才能看懂招标书、写好投标书、讲好投标书。们才能看懂招标书、写好投标书、讲好投标书。 3 3、中层项目经理和软件工程师、中层项目经理和软件工程师 基本条件是:系统分析知识、系统设计知识,加上项目管基本条件是:系统分析知识、系统设计知识,加上项目管理知识。他们要用软件工程的理论和方法,来管理项目组的软理知识。他们要用软件工程的理论和方法,来管理项目组的软件开发。他们的个人奋斗目标是软件管理专家、分析设计专家、件开发。他们的个人奋斗目标是软件管理专家、分析设计专家、开发技术专家开发技术专家 3817 4 4、软件蓝领工人、软件蓝领工人 基本条件是:要用软件工程的理论和方法,来基本条件是:要用软件工程的理论和方法,来实现软件项目的软件功能、性能、接口、界面。实现软件项目的软件功能、性能、接口、界面。 5 5、软件营销人员、软件营销人员 基本条件是:要用软件工程的基本思路,来与基本条件是:要用软件工程的基本思路,来与客户进行沟通,以赢得客户的信任。客户进行沟通,以赢得客户的信任。 6 6、软件实施和维护人员、软件实施和维护人员 基本条件是:要用软件工程的基本方法,来实基本条件是:要用软件工程的基本方法,来实现软件功能、性能与接口的实施和维护现软件功能、性能与接口的实施和维护18 软件的开发方法软件的开发方法 软件工程中的开发方法又称为软件工程软件工程中的开发方法又称为软件工程方法论。到目前为止,软件工程中的开发方法论。到目前为止,软件工程中的开发方法有三种:方法有三种: 1、面向过程的方法面向过程的方法 2、面向对象的方法、面向对象的方法 3、面向数据的方法、面向数据的方法19面向过程的方法面向过程的方法 面向过程的方法(又称结构化方法)包括面向过程的方法(又称结构化方法)包括: 面向过程需求分析、面向过程的设计、面向过程编程、面向过程需求分析、面向过程的设计、面向过程编程、面向过程测试、面向过程维护、面向过程管理。面向过程测试、面向过程维护、面向过程管理。 面向过程的方法其特点是:面向过程的方法其特点是: 程序的执行过程,不由用户控制,完全由程序控制。程序的执行过程,不由用户控制,完全由程序控制。 面向过程的方法的优点是简单实用,缺点是维护困难。面向过程的方法的优点是简单实用,缺点是维护困难。 面向过程的方法开始于面向过程的方法开始于20世纪世纪60年代,成熟于年代,成熟于70年代,盛年代,盛行于行于80年代。年代。 该方法的基本特点是,分析设计中强调该方法的基本特点是,分析设计中强调“自顶向下,自顶向下,逐步求精逐步求精”,编程实现时强调程序的,编程实现时强调程序的“单入口和单出口单入口和单出口”。这种方法在国内曾经十分流行,大量应用,非常普及。这种方法在国内曾经十分流行,大量应用,非常普及。3820面向对象的方法面向对象的方法 面向对象(面向类)的方法包括:面向对象(面向类)的方法包括: 面向对象需求分析、面向对象设计、面向对象编程、面向对象需求分析、面向对象设计、面向对象编程、面向对象测试、面向对象维护、面向对象管理。面向对象测试、面向对象维护、面向对象管理。 面向对象的方法开始于面向对象的方法开始于2020世纪世纪8080年代,兴起于年代,兴起于9090年代,年代,已经开始走向成熟。已经开始走向成熟。 面向对象方法的基本特点是:将对象的属性和方法面向对象方法的基本特点是:将对象的属性和方法(即数据和操作)封装起来,形成信息系统的基本执行单(即数据和操作)封装起来,形成信息系统的基本执行单元,再利用对象的继承特征,由基本执行单位派生出其他元,再利用对象的继承特征,由基本执行单位派生出其他执行单位,从而产生许多新的对象。众多的离散对象通过执行单位,从而产生许多新的对象。众多的离散对象通过事件或消息连接起来,就形成了现实生活中的软件系统。事件或消息连接起来,就形成了现实生活中的软件系统。 21面向对象的方法面向对象的方法 有专家曾经提出用下面的等式,来认识面向对象有专家曾经提出用下面的等式,来认识面向对象的方法:的方法:面向对象对象(面向对象对象(ObjectObject) + + 分类(分类(ClassificationClassification) + + 继承(继承(InheritanceInheritance) + + 用消息进行通信用消息进行通信 这就是说,在分析、设计、实现中用到这就是说,在分析、设计、实现中用到“对象、对象、类、继承、消息通信类、继承、消息通信”这这4 4个基本概念,这就是面向个基本概念,这就是面向对象的方法。对象的方法。 22面向对象的方法面向对象的方法 面向对象方法的特点是:面向对象方法的特点是: 程序的执行过程不由程序员控制,完全由用户交互控制。程序的执行过程不由程序员控制,完全由用户交互控制。 面向对象方法的优点是易于维护,缺点是较难掌握。面向对象方法的优点是易于维护,缺点是较难掌握。 面向对象作为软件系统的一种实现思想和编程方法,它功面向对象作为软件系统的一种实现思想和编程方法,它功能强大,编程效率高,在能强大,编程效率高,在ITIT界已获得了成功。但是,作为软件界已获得了成功。但是,作为软件的一种分析思想和设计方法,它复杂繁琐,难学难懂。正因为的一种分析思想和设计方法,它复杂繁琐,难学难懂。正因为如此,业界正在不断完善改进它。如此,业界正在不断完善改进它。 美国美国Rational Rational 公司推出了一个面向对象设计的工具公司推出了一个面向对象设计的工具RoseRose,它执行统一建模语言它执行统一建模语言UMLUML标准,并能与数据库设计工具与编程标准,并能与数据库设计工具与编程工具配合,产生程序代码,以生成用户所需的软件系统。工具配合,产生程序代码,以生成用户所需的软件系统。 RoseRose的初步成功证明,面向对象的方法将是软件工程方法的初步成功证明,面向对象的方法将是软件工程方法论中的主流。论中的主流。23面向对象的方法面向对象的方法 面向对象的方法,实质上是面向功能的方法的新形面向对象的方法,实质上是面向功能的方法的新形势下的回归与再现,是在一种高层次上新的面向功能势下的回归与再现,是在一种高层次上新的面向功能的方法论,它设计的的方法论,它设计的“基本功能对象(类或构件)基本功能对象(类或构件)”不仅包括属性(数据),而且包括与属性有关的功能不仅包括属性(数据),而且包括与属性有关的功能(如增加、修改、移动、放大、缩小、删除、选择、(如增加、修改、移动、放大、缩小、删除、选择、计算、查找、排序、打开、关闭、存盘、显示和打印计算、查找、排序、打开、关闭、存盘、显示和打印等)。它不但将属性与功能融为一个整体,而且对象等)。它不但将属性与功能融为一个整体,而且对象之间可以继承、派生和通信。因此,面向对象设计是之间可以继承、派生和通信。因此,面向对象设计是一种复杂的、动态的、高层次的面向功能设计。一种复杂的、动态的、高层次的面向功能设计。 面向对象方法也是功能入手,将功能或方法当做面向对象方法也是功能入手,将功能或方法当做分析、设计、实现的出发点和最终归宿。分析、设计、实现的出发点和最终归宿。24 面向对象的方法在电子商务中的应用有:面向对象的方法在电子商务中的应用有:网站前台界面的制作,信息的发布和处理,网站前台界面的制作,信息的发布和处理,用户在网上浏览和录入信息等应用软件都用户在网上浏览和录入信息等应用软件都是利用面向对象的方法设计与实现的。个是利用面向对象的方法设计与实现的。个人网页的制作也是面向对象方法的应用例人网页的制作也是面向对象方法的应用例子。窗口操作系统与互联网的出现,为面子。窗口操作系统与互联网的出现,为面向对象方法开辟了无限的前景。向对象方法开辟了无限的前景。 3825面向数据的方法面向数据的方法 面向数据的方法,也称为面向元数据的方法。面向数据的方法,也称为面向元数据的方法。元数据是关于数据的数据,组织数据的数据。元数据是关于数据的数据,组织数据的数据。例如,数据库概念设计中的实体名和属性名,例如,数据库概念设计中的实体名和属性名,数据库物理设计中的表名和字段名,它们就是数据库物理设计中的表名和字段名,它们就是元数据。而具体的某一个特定的实例,就不是元数据。而具体的某一个特定的实例,就不是元数据,它们叫做对象或记录,面向数据方法元数据,它们叫做对象或记录,面向数据方法的要点是:的要点是:3826面向数据的方法面向数据的方法(1 1)数据是企业信息系统的核心,信息系统就是对数据的)数据是企业信息系统的核心,信息系统就是对数据的输入、处理、传输、查询和输出。输入、处理、传输、查询和输出。(2 2)只要企业的业务方向和内容不变,企业的元数据就是)只要企业的业务方向和内容不变,企业的元数据就是稳定的,数据模型也是稳定的。稳定的,数据模型也是稳定的。(3 3)对元数据的处理方法是可变的。用不变的元数据支持)对元数据的处理方法是可变的。用不变的元数据支持可变的处理方法,即以不变应万变,这就是企业信息系统工程可变的处理方法,即以不变应万变,这就是企业信息系统工程的基本原理。的基本原理。(4 4)数据模型包括概念数据模型和物理数据模型。数据模)数据模型包括概念数据模型和物理数据模型。数据模型的表示形式是型的表示形式是E-RE-R图。图。(5 5)信息系统的实现方法主要是面向对象,其次才是面向)信息系统的实现方法主要是面向对象,其次才是面向数据和面向过程。数据和面向过程。(6 6)用户自始至终参与系统的分析、设计、实现与维护。)用户自始至终参与系统的分析、设计、实现与维护。3827面向数据方法的特点面向数据方法的特点 面向数据的方法,来自于面向数据的方法,来自于2020世纪开始的关系数据库管世纪开始的关系数据库管理系统理系统RDBMSRDBMS,以及关系数据库程序设计语言,例如:,以及关系数据库程序设计语言,例如:OracleOracle,SybaseSybase等关系数据库语言,提供了强大的面向关等关系数据库语言,提供了强大的面向关系表中数据的编程能力,典型的例子就是编写存储过程和系表中数据的编程能力,典型的例子就是编写存储过程和触发器。触发器。 特点:程序的执行过程中,根据数据流动和处理的需特点:程序的执行过程中,根据数据流动和处理的需要,有时由程序员控制要,有时由程序员控制( (如数据库服务器上触发器和存储如数据库服务器上触发器和存储过程的的执行过程的的执行),),有时由用户控制有时由用户控制( (如用户浏览屋上控件的如用户浏览屋上控件的选择与执行选择与执行) )。 优点:通俗易懂,特别适合信息系统中数据层(数据优点:通俗易懂,特别适合信息系统中数据层(数据库服务器)上的设计与实现。库服务器)上的设计与实现。 缺点:实现窗口界面较困难。缺点:实现窗口界面较困难。28面向数据的方法面向数据的方法 面向数据的方法,与关系数据库管理系统紧密面向数据的方法,与关系数据库管理系统紧密地捆绑在一起,只要面向对象数据库不能完全替代地捆绑在一起,只要面向对象数据库不能完全替代关系数据库,这种方法就不会终结。目前数据库管关系数据库,这种方法就不会终结。目前数据库管理系统的发展趋势是:在关系型数据库的基础上,理系统的发展趋势是:在关系型数据库的基础上,将面向对象的某些特性添加上去,称为将面向对象的某些特性添加上去,称为“对象对象- -关系关系型数据库型数据库”,但本质上仍然是一个关系型数据库。,但本质上仍然是一个关系型数据库。3829 软件工程方法学软件工程方法学 三种开发方法比较三种开发方法比较 方法名称方法名称优优 点点缺缺 点点适合的场合适合的场合面向过程的面向过程的方法方法简单好学简单好学不适应窗口不适应窗口界面,维护界面,维护困难困难大型工程计算,实时数据跟踪处大型工程计算,实时数据跟踪处理,各种自动化控制系统,以及理,各种自动化控制系统,以及系统软件实现等领域系统软件实现等领域面向对象的面向对象的方法方法功能强,功能强,易于维护易于维护不易掌握不易掌握互联网络时代,完全由用户交互互联网络时代,完全由用户交互控制程序执行过程的应用软件和控制程序执行过程的应用软件和系统软件的开发系统软件的开发面向数据的面向数据的方法方法通俗易懂通俗易懂不适应窗口不适应窗口界面界面以关系型数据库管理系统为支撑以关系型数据库管理系统为支撑环境的信息系统建设环境的信息系统建设30 软件工程的五个面向理论软件工程的五个面向理论 软件工程的软件工程的“五个面向五个面向”理论:理论: 1 1、面向流程分析、面向流程分析 2 2、面向数据设计、面向数据设计 3 3、面向对象实现、面向对象实现 4 4、面向功能测试、面向功能测试 5 5、面向过程管理。、面向过程管理。3831面向流程分析面向流程分析 面向流程分析面向流程分析,就是面向流程进行需求分析,就是面向流程进行需求分析 在需求分析时,系统分析员要面向业务流程、在需求分析时,系统分析员要面向业务流程、资金流程、信息流程进行分析。只有将这资金流程、信息流程进行分析。只有将这“三个流三个流程程”分析透了,才能建立有效的系统业务模型和功分析透了,才能建立有效的系统业务模型和功能模型。能模型。 因为计算机本质上只识别数据及数据流,而且因为计算机本质上只识别数据及数据流,而且这这“三个流程三个流程”,可以用,可以用“数据流数据流”这一个流程来这一个流程来代替,或者说代替,或者说“三个流程三个流程”是是“数据流数据流”在三个不在三个不同方向的投影。同方向的投影。3832面向数据设计面向数据设计 面向数据设计面向数据设计,就是面向元数据进行概要设计,就是面向元数据进行概要设计 概要设计的主要任务是建立系统的数据模型,包概要设计的主要任务是建立系统的数据模型,包括概念数据模型括概念数据模型CDMCDM和物理数据模型和物理数据模型PDMPDM,以及体现业,以及体现业务规则的存储过程和触发器,然后以数据模型为支撑,务规则的存储过程和触发器,然后以数据模型为支撑,去实现系统的业务模型和功能模型。为此,要对原数去实现系统的业务模型和功能模型。为此,要对原数据进行分析,只有将元数据分析透了,才能建立由元据进行分析,只有将元数据分析透了,才能建立由元数据所构成的数据模型。数据所构成的数据模型。3833面向对象实现面向对象实现面向对象实现面向对象实现,就是面向对象进行详细设计和编程实现,就是面向对象进行详细设计和编程实现在在(C/S(C/S,B/S)B/S)表示层和业务逻辑层上进行详细设计和编程实表示层和业务逻辑层上进行详细设计和编程实现时,要采用面向对象的方法:目前流行编程语言,大多数是现时,要采用面向对象的方法:目前流行编程语言,大多数是面向对象的语言。对于成熟的软件企业,已经利用面向对象语面向对象的语言。对于成熟的软件企业,已经利用面向对象语言自带的基础类库,建设了本企业的商业类库,积累了大量的言自带的基础类库,建设了本企业的商业类库,积累了大量的商业软构件,为面向对象详细设计和编程实现创造了良好的环商业软构件,为面向对象详细设计和编程实现创造了良好的环境。当然,在数据服务层上的设计和编程实现,仍然要采用面境。当然,在数据服务层上的设计和编程实现,仍然要采用面向数据的方法,因为主要是设计和编写存储过程与触发器,它向数据的方法,因为主要是设计和编写存储过程与触发器,它们面向数据的,不是面向对象的。详细设计和编程实现,实质们面向数据的,不是面向对象的。详细设计和编程实现,实质上是用构件加上程序来实现系统的业务模型和功能模型(包括上是用构件加上程序来实现系统的业务模型和功能模型(包括性能模型和接口模型)。只有对系统的三个模型思想(业务模性能模型和接口模型)。只有对系统的三个模型思想(业务模型、功能模型、数据模型)吃透了,才能设计和编写出规范的型、功能模型、数据模型)吃透了,才能设计和编写出规范的程序。程序。3834面向功能测试面向功能测试 面向功能测试面向功能测试,就是面向功能进行单元测,就是面向功能进行单元测试、试、AlphaAlpha测试和测试和BetaBeta测试。测试。 面向功能测试的方法一般采用黑盒子测试方面向功能测试的方法一般采用黑盒子测试方法,随着第四代程序设计语言和构件技术的发展,法,随着第四代程序设计语言和构件技术的发展,该测试方法的应用会越来越广泛。该测试方法的应用会越来越广泛。 今后采用白盒子测试方法(面向程序执行路今后采用白盒子测试方法(面向程序执行路径测试径测试) )的人,只会是从事软件构件生产的少数的人,只会是从事软件构件生产的少数人员。因此,测试人员主要是掌握面向功能的测人员。因此,测试人员主要是掌握面向功能的测试方法,针对需求分析时建立的系统功能模型,试方法,针对需求分析时建立的系统功能模型,设计测试用例,进行功能测试。设计测试用例,进行功能测试。3835面向过程管理面向过程管理 面向过程管理面向过程管理,就是面向过程对软件生存周期,就是面向过程对软件生存周期各个阶段进行管理和控制。各个阶段进行管理和控制。 因为软件产品质量的提高与改进,完全取决于软因为软件产品质量的提高与改进,完全取决于软件企业生产过程的改善。无论是件企业生产过程的改善。无论是CMMCMM,ISO 9000ISO 9000都是都是站在软件生存周期过程的层面上去提高软件企业的素站在软件生存周期过程的层面上去提高软件企业的素质。那种认为质。那种认为“只要有几个优秀的程序员就能办好软只要有几个优秀的程序员就能办好软件企业,就能生产出高质量的软件产品件企业,就能生产出高质量的软件产品”的观点,在的观点,在2020世纪世纪8080年代还理直气壮,在年代还理直气壮,在9090年代还能解决温饱问年代还能解决温饱问题,在本世纪初就站不住脚了,因为他们是手工作坊题,在本世纪初就站不住脚了,因为他们是手工作坊式的开发方法,忽视了软件工程中的面向过程管理。式的开发方法,忽视了软件工程中的面向过程管理。3836 软件工程机构设置软件工程机构设置技术副总技术研发部产品开发部产品测试部产品销售部技术支持部用 户满意正确处理问题反馈武汉泰信软件产业有限公司武汉泰信软件产业有限公司 机构设置图机构设置图3837小小 结结 本章全面论述了本章全面论述了软件工程概念源自软件危机。软件工程概念源自软件危机。软件工程概念源自软件危机。软件工程概念源自软件危机。 给出了软件危机的具体表现、产生软件危机的原因和消除的途径;给出了软件危机的具体表现、产生软件危机的原因和消除的途径;给出了软件危机的具体表现、产生软件危机的原因和消除的途径;给出了软件危机的具体表现、产生软件危机的原因和消除的途径;明确了程序、软件、软件工程的定义,介绍了软件工程的明确了程序、软件、软件工程的定义,介绍了软件工程的(7(7十十1) 1) 条条原理,提出了软件工程方法学,制定了软件工程的标准以及软件工程原理,提出了软件工程方法学,制定了软件工程的标准以及软件工程与软件公司人员和机构设置之间的关系。与软件公司人员和机构设置之间的关系。 上述这些丰富的内容,既是研究上述这些丰富的内容,既是研究ITIT企业软件工程的出发点,又是企业软件工程的出发点,又是研究研究ITIT企业软件工程的最终归宿。既是企业软件工程的最终归宿。既是ITIT企业软件工程的绪论,又是企业软件工程的绪论,又是ITIT企业软件工程的总结。因此,本章的有关内容,可能一时难以达到,企业软件工程的总结。因此,本章的有关内容,可能一时难以达到,需要今后陆续学完其他章节之后,才能逐步实现。由于软件工程是一需要今后陆续学完其他章节之后,才能逐步实现。由于软件工程是一门实践性很强的科学,所以要真正弄懂它,吃透它,一定要理论联系门实践性很强的科学,所以要真正弄懂它,吃透它,一定要理论联系实际,学以致用。通过在实际,学以致用。通过在ITIT企业的实践中应用软件工程的理论与方法,企业的实践中应用软件工程的理论与方法,进而发展软件工程的理论与方法。进而发展软件工程的理论与方法。38思思 考考 题题1、什么是软件危机?为什么会出现是软件危机?、什么是软件危机?为什么会出现是软件危机?2、产生软件危机的原因是什么?、产生软件危机的原因是什么?3、说明软件工程的基本原理。、说明软件工程的基本原理。4、论述软件工程开发的方法。、论述软件工程开发的方法。5、软件工程与软件公司人员有何联系、软件工程与软件公司人员有何联系?6、武汉泰信软件产业有限公司武汉泰信软件产业有限公司 机构设置机构设置对你有对你有何启示何启示?
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号