《(精品)软件知识竞赛.ppt》由会员分享,可在线阅读,更多相关《(精品)软件知识竞赛.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程软件工程泉州移动支撑中心林鑫显Email:2010年9月内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理2内部资料内部资料 注意保密注意保密IEEE定义:定义:软件工程是软件工程是 (1)将)将系统的系统的、严格约束的严格约束的、可量化的可量化的方法应用于软方法应用于软件的开发、运行和维护。即将工程化应用于软件。件的开发、运行和维护。即将工程化应用于软件。(2)在()在(1)中所述方法的研究。)中所述方法的研究。软件工程软件工程目的目的:为建造高质量的
2、软件提供一个框架。:为建造高质量的软件提供一个框架。软件工程软件工程包含包含:一个过程一个过程、一组方法一组方法、一系列工具一系列工具什么是软件工程内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理4内部资料内部资料 注意保密注意保密 可行性分析可行性分析 需求分析和定义需求分析和定义 概要设计概要设计 详细设计详细设计 编写代码编写代码 单元测试单元测试 集成测试集成测试 系统测试系统测试 提交系统提交系统 维护维护软件开发的几个阶段软件开发的几个阶段1.计划
3、计划2.需求分析需求分析3.设计设计4.编码编码5.测试测试6.运行与维护运行与维护内部资料内部资料 注意保密注意保密6软件开发过程软件开发过程1.需求分析需求分析是根据客户的要求,清楚地了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。软件产品需求分析是软件开发过程的第一个环节,也是最重要的一个环节。如果需求分析做不好,下面的设计、编程做得再好,客户(用户)也不可能对开发出来的软件产品感到满意。软件产品需求分析的结果要文档化,而且这类文档的描述尽量不要用专业术语,从而使用户能够完全理解需求分析的结果,参与对其复审的过程。内部资料内部资料 注意保
4、密注意保密7软件开发过程软件开发过程2.设计软件设计是根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等。可以分为概要设计和详细设计,也可以分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、算法设计、界面设计等。设计过程将需求转换成软件表示,设计的结果将作为编码的框架和依据,以提高编码的效率和质量。设计的文档化体现在产品规格说明书(functional specification)、技术设计文档(development design document)和软件配置文档(software configuration document)。内部资料内部资料 注意保密注意
5、保密8软件开发过程软件开发过程3.编程经过需求分析、设计之后,接下来就是用一种或多种具体的编程工具(如VS.Net,JBuild、Eclipse、Delphi等)进行编码,即将设计转换成计算机可读的形式。如果设计做得好、做得仔细,编程就容易了。4.测试任何编程,免不了存在这样或那样的错误,所以有必要进行软件测试。测试过程集中于软件的内部逻辑保证所有语句都测试到,以及外部功能即引导测试去发现错误,并保证定义好的输入能够产生与预期结果相同的输出。测试按不同的过程阶段分为单元测试、集成测试、功能测试、系统测试、验证测试等。内部资料内部资料 注意保密注意保密黑盒测试黑盒测试黑盒测试也称功能测试,它是通
6、过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。内部资料内部资料 注意保密注意保密白盒测试白盒测试白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子
7、,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。内部资料内部资料 注意保密注意保密11软件开发过程软件开发过程5.维护从理论上,软件测试的覆盖率不可能做到百分之百,所以软件在交付给用户之后有可能存在某些问题,而且用户的需求会发生变化,特别是开始使用产品之后,对计算机系统有了真正的认识和了解,会提出适用性更好的、功能增强的要求。所以,软件交付之后不可避免地要进行修改、升级等。软件维护复杂、周期长,其成本必然很高。通过提高软件的需求分析、设计和编程的质量,强化软件测试,可以大幅度降低软件的维护成
8、本。内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理12内部资料内部资料 注意保密注意保密13软件开发模型(模式)软件开发模型(模式)软件开发模式大棒模式或边写边改模式瀑布模式原型模式V模式螺旋模式增量模式和跌代模式喷泉模型内部资料内部资料 注意保密注意保密14大棒模式或边写边改模式大棒模式或边写边改模式 大棒模式优点是简单。几乎无计划。项目成员精力都花在开发软件和编写代码上。最终的软件产品是什么样不可知。边写边改模式在大棒模式的基础上考虑了产品的要求。项目成
9、员通常只有粗略的想法就进行简单的设计,然后开始漫长的编码、测试、修复。内部资料内部资料 注意保密注意保密维护维护部署部署测试测试实现实现规范规范设计设计分析分析需求需求软件开发瀑布模型软件开发瀑布模型 内部资料内部资料 注意保密注意保密16使早期的使早期的流水线式流水线式的软件开发转变为软件工程的软件开发转变为软件工程消除非结构化软件、降低软件复杂度消除非结构化软件、降低软件复杂度有一套严格的计划、步骤、规格、方法,保证软有一套严格的计划、步骤、规格、方法,保证软件产品达到预期的质量要求件产品达到预期的质量要求软件开发瀑布模型软件开发瀑布模型 内部资料内部资料 注意保密注意保密瀑布模型的缺点:
10、僵化瀑布模型的缺点:僵化瀑布模型要求:各瀑布模型要求:各阶段要遵守阶段要遵守严格的严格的顺序顺序。瀑布模型要求:预瀑布模型要求:预先定义并先定义并“冻结冻结”软件需求。软件需求。实际情况是:软件实际情况是:软件开发往往在开发往往在反复反复实实践中完成。践中完成。实际情况是:某些实际情况是:某些系统的需求的一个系统的需求的一个逐渐明确逐渐明确的过程,的过程,且预先定义的需求且预先定义的需求到软件完成时可能到软件完成时可能已经过时已经过时内部资料内部资料 注意保密注意保密18瀑布模型适用于:瀑布模型适用于:需求改变很小的开发。需求改变很小的开发。作为一个架构,来学习软件开发中使用不同的技术:尽管作
11、为一个架构,来学习软件开发中使用不同的技术:尽管瀑布方法对于实际的开发来说过于简单,但仍包含逻辑顺瀑布方法对于实际的开发来说过于简单,但仍包含逻辑顺序的经典阶段,序的经典阶段,适合于学习适合于学习。是是螺旋模型螺旋模型中的一遍过程。中的一遍过程。用于开发人员较少的小项目的快速开发。用于开发人员较少的小项目的快速开发。需要接受一个观点:需要接受一个观点:不可能一次开发出一个软件不可能一次开发出一个软件。内部资料内部资料 注意保密注意保密19软件开发模式软件开发模式-原型模型原型模型 在进行了基本需求分析之后,快速开发出产品的原型,然后基于这个原型,同客户沟通、交流,更好地了解客户需求,不断修改这
12、个原型,到了双方认可的程度,再做详细地分析、设计和编程,最终开发出令客户满意的产品。一般步骤如下:(1)先定义软件的总体目标,根据已知的需求来规划出可实现的区域。(2)然后是“快速设计”,集中于系统的总体框架、基本功能和直观的输入方式和输出格式等。(3)有了原型,使客户对系统实现哪些具体功能、功能实现到什么程度有更好的理解。开发者可以边开发边评估,不断细化软件的需求,逐步调整原型使其满足客户的要求。这形成一个迭代的过程。内部资料内部资料 注意保密注意保密20原型模型原型模型原型模型的优点:1.使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。2.开发者能减少开发中的风险和不确定性
13、。原型模型的缺点:1.原型是粗糙的,没考虑软件总体质量和长期的可维护性。2.开发者常要在实现上的折衷以使得原型能尽快工作。内部资料内部资料 注意保密注意保密21V模型模型 V模型。由于其模型构图形似字母“V”,故称V模型,是属于线性顺序一类的软件开发模型。特点:将测试和分析设计关系起来,强调反馈,不将问题留到下一步。单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。内部资料内部资料 注意保密注意保密v-模型模型内部资料内部资料 注意
14、保密注意保密23螺旋模型螺旋模型 螺旋模型,是一个演化软件过程模型,它将原型的迭代特征与线性顺序模型中控制和系统化方面结合起来,使得软件增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。内部资料内部资料 注意保密注意保密螺旋模型螺旋模型 规范规范分析分析设计设计需求需求实现实现测试测试部署部署维护维护在完成了一次循环后,就增进了对问题域和解决方案的理解,还使用户参与进来,这样用户就可以更正我们对最终系统中包含的事务或功能的误解。在经过三四遍的开发过程,完成系统后,就可以全面测试和部署系统了。内部资料内部资料 注意保密注意保密与瀑布相比,问题少:与瀑布相比,问题少:用户参与整
15、个生命周期;用户参与整个生命周期;每个人都可以看到开发人员每个人都可以看到开发人员的工作;的工作;可以调整改动的次数和每次可以调整改动的次数和每次改动所花的时间;改动所花的时间;比较适合于软件开发的创新比较适合于软件开发的创新性。性。不完美之处:不完美之处:只是把瀑布开发过程进行了只是把瀑布开发过程进行了三四次,尽管问题越来越小,三四次,尽管问题越来越小,但并没有消失。但并没有消失。不灵活,在经典阶段要按照不灵活,在经典阶段要按照有序的方式进行。有序的方式进行。如果发现错误,必须在下一如果发现错误,必须在下一遍开发过程中才能更正。遍开发过程中才能更正。螺旋模型螺旋模型内部资料内部资料 注意保密
16、注意保密26增量模式和跌代模式增量模式和跌代模式软件开发分阶段可以通过两种模型来描述,即增量模型和迭代模型。增量模型描述软件产品的不同阶段是按产品所具有的功能进行划分,先开发主要功能或用户最需要的功能,然后,随着时间推进,不断增加新的辅助功能或次要功能,最终开发出一个强大的、功能完善的、高质量的、稳定的产品。迭代模型描述软件产品的不同阶段是按产品深度或细化的程度来划分。先将产品的整个框架都建立起来,在系统的初期,已经具有用户所需求的全部功能。然后,随着时间推进,不断细化已有的功能或完善已有功能,这个过程好像是一个迭代的过程。最终的目标是一致的,也是为了实现一个强大的、功能完善的、高质量的、稳定
17、的产品。内部资料内部资料 注意保密注意保密增量模式和跌代模式增量模式和跌代模式在首次交付的系统版本(在首次交付的系统版本(1.01.0)中,将包含最基本、最重要)中,将包含最基本、最重要的功能。在以后的某个时间交付的功能。在以后的某个时间交付1.11.1版本,其中包含附加的版本,其中包含附加的功能(替代功能(替代1.01.0)。之后,在对整体进行大的修改,交付)。之后,在对整体进行大的修改,交付2.02.0版本。这将延续至系统的生命周期。版本。这将延续至系统的生命周期。能满足不断变化的需求,适应市场的变化。能满足不断变化的需求,适应市场的变化。时间发布1.01.12.02.1内部资料内部资料
18、注意保密注意保密喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用面向对象技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。喷泉模型喷泉模型内部资料内部资料 注意保密注意保密 1、喷泉模型的优点、喷泉模型的优点 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动
19、,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。2、喷泉模型的缺点、喷泉模型的缺点 由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理30内部资料内部资
20、料 注意保密注意保密31面向对象技术面向对象技术(Object-Oriented Analysis,OOA)面向对象是一种目前主流的软件工程方法,新的面向对象是一种目前主流的软件工程方法,新的程序设计范型程序设计范型基本技术:使用基本技术:使用对象、类、继承、封装、消息对象、类、继承、封装、消息等等基本概念进行程序设计和实现基本概念进行程序设计和实现基本思想:尽可能地运用人类的自然思维方式来基本思想:尽可能地运用人类的自然思维方式来构造软件系统。现实世界的问题是由客观实体和构造软件系统。现实世界的问题是由客观实体和实体之间的联系构成的,对象就是客观实体的抽实体之间的联系构成的,对象就是客观实体
21、的抽象。象。内部资料内部资料 注意保密注意保密32面向对象技术的基本观点面向对象技术的基本观点客观世界是客观世界是由对象组成由对象组成的。的。具有相同类型数据和相同操作的对象可以归并为一类,具有相同类型数据和相同操作的对象可以归并为一类,对对象是类的一个实例象是类的一个实例。类可以产生对象。类可以产生对象。类可以派生子类,子类继承父类的特性。类可以派生子类,子类继承父类的特性。对象之间通过消息传递相互联系。对象之间通过消息传递相互联系。软件工程学家软件工程学家认为:认为:面向对象面向对象=对象对象+类类+继承继承+通讯通讯内部资料内部资料 注意保密注意保密33面向对象的系统分析与设计方法面向对
22、象的系统分析与设计方法 -面向对象中的基本概念面向对象中的基本概念对象 (Object)/类(Class)抽象 (Abstraction)继承 (Inheritance)多态性(Polymorphism)封装 (Encapsulation)消息 (Message)关联 (Association)聚集 (Aggregation)内部资料内部资料 注意保密注意保密34什么是对象?(什么是对象?(Object)一个对象代表了一个现实的或虚构的实体自然实体(有形)概念实体(无形)化学过程化学过程生产计划生产计划内部资料内部资料 注意保密注意保密对象对象(对象技术围绕对象的概念来建立)(对象技术围绕对象
23、的概念来建立)对象特征:静态特征和动态特征对象属性:描述对象静态特征的数据项对象操作:是对象动态特征的体现对象之间通过消息通信 一个对象通过向另一个对象发送消息激活某一个功能解决某个问题,面向对象的思考方式是面向问题的结构。内部资料内部资料 注意保密注意保密36什么是类?(什么是类?(Class)类是对象的抽象类是对象的抽象,它给出了属于该类的全部对象的抽象定义。(从对,它给出了属于该类的全部对象的抽象定义。(从对象产生类)象产生类)问题域:类是一组具有问题域:类是一组具有相同特性和行为的对象相同特性和行为的对象的通用定义的通用定义系统:系统:共同的特性通过共同的特性通过属性属性表现出来表现出
24、来(数据数据)共同的行为通过共同的行为通过操作操作表现出来表现出来(功能功能)类是对象的模板,用它可以类是对象的模板,用它可以产生多个对象产生多个对象,一个具体的对象只是,一个具体的对象只是类的类的一个实例一个实例。一个类可以用来声明多个对象,所有对象都有类的数据成。一个类可以用来声明多个对象,所有对象都有类的数据成员的一个副本,类的成员函数函数则被所有对象所共享。员的一个副本,类的成员函数函数则被所有对象所共享。(从类产生(从类产生对象)对象)内部资料内部资料 注意保密注意保密37类和对象的关系类和对象的关系每一个对象都是某一个类的实例每一个对象都是某一个类的实例每一个类在某一时刻都有零个或
25、更多的实例每一个类在某一时刻都有零个或更多的实例类是静态的类是静态的;它们的存在、语义和关系在程序执它们的存在、语义和关系在程序执行前就已经定义好了行前就已经定义好了对象是动态的对象是动态的;它们在程序执行时可以被建立和它们在程序执行时可以被建立和删除删除内部资料内部资料 注意保密注意保密38抽象抽象(Abstraction)一个对象是现实世界中一个实体的抽象一个对象是现实世界中一个实体的抽象一个类是一组对象的抽象一个类是一组对象的抽象抽象通过注重主要的、与问题有关的特性,帮助我们处理抽象通过注重主要的、与问题有关的特性,帮助我们处理复杂系统复杂系统关键在于找出重要的、有关的关键在于找出重要的
26、、有关的类类,以及每个类中重要、有,以及每个类中重要、有关的关的操作操作和和属性属性内部资料内部资料 注意保密注意保密39继承继承(Inheritance)子类(特化类、派生类)可以自动拥有父类(基类、子类(特化类、派生类)可以自动拥有父类(基类、泛化类、超类)的属性和操作。泛化类、超类)的属性和操作。例如例如:“洗衣机洗衣机”、“冰箱冰箱”、“电视机电视机”公共的属性:公共的属性:开关、电线开关、电线 公共的操作是:开机、关机公共的操作是:开机、关机 则则:“家用电器家用电器”类是父类类是父类 “洗衣机洗衣机”、“冰箱冰箱”、“电视机电视机”等是子类等是子类继承可以提高软件的可重用性继承可以
27、提高软件的可重用性。可以支持多继承。可以支持多继承。“家用电器家用电器家用电器家用电器”内部资料内部资料 注意保密注意保密40多态性多态性(Polymorphism)在父类中定义的属性和服务为其子类继承后,可以具有不同的数据类在父类中定义的属性和服务为其子类继承后,可以具有不同的数据类型或表现出不同的行为。型或表现出不同的行为。如:如:父类:图形类求面积父类:图形类求面积 子类:三角形求面积子类:三角形求面积 底底*高高/2/2 子类:矩形求面积子类:矩形求面积 长长*宽宽虽然都是虽然都是“求面积求面积”操作,但执行的是不同的行为动作。操作,但执行的是不同的行为动作。多态性机制不但为软件的结构
28、设计多态性机制不但为软件的结构设计提供了灵活性提供了灵活性,减少信息冗余减少信息冗余,而,而且显著提高了软件的且显著提高了软件的可复用性可复用性和和可扩充性可扩充性。内部资料内部资料 注意保密注意保密41封装封装(Encapsulation)将属性和操作包装成一个单元,使得对状态的访将属性和操作包装成一个单元,使得对状态的访问和修改只能问和修改只能通过封装提供的接口通过封装提供的接口进行。进行。封装体现了面向对象方法的封装体现了面向对象方法的“信息屏蔽与局部化信息屏蔽与局部化”的原则。的原则。内部资料内部资料 注意保密注意保密42消息消息(Message)对象间在交互中所传送的通讯信息。如:电
29、视机,遥控器对象向电视机对象发送消息。在类里面通过生成对象和函数调用来完成消息的传递。内部资料内部资料 注意保密注意保密43关联关联(Association)关联关联:对象之间所存在的联系。:对象之间所存在的联系。联系联系:继承关系(一般与特殊),聚集和组成关系(部:继承关系(一般与特殊),聚集和组成关系(部分与整体)。分与整体)。内部资料内部资料 注意保密注意保密44面向对象分析面向对象分析问题论域分析发现和定义对象和类识别对象的外部联系建立系统的静态结构模型建立系统的动态行为模型内部资料内部资料 注意保密注意保密45面向对象设计面向对象设计设计对象与类设计对象与类设计系统结构设计系统结构设
30、计问题论域子系统设计问题论域子系统设计人机交互子系统设计人机交互子系统设计数据管理子系统设计数据管理子系统设计任务管理子系统设计任务管理子系统设计优化,提高系统的性能设计优化,提高系统的性能内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理46内部资料内部资料 注意保密注意保密统一建模语言(统一建模语言(UML)UML(Unified Modeling Language)是一种是一种可视化可视化、标准标准化化的建模语言。的建模语言。UML支持支持面向对象面向对象
31、的技术和方法。的技术和方法。UML独立于开发。独立于开发。UML独立于程序设计语言。独立于程序设计语言。UML并不是万能的,它是一种离散的建模语言,对于特定并不是万能的,它是一种离散的建模语言,对于特定的领域,比如:的领域,比如:GUI、VLSI电路设计或基于规则的人工智电路设计或基于规则的人工智能,用特定的语言和工具可能更合适能,用特定的语言和工具可能更合适内部资料内部资料 注意保密注意保密48UML的目标的目标最重要目标最重要目标:为面向对象软件设计提供统一的、为面向对象软件设计提供统一的、标准标准的、的、可视化可视化的建模语言。的建模语言。UML的另一个目标是:能尽量的另一个目标是:能尽
32、量简洁简洁地表达系统的地表达系统的模型。模型。内部资料内部资料 注意保密注意保密UML模型的概念和表示法模型的概念和表示法UML提供提供3种基本标准模型建筑块:种基本标准模型建筑块:事物事物:模型的元素:模型的元素结构性事物:对象类、结构性事物:对象类、Use Case(用例用例)、接口、组件、节、接口、组件、节点等点等行为性事物:行为性事物:交互、状态机、活动等交互、状态机、活动等成组性事物:包成组性事物:包注释性事物:注释注释性事物:注释联系联系:模型建筑块之间的基本联系:模型建筑块之间的基本联系依赖、关联、聚合、继承、实现依赖、关联、聚合、继承、实现图形图形:模型元素:模型元素/联系联系
33、 集合的可视化表示集合的可视化表示类图、对象图、类图、对象图、Use Case图、顺序图、协图、顺序图、协作作图、状态图、图、状态图、活动图活动图、包图、包图、组件图、配置图。、组件图、配置图。内部资料内部资料 注意保密注意保密50类图类图:表达类、接口,以及它们之间的联系。:表达类、接口,以及它们之间的联系。类的图标由类的图标由类名类名、类的属性类的属性、类的操作类的操作三部分组成。三部分组成。类图就是由这些类框和表明类图就是由这些类框和表明类之间关联的连线所组成。类之间关联的连线所组成。Washing Machinebrand namemodel nameserial numbercapa
34、cityadd clothes()add detergent()remove clothes()学生学生本科生本科生研究生研究生Washing Machine.内部资料内部资料 注意保密注意保密51对象图对象图:表达对象及它们之间的联系。:表达对象及它们之间的联系。对象是类的一个实例,是具有具体值和行为的一个具体事对象是类的一个实例,是具有具体值和行为的一个具体事物。物。对象图标和类基本一样,但对象图标和类基本一样,但对象名下面要带下划线对象名下面要带下划线,实例,实例名位于冒号的左边,该实例所属的类名位于冒号的右边。名位于冒号的左边,该实例所属的类名位于冒号的右边。My Washer:Was
35、hing Machine:Washing MachingMy Washer内部资料内部资料 注意保密注意保密52用例图用例图:Use Case图表达图表达用例用例、活动者活动者和它们之和它们之 间的联系。间的联系。用例(用例(Use Case)是从)是从用户的观点用户的观点对系统行为的对系统行为的一个描述。一个描述。选课功能选课功能学生学生内部资料内部资料 注意保密注意保密53状态图状态图:状态图表示对象的有序事件行为状态图表示对象的有序事件行为 以及所处的状态。以及所处的状态。在任一给定的时刻,在任一给定的时刻,一个对象总是处于一个对象总是处于某一特定的状态。某一特定的状态。浸泡浸泡洗涤洗涤
36、漂洗漂洗脱水脱水内部资料内部资料 注意保密注意保密54顺序图顺序图:表达一组对象以及这些对象发出与接受消息,表达一组对象以及这些对象发出与接受消息,重点在消息的时间顺序上。重点在消息的时间顺序上。在一个运行的系统中,对象之间要发生交互,并且这些交在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。互要经历一定的时间。UML顺序图所表达的正是这种基于顺序图所表达的正是这种基于时间的动态交互。时间的动态交互。内部资料内部资料 注意保密注意保密55顺序图顺序图洗衣过程洗衣过程 进水管进水管洗涤缸洗涤缸排水管排水管注入新水注入新水保持静止保持静止停止注水停止注水往返旋转往返旋转排掉洗
37、涤后的脏水排掉洗涤后的脏水注入新水注入新水往返旋转往返旋转排掉漂洗过的水排掉漂洗过的水单向旋转单向旋转停止转动停止转动停止注水停止注水内部资料内部资料 注意保密注意保密56活动图活动图:表达系统内的活动流,重点在对象之间的表达系统内的活动流,重点在对象之间的 控制流。控制流。活动图是系统的一种行为视图,它描述参与行为的对象类活动图是系统的一种行为视图,它描述参与行为的对象类的活动的顺序。的活动的顺序。洗涤缸往返旋转洗涤缸往返旋转15分钟分钟排掉脏水排掉脏水重新入新水注重新入新水注内部资料内部资料 注意保密注意保密57协作图协作图:表达一组对象、对象之间的连接,以及对象发表达一组对象、对象之间的
38、连接,以及对象发 出和接受的消息,重点在对象的结构组织方面。出和接受的消息,重点在对象的结构组织方面。系统的各组成元素必须系统的各组成元素必须相互协作相互协作来完成系统的工作目标,来完成系统的工作目标,建模语言必须具备这种协作关系的表达方式,协作图为建模语言必须具备这种协作关系的表达方式,协作图为此目的而设。此目的而设。内部计时器内部计时器洗涤缸洗涤缸进水管进水管1.停止注水2.往返旋转洗涤缸洗涤缸进水管进水管内部资料内部资料 注意保密注意保密58组件图(构件图)组件图(构件图)表达组件及它们表达组件及它们 之间的联系。之间的联系。组件是逻辑事物的组件是逻辑事物的物理包物理包,组件图表示系统中
39、的不同的物,组件图表示系统中的不同的物理组件及其联系,它表达的是系统代码本身的结构。理组件及其联系,它表达的是系统代码本身的结构。组件组件内部资料内部资料 注意保密注意保密59配置图(部署图)配置图(部署图)表达物理节点及它们之间的联系。表达物理节点及它们之间的联系。配置图用来描述配置图用来描述计算机和设备计算机和设备,展示它们之间的连接,以,展示它们之间的连接,以及驻留在每台机器中的软件。及驻留在每台机器中的软件。内部资料内部资料 注意保密注意保密60UML三大类型的图三大类型的图收集系统需求收集系统需求:Use Case图(用例图)图(用例图)静态结构图静态结构图:类图、对象图、包图、组件
40、图、配:类图、对象图、包图、组件图、配置图置图动态行为图动态行为图:顺序图、协同图、状态图、活动图:顺序图、协同图、状态图、活动图在建立系统模型时可以根据需要选择不同的图,把它们在建立系统模型时可以根据需要选择不同的图,把它们组织成不同的视图,分别表达系统的某一方面的特征。组织成不同的视图,分别表达系统的某一方面的特征。内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理61内部资料内部资料 注意保密注意保密结构化分析方法结构化分析方法数据流图(DFD)数据字典(
41、DD)实体关系图(E-R图)内部资料内部资料 注意保密注意保密数据流图数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。内部资料内部资料 注意保密注意保密分层的数据流图分层的数据流图内部资料内部资料 注意保密注意保密数据流图方法步骤示例数据流图方法步骤示例 商店业务处理系统商店业务处理系统内部资料内部资料 注意保密注意保密这个数据流图只是一个这个数据流图只是一个高层高层的系统逻辑模型,的系统逻辑模型,它反映了目标系
42、统它反映了目标系统要实现的功能要实现的功能数据流图绘制步骤数据流图绘制步骤u 首先确定系统的首先确定系统的输入和输出输入和输出u 根据商店业务,画出根据商店业务,画出顶层数据流图顶层数据流图,以反映最主要,以反映最主要业务处理流程业务处理流程u经过分析,商店业务处理的主要功能应当有销经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。点和输出终点是顾客和供应商。u然后从输入端开始,根据商店业务工作流程,然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,画出数据流流经的
43、各加工框,逐步画到输出端,得到第一层数据流图得到第一层数据流图内部资料内部资料 注意保密注意保密第一层数据流图第一层数据流图内部资料内部资料 注意保密注意保密 加细每一个加工框加细每一个加工框 销售细化销售细化内部资料内部资料 注意保密注意保密数据字典数据字典数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。数据字典的组成:1、数据项 2、数据结构 3、数据流 4、数据存储 5、处理过程 数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。内部资料内部资料 注意保密注意保密70的基本概念的基本概念实体(Entity)
44、属性(Attribute)联系(Relationship)内部资料内部资料 注意保密注意保密71基本概念实体(基本概念实体(Entity)客观存在并且可以相互区别的“事物”称为实体。实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如学生的一次选课、老师与系的工作关系等。内部资料内部资料 注意保密注意保密72基本概念属性(基本概念属性(Attribute)实体的某一特性称为属性。一个实体可以由若干个属性来刻画。如学生实体有学号、姓名、年龄、性别、系等方面的属性。属性有“型”和“值”之分,“型”即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990
45、001,张三,20,男,信息系)这些属性值的集合表示了一个学生实体。内部资料内部资料 注意保密注意保密73基本概念联系(基本概念联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。内部资料内部资料 注意保密注意保密74联系的分类联系的分类实体型之间的联系一对一联系(1:1)一对多联系(1:n)多对多(m:n)内部资料内部资料 注意保密注意保密75一对一联系(一对一联系(1:1)
46、实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。如:班级与班长,观众与座位,病人与床位。内部资料内部资料 注意保密注意保密76一对多联系(一对多联系(1:n)实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。如:班级与学生、公司与职员、省与市。内部资料内部资料 注意保密注意保密77多对多(多对多(m:n)实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。如:学生与课程,工厂与产品。内部资
47、料内部资料 注意保密注意保密78E-R图的表示方法图的表示方法用矩形表示实体,在长方形框内写上实体名。用椭圆形表示实体或联系的属性。用无向边把实体和它包含的属性连接在一起。用菱形表示实体间联系,菱形框内写上联系名。用无向边把菱形和有关实体相连接,在无向边旁标上联系的类型,如1、M或N等。内部资料内部资料 注意保密注意保密79学生选修课程学生选修课程学生学生课程课程选修选修姓名姓名学号学号系别系别课程名课程名先修课先修课学分学分成绩成绩用矩形表示实体集,用矩形表示实体集,在框内写上实体名在框内写上实体名用椭圆表示实体的用椭圆表示实体的属性属性用无向边把实用无向边把实体与其属性连体与其属性连接起来
48、接起来用菱形表示实体间用菱形表示实体间的联系的联系将参与联系的实体用将参与联系的实体用线段连接线段连接mn联系的联系的数量数量内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理80内部资料内部资料 注意保密注意保密81软件文件标准与规范软件文件标准与规范国家标准计算机软件产品开发文件编制指南是一份指导性文件。它建议在软件的开发过程中编制下述14个文件。即:可行性研究报告 操作手册 项目开发计划 模块开发卷宗 软件需求说明书 测试计划 数据要求说明书 测试分析报告
49、 总体设计说明书 开发进度表 详细设计说明书 项目开发总结。数据库设计说明书 用户手册该指南给出了这14个文件的编制提示,它同时也是这14个文件编写质量的检验准则。内部资料内部资料 注意保密注意保密标准化知识标准化知识国际标准国际标准国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)制定的标准,以及国际标准化组织确认并公布的其他国际组织制定的标准。国家标准国家标准国家标准是指由国家标准化主管机构批准发布,对全国经济、技术发展有重大意义,且在全国范围内统一的标准。行业标准行业标准由我国各主管部、委(局)批准发布,在该部门范围内统一使用的标准,称为行业标准。企业
50、标准企业标准企业标准是对企业范围内需要协调、统一的技术要求,管理要求和工作要求所制定的标准。企业标准由企业制定,由企业法人代表或法人代表授权的主管领导批准、发布。内部资料内部资料 注意保密注意保密主要内容主要内容软件工程基础知识软件开发过程软件开发模型面向对象技术统一建模语言(UML)结构化分析方法软件文件标准与规范结构化设计方法和工具过程管理83内部资料内部资料 注意保密注意保密84结构化设计方法和工具结构化设计方法和工具 1.系统流程图系统流程图 2.HIPO图图 3.控制流程图控制流程图内部资料内部资料 注意保密注意保密85系统流程图系统流程图 系统流程图又叫事务流程图,是在计算机事务处