版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程复习软件工程复习第1章基础知识2精选ppt2022/12/12第1章基础知识2精选ppt2022/12/11什么是软件软件的定义—软件由三部分组成:程序:在运行时,能提供所希望的功能和性能的指令集数据:使程序能够正确运行的数据文档:描述程序研制过程、方法及使用的文档软件处理的是信息和逻辑软件的开发,绝不仅仅是编写程序软件围绕着逻辑进行软件就是一个信息交换器产生、管理、获取、修改、显示或传送信息软件≠程序3精选ppt2022/12/12什么是软件软件的定义—软件由三部分组成:软件≠程序3精选pp什么是软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件工程(IEEE)1993年,提出软件工程1)将系统化、规范化、可量化的工程原则和方法,应用于软件的开发、运行和维护。2)对1)中方法的理论研究。4精选ppt2022/12/12什么是软件危机软件工程(IEEE)4精选ppt2022/12软件工程基本原理(开发与维护的指导)用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性5精选ppt2022/12/12软件工程基本原理(开发与维护的指导)5精选ppt2022/软件工程方法学把在软件生命周期全过程中使用的一整套技术的集合称为方法学(methodology),也称范型(paradigm)。软件工程方法学三个要素:方法、工具和过程。方法是完成软件开发各项任务的技术,回答“如何做”;工具是为方法的运用提供自动或半自动软件支撑环境,回答“用什么做”;过程是为获得高质量的软件要完成的一系列任务的框架,规定完成各项任务步骤,回答“如何控制、协调、保证质量”。管理方法6精选ppt2022/12/12软件工程方法学管理方法6精选ppt2022/12/11目前使用得最广泛的软件工程方法学。传统方法学也称为生命周期方法学或结构化范型。
当软件规模较大,或对软件的需求是模糊的或随时间变化的时候,使用结构化范型开发软件往往不成功;此外,使用传统方法学开发出的软件,维护起来通常都很困难。结构化-静态分析,面向对象-动态分析世界万物是变化的传统方法学与面向对象方法学7精选ppt2022/12/12目前使用得最广泛的软件工程方法学。世界万物是变化的传统方法学传统方法的特点生命周期模型软件过程划分为若干个阶段每个阶段有各自的任务阶段之间有某种顺序性8精选ppt2022/12/12传统方法的特点生命周期模型8精选ppt2022/12/11面向对象方法:对象作为融合数据及在数据之上的操作行为的统一的软件构件。把所有对象都划分成类(Class)。每个类都定义了一组数据和一组操作。按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,称为继承。对象彼此间仅能通过发送消息互相联系-封装性。数据:静态操作:动态EverythingisObject.9精选ppt2022/12/12面向对象方法:数据:静态EverythingisObje1.3软件生命周期
软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段,每个阶段有各自的任务。1软件定义2软件开发3运行维护10精选ppt2022/12/121.3软件生命周期软件生命周期由软件定义、软件开发和运行问题定义可行性研究需求分析概要设计详细设计编码和单元测试综合测试软件维护11精选ppt2022/12/12问题定义11精选ppt2022/12/11实际的瀑布模型软件过程模型(生命周期模型)12精选ppt2022/12/12实际的瀑布模型软件过程模型(生命周期模型)12精选ppt20快速原型模型13精选ppt2022/12/12快速原型模型13精选ppt2022/12/11增量模型瀑布模型:力求一次性给用户完整的系统。增量模型:逐步增加系统功能。需要开放的架构设计。14精选ppt2022/12/12增量模型瀑布模型:力求一次性给用户完整的系统。14精选ppt完整的螺旋模型15精选ppt2022/12/12完整的螺旋模型15精选ppt2022/12/11喷泉模型迭代是OO开发过程的主要特性。喷泉模型是典型的面向对象生命周期模型。“喷泉”体现了面向对象软件开发过程迭代和无缝的特性。为避免喷泉模型的过分无序,把一个线性过程作为总目标。迭代
16精选ppt2022/12/12喷泉模型迭代是OO开发过程的主要特性。迭代16精选ppt2喷泉模型迭代:逐步求精阶段间没有明显的界限-面向对象的思想保证了各个阶段开发的一致性。迭代是OO开发过程的主要特性。喷泉模型是典型的面向对象生命周期模型。“喷泉”体现了面向对象软件开发过程迭代和无缝的特性。17精选ppt2022/12/12喷泉模型迭代:逐步求精迭代是OO开发过程的主要特性。17精选可行性与需求分析可行性与需求分析可行性研究不是解决问题,而是确定问题是否值得去解决较高层次的系统分析和设计过程需求分析发现、求精、建模、规格说明和复审的过程反复求精多次细化,得出对目标系统的完整、准确和具体的要求。建立数据模型、功能模型和行为模型等三种模型。还要写出准确的软件需求规格说明。。19精选ppt2022/12/12可行性研究。19精选ppt2022/12/11系统流程图系统流程图概括描绘物理系统的传统工具用图形符号,以黑盒子形式描述组成系统的每个部件程序、文档、数据库、人工过程20精选ppt2022/12/12系统流程图系统流程图20精选ppt2022/12/11系统流程图例子例子每个符号用黑盒子形式定义了组成系统的一个部件。没有部件内部的具体工作过程箭头确定通过系统的逻辑路径(信息流动路径)21精选ppt2022/12/12系统流程图例子例子每个符号用黑盒子形式定义了组成系统的一个部
数据流图数据流图(DFD)描绘信息流和数据从输入移动到输出的过程中所经受的变换。或或或符号含义数据的源点或终点数据流数据存储加工(数据处理)22精选ppt2022/12/12数据流图数据流图(DFD)描绘信息流和数据从输入移动到输加工中常见关系的符号表示符号含义由数据A和B共同变换为数据C由数据A变换为数据B和数据C由数据A或B,或者数据A和B共同变换为数据C由数据A变换为数据B或C,或者同时变换为数据B和C由数据A或B其中之一变换为数据C由数据A变换为数据B或C其中之一T*T*T+T+TT23精选ppt2022/12/12加工中常见关系的符号表示符号含义由数24精选ppt2022/12/1224精选ppt2022/12/11把处理事务的功能进一步分解后的数据流图25精选ppt2022/12/12把处理事务的功能进一步分解后的数据流图25精选ppt2022数据字典数据字典是关于数据的信息的集合,即对DFD图中包含的元素的定义的集合。数据字典的用途是供人查阅不了解的条目的解释。提供分析设计过程中关于数据的描述。数据字典与DFD相辅相成。只有DFD和对应的元素的精确定义放在一起,才能构成系统的规格说明。26精选ppt2022/12/12数据字典数据字典是关于数据的信息的集合,即对DFD图中包含定义数据的方法=意思是等价于(或定义为);+意思是和(即,连接两个分量);[]意思是或(即,从方括弧内列出的若干个分量中选择一个),用“|”号分开供选择的分量;{}意思是重复(即,重复花括弧内的分量);()意思是可选(即,圆括弧里的分量可有可无)。使用上限和下限进一步注释表示重复的花括弧。左边用上角标和下角标分别表明重复的上限和下限;左侧标明重复的下限,在闭括弧的右侧标明上限。例如:{A}和1{A}5含义相同。1527精选ppt2022/12/12定义数据的方法=意思是等价于(或定义为);1527精选p数据字典的实现CASE工具人工卡片28精选ppt2022/12/12数据字典的实现CASE工具28精选ppt2022/12/11
实体—关系图数据模型包含三种相互关联的信息:数据对象、描述数据对象属性及数据对象彼此间相互连接的关系。29精选ppt2022/12/12实体—关系图数据模型包含三种相互关联的信息:数据对象、描述某校教学管理ER图30精选ppt2022/12/12某校教学管理ER图30精选ppt2022/12/11学生和课程之间的E-R模型学生和课程之间的多对多联系E-R模型;(b)将多对多联系转换为一对多联系E-R模型选课mn学号专业年级课名课号学时1n学号专业课名课号学时学号课号n1姓名课程学生姓名课程学分学生年级选课学分(a)(b)31精选ppt2022/12/12学生和课程之间的E-R模型选课mn学号专业年级课
其他图形工具Warnier图32精选ppt2022/12/12其他图形工具Warnier图32精选ppt2022/12/其他图形工具(3)IPO图33精选ppt2022/12/12其他图形工具(3)IPO图33精选ppt2022/12/11其他图形工具(2)IPO图IPO图是输入、处理、输出图的简称左边框中列出有关的输入中间框中列出主要的处理右边框中列出产生的输出处理的顺序暗示了执行的顺序箭头指出数据通信的情况34精选ppt2022/12/12其他图形工具(2)IPO图34精选ppt2022/12/11总体设计总体设计总体设计概要设计和详细设计。概要设计主要任务是通过仔细分析软件规格说明,适当地对软件进行功能分解,从而把软件划分为模块,并且设计出完成预定功能的模块结构。详细设计阶段详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。36精选ppt2022/12/12总体设计概要设计和详细设计。36精选ppt2022/12/1模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。可以由许多程序员分工编写不同的模块可以使软件结构清晰,便于扩展使软件容易测试和调试,因而有助于提高软件的可靠性。模块大小要适中,不过分细。37精选ppt2022/12/12模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块模块独立模块的独立程度可以由两个定性标准来度量,分别称为内聚和耦合。耦合:衡量不同模块彼此间互相依赖(连接)紧密程度;内聚:衡量一个模块内部各个元素彼此结合的紧密程度。38精选ppt2022/12/12模块独立模块的独立程度可以由两个定性标准来度量,分别称为内聚耦合是对一个软件结构内不同模块之间互连程度的度量。尽可能松散耦合39精选ppt2022/12/12耦合是对一个软件结构内不同模块之间互连程度的度量。39精选数据耦合:特征耦合:控制耦合:外部耦合:公共耦合:内容耦合:弱强尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。40精选ppt2022/12/12数据耦合:弱尽量使用数据耦合,少用控制耦合,限制公共环境耦合内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。41精选ppt2022/12/12内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽功能内聚:信息内聚:通信内聚:过程内聚:时间内聚:逻辑内聚:巧合内聚:强弱设计时应该力求做到高内聚。42精选ppt2022/12/12功能内聚:强设计时应该力求做到高内聚。42精选ppt2022改进软件结构提高模块独立性模块规模应该适中深度、宽度、扇出和扇入都应适当模块的作用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口的模块模块功能应该可以预测43精选ppt2022/12/12改进软件结构提高模块独立性43精选ppt2022/12/11描绘软件结构的图形工具层次图和HIPO图结构图44精选ppt2022/12/12描绘软件结构的图形工具层次图和HIPO图44精选ppt202正文加工系统的层次图45精选ppt2022/12/12正文加工系统的层次图45精选ppt2022/12/11正文加工系统的H图46精选ppt2022/12/12正文加工系统的H图46精选ppt2022/12/11结构图的例子—产生最佳解的一般结构47精选ppt2022/12/12结构图的例子—产生最佳解的一般结构47精选ppt2022/1软件结构设计方法面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。利用数据流图中的“映射“,把数据流图变换成软件结构。48精选ppt2022/12/12软件结构设计方法面向数据流的设计方法的目标是给出设计软件结构变换流和事务流49精选ppt2022/12/12变换流和事务流49精选ppt2022/12/11设计步骤复查基本系统模型。复查并精化数据流图。确定数据流图具有变换特性还是事务特性。确定输入流和输出流的边界,从而孤立出变换中心。完成“第一级分解”。完成“第二级分解”。使用设计度量和启发规则对第一次分割得到的软件结构进一步精化。50精选ppt2022/12/12设计步骤50精选ppt2022/12/11数字仪表板系统的数据流图精化数据流图数据流图具有变换特性还是事务特性51精选ppt2022/12/12数字仪表板系统的数据流图精化数据流图51精选ppt2022/具有边界的数据流图确定输入流和输出流的边界,从而孤立出变换中心52精选ppt2022/12/12具有边界的数据流图确定输入流和输出流的边界,从而孤立出变换中第一级分解的方法53精选ppt2022/12/12第一级分解的方法53精选ppt2022/12/11数字仪表板系统的第一级分解完成“第一级分解”54精选ppt2022/12/12数字仪表板系统的第一级分解完成“第一级分解”54精选ppt2第二级分解的方法55精选ppt2022/12/12第二级分解的方法55精选ppt2022/12/11未经精化的输入结构完成“第二级分解”56精选ppt2022/12/12未经精化的输入结构完成“第二级分解”56精选ppt2022/精化后的数字仪表板系统的软件结构软件结构进一步精化57精选ppt2022/12/12精化后的数字仪表板系统的软件结构软件结构进一步精化57精选p事务分析的映射方法58精选ppt2022/12/12事务分析的映射方法58精选ppt2022/12/11详细设计详细设计详细设计阶段主要完成界面和程序过程设计.过程设计应该在数据设计、体系结构设计和接口设计完成之后进行.程序员将根据过程设计写出实际的程序代码。60精选ppt2022/12/12详细设计阶段主要完成界面和程序过程设计.60精选ppt202结构程序设计的经典定义如下所述:如果一个程序的代码块仅仅通过顺序、选择和循环这三种控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。61精选ppt2022/12/12结构程序设计的经典定义如下所述:61精选ppt2022/1过程设计的工具程序流程图62精选ppt2022/12/12过程设计的工具程序流程图62精选ppt2022/12/11盒图(N-S图)63精选ppt2022/12/12盒图(N-S图)63精选ppt2022/12/11PAD图64精选ppt2022/12/12PAD图64精选ppt2022/12/11判定表65精选ppt2022/12/12判定表65精选ppt2022/12/11用判定树表示计算行李费的算法判定树66精选ppt2022/12/12用判定树表示计算行李费的算法判定树66精选ppt2022/1伪码67精选ppt2022/12/12伪码67精选ppt2022/12/11测试测试69精选ppt2022/12/1269精选ppt2022/12/11回归测试(已执行过的测试用例的子集)包括下述三种不同的测试用例。检测软件全部功能的代表性测试用例。专门针对可能受修改影响的软件功能的附加测试。针对被修改过的软件成分的测试。70精选ppt2022/12/12回归测试(已执行过的测试用例的子集)包括下述三种不同的测试白盒测试技术逻辑覆盖是设计白盒测试方案的技术。设计测试方案是测试阶段的关键技术问题。71精选ppt2022/12/12白盒测试技术逻辑覆盖是设计白盒测试方案的技术。设计测试方案是语句覆盖为暴露程序的错误,至少每个语句应该执行一次。含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。72精选ppt2022/12/12语句覆盖72精选ppt2022/12/11判定覆盖又叫分支覆盖不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。条件覆盖不仅每个语句至少执行一次,而且判定表达式中每个条件都取到各种可能的结果。73精选ppt2022/12/12判定覆盖73精选ppt2022/12/11判定/条件覆盖判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,判定/条件覆盖能同时满足这两种覆盖标准。选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。条件组合覆盖要求选取足够多的测试数据,使每个判定表达式中条件的各种可能组合都至少出现一次。74精选ppt2022/12/12判定/条件覆盖74精选ppt2022/12/11路径测试TomMcCabe提出的一种白盒测试技术。首先计算过程设计结果的逻辑复杂度,并以该复杂度为指南定义执行路径的基本集合,从该基本集合导出的测试用例可以保证程序中每条语句至少执行一次,而且每个条件在执行时都将分别取true(真)和false(假)值。75精选ppt2022/12/12路径测试75精选ppt2022/12/11求平均值过程的流图使用基本路径测试技术设计测试用例步骤如下。根据过程设计结果画出相应的流图76精选ppt2022/12/12求平均值过程的流图使用基本路径测试技术设计测试用例步骤如下。PROCEDUREaverage;/*这个过程计算不超过100个在规定值域内的有效数字的平均值;同时计算有效数字的总和及个数。*/INTERFACERETURNSaverage,total_input,total_valid;INTERFACEACCEPTSvalue,minimum,maximum;TYPEvalue[1...100]ISSCALARARRAY;TYPEaverage,total_input,total_valid,minimum,maximum,sumISSCALAR;77精选ppt2022/12/12PROCEDUREaverage;77精选ppt2022TYPEiISINTEGER;1:i=1;total_input=total_valid=0;sum=0;2:DOWHILEvalue[i]<>-9993: ANDtotal_input<1004: incrementtotal_inputby1;5: IFvalue[i]>=minimum6: ANDvalue[i]<=maximum7: THENincrementtotal_validby1; sum=sum+value[i];8: ENDIF incrementiby1;9:ENDDO78精选ppt2022/12/12TYPEiISINTEGER;78精选ppt20210:IFtotal_valid>011:THENaverage=sum/total_valid;12:ELSEaverage=-999;13:ENDIFENDaverage79精选ppt2022/12/1279精选ppt2022/12/11计算流图的环形复杂度环形复杂度定量度量程序的逻辑复杂性。三种方法来计算环形复杂度。流图中的区域数等于环形复杂度。流图G的环形复杂度V(G)=E-N+2,其中E是流图中边的条数,N是流图中节点数。流图G的环形复杂度V(G)=P+1,其中P是流图中判定节点的数目。使用上述任何一种方法,都可以计算出流图的环形复杂度为6。80精选ppt2022/12/12计算流图的环形复杂度80精选ppt2022/12/11确定线性独立路径的基本集合对于所描述的求平均值过程来说,由于环形复杂度为6,因此共有6条独立路径。例如,下面列出了6条独立路径:路径1:1-2-10-11-13路径2:1-2-10-12-13路径3:1-2-3-10-11-13路径4:1-2-3-4-5-8-9-2-路径5:1-2-3-4-5-6-8-9-2-路径6:1-2-3-4-5-6-7-8-9-2-81精选ppt2022/12/12确定线性独立路径的基本集合81精选ppt2022/12/1设计可强制执行基本集合中每条路径测试用例选取数据使得在测试每条路径时都适当设置好了各个判定节点的条件。路径1的测试用例:
value[k]=有效输入值,其中k<i(i的定义在下) value[i]=-999,其中2≤i≤100
预期结果:基于k的正确平均值和总数 注意,路径1无法独立测试,必须作为路径4、5和6的一部分来测试。路径2的测试用例:
value[1]=-999
预期结果:average=-999,其他都保持初始值82精选ppt2022/12/12设计可强制执行基本集合中每条路径测试用例82精选ppt202路径4的测试用例:
value[i]=有效输入值,其中i<100 value[k]<minimum,其中k<i
预期结果:其于k的正确平均值和总数路径5的测试用例:
value[i]=有效输入值,其中i<100 value[k]>maximum,其中k<i
预期结果:其于k的正确平均值和总数路径6的测试用例:
value[i]=有效输入值,其中i<100
预期结果:正确的平均值和总数83精选ppt2022/12/12路径4的测试用例:83精选ppt2022/12/11黑盒测试技术黑盒测试着重测试软件的功能需求,让软件工程师设计出能充分检查程序所有功能需求的输入条件集。黑盒测试并不能取代白盒测试技术,它是与白盒测试互补的方法,它很可能发现白盒测试不易发现的其他不同类型的错误。84精选ppt2022/12/12黑盒测试技术黑盒测试着重测试软件的功能需求,让软件工程师设计黑盒测试力图发现下述类型的错误:①功能不正确或遗漏了功能;②界面错误;③数据结构错误或外部数据库访问错误;④性能错误;⑤初始化和终止错误。白盒测试在测试过程的早期阶段进行,而黑盒测试主要用于测试过程的后期。黑盒测试故意不考虑程序的控制结构,而把注意力集中于信息域。85精选ppt2022/12/12黑盒测试力图发现下述类型的错误:①功能不正确或遗漏了功能;等价划分:确定输入数据的有效等价类和无效等价类。边界值分析错误推测86精选ppt2022/12/12等价划分:确定输入数据的有效等价类和无效等价类。86精选p面向对象基础面向对象基础什么是对象技术
基于对象概念的软件开发方法对象包含有数据及处理数据的功能函数在分析、设计和实现的整个过程中只使用一个概念对象的开发方法能够解决软件危机中大多数问题的方法对象=数据+功能88精选ppt2022/12/12什么是对象技术基于对象概念的软件开发方法88精选ppt20对象技术的优势稳定:较小的需求变化不会导致系统结构大的改变举例:某公司的销售处理系统定单合同出费89精选ppt2022/12/12对象技术的优势稳定:较小的需求变化不会导致系统结构大的改对象技术的优势
稳定:数据和功能都打包在一起,从而改善软件的再重用性软件重用能提高质量,减少由于编制新的系统代码而产生的成本File
MgrMacro
EditorMath
UtilitiesText
EditorPrint
UtilitiesFormat
EditorMenusString
UtilitiesSpreadsheetWordProcessorReusable-ComponentRepository90精选ppt2022/12/12对象技术的优势稳定:数据和功能都打包在一起,从而改善软件的对象技术的优势面向对象的模型更加贴切地反映了现实世界更加准确地描述公共数据和过程易于理解,尤其对于使用者现实世界LaserPrinterExternalDriveComputer对象图91精选ppt2022/12/12对象技术的优势面向对象的模型更加贴切地反映了现实世界现实世界对象技术的优势面向对象的方法支持大规模开发可以严格定义各个组件之间的交互减少内部的依赖关系减少集成的问题支持并行开发92精选ppt2022/12/12对象技术的优势面向对象的方法支持大规模开发92精选ppt2对象技术的优势帮助开发多层结构
EquipmentandCustomerspecificCodeProcessesandotherapplicationcodeMajorabstractions,classes,etc.MechanismsH/Wspecificcode,O/Sspecificcodegeneral-purposecode12345ApplicationSpecificApplicationIndependentLessReuseMoreReuse93精选ppt2022/12/12对象技术的优势帮助开发多层结构Equipmentand面向对象概念Object对象Class类Instance实例State状态Behavior行为Attribute属性Operation操作(Method方法)Inheritance继承Subclasses子类Superclasses父类Generalization普遍化Polymorphism多态94精选ppt2022/12/12面向对象概念Object对象94精选ppt2022/12面向对象概念Abstraction抽象Encapsulation封装Association关联Role角色Multiplicity多重性Aggregation聚合Dependencyassociation依赖Package包UseCase用例Scenario脚本Actor95精选ppt2022/12/12面向对象概念Abstraction抽象95精选ppt20什么是对象一个对象代表了一个现实的或虚构的实体自然实体概念实体软件实体化学过程连接显示96精选ppt2022/12/12什么是对象一个对象代表了一个现实的或虚构的实体化学过程连接显对象的属性对象是应用中具有明显边界和含义的概念、抽象或事物一个对象有三个重要属性:状态行为标识术语“实例”是“对象”的同义词97精选ppt2022/12/12对象的属性对象是应用中具有明显边界和含义的概念、抽象或事物对象的状态一个对象的状态是它反映于现实世界的一系列属性:参数的数值(也就是,与对象有关系的数据)它与其它对象的关系任一时刻的历史状态可能的状态: 停泊运营 着陆终止班机74798精选ppt2022/12/12对象的状态一个对象的状态是它反映于现实世界的一系列属性:可对象的行为定义当其它对象发出请求时,该对象如何反应由为对象定义的一系列操作决定班机747核对出发时间(返回9:27)机票代理99精选ppt2022/12/12对象的行为定义当其它对象发出请求时,该对象如何反应班机74对象的标识
每一个对象都有一个唯一的标识,即使其状态有可能与其它对象一样班机747on11/10班机747on11/11班机747on11/12100精选ppt2022/12/12对象的标识每一个对象都有一个唯一的标识,即使其状态有可能什么是类(Class)
类是一组具有相同结构和行为的对象的集合共同的结构通过属性表现出来(i.e.数据)共同的行为通过操作表现出来(i.e.功能)班机747结构班机号日期分配的班机起点终点状态行为装载设备起飞延迟取消终止101精选ppt2022/12/12什么是类(Class)类是一组具有相同结构和行为的对象的集类的示例ClassEmployeeStructureNameAddressPositionSalaryStartDateEndDateBehaviorHireFirePromoteIncreaseSalaryRetire102精选ppt2022/12/12类的示例ClassStructureBehavior102精类图:用来表达类类图是一种主要的图形化对象表示法类图显示类及类之间的关系一个类通过在类图标中的类名(唯一的)来代表班机103精选ppt2022/12/12类图:用来表达类类图是一种主要的图形化对象表示法班机103属性
属性是类的特征或特性属性的值是某一特定对象的属性值在类中属性名必须是唯一的每一个类的实例都有为这个类定义的所有属性的值例如:银行帐户类属性帐号银行名称拥有者金额Mary的银行帐户属性值12345678FirstNationalBankMarySmith$1024.48104精选ppt2022/12/12属性属性是类的特征或特性银行帐户类属性Mary的银行帐户属操作
对象的行为是由为此对象定义的一系列操作决定的操作访问或修改对象的属性值一个类可能同时存在多个实例,也可能在某一时刻没有实例一个类的所有实例都可以使用在这个类中定义的操作105精选ppt2022/12/12操作对象的行为是由为此对象定义的一系列操作决定的105精选属性和操作的标记法
在类的图标中描述属性和操作通常只显示最重要的属性和操作,避免图形混乱属性显示在操作上方,操作的名字后跟有()班机flightNumberdatedeparturetimestatusrelease()takeOff()属性操作106精选ppt2022/12/12属性和操作的标记法在类的图标中描述属性和操作班机fligh类是生成对象的模板类是生成对象的模板类的定义中包含有产生和删除对象的操作属性显示在操作上方,操作的名字后跟有()一个类定义了使用哪种数据表示法来描述属性每一个实例都采用有属性值的数据表示法一个类通过一系列操作来定义行为这种操作能在每个实例中激活班机Flight187Flight121Flight747107精选ppt2022/12/12类是生成对象的模板类是生成对象的模板班机Flight187类和对象的关系
每一个对象都是某一个类的实例每一个类在某一时刻都有零个或更多的实类是静态的;它们的存在、语义和关系在序执行前就已经定义好了对象是动态的;它们在程序执行时可以被建和删除108精选ppt2022/12/12类和对象的关系每一个对象都是某一个类的实例108精选ppt关系所有的系统都包含了大量的类和对象对象通过与其它对象的协作完成系统的功能行为.协作通过关系来实现几种重要的关系类型:关联聚合依赖继承109精选ppt2022/12/12关系所有的系统都包含了大量的类和对象109精选ppt202示例:关联在一个工资系统中有下面两个类:关联表示了双向的关系,例如:给出一个Person的实例,我们能够知道他属于哪家公司给出一个Company的实例,我们能够知道在其中工作的所有人PersonCompany110精选ppt2022/12/12示例:关联在一个工资系统中有下面两个类:PersonCo关联的多重性多重性是指多个实例参与一个关联多重性通过位于关联线某一端的一个表达式或符号来表示对于每个关联关系,需要做出两个多重性的决定例如,在公司和职员的关联中每个公司可以雇用多个职员每个职员只有一个从属公司111精选ppt2022/12/12关联的多重性多重性是指多个实例参与一个关联111精选ppt示例:关联的多重性多重性决定可以揭示建模过程中隐藏的问题职员会不会失业?公司能不能没有职员?一个职员能不能有两份工作?职员职员雇主公司1..*1112精选ppt2022/12/12示例:关联的多重性多重性决定可以揭示建模过程中隐藏的问题职常用的多重性表示法多重性能解决两个问题关联是强制的(不包含零个)或随意的(包含零个)?一个实例可以连接的其它实例的最大数目?常用的多重性表示法:1 只有一个0..* 零或更多1..* 一个或更多0..1 零或一个* 零或更多3..7 指定的范围(3or4or5or6or7)1..3,7 结合使用(1or2or3or7)113精选ppt2022/12/12常用的多重性表示法多重性能解决两个问题113精选ppt20自反关联自反关联指同一个类中的对象的关系表示同一个类中多个对象的协作Acoursemayhave manypre-requisitesAcoursemaybeapre-requisite formanyothercoursesPre-requisiteCourse0..*0..*114精选ppt2022/12/12自反关联自反关联指同一个类中的对象的关系Acoursem聚合(包含)聚合是一种特殊的关联,体现整体和部分的关系聚合是一种“has-a”或包含的关系同样可以使用多重性CompanyDepartment1..*1115精选ppt2022/12/12聚合(包含)聚合是一种特殊的关联,体现整体和部分的关系Co依赖依赖表示一个对象需要其它对象为其提供服务又可称为client-supplier关系
client使用supplier提供的服务
supplier不需要了解client(s)
单向关系ControllerDisplayItemcontrols116精选ppt2022/12/12依赖依赖表示一个对象需要其它对象为其提供服务Contro继承
继承表示一个类从其它类中获得结构和行为(子类/父类)又名普遍化交通工具是一个父类地面交通工具和空中交通工具是子类VehicleGroundVehicleAirVehicleThearrowpointstowardthesuperclass117精选ppt2022/12/12继承继承表示一个类从其它类中获得结构和行为(子类/父类)V继承继承表示子类从父类继承时抽象的层次单继承:子类只从一个父类继承多继承:子类从多于一个的父类继承继承通常被称为“is-a”或“kind-of”
一个子类的实例也“isa”父类的实例一个子类的实例是“kind-of”父类118精选ppt2022/12/12继承继承表示子类从父类继承时抽象的层次118精选ppt20多层次ACarisakindofGroundVehiclewhichisakindofVehicleVehicleandAirVehicleareancestorsofAirplaneAirVehicleandAirplanearedescendantsofVehicleVehicleGroundVehicleAirVehicleCarTruckAirplaneHelicopter119精选ppt2022/12/12多层次ACarisakindofGroundVe继承的内容属性操作关系约束继承平衡类之间的共同之处120精选ppt2022/12/12继承的内容属性120精选ppt2022/12/11继承属性属性在继承结构的最高一层定义所有子类的实例能够继承这些属性每个子类可以增加或重新定义继承的属性;但在修改是要加倍注意GroundVehiclelicenseNumberweightCarTrucktonnageAtruckhasthreeattributes:licenseNumberweighttonnage121精选ppt2022/12/12继承属性属性在继承结构的最高一层定义GroundVehicl继承操作属性在继承结构的最高一层定义所有子类的实例能够继承这些操作每个子类可以增加或重新定义继承的属性GroundVehiclelicenseNumberweightregister()CarTrucktonnagecalculateTax()Atruckhasthreeattributes:licenseNumberweighttonnageandtwooperations:registercalculateTax122精选ppt2022/12/12继承操作属性在继承结构的最高一层定义GroundVehicl继承关系
关系也可以继承每个子类都可以分享继承的关系GroundVehiclelicenseNumberweightregister()AtruckhasanownerCarTrucktonnagecalculateTax()OwnerPerson1..*andacarhasanowner1123精选ppt2022/12/12继承关系关系也可以继承GroundVehiclelicen对象模型化技术OMT对象模型化技术把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。这个模型化的过程是一个迭代过程。124精选ppt2022/12/12对象模型化技术OMT对象模型化技术把分析时收集的信息构造在三基于三个模型的分析过程功能模型着重于系统内部数据的传送和处理。功能模型定义“做什么”动态模型定义“何时做”对象模型定义“对谁做”。125精选ppt2022/12/12基于三个模型的分析过程功能模型着重于系统内部数据的传送和处理UML的图用例图(use-casediagram)用例是对系统提供的功能(即系统的具体用法)的描述。用例图从用户的角度描述系统功能,并指出各个功能的操作者。用例图定义了系统的功能需求。126精选ppt2022/12/12UML的图126精选ppt2022/12/11静态图(staticdiagram)这类图描述系统的静态结构,属于这类图的有类图(classdiagram)和对象图(objectdiagram)。类图不仅定义系统中的类,表示类与类之间的关系(例如,关联、依赖、泛化和细化等关系),也表示类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命期内都是有效的。127精选ppt2022/12/12静态图(staticdiagram)127精选ppt20对象图是类图的实例,它使用几乎与类图完全相同的图示符号。两者之间的差别在于,对象图表示的是类的多个对象实例,而不是实际的类。由于对象有生命周期,因此对象图只能在系统的某个时间段内存在。一般说来,对象图没有类图重要,它主要用来帮助对类图的理解,也可用在协作图中,表示一组对象之间的动态协作关系。128精选ppt2022/12/12对象图是类图的实例,它使用几乎与类图完全相同的图示符号。两者行为图(behaviordiagram)这类图描述系统的动态行为和组成系统的对象间的交互关系,包括状态图(statediagram)和活动图(activitydiagram)两种图形。状态图描述类的对象可能具有的所有状态,以及引起状态变化的事件,状态变化称作状态转换。通常,状态图是对类图的补充。129精选ppt2022/12/12行为图(behaviordiagram)129精选ppt实际使用时,并不需要为每个类都画状态图,仅需要为那些有多个状态,且其行为在不同状态有所不同的类画状态图。活动图描述为满足用例要求而进行的动作以及动作间的关系。活动图是状态图的一个变种,它是另一种描述交互的方法。130精选ppt2022/12/12实际使用时,并不需要为每个类都画状态图,仅需要为那些有多个状交互图(interactivediagram)这类图描述对象间的交互关系,包括顺序图(sequencediagram)和协作图(collaborationdiagram)两种图形。顺序图显示若干个对象间的动态协作关系,它强调对象之间发送消息的先后次序,描述对象之间的交互过程。协作图与顺序图类似,也描述对象间的动态协作关系。除了显示对象间发送的消息之外,协作图还显示对象及它们之间的关系(称为上下文相关)。131精选ppt2022/12/12交互图(interactivediagram)131精选p由于顺序图和协作图都描述对象间的交互关系,所以建模者可以选择其中一种表示对象间的协作关系:如果需要强调时间和顺序,最好选用顺序图;如果需要强调上下文相关,最好选择协作图。132精选ppt2022/12/12由于顺序图和协作图都描述对象间的交互关系,所以建模者可以选择实现图(implementationdiagram)这类图提供关于系统实现方面的信息,构件图(componentdiagram)和配置图(deploymentdiagram)属于这类图。构件图描述代码构件的物理结构及各个构件之间的依赖关系。构件可能是源代码、二进制文件或可执行文件。使用构件图有助于分析和理解构件之间的相互影响。133精选ppt2022/12/12实现图(implementationdiagram)13配置图定义系统中软件和硬件的物理体系结构。通常,配置图中显示实际的计算机和设备(用节点表示),以及各个节点之间的连接关系,也可以显示连接的类型及构件之间的依赖关系。在节点内部显示可执行的构件和对象,以清晰地表示出哪个软件单元运行在哪个节点上。134精选ppt2022/12/12配置图定义系统中软件和硬件的物理体系结构。通常,配置图中显示含扩展和使用关系的用例图135精选ppt2022/12/12含扩展和使用关系的用例图135精选ppt2022/12/11软件工程复习软件工程复习第1章基础知识137精选ppt2022/12/12第1章基础知识2精选ppt2022/12/11什么是软件软件的定义—软件由三部分组成:程序:在运行时,能提供所希望的功能和性能的指令集数据:使程序能够正确运行的数据文档:描述程序研制过程、方法及使用的文档软件处理的是信息和逻辑软件的开发,绝不仅仅是编写程序软件围绕着逻辑进行软件就是一个信息交换器产生、管理、获取、修改、显示或传送信息软件≠程序138精选ppt2022/12/12什么是软件软件的定义—软件由三部分组成:软件≠程序3精选pp什么是软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件工程(IEEE)1993年,提出软件工程1)将系统化、规范化、可量化的工程原则和方法,应用于软件的开发、运行和维护。2)对1)中方法的理论研究。139精选ppt2022/12/12什么是软件危机软件工程(IEEE)4精选ppt2022/12软件工程基本原理(开发与维护的指导)用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性140精选ppt2022/12/12软件工程基本原理(开发与维护的指导)5精选ppt2022/软件工程方法学把在软件生命周期全过程中使用的一整套技术的集合称为方法学(methodology),也称范型(paradigm)。软件工程方法学三个要素:方法、工具和过程。方法是完成软件开发各项任务的技术,回答“如何做”;工具是为方法的运用提供自动或半自动软件支撑环境,回答“用什么做”;过程是为获得高质量的软件要完成的一系列任务的框架,规定完成各项任务步骤,回答“如何控制、协调、保证质量”。管理方法141精选ppt2022/12/12软件工程方法学管理方法6精选ppt2022/12/11目前使用得最广泛的软件工程方法学。传统方法学也称为生命周期方法学或结构化范型。
当软件规模较大,或对软件的需求是模糊的或随时间变化的时候,使用结构化范型开发软件往往不成功;此外,使用传统方法学开发出的软件,维护起来通常都很困难。结构化-静态分析,面向对象-动态分析世界万物是变化的传统方法学与面向对象方法学142精选ppt2022/12/12目前使用得最广泛的软件工程方法学。世界万物是变化的传统方法学传统方法的特点生命周期模型软件过程划分为若干个阶段每个阶段有各自的任务阶段之间有某种顺序性143精选ppt2022/12/12传统方法的特点生命周期模型8精选ppt2022/12/11面向对象方法:对象作为融合数据及在数据之上的操作行为的统一的软件构件。把所有对象都划分成类(Class)。每个类都定义了一组数据和一组操作。按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,称为继承。对象彼此间仅能通过发送消息互相联系-封装性。数据:静态操作:动态EverythingisObject.144精选ppt2022/12/12面向对象方法:数据:静态EverythingisObje1.3软件生命周期
软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段,每个阶段有各自的任务。1软件定义2软件开发3运行维护145精选ppt2022/12/121.3软件生命周期软件生命周期由软件定义、软件开发和运行问题定义可行性研究需求分析概要设计详细设计编码和单元测试综合测试软件维护146精选ppt2022/12/12问题定义11精选ppt2022/12/11实际的瀑布模型软件过程模型(生命周期模型)147精选ppt2022/12/12实际的瀑布模型软件过程模型(生命周期模型)12精选ppt20快速原型模型148精选ppt2022/12/12快速原型模型13精选ppt2022/12/11增量模型瀑布模型:力求一次性给用户完整的系统。增量模型:逐步增加系统功能。需要开放的架构设计。149精选ppt2022/12/12增量模型瀑布模型:力求一次性给用户完整的系统。14精选ppt完整的螺旋模型150精选ppt2022/12/12完整的螺旋模型15精选ppt2022/12/11喷泉模型迭代是OO开发过程的主要特性。喷泉模型是典型的面向对象生命周期模型。“喷泉”体现了面向对象软件开发过程迭代和无缝的特性。为避免喷泉模型的过分无序,把一个线性过程作为总目标。迭代
151精选ppt2022/12/12喷泉模型迭代是OO开发过程的主要特性。迭代16精选ppt2喷泉模型迭代:逐步求精阶段间没有明显的界限-面向对象的思想保证了各个阶段开发的一致性。迭代是OO开发过程的主要特性。喷泉模型是典型的面向对象生命周期模型。“喷泉”体现了面向对象软件开发过程迭代和无缝的特性。152精选ppt2022/12/12喷泉模型迭代:逐步求精迭代是OO开发过程的主要特性。17精选可行性与需求分析可行性与需求分析可行性研究不是解决问题,而是确定问题是否值得去解决较高层次的系统分析和设计过程需求分析发现、求精、建模、规格说明和复审的过程反复求精多次细化,得出对目标系统的完整、准确和具体的要求。建立数据模型、功能模型和行为模型等三种模型。还要写出准确的软件需求规格说明。。154精选ppt2022/12/12可行性研究。19精选ppt2022/12/11系统流程图系统流程图概括描绘物理系统的传统工具用图形符号,以黑盒子形式描述组成系统的每个部件程序、文档、数据库、人工过程155精选ppt2022/12/12系统流程图系统流程图20精选ppt2022/12/11系统流程图例子例子每个符号用黑盒子形式定义了组成系统的一个部件。没有部件内部的具体工作过程箭头确定通过系统的逻辑路径(信息流动路径)156精选ppt2022/12/12系统流程图例子例子每个符号用黑盒子形式定义了组成系统的一个部
数据流图数据流图(DFD)描绘信息流和数据从输入移动到输出的过程中所经受的变换。或或或符号含义数据的源点或终点数据流数据存储加工(数据处理)157精选ppt2022/12/12数据流图数据流图(DFD)描绘信息流和数据从输入移动到输加工中常见关系的符号表示符号含义由数据A和B共同变换为数据C由数据A变换为数据B和数据C由数据A或B,或者数据A和B共同变换为数据C由数据A变换为数据B或C,或者同时变换为数据B和C由数据A或B其中之一变换为数据C由数据A变换为数据B或C其中之一T*T*T+T+TT158精选ppt2022/12/12加工中常见关系的符号表示符号含义由数159精选ppt2022/12/1224精选ppt2022/12/11把处理事务的功能进一步分解后的数据流图160精选ppt2022/12/12把处理事务的功能进一步分解后的数据流图25精选ppt2022数据字典数据字典是关于数据的信息的集合,即对DFD图中包含的元素的定义的集合。数据字典的用途是供人查阅不了解的条目的解释。提供分析设计过程中关于数据的描述。数据字典与DFD相辅相成。只有DFD和对应的元素的精确定义放在一起,才能构成系统的规格说明。161精选ppt2022/12/12数据字典数据字典是关于数据的信息的集合,即对DFD图中包含定义数据的方法=意思是等价于(或定义为);+意思是和(即,连接两个分量);[]意思是或(即,从方括弧内列出的若干个分量中选择一个),用“|”号分开供选择的分量;{}意思是重复(即,重复花括弧内的分量);()意思是可选(即,圆括弧里的分量可有可无)。使用上限和下限进一步注释表示重复的花括弧。左边用上角标和下角标分别表明重复的上限和下限;左侧标明重复的下限,在闭括弧的右侧标明上限。例如:{A}和1{A}5含义相同。15162精选ppt2022/12/12定义数据的方法=意思是等价于(或定义为);1527精选p数据字典的实现CASE工具人工卡片163精选ppt2022/12/12数据字典的实现CASE工具28精选ppt2022/12/11
实体—关系图数据模型包含三种相互关联的信息:数据对象、描述数据对象属性及数据对象彼此间相互连接的关系。164精选ppt2022/12/12实体—关系图数据模型包含三种相互关联的信息:数据对象、描述某校教学管理ER图165精选ppt2022/12/12某校教学管理ER图30精选ppt2022/12/11学生和课程之间的E-R模型学生和课程之间的多对多联系E-R模型;(b)将多对多联系转换为一对多联系E-R模型选课mn学号专业年级课名课号学时1n学号专业课名课号学时学号课号n1姓名课程学生姓名课程学分学生年级选课学分(a)(b)166精选ppt2022/12/12学生和课程之间的E-R模型选课mn学号专业年级课
其他图形工具Warnier图167精选ppt2022/12/12其他图形工具Warnier图32精选ppt2022/12/其他图形工具(3)IPO图168精选ppt2022/12/12其他图形工具(3)IPO图33精选ppt2022/12/11其他图形工具(2)IPO图IPO图是输入、处理、输出图的简称左边框中列出有关的输入中间框中列出主要的处理右边框中列出产生的输出处理的顺序暗示了执行的顺序箭头指出数据通信的情况169精选ppt2022/12/12其他图形工具(2)IPO图34精选ppt2022/12/11总体设计总体设计总体设计概要设计和详细设计。概要设计主要任务是通过仔细分析软件规格说明,适当地对软件进行功能分解,从而把软件划分为模块,并且设计出完成预定功能的模块结构。详细设计阶段详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。171精选ppt2022/12/12总体设计概要设计和详细设计。36精选ppt2022/12/1模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。可以由许多程序员分工编写不同的模块可以使软件结构清晰,便于扩展使软件容易测试和调试,因而有助于提高软件的可靠性。模块大小要适中,不过分细。172精选ppt2022/12/12模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块模块独立模块的独立程度可以由两个定性标准来度量,分别称为内聚和耦合。耦合:衡量不同模块彼此间互相依赖(连接)紧密程度;内聚:衡量一个模块内部各个元素彼此结合的紧密程度。173精选ppt2022/12/12模块独立模块的独立程度可以由两个定性标准来度量,分别称为内聚耦合是对一个软件结构内不同模块之间互连程度的度量。尽可能松散耦合174精选ppt2022/12/12耦合是对一个软件结构内不同模块之间互连程度的度量。39精选数据耦合:特征耦合:控制耦合:外部耦合:公共耦合:内容耦合:弱强尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。175精选ppt2022/12/12数据耦合:弱尽量使用数据耦合,少用控制耦合,限制公共环境耦合内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。176精选ppt2022/12/12内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽功能内聚:信息内聚:通信内聚:过程内聚:时间内聚:逻辑内聚:巧合内聚:强弱设计时应该力求做到高内聚。177精选ppt2022/12/12功能内聚:强设计时应该力求做到高内聚。42精选ppt2022改进软件结构提高模块独立性模块规模应该适中深度、宽度、扇出和扇入都应适当模块的作用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口的模块模块功能应该可以预测178精选ppt2022/12/12改进软件结构提高模块独立性43精选ppt2022/12/11描绘软件结构的图形工具层次图和HIPO图结构图179精选ppt2022/12/12描绘软件结构的图形工具层次图和HIPO图44精选ppt202正文加工系统的层次图180精选ppt2022/12/12正文加工系统的层次图45精选ppt2022/12/11正文加工系统的H图181精选ppt2022/12/12正文加工系统的H图46精选ppt2022/12/11结构图的例子—产生最佳解的一般结构182精选ppt2022/12/12结构图的例子—产生最佳解的一般结构47精选ppt2022/1软件结构设计方法面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。利用数据流图中的“映射“,把数据流图变换成软件结构。183精选ppt2022/12/12软件结构设计方法面向数据流的设计方法的目标是给出设计软件结构变换流和事务流184精选ppt2022/12/12变换流和事务流49精选ppt2022/12/11设计步骤复查基本系统模型。复查并精化数据流图。确定数据流图具有变换特性还是事务特性。确定输入流和输出流的边界,从而孤立出变换中心。完成“第一级分解”。完成“第二级分解”。使用设计度量和启发规则对第一次分割得到的软件结构进一步精化。185精选ppt2022/12/12设计步骤50精选ppt2022/12/11数字仪表板系统的数据流图精化数据流图数据流图具有变换特性还是事务特性186精选ppt2022/12/12数字仪表板系统的数据流图精化数据流图51精选ppt2022/具有边界的数据流图确定输入流和输出流的边界,从而孤立出变换中心187精选ppt2022/12/12具有边界的数据流图确定输入流和输出流的边界,从而孤立出变换中第一级分解的方法188精选ppt2022/12/12第一级分解的方法53精选ppt2022/12/11数字仪表板系统的第一级分解完成“第一级分解”189精选ppt2022/12/12数字仪表板系统的第一级分解完成“第一级分解”54精选ppt2第二级分解的方法190精选ppt2022/12/12第二级分解的方法55精选ppt2022/12/11未经精化的输入结构完成“第二级分解”191精选ppt2022/12/12未经精化的输入结构完成“第二级分解”56精选ppt2022/精化后的数字仪表板系统的软件结构软件结构进一步精化192精选ppt2022/12/12精化后的数字仪表板系统的软件结构软件结构进一步精化57精选p事务分析的映射方法193精选ppt2022/12/12事务分析的映射方法58精选ppt2022/12/11详细设计详细设计详细设计阶段主要完成界面和程序过程设计.过程设计应该在数据设计、体系结构设计和接口设计完成之后进行.程序员将根据过程设计写出实际的程序代码。195精选ppt2022/12/12详细设计阶段主要完成界面和程序过程设计.60精选ppt202结构程序设计的经典定义如下所述:如果一个程序的代码块仅仅通过顺序、选择和循环这三种控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。196精选ppt2022/12/12结构程序设计的经典定义如下所述:61精选ppt2022/1过程设计的工具程序流程图197精选ppt2022/12/12过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年国家甲级资质:中国男式皮装融资商业计划书
- 2024-2030年中国锯切资金申请报告
- 2024-2030年中国配电变压器行业发展现状规划分析报告
- 2024-2030年中国跑步机资金申请报告
- 2024-2030年中国藏红花境外融资报告
- 2024-2030年中国特丁基对苯二酚市场运行态势及投资前景规划研究报告
- 2024-2030年中国消防器材制造境外融资报告
- 2024-2030年中国新型隔热浮法玻璃市场运营状况与发展潜力分析报告
- 2024-2030年中国变压吸附制氧设备项目申请报告
- 2024-2030年中国公募证券投资基金行业竞争趋势及投资模式分析报告
- 行列式练习题目及答案
- 小区组建首次业主大会筹备组(会)的筹备、建议方案
- 《无字书图书馆》导读课
- 自我效能感理论及其研究综述
- 医生问诊时与患者对话
- 中华护理学会会员申请表(普通+资深会员)
- 招标代理费收费标准
- (完整版)HSE管理体系及措施
- 军人体型标准对照表
- 浅谈吉林省中药材产业发展
- 学生学习评价量表模板
评论
0/150
提交评论