知识竞赛-软件工程.ppt

上传人:小飞机 文档编号:5805494 上传时间:2023-08-21 格式:PPT 页数:97 大小:812.50KB
返回 下载 相关 举报
知识竞赛-软件工程.ppt_第1页
第1页 / 共97页
知识竞赛-软件工程.ppt_第2页
第2页 / 共97页
知识竞赛-软件工程.ppt_第3页
第3页 / 共97页
知识竞赛-软件工程.ppt_第4页
第4页 / 共97页
知识竞赛-软件工程.ppt_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《知识竞赛-软件工程.ppt》由会员分享,可在线阅读,更多相关《知识竞赛-软件工程.ppt(97页珍藏版)》请在三一办公上搜索。

1、软件工程,泉州移动支撑中心林鑫显2010年9月,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,2,IEEE定义:软件工程是(1)将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护。即将工程化应用于软件。(2)在(1)中所述方法的研究。,软件工程目的:为建造高质量的软件提供一个框架。软件工程包含:一个过程、一组方法、一系列工具,什么是软件工程,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理

2、,4,可行性分析 需求分析和定义 概要设计 详细设计 编写代码 单元测试 集成测试 系统测试 提交系统 维护,软件开发的几个阶段,1.计划,2.需求分析,3.设计,4.编码,5.测试,6.运行与维护,6,软件开发过程,1.需求分析需求分析是根据客户的要求,清楚地了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。软件产品需求分析是软件开发过程的第一个环节,也是最重要的一个环节。如果需求分析做不好,下面的设计、编程做得再好,客户(用户)也不可能对开发出来的软件产品感到满意。软件产品需求分析的结果要文档化,而且这类文档的描述尽量不要用专业术语,从而使用

3、户能够完全理解需求分析的结果,参与对其复审的过程。,7,软件开发过程,2.设计软件设计是根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等。可以分为概要设计和详细设计,也可以分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、算法设计、界面设计等。设计过程将需求转换成软件表示,设计的结果将作为编码的框架和依据,以提高编码的效率和质量。设计的文档化体现在产品规格说明书(functional specification)、技术设计文档(development design document)和软件配置文档(software configuration document

4、)。,8,软件开发过程,3.编程经过需求分析、设计之后,接下来就是用一种或多种具体的编程工具(如VS.Net,JBuild、Eclipse、Delphi等)进行编码,即将设计转换成计算机可读的形式。如果设计做得好、做得仔细,编程就容易了。4.测试任何编程,免不了存在这样或那样的错误,所以有必要进行软件测试。测试过程集中于软件的内部逻辑保证所有语句都测试到,以及外部功能即引导测试去发现错误,并保证定义好的输入能够产生与预期结果相同的输出。测试按不同的过程阶段分为单元测试、集成测试、功能测试、系统测试、验证测试等。,黑盒测试,黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试

5、中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。,白盒测试,白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行

6、测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。,11,软件开发过程,5.维护从理论上,软件测试的覆盖率不可能做到百分之百,所以软件在交付给用户之后有可能存在某些问题,而且用户的需求会发生变化,特别是开始使用产品之后,对计算机系统有了真正的认识和了解,会提出适用性更好的、功能增强的要求。所以,软件交付之后不可避免地要进行修改、升级等。软件维护复杂、周期长,其成本必然很高。通过提高软件的需求分析、设计和编程的质量,强化软件测试,可以大幅度降低软件的维护成本。,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范

7、结构化设计方法和工具过程管理,12,13,软件开发模型(模式),软件开发模式大棒模式或边写边改模式瀑布模式原型模式V模式螺旋模式增量模式和跌代模式喷泉模型,14,大棒模式或边写边改模式,大棒模式优点是简单。几乎无计划。项目成员精力都花在开发软件和编写代码上。最终的软件产品是什么样不可知。边写边改模式在大棒模式的基础上考虑了产品的要求。项目成员通常只有粗略的想法就进行简单的设计,然后开始漫长的编码、测试、修复。,维护,部署,测试,实现,规范,设计,分析,需求,软件开发瀑布模型,16,使早期的流水线式的软件开发转变为软件工程消除非结构化软件、降低软件复杂度有一套严格的计划、步骤、规格、方法,保证软

8、件产品达到预期的质量要求,软件开发瀑布模型,瀑布模型的缺点:僵化,瀑布模型要求:各阶段要遵守严格的顺序。瀑布模型要求:预先定义并“冻结”软件需求。,实际情况是:软件开发往往在反复实践中完成。实际情况是:某些系统的需求的一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时,18,瀑布模型适用于:,需求改变很小的开发。作为一个架构,来学习软件开发中使用不同的技术:尽管瀑布方法对于实际的开发来说过于简单,但仍包含逻辑顺序的经典阶段,适合于学习。是螺旋模型中的一遍过程。用于开发人员较少的小项目的快速开发。,需要接受一个观点:不可能一次开发出一个软件。,19,软件开发模式-原型模型,在进行了基本

9、需求分析之后,快速开发出产品的原型,然后基于这个原型,同客户沟通、交流,更好地了解客户需求,不断修改这个原型,到了双方认可的程度,再做详细地分析、设计和编程,最终开发出令客户满意的产品。一般步骤如下:(1)先定义软件的总体目标,根据已知的需求来规划出可实现的区域。(2)然后是“快速设计”,集中于系统的总体框架、基本功能和直观的输入方式和输出格式等。(3)有了原型,使客户对系统实现哪些具体功能、功能实现到什么程度有更好的理解。开发者可以边开发边评估,不断细化软件的需求,逐步调整原型使其满足客户的要求。这形成一个迭代的过程。,20,原型模型,原型模型的优点:1.使用户能够感受到实际的系统,使开发者

10、能够快速地构造出系统的框架。2.开发者能减少开发中的风险和不确定性。原型模型的缺点:1.原型是粗糙的,没考虑软件总体质量和长期的可维护性。2.开发者常要在实现上的折衷以使得原型能尽快工作。,21,V模型,V模型。由于其模型构图形似字母“V”,故称V模型,是属于线性顺序一类的软件开发模型。特点:将测试和分析设计关系起来,强调反馈,不将问题留到下一步。单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。,v-模型,23,螺旋模型,螺旋模型

11、,是一个演化软件过程模型,它将原型的迭代特征与线性顺序模型中控制和系统化方面结合起来,使得软件增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。,螺旋模型,规范,分析,设计,需求,实现,测试,部署,维护,在完成了一次循环后,就增进了对问题域和解决方案的理解,还使用户参与进来,这样用户就可以更正我们对最终系统中包含的事务或功能的误解。在经过三四遍的开发过程,完成系统后,就可以全面测试和部署系统了。,与瀑布相比,问题少:用户参与整个生命周期;每个人都可以看到开发人员的工作;可以调整改动的次数和每次改动所花的时间;比较适合于软件开发的创新性。,不完美之处:只是把瀑布开发过程进行了

12、三四次,尽管问题越来越小,但并没有消失。不灵活,在经典阶段要按照有序的方式进行。如果发现错误,必须在下一遍开发过程中才能更正。,螺旋模型,26,增量模式和跌代模式,软件开发分阶段可以通过两种模型来描述,即增量模型和迭代模型。增量模型描述软件产品的不同阶段是按产品所具有的功能进行划分,先开发主要功能或用户最需要的功能,然后,随着时间推进,不断增加新的辅助功能或次要功能,最终开发出一个强大的、功能完善的、高质量的、稳定的产品。迭代模型描述软件产品的不同阶段是按产品深度或细化的程度来划分。先将产品的整个框架都建立起来,在系统的初期,已经具有用户所需求的全部功能。然后,随着时间推进,不断细化已有的功能

13、或完善已有功能,这个过程好像是一个迭代的过程。最终的目标是一致的,也是为了实现一个强大的、功能完善的、高质量的、稳定的产品。,增量模式和跌代模式,在首次交付的系统版本(1.0)中,将包含最基本、最重要的功能。在以后的某个时间交付1.1版本,其中包含附加的功能(替代1.0)。之后,在对整体进行大的修改,交付2.0版本。这将延续至系统的生命周期。能满足不断变化的需求,适应市场的变化。,时间,发布,1.0,1.1,2.0,2.1,喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用面向对象技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部

14、分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。,喷泉模型,1、喷泉模型的优点 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。2、喷泉模型的缺点 由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要

15、大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,30,31,面向对象技术(Object-Oriented Analysis,OOA),面向对象是一种目前主流的软件工程方法,新的程序设计范型基本技术:使用对象、类、继承、封装、消息等基本概念进行程序设计和实现基本思想:尽可能地运用人类的自然思维方式来构造软件系统。现实世界的问题是由客观实体和实体之间的联系构成的,

16、对象就是客观实体的抽象。,32,面向对象技术的基本观点,客观世界是由对象组成的。具有相同类型数据和相同操作的对象可以归并为一类,对象是类的一个实例。类可以产生对象。类可以派生子类,子类继承父类的特性。对象之间通过消息传递相互联系。软件工程学家认为:面向对象=对象+类+继承+通讯,33,面向对象的系统分析与设计方法-面向对象中的基本概念,对象(Object)/类(Class)抽象(Abstraction)继承(Inheritance)多态性(Polymorphism)封装(Encapsulation)消息(Message)关联(Association)聚集(Aggregation),34,什么是

17、对象?(Object),一个对象代表了一个现实的或虚构的实体自然实体(有形)概念实体(无形),化学过程,生产计划,对象(对象技术围绕对象的概念来建立),对象特征:静态特征和动态特征对象属性:描述对象静态特征的数据项对象操作:是对象动态特征的体现对象之间通过消息通信 一个对象通过向另一个对象发送消息激活某一个功能解决某个问题,面向对象的思考方式是面向问题的结构。,36,什么是类?(Class),类是对象的抽象,它给出了属于该类的全部对象的抽象定义。(从对象产生类)问题域:类是一组具有相同特性和行为的对象的通用定义系统:共同的特性通过属性表现出来(数据)共同的行为通过操作表现出来(功能)类是对象的

18、模板,用它可以产生多个对象,一个具体的对象只是类的一个实例。一个类可以用来声明多个对象,所有对象都有类的数据成员的一个副本,类的成员函数函数则被所有对象所共享。(从类产生对象),37,类和对象的关系,每一个对象都是某一个类的实例每一个类在某一时刻都有零个或更多的实例类是静态的;它们的存在、语义和关系在程序执行前就已经定义好了对象是动态的;它们在程序执行时可以被建立和删除,38,抽象(Abstraction),一个对象是现实世界中一个实体的抽象一个类是一组对象的抽象抽象通过注重主要的、与问题有关的特性,帮助我们处理复杂系统关键在于找出重要的、有关的类,以及每个类中重要、有关的操作和属性,39,继

19、承(Inheritance),子类(特化类、派生类)可以自动拥有父类(基类、泛化类、超类)的属性和操作。例如:“洗衣机”、“冰箱”、“电视机”公共的属性:开关、电线 公共的操作是:开机、关机 则:“家用电器”类是父类“洗衣机”、“冰箱”、“电视机”等是子类继承可以提高软件的可重用性。可以支持多继承。,“家用电器”,40,多态性(Polymorphism),在父类中定义的属性和服务为其子类继承后,可以具有不同的数据类型或表现出不同的行为。如:父类:图形类求面积 子类:三角形求面积 底*高/2 子类:矩形求面积 长*宽虽然都是“求面积”操作,但执行的是不同的行为动作。多态性机制不但为软件的结构设计

20、提供了灵活性,减少信息冗余,而且显著提高了软件的可复用性和可扩充性。,41,封装(Encapsulation),将属性和操作包装成一个单元,使得对状态的访问和修改只能通过封装提供的接口进行。封装体现了面向对象方法的“信息屏蔽与局部化”的原则。,42,消息(Message),对象间在交互中所传送的通讯信息。如:电视机,遥控器对象向电视机对象发送消息。在类里面通过生成对象和函数调用来完成消息的传递。,43,关联(Association),关联:对象之间所存在的联系。联系:继承关系(一般与特殊),聚集和组成关系(部分与整体)。,44,面向对象分析,问题论域分析发现和定义对象和类识别对象的外部联系建立

21、系统的静态结构模型建立系统的动态行为模型,45,面向对象设计,设计对象与类设计系统结构设计问题论域子系统设计人机交互子系统设计数据管理子系统设计任务管理子系统设计优化,提高系统的性能,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,46,统一建模语言(UML),UML(Unified Modeling Language)是一种可视化、标准化的建模语言。UML支持面向对象的技术和方法。UML独立于开发。UML独立于程序设计语言。UML并不是万能的,它是一种离散的建模语言,对于特定的领域,比如:GUI

22、、VLSI电路设计或基于规则的人工智能,用特定的语言和工具可能更合适,48,UML的目标,最重要目标:为面向对象软件设计提供统一的、标准的、可视化的建模语言。UML的另一个目标是:能尽量简洁地表达系统的模型。,UML模型的概念和表示法,UML提供3种基本标准模型建筑块:事物:模型的元素结构性事物:对象类、Use Case(用例)、接口、组件、节点等行为性事物:交互、状态机、活动等成组性事物:包注释性事物:注释联系:模型建筑块之间的基本联系依赖、关联、聚合、继承、实现图形:模型元素/联系 集合的可视化表示类图、对象图、Use Case图、顺序图、协作图、状态图、活动图、包图、组件图、配置图。,5

23、0,类图:表达类、接口,以及它们之间的联系。,类的图标由类名、类的属性、类的操作三部分组成。类图就是由这些类框和表明类之间关联的连线所组成。,Washing Machinebrand namemodel nameserial numbercapacityadd clothes()add detergent()remove clothes(),学生,本科生,研究生,Washing Machine.,51,对象图:表达对象及它们之间的联系。,对象是类的一个实例,是具有具体值和行为的一个具体事物。对象图标和类基本一样,但对象名下面要带下划线,实例名位于冒号的左边,该实例所属的类名位于冒号的右边。,M

24、y Washer:Washing Machine,:Washing Maching,My Washer,52,用例图:Use Case图表达用例、活动者和它们之 间的联系。,用例(Use Case)是从用户的观点对系统行为的一个描述。,选课功能,学生,53,状态图:状态图表示对象的有序事件行为 以及所处的状态。,在任一给定的时刻,一个对象总是处于某一特定的状态。,浸泡,洗涤,漂洗,脱水,54,顺序图:表达一组对象以及这些对象发出与接受消息,重点在消息的时间顺序上。,在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。UML顺序图所表达的正是这种基于时间的动态交互。,55,顺序

25、图洗衣过程,进水管,洗涤缸,排水管,注入新水,保持静止,停止注水,往返旋转,排掉洗涤后的脏水,注入新水,往返旋转,排掉漂洗过的水,单向旋转,停止转动,停止注水,56,活动图:表达系统内的活动流,重点在对象之间的 控制流。,活动图是系统的一种行为视图,它描述参与行为的对象类的活动的顺序。,洗涤缸往返旋转15分钟,排掉脏水,重新入新水注,57,协作图:表达一组对象、对象之间的连接,以及对象发 出和接受的消息,重点在对象的结构组织方面。,系统的各组成元素必须相互协作来完成系统的工作目标,建模语言必须具备这种协作关系的表达方式,协作图为此目的而设。,内部计时器,洗涤缸,进水管,1.停止注水,2.往返旋

26、转,洗涤缸,进水管,58,组件图(构件图)表达组件及它们 之间的联系。,组件是逻辑事物的物理包,组件图表示系统中的不同的物理组件及其联系,它表达的是系统代码本身的结构。,组件,59,配置图(部署图)表达物理节点及它们之间的联系。,配置图用来描述计算机和设备,展示它们之间的连接,以及驻留在每台机器中的软件。,60,UML三大类型的图,收集系统需求:Use Case图(用例图)静态结构图:类图、对象图、包图、组件图、配置图动态行为图:顺序图、协同图、状态图、活动图,在建立系统模型时可以根据需要选择不同的图,把它们组织成不同的视图,分别表达系统的某一方面的特征。,主要内容,软件工程基础知识软件开发过

27、程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,61,结构化分析方法,数据流图(DFD)数据字典(DD)实体关系图(E-R图),数据流图,数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。,分层的数据流图,数据流图方法步骤示例 商店业务处理系统,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤 首先确定系统的输入和输出 根据商

28、店业务,画出顶层数据流图,以反映最主要业务处理流程经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,第一层数据流图,加细每一个加工框 销售细化,数据字典,数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。数据字典的组成:1、数据项 2、数据结构 3、数据流 4、数据存储 5、处理过程 数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。,70,的基本概念,实体

29、(Entity)属性(Attribute)联系(Relationship),71,基本概念实体(Entity),客观存在并且可以相互区别的“事物”称为实体。实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如学生的一次选课、老师与系的工作关系等。,72,基本概念属性(Attribute),实体的某一特性称为属性。一个实体可以由若干个属性来刻画。如学生实体有学号、姓名、年龄、性别、系等方面的属性。属性有“型”和“值”之分,“型”即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990001,张三,20,男,信息系)这些属性值的集合表示了一个学生实体。

30、,73,基本概念联系(Relationship),在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。,74,联系的分类,实体型之间的联系一对一联系(1:1)一对多联系(1:n)多对多(m:n),75,一对一联系(1:1),实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。如:班级与班长,观众与座位,病人与床位。,76,一对多联系(1:n),实体

31、集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。如:班级与学生、公司与职员、省与市。,77,多对多(m:n),实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。如:学生与课程,工厂与产品。,78,E-R图的表示方法,用矩形表示实体,在长方形框内写上实体名。用椭圆形表示实体或联系的属性。用无向边把实体和它包含的属性连接在一起。用菱形表示实体间联系,菱形框内写上联系名。用无向边把菱形和有关实体相连接,在无向边旁标上联系的类型,如1、M或N等。,79,学生选修

32、课程,学生,课程,选修,姓名,学号,系别,课程名,先修课,学分,成绩,用矩形表示实体集,在框内写上实体名,用椭圆表示实体的属性,用无向边把实体与其属性连接起来,用菱形表示实体间的联系,将参与联系的实体用线段连接,m,n,联系的数量,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,80,81,软件文件标准与规范,国家标准计算机软件产品开发文件编制指南是一份指导性文件。它建议在软件的开发过程中编制下述14个文件。即:可行性研究报告 操作手册 项目开发计划 模块开发卷宗 软件需求说明书 测试计划 数据要

33、求说明书 测试分析报告 总体设计说明书 开发进度表 详细设计说明书 项目开发总结。数据库设计说明书 用户手册该指南给出了这14个文件的编制提示,它同时也是这14个文件编写质量的检验准则。,标准化知识,国际标准国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)制定的标准,以及国际标准化组织确认并公布的其他国际组织制定的标准。国家标准国家标准是指由国家标准化主管机构批准发布,对全国经济、技术发展有重大意义,且在全国范围内统一的标准。行业标准由我国各主管部、委(局)批准发布,在该部门范围内统一使用的标准,称为行业标准。企业标准企业标准是对企业范围内需要协调、统一的

34、技术要求,管理要求和工作要求所制定的标准。企业标准由企业制定,由企业法人代表或法人代表授权的主管领导批准、发布。,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,83,84,结构化设计方法和工具,1.系统流程图 2.HIPO图 3.控制流程图,85,系统流程图,系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。系统流程图表达的是部件的信息流程,而不是表示对信息进行加工处

35、理的控制过程。,86,HIPO图,在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的图形。HIPO图由层次结构图和IPO图两部分构成,前者描述了整个系统的设计结构以及各类模块之间的关系,后者描述了某个特定模块内部的处理过程和输入/输出关系。,HIPO图,层次结构图,IPO图,HIPO图的层次结构图 用于描述软件的层次结构,矩形框表示一个模块,矩形框之间的直线表示模块之间的调用关系,同结构图一样未指明调用顺序。,IPO图:说明模块间的信息传递及模块内部的处理,88,控制流程图,控制流程图(FC,Flow Chart)又称框图,是经常使用的程序细节描述工具。框图包括三种基本成分:“矩形

36、框”表示处理步骤,“菱形框”表示判断,“箭头”表示控制流。,主要内容,软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理,89,90,过程管理,1.PERT图2.甘特图3.工作分解结构4.进度控制5.关键路径,91,PERT图,PERT(Project Evaluation and Review Technique)即计划评审技术,简单地说,PERT是利用网络分析制定计划以及对计划予以评价的技术。它能协调整个计划的各道工序,合理安排人力、物力、时间、资金,加速计划的完成。PERT网络是一种类似流程图的箭线图。它

37、描绘出项目包含的各种活动的先后次序,标明每项活动的时间或相关的成本。构造PERT图,需要明确三个概念:事件、活动和关键路线。1、事件(Events)表示主要活动结束的那一点;2、活动(Activities)表示从一个事件到另一个事件之间的过程;3、关键路线(Critical Path)是PERT网络中花费时间最长的事件和活动的序列。,PERT图,93,甘特图,甘特图(Gantt chart)又叫横道图、条状图(Bar chart)。它是以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。它基本上是一种线条图,横轴表示时间,纵轴表示要安排的活动,线条表示在整个期间上计

38、划的和实际的活动完成情况。甘特图直观地表明任务计划在什么时候进行,以及实际进展与计划要求的对比。常用工具:MS project,94,工作分解结构,工作分解结构(简称WBS)跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目任务工作日常活动工作分解结构以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。,Back,进度控

39、制,所谓项目进度控制是指对项目开发各阶段的工作内容、工作程序、持续时间和衔接关系根据进度总目标及资源优化配置的原则编制计划并付诸实施,然后在进度计划的实施过程中经常检查实际进度是否按计划要求进行,对出现的偏差情况进行分析,采取补救措施或调整原计划后再付诸实施,如此循环,直到验收交付使用。项目进度控制原理包括以下几点:动态控制原理系统原理封闭循环原理信息原理弹性原理,关键路径,在项目管理中,关键路径是指网络终端元素的元素的序列,该序列具有最长的总工期并决定了整个项目的最短完成时间。关键路径的工期决定了整个项目的工期。任何关键路径上的终端元素的延迟将直接影响项目的预期完成时间。一个项目可以有多个,并行的关键路径。另一个总工期比关键路径的总工期略少的一条并行路径被称为次关键路径。AOE网用顶点表示事件,弧表示活动,弧上的权值表示活动持续的时间的有向图叫AOE(Activity On Edge Network)网。AOE网常用于估算工程完成时间。例如:,The End!谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号