软件工程读书笔记.docx
- 文档编号:26849339
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:89
- 大小:81.97KB
软件工程读书笔记.docx
《软件工程读书笔记.docx》由会员分享,可在线阅读,更多相关《软件工程读书笔记.docx(89页珍藏版)》请在冰豆网上搜索。
软件工程读书笔记
第一章绪论
第一节软件工程的产生
一软件的特点:
1软件的定义:
计算机程序及其说明程序的各种文档。
“程序”是计算任务的处理对象和处理规则的描述。
“文档”是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2软件的特性:
1)软件是一种逻辑产品,它与物质产品有很大的区别,它看不见、摸不着具有无形性,是脑力劳动的结晶,它以程序和文档形式出现,保存在PC存储器的磁盘和光盘介质上,通过计算机的执行才能体现它的功能与作用。
2)软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,完成后通过复制就产生大量的软件产品。
3)软件产品不会用坏,不存在磨损、消耗问题。
4)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的。
5)软件费用不断增加,软件成本相当昂贵。
二软件生产的发展:
程序设计时代、程序系统时代、软件工程时代三个阶段。
1程序设计时代(1946年到1956年)
生产方式:
个体手工劳动,使用工具是机器语言、汇编语言。
开发方法:
追求编程技巧、追求程序运行效率,因而程序难读、难懂、难修改。
硬件特征:
价格贵、存储容量小、运行可靠性差。
软件特征:
只有程序、程序设计概念,不重视程序设计方法。
2程序系统时代(1956年到1968年)
生产方式:
作坊式的小集团合作生产,生产工具是高级语言。
开发方法:
仍旧靠个人技巧,但开始提出结构化方法。
硬件特征:
速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长。
软件特征:
程序员数量猛增。
导致软件危机的产生。
3软件工程时代(1968年至今)
生产方式:
工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
硬件特征:
向超高速、大容量、微型化以及网络化方向发展。
软件特征:
开发技术有很大进步,但未能有突破性进展,软件价格不断上升,没有完全摆脱软件危机。
三软件危机:
软件开发技术的进步一直未能满足发展的要求,在软件开发中遇到的问题找不到解决方法,使问题积累起来,形成尖锐的矛盾,因而导致了软件危机。
1软件危机的表现:
1)经费预算经常突破、完成时间一再拖延。
2)开发的软件不能满足用户要求。
3)开发的软件可维护性差。
4)开发的软件可靠性差。
2软件危机的原因:
1)软件规模越来越大,结构越来越复杂。
2)软件开发管理困难而复杂。
3)软件开发费用不断增加。
4)软件开发技术落后。
5)生产方式落后。
6)开发工具落后,生产率提高缓慢。
四软件工程:
用科学知识和技术原理来定义、开发、维护软件的一门科学。
1软件工程的性质:
是一门综合性的交叉学科,涉及计算机科学、工程科学、管理科学、数学等领域。
2软件工程的目标:
成功地建造一个大型软件系统,即达到如下目标:
1)付出较低的开发成本,2)达到要求的软件功能,3)取得较好的软件性能,4)开发的软件易于移植,5)需要较低的维护费用,6)能按时完成开发任务,及时交付使用,7)开发的软件可靠性高。
3软件工程内容:
软件开发技术和软件开发管理两方面。
软件开发技术中:
研究软件开发方法、软件开发过程、软件开发工具和环境。
软件开发管理中,主要是研究软件管理科学、软件经济学、软件心理学等。
4软件工程面临的问题:
软件费用、软件可靠性、软件维护、软件生产率、软件重用等。
1)软件费用:
软件生产基本上处于手工状态,软件是知识高度密集的技术的综合产物,人力资源远远不能适应软件这种迅速增长的社会要求,软件费用上升的势头还将继续下去。
2)软件可靠性:
指软件系统能否在既定的环境条件下运行并实现所期望的结果。
通常在开发中花费40%代价进行测试和排错,为提高可靠性就要付出足够的代价。
3)软件维护:
费用占软件系统费用的2/3,而软件开发费用只占整个软件系统费用的1/3。
维护工作非常困难,效率低下。
4)软件生产率:
计算机的广泛应用使得软件的需求量大幅度上升,而软件的生产又处于手工开发的状态,软件生产率低下,成为一个重要问题。
5)软件重用:
提高软件的重用性,对于提高软件生产率、降低软件成本有重要意义。
第二节软件工程过程和软件生存周期
一软件工程过程:
规定了获取、供应、开发、操作和维护软件时,要实施的过程活动和任务。
目的是为各种人员提供一个公共的框架,以便用相同的语言进行交流。
包括:
1获取过程:
定义需方按合同获取一个系统、软件产品或服务的活动。
2供应过程:
定义供方向需方提供合同中的系统、软件产品或服务所需活动。
3开发过程:
包括需求分析、设计、编码、集成、测试、软件安装和验收活动。
4操作过程:
定义操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需的活动。
5维护过程:
定义维护者和机构为了修改和管理软件,使它处于良好运行状态所需要的活动。
6管理过程:
包括项目开始和范围定义,项目管理计划,实施和控制,评审和评价,项目完成。
7支持过程:
对项目的生存周期过程给予支持。
它有助于项目的成功并能提高项目的质量。
二软件生存周期:
指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。
划分软件生存周期的原则:
各阶段的任务应尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。
1可行性分析和项目开发计划:
进行问题定义,可行性分析,制定项目开发计划。
系统分析员、用户和使用部门负责人共同讨论,生成的文档是:
项目开发计划和可行性分析报告。
2需求分析:
准确地确定软件系统必须做什么,确定软件系统必须具备哪些功能。
系统分析员与用户交流,生成软件需求说明书。
3概要设计:
开发人员把确定的各项功能需求转换成需要的体系结构。
4详细设计:
为每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述。
5编码:
把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某种特定程序设计语言的“源程序清单”。
6测试:
是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。
测试分为:
单元测试、集成测试、确认测试。
7维护:
软件周期中的时间最长的阶段。
第三节软件生存周期模型、方法和工具
一软件生存周期模型
1模型:
是为了理解事物而对事物做出的一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。
2软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
包括瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等。
3六种常用的模型
1)瀑布模型:
是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。
它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。
它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落,是一种整体工发模型。
特点:
为软件开发提供了一种有效的管理模式,根据这一模式制定开发计划,进行成本预算,组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,所以它是以文档作为驱动、适合于软件需求很明确的软件项目的模型。
它在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。
缺点:
它是一种理想的线性开发模式,缺乏灵活性。
特别是无法解决软件需求不明确或不准确的问题。
2)增量模型:
一种非整体开发的模型,软件在该模型中是“逐渐”开发出来的,开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。
或者先开发一个“原型”软件。
完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
优点:
具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
3)螺旋模型:
将瀑布模型与增量模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足,是一种风险驱动的模型。
将开发过程分为几个螺旋周期,每个周期大致和瀑布模型相符合,在每个螺旋周期内分为四个工作步:
第一制定计划。
确定目标,选定实施方案,明确开发限制条件。
第二风险分析。
分析所选方案,识别风险,通过原型消除风险,第三开发实施。
实施软件开发。
第四用户评估。
评价开发工作,提出修改意见建立下一个周期的计划。
特点:
适合大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个螺旋周期出现的风险有所了解,从而做出相应的反应。
需要相当丰富的风险评估经验和专门知识,使其应用受到一定限制。
4)喷泉模型:
一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法,克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,其使开发过程具有迭代性和无间隙性。
无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界。
5)基于知识的模型:
又称智能模型,将瀑布模型和专家系统结合在一起。
6)变换模型:
适合于形式化开发方法的模型,从软件需求形式化说明开始,经过一系列变换,最终得到系统的目标程序。
二软件开发方法:
是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
包括结构化方法,Jackson方法,维也纳开发方法(VDM)、面向对象的开发方法等。
1结构化方法:
由结构化分析、结构化设计、结构化程序设计构成。
它是一种面向数据流的开发方法。
1)结构化分析:
是根据分解与抽象的原则按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。
2)结构化设计:
是根据模块独立性准则、软件结构准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。
3)结构化程序设计是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。
结构化方法总指导思想:
自顶向下,逐步求精。
基本原则是功能的分解与抽象,特别适合于数据处理领域的问题,但对于规模大的项目,特别复杂的项目不太适应,难于解决软件重用问题,难于适应需求变化问题,难于彻底解决维护问题。
2Jackson方法:
一种面向数据结构的开发方法
1)JSP(JacksonstructureProgramming)方法是以数据结构为驱动的适合于小规模的项目。
当输入数据结构无对应关系时难应用此法。
2)JSD(JacksonSystemDevelopment)一个完整的系统开发方法,首先建立现实世界的模型,再确定系统的功能需求,对需求的描述特别强调操作之间的时序性。
它是以事件作为驱动的,是一种基于进程的开发方法。
所以应用于时序特点较强的系统,包括数据处理系统和一些实时控制系统。
3维也纳开发方法(VDM)是一种形式化的开发方法,软件的需求用严格的形式语言描述,然后把描述模型逐步变换成目标系统。
VDM是一个基于模型的方法,以指称语义为基础。
主要思想是将软件系统当作模型来给予描述,把软件的输入、输出看作模型对象,把这些对象在计算机内的状态看作该模型在对象上的操作。
目的是从软件系统最高一级抽象直到最后生成目标的每一步都给予形式化说明,以此提高软件的可靠性。
4面向对象的开发方法:
基本出发点是尽能按人类认识世界的方法和思维方式来分析和解决问题。
以对象作为基本元素,它是分析问题、解决问题的核心。
包括面向对象分析、面向对象设计、面向对象实现。
面向对象开发方法有Booch方法。
Coad方法和OMT方法。
统一建模语言即UML语言。
它是面向对象的标准建模语言。
三软件开发工具
1软件工具一般是指为了支持软件人员开发和维护活动而使用的软件。
2工具箱:
一种工具支持一种开发活动。
然后将各种工具简单组合起来就构成工具箱。
其工具界面不统一,工具内部无联系,工具切换由人工操作,对大型软件开发与维护的支持能力有限,无法支持一个统一的软件开发和维护过程。
3软件开发环境:
目的是使软件工具支持整个生存周期。
4计算机辅助软件工程:
软件开发的自动化,简称CASE,实质是为软件开发提供一组优化集成的且能大量节省人力的软件开发工具,目的是实现软件生存周期各环节的自动化并使之成为一个整体,是软件工具和软件开发方法的结合。
5软件开发方法
1)结构化方法可使用瀑布模型、增量模型、螺旋模型进行开发。
2)Jackson方法可用瀑布模型、增量模型进行开发。
3)面向对象方法一般采用喷泉模型也可用瀑布模型、增量模型进行开发。
4)形式化的维也纳方法只能用变换模型进行开发。
第二章软件可行性研究与项目开发计划
第一节可行性研究
软件可行性研究目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
一可行性研究的任务:
首先需要进行概要的分析。
初步确定项目的规模和目标,确定项目的约束和限制,将它们清楚地列举出来。
然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种办法都研究它的可行性。
1技术可行性:
对要开发项目的功能、性能、限制和条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
应考虑情况包括:
1)开发风险2)资源的有效性3)技术4)开发人员在评估技术可行性时,一旦估计错误,将出现灾难性后果。
2经济可行性:
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
包括:
成本—效益分析、公司经营长期策略、开发所需的成本的资源、潜在的市场前景。
3社会可行性:
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
包括:
合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。
二可行性研究的具体步骤:
1确定项目规模和目标2研究正在运行的系统3建立新系统的高层逻辑模型4导出和评价各种方案5推荐可行的方案6编写可行性研究报告。
三可行性研究报告的主要内容:
1引言2可行性研究前提3对现有系统的分析4所建议系统的技术可行性分析5所建议系统的经济可行性分析6社会因素可行性分析7其他可供选择方案8结论意见。
第二节系统流程图
一系统流程图的作用:
在可行性研究过程中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型,可以用系统流程图来描述所建议系统的物理模型。
1系统流程图是描绘物理系统的传统工具。
它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。
它表达了系统中各个元素之间的信息流动的情况。
2系统流程图的符号(P17P18)
第三节成本—效益分析
一目的:
是从经济角度评价开发一个新的软件项目是否可行。
成本—效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。
1效益分有形效益和无形效益两种。
有形效益可用货币的时间价值、投资回收期、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
2系统经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。
运行费用包括操作人员人数,工作时间、消耗的物资等。
二有形效益分析方法
1货币的时间价值:
通常用利率表示货币的时间价值。
2投资回收期:
衡量一个开发项目的价值,即使累计的经济效益等于最初的投资费用所需的时间越短,越快获得利润,越值得开发。
3纯收入:
在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。
第四节项目开发计划
项目开发计划的主要内容为:
1项目概述2实施计划3人员组织及分工4交付期限。
第三章软件需求分析
第一节需求分析的任务
一概念:
需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
1难点:
1)问题的复杂性2)交流障碍3)不完备性和不一致性4)需求易变性
2基本原则:
1)必须能够表达和理解问题的数据域和功能域。
数据域包括数据流(即数据通过一个系统时的变化方式)数据内容和数据结构,而功能域反映上述三个方面的控制信息。
2)可以把一个复杂问题按功能进行分解并可逐层细化。
3)建模:
建立模型可以帮助分析人员更好地理解软件系统的信息、功能行为这些模型也是软件设计的基础。
二需求分析的基本任务
1问题识别:
双方确定对问题的综合需求,包括:
1)功能需求2)性能需求3)环境需求4)用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性方面的需求,一般通过双方交流、调查研究来获取,并达到共同的理解。
2分析与综合,导出软件的逻辑模型。
3编写文档1)编写需求规格说明书2)编写初步用户使用手册3)编写确认测试计划4)修改完善软件开发计划。
三需求规格说明书内容
第二节结构化分析方法
结构化分析(StructuredAnalysis,SA)是面向数据流进行需求分析的方法,是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递,变换的关系自顶向下逐层分解,描绘出满足功能需求的软件模型。
一自顶向下逐层分解的分析策略:
分解:
把一个复杂的问题划分成若干个小问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。
分解可分层进行,先考虑问题最本质的方面,忽略细节,形成问题的高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的“抽象”级别,最高层问题最抽象,而低层的较为具体。
二描述工具:
SA方法利用图形等半形式化的描述方式表达需求,工具有1)数据流图2)数据字典3)描述加工逻辑的结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个加工。
三SA分析步骤
1了解当前系统的工作流程,获得当前系统的物理模型,这一模型包含许多具体因素,反映现实世界的实际情况。
2抽象出当前系统的逻辑模型。
去掉物理模型中非本质因素,抽取出本质的因素。
1)本质的因素指系统固有的、不依赖运行环境变化而变化的因素,任何实现均这样做。
2)非本质因素不是固有的,随环境不同而不同,随实现不同而不同。
3建立目标系统的逻辑模型。
4作进一步的补充和优化。
第三节数据流图(DFD)
数据流图简称DFD是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
一基本图形符号四种:
1)→:
箭头,表示数据流2)○圆或椭圆,表示加工3)==双杠,表示数据存储4)□方框表示数据的源点或终点。
1数据流:
是数据在系统内传播的路径,因此由一组成分固定的数据项组成。
必须有流向,加工之间、加工与源终点之间,加工与数据存储之间流动,除与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
2加工(数据处理):
对数据流进行某些操作或变换。
每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。
在分层的数据流图中,加工还应编号。
3数据存储(又称文件)指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
4数据源点或终点:
是本软件系统外部环境中的实体,统称外部实体。
一般只出现在顶层图中。
在方框的右下角加斜线则表示是同一个实体,有时数据存储也需重复标识。
二画数据流图的步骤
1首先画系统的输入输出,即先画顶层数据流图。
顶层流图,只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,从哪里来,有哪些输出,输出到哪里去,即定义系统的输入、输出数据流。
顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。
2画系统内部,即画下层数据流图。
一般将层号从0开始编号,采用自顶向下,由外向内的原则。
1)画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。
2)画更下层的数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。
如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。
3注意事项:
1)命名:
数据流的名字代表整个数据流的内容,而不仅是它的某些成分,不使用缺乏具体含义的名字。
加工名也应反映整个处理的功能。
2)画数据流而不是控制流。
数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
3)一般不画物质流
4)每个加工至少有一个输入数据流和一个输出数据流,反映此加工数据的来源与加工的结果。
5)编号:
若一张数据流图中的某个加工分解成另一张数据流图时,则上层为父图,直接下层为子图。
子图应编号,子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局部号组成。
6)父图与子图的平衡。
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,即父图与子图的平衡。
7)局部数据存储:
一个局部数据存储只要当它作为某些加工的数据接口或某个加工特定的输入或输出时,就把它画出来,这样有助于实现信息隐蔽。
1》局部数据存储:
当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口。
8)提高数据流图的易理解性。
注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
要在分解时注意子加工的独立性、均匀性。
第四节数据字典(DD)
数据字典是用来定义数据流图中的各个成份的具体含义,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
一DD的内容及格式:
有四类条目:
数据流、数据项、数据存储、基本加工。
数据项是组成数据流和数据存储的最小元素。
1数据流条目:
给出了DFD中数据流的定义,通常列出该数据流的各组成数据项。
2数据存储条目:
是对数据存储的定义。
3数据项条目:
是不可再分解的数据单位。
4加工条目:
是用来说明DFD中基本加工的处理逻辑的,由于上层的加工是由下层的基本加工分解而来,只要有了基本加工的说明,就可理解其他加工。
二DD的实现:
1手工建立:
DD的内容用卡片形式存放。
2利用计算机辅助建立并维护。
第五节加工逻辑的描述
加工逻辑也称为“小说明”,描述加工逻辑一般有三种工具:
结构化语言、判定表、判定树。
一结构化语言:
介于自然语言和形式语言之间的一种半形式语言。
它是在自然语言的基础上加了一些限定,使用有限的词汇和有限的语句来描述加工逻辑。
结构分为外层和内层两层。
1外层:
用来描述控制结构,采用顺序、选择、重复三种基本结构。
2内层:
采用祈使句的自然语言短语,使用DD中的名词和有限的自定义词,其动词语义要具体,还可使用算术和逻辑运算符号。
二判定表:
由四部分组成
条件定义||条件取值的组合
动作定义||在各种取值的组合下应执行的动作
三判定树
比较:
对于顺序执行和循环执行的动作,用结构化语言描述。
对于存在多个条件复杂组合的判断问题,用判定表和判定树。
第六节IDEF方法
IDEF方法是美国空军在1981年针对集成化计算机辅助制造(ICAM)工程项目中用于进行复杂系统分析的设计的方法,是在结构化分析与设计技术的基础上提出来的。
分为IDEF0、IDEF1、IDEF2三部分。
1IDEF0:
用来描述系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 读书笔记