软工第五版知识点总结办公文档工作总结 _办公文档-工作总结 .pdf
《软工第五版知识点总结办公文档工作总结 _办公文档-工作总结 .pdf》由会员分享,可在线阅读,更多相关《软工第五版知识点总结办公文档工作总结 _办公文档-工作总结 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章:软件工程学概述 1.1946 年,世界上第一台电子计算机诞生,从宏观角度而言,计算机软件的发展主要经历了以下三个阶段:(1)第一阶段程序设计阶段;(2)第二阶段软件工程阶段;(3)第三阶段软件过程阶段 2 软件危机:2.1 定义:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2.2主要是两个方面的问题:如 何 开 发 软 件 怎 样 满 足 对 软 件 日 益 增 长 的 需 求 如何维护软件数量不断膨胀的已有软件 2.3 主要表现:对软件开发成本和进度的估计常常很不准确。用户对为他们开发的软件往往不满意。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文
2、档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度太慢。2.4 产生软件危机的原因:1.软件本身的特点 不同于硬件:(1)软件是逻辑的,而不是物理的产品。(2)软件是由开发或工程化而形成的,没有明显的制造过程。(3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。2.软件人员的主观原因:开发与维护的方法不正确。早期软件开发个体化。至今,忽视软件需求分析的重要性,轻视维护;困境中的消极态度;2.5 解决软件危机的途径:a 正确认识软件,软件包括:程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵信息的
3、数据结构;文档是与程序开发、维护和使用有关的图文材料。b 推广使用在实践中总结出来的开发软件的成功技术和方法,研究、探索更好更有效的技术和方法 c 开发和使用更好的软件工具 d 有必要的组织管理措施 3.软件工程;指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到得最好得技术方法结合起来.软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。4.软件工程方法学 A:传统方法学:生命周期方法学或结构化范型 采用结构化技术(结构化分析、设计和实现)把软件生命周期划分成若干阶段:每一阶段结束前都必须进行
4、技术审查和管理复审,试图以每一阶段的正确性和完整性来保证最终产品的质量。面向行为或面向数据,把数据和操作人为分离,增加软件开发与维护的难度。应用广泛 B:面向对象方法学 数据和数据的操作是被封闭在一个个称为“对象“的统一体中 把所有对象都划分成类。类是对具有相同数据和相同操作的一组相似对象的定义。继承:下层派生类自动拥有上层基类中定义的数据和操作 对象之间则是通过”消息”(message”)进行相互联系的,对象是数据处理的主体 采用该方法可以大大提高软件的可重用性,降低软件的调试、维护难度,而且特别适合于需要多人合作的大型软件的开发。C:二者的区别:(1)面向对象方法学比传统方法学更适合开发大
5、型软件。(2)传统方法学强调对系统需求认识的完整性,维护代价大。面向对象是主动地多次反复迭代,不断深化的过程,继承性使得系统易于扩充,降低了维护的代价。事实上,人类认识过程是一个渐进的过程。5.软件生命周期:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程。根据软件状态、特征、开发活动的目的,可以分为不同阶段,各阶段划分尚未统一,但都包括:软件定义、软件开发、软件使用和维护三个时期。各阶段的基本任务:一软件定义:(1)问题定义:要解决的问题是什么?(2)可行性研究:有可行的解决办法吗?(3)需求分析:为解决问题,目标系统必须做什么?(数据流图,数据字典,算法描述);二软件开发
6、:(1)总体设计:概括地说,应如何解决该问题?(2)详细设计:应怎样具体实现这个系统?(3)编码和单元测试:编写代码,测试模块;(4)综合测试:通过各类型测试,使软件达到要求最基本的测试是集成测试和验收测试方法。三软件维护:通过各种维护活动使系统持久地满足用户地需要 四类维护:改正性维护:诊断和改正使用过程中发现的软件错误。适应性维护:修改软件以适应环境变化。完善性维护:根据用户要求,改进或扩充软件。预防性维护:修改软件为将来的维护预先准备。软件生存周期模型瀑布模型:特点:上一阶段的变换结果是下一阶段的变换的输入,相邻两个阶段具有因果关系,紧密相联。6.软件过程:为获得高质量软件所需要完成的一
7、系列任务的框架,它规定了完成各项任务的工作步骤.。软件生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,也称为过程模型。7.五种模型:A;瀑布模型(线形模型):瀑布模型是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。特点:1 段间具有顺序性和依赖性;2.推迟实现的观点 3.质量保证的观点 优点:文档驱动:强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证.提供了软件开发的基本框架,有利于大型软件开发过程的人员的组织和管理 有利于开发方法和工具的使用 提高了软件的质量和效率 缺点:初始阶段不可能指出
8、全部需求(系统可能不满足客户的需求)几乎完全依赖于书面的规格说明,可能导致最终开发出的软件不能真正满足用户段第一阶段程序设计阶段第二阶段软件工程阶段第三阶段软件过程阶段软件危机定义是指在计算机软件的开发和维护过程中所遇到的一系列严重问题主要是两个方面的问题如何开发软件怎样满足对软件日益增长的需求如何维护软件意软件产品的质量往往靠不住软件常常是不可维护的软件通常没有适当的文档料软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高的速度太慢产生软件危机的原因软件本身的特点不同于硬件软件是逻辑的而不和老化问题但它存在退化问题开发人员必须维护软件软件人员的主观原因开发与维护的方法不正确早期
9、软件开发个体化至今忽视软件需求分析的重要性轻视维护困境中的消极态度解决软件危机的途径正确认识软件软件包括程序是按的需要.B 快速原型模型:快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。包括两大步骤:进行试验开发,得出产品“原型”;在原型基础上开发出较为满意的软件产品。优点:不带反馈环,克服了瀑布模型的部分缺陷,减少了软件需求不明确给开发工作带来的风险。(关注满足客户需求)缺点:可能导致系统设计差,效率低,难于维护。C 增量模型:增量模型也称为渐增模型,把软件产品作为一系列的增量构件来设计、编码、集成和测试。构件:由多个相互作用的模块构成,并能够完
10、成特定的功能 优点:能在较短时间内向用户提交可完成部分工作的产品。用户有较充裕的时间学习和适应新产品。困难:集成新增量构件时必须不破坏已开发出的产品。即要求软件具有开放的结构。风险更大的增量模型:优点:不同构件可并行构建 缺点:冒构件无法集成到一起的风险 D:螺旋模型:在每一个阶段之前都增加了风险分析过程的快速原型模型。(适用于内部开发的大规模软件项目。要求开发人员具有风险分析和排除风险的经验及专门知识。优点:(风险驱动)(1)对可选方案和约束条件的强调有利于已有软件的重用;(2)有助于把软件质量作为软件开发的一个重要目标;(3)减少了过多测试或测试不足所带来的风险;(4)在螺旋模型中维护只是
11、模型的另一个周期,在维护和开发之间并没有本质区别。缺点:风险分析人员需要有经验且经过充分训练。E 喷泉模型:相对螺旋模型,喷泉模型引入了“面向对象的分析设计方法”。由于,整个过程看起来像喷泉从喷出到落下到再喷出的周而复始过程产生的光滑水柱,属自底向上的工作方式。特点:件过程各阶段的无缝衔接性:各阶段均采用了“对象”这一统一范式 具有螺旋模型的“迭代演化”特点 对软件复用和软件生命周期内多项开发活动的并行与集成提供了支持。区别 模型 优点 缺点 瀑布模型 文档驱动 系统可能不满足客户的需求 快速原型模型 关注满足客户需求 可能导致系统设计差、效率低,难于维护 增量模型 开发早期反馈及时,易于维护
12、 需要开放式体系结构,可能会设计差、效率低 螺旋模型 风险驱动 风险分析人员需要有经验且经过充分训练 段第一阶段程序设计阶段第二阶段软件工程阶段第三阶段软件过程阶段软件危机定义是指在计算机软件的开发和维护过程中所遇到的一系列严重问题主要是两个方面的问题如何开发软件怎样满足对软件日益增长的需求如何维护软件意软件产品的质量往往靠不住软件常常是不可维护的软件通常没有适当的文档料软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高的速度太慢产生软件危机的原因软件本身的特点不同于硬件软件是逻辑的而不和老化问题但它存在退化问题开发人员必须维护软件软件人员的主观原因开发与维护的方法不正确早期软件
13、开发个体化至今忽视软件需求分析的重要性轻视维护困境中的消极态度解决软件危机的途径正确认识软件软件包括程序是按第二章 可行性研究 1.可行性研究的目的 任务 实质 目的:用最小的代价在尽可能短的时间内确定问题是否能够解决.任务:对以后的行动方针提出建议,制定工程实施计划。实质是:在较高层次上以较抽象的方式进行系统分析和设计的过程 首先需进一步分析和澄清问题定义 导出系统的逻辑模型 探索出若干种可供选择的主要解法(即系统实现方案)最后仔细研究每种解法的可行性。2.可行性研究分哪几个方面去研究?(1)技术可行性 使用现有的技术能实现这个系统吗?(2)经济可行性 这个系统的经济效益能超过它的开发成本吗
14、?(3)操作可行性 系统的操作方式在这个用户组织内行得通吗?(4)社会可行性 包括法律可行性和用户操作可行性。法律可行性考虑要开发系统是否存在任何侵犯、妨碍和责任问题。用户操作可行性考虑待开发软件的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。3.可行性研究的过程:(1)、复查系统规模和目标;(2)、研究目前正在使用的系统;(3)、导出新系统的高层逻辑模型(数据流图和数据字典);(4)、重新定义问题(前四个步骤实质构成一个循环,直到提出的逻辑模型完全符合系统目标。)(5)、导出和评价供选择的解法;(6)、推荐行动方针;(7)草拟开发计划;(8)书写文档提交审查。最后
15、生成可行性论证报告a、系统概述(主要是对当前系统极其存在的问题的简单描述;对新系统的开发目的、目标、业务对象和范围;新系统和它各个子系统的功能与特性等。)b、可行性分析(这是报告的主体。包括新系统在经济上、技术上、运行上、法律上的可行性,以及对新系统的主客观条件的分析。)c、拟订开发计划(包括工程进度,人员配备情况,资源配备情况,估计出每个阶段的成本、约束条件)d、结论意见(综合上述分析,说明新系统是否可行,结论可区分为三类:深刻立即进行 推迟进行 不能或不值得进行)、4、系统流程图:是用来概括描述系统物理模型的一种传统工具。基本思想是用图形符号以黑盒子的形式描绘系统里的每个部件(程序、文件、
16、数据库、表格、人工过程等)。5、数据流图:(DFD)描绘信息系统的逻辑模型。没有任何具体的物理元素,描绘信息流和数据从输入移动到输出的过程所经受的变换,即在系统中流动和被处理的逻辑过程.特点:它是逻辑系统的图形表示,容易理解,是分析员和用户间极好的通信工具;设计数据流图只需考虑系统必须完成的基本逻辑功能,不需要考虑如何具体实现这些功能,是今后进行软件设计很好的出发点。6、数据存储和数据流都是数据。一是静止状态的数据 二是处于运动中的数据。7、分层 DFD 图的优点:便于实现,便于使用,便于阅读。8、数据字典DD:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据
17、字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。其内容有图形元素的名字、别名或编号、分类、描述、定义、位置等。段第一阶段程序设计阶段第二阶段软件工程阶段第三阶段软件过程阶段软件危机定义是指在计算机软件的开发和维护过程中所遇到的一系列严重问题主要是两个方面的问题如何开发软件怎样满足对软件日益增长的需求如何维护软件意软件产品的质量往往靠不住软件常常是不可维护的软件通常没有适当的文档料软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高的速度太慢产生软件危机的原因软件本身的特点不同于硬件软件是逻辑的而不和老化
18、问题但它存在退化问题开发人员必须维护软件软件人员的主观原因开发与维护的方法不正确早期软件开发个体化至今忽视软件需求分析的重要性轻视维护困境中的消极态度解决软件危机的途径正确认识软件软件包括程序是按数据字典的内容 (1)数据流 (2)数据流分量(即数据元素)(3)数据存储(4)处理 定义数据的方法 由数据元素组成数据的方式有下述几种基本类型:(1)顺序:即以确定次序连接两个或多个分量。(2)选择:即从两个或多个可能的元素中选取一个。(3)重复:即把指定的分量重复零次或多次。数据字典定义符号:符号 含 义 例 子 =被定义为 +与 x=a+b,则表示 x 由 a 和 b 组成 或 x=a,b,则表
19、示 x 由 a 或由 b 组成 重复 x=a,则表示 x 由 0 个或多个 a 组成 M n 重复 x=3a8,则表示 x 中至少出现 3 次 a,最多出现 8 次 ()可选 x=(a),则表示 a 在 x 中出现,也可不出现 *注释符 表示在两个*之间的内容为词条的注释 第三章 需求分析 1、需求工程的5个阶段:(1)需求获取;(2)需求建模;(3)形成需求规格;4)需求验证;(5)需求管理 2、需求分析:(软件定义时期的最后一个阶段)软件需求指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。基本任务:准确的回答“系统必须做什么?”这个问题。具体任务:确定对系统的综合要求(功能需
20、求:基本需求,确定目标系统必须具备的所有功能 性能需求:指定系统必须满足的定时约束或容量约束。如从终端输入数据到系统后多长时间内可有反映等。可靠性和可用性需求:量化了用户可以使用系统的程度 出错处理需求:对环境错误而非系统自身错误应如何响应 接口需求:应用系统与它的环境通信的格式 约束:在设计或实现应用系统时应遵守的限制条件 逆向需求:能澄清真实需求且可消除可能发生的误解的 将来可能提出的需求);分析系统的数据要求(建立数据模型);导出系统的逻辑模型(数据流图,实体联系图,状态转换图,数据字典);修正系统开发计划(成本,进度);附加:开发原形系统;验证段第一阶段程序设计阶段第二阶段软件工程阶段
21、第三阶段软件过程阶段软件危机定义是指在计算机软件的开发和维护过程中所遇到的一系列严重问题主要是两个方面的问题如何开发软件怎样满足对软件日益增长的需求如何维护软件意软件产品的质量往往靠不住软件常常是不可维护的软件通常没有适当的文档料软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高的速度太慢产生软件危机的原因软件本身的特点不同于硬件软件是逻辑的而不和老化问题但它存在退化问题开发人员必须维护软件软件人员的主观原因开发与维护的方法不正确早期软件开发个体化至今忽视软件需求分析的重要性轻视维护困境中的消极态度解决软件危机的途径正确认识软件软件包括程序是按软件需求分析的正确性;编写软件需求规
22、格说明书 3、与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术(-信息系统领域使用的主流技术)典型过程:1)初步访谈 2)审查产品需求 3)会议讨论 4)分成小组为每张列表中项目制定小型规格说明 5)每个与会者指定出产品的一整套确认标准,并提交会议讨论 6)一名或多名与会者根据会议成果起草完整的软件需求规格说明书;快速建立软件原型(最准确、最有效、最强大的需求分析技术。快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行程序。)【快速原型具有的特性:快速;容易修改】;4、需求分析过程建立三种模型:数据模型-实体-联系图(描绘对象及数据对象之间的关系,是用于建
23、立数据模型的图形);功能模型-数据流图(描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,因此,数据流图是建立功能模型的基础);行为模型-状态转换图(指明了作为外部事件结果的系统行为);5、软件需求说明书包括:引言;数据描述(数据流图,数据字典);功能描述;性能描述;特殊需求;6、实体联系图(ER图):三要素:数据对象(是指对软件必须理解的复合信息的抽象及外部实体);数据对象的属性(属性定义了数据对象的性质,把其属性定义为“标识符”);数据对象之间的联系(一对一联系;一对多联系;多对多联系,联系也可能有属性)ER 图:实体,关系,属性;矩形框-实体;菱形框-实体之间的
24、关系;圆角或椭圆-属性 7、数据规范化:范式定义消除数据冗余的程度。1NF 数据冗余程度最大;5NF 数据冗余程度最小;第一范式:每个属性值都必须是原子值,即仅仅是一个简单指而不含内部结构;第二范式:满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定);第三范式:符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)8、状态转换图:通过描绘系统的状态及引起系统状态转换的事件来表示系统的行为。(1)状态:任何可以被观察到的系统行为模式,一个状态代表系
25、统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。每一个状态图只有一个初态和零个或多个终态 状态图既可表示系统循环运行过程,也可表示系统单程生命期。(2)事件:在某个特定时刻发生的事情,是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象.(3)符号:初态:实心圆 终态:同心圆 中间状态:两条水平横线分开的圆角矩形 上部分:状态名称,必须有 中间部分:状态变量的名字和值,可选 下部分:活动表,可选 Entry 事件:进入该状态的动作 exit:退出 do 事件:指定在该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软工第五版知识点总结办公文档工作总结 _办公文档-工作总结 第五 知识点 总结 办公 文档 工作总结
限制150内