1 / 15
文档名称:

新软件工程复习总结.docx

格式:docx   大小:924KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

新软件工程复习总结.docx

上传人:63229029 2017/3/8 文件大小:924 KB

下载得到文件列表

新软件工程复习总结.docx

文档介绍

文档介绍:1) 需求分析 85 需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评审。( 1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计划。然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作。( 2)分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求, 是否合理。( 3)制定规格说明,编写需求分析的文档。( 4)需求分析评审。为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行。需求分析对系统的综合要求: 功能需求; 性能需求; 可靠性和可用性需求; 出错处理需求; 接口需求; 约束; 逆向需求;将来可能提出的要求; 获取需求的方法 1 、访谈同潜在需要的用户进行讨论使用情景分析技术通过大面积的市场调查和用户问卷调查 2 、面向数据流自顶向下求精采用自顶向下求精方法, 分析员借助数据流图、数据字典和 IPO 图向用户解释输入数据是怎样一步一步地转变成输出数据的。 3 、简易的应用规格说明技术 4 、快速建立软件原型 2 )用例图,要明白包含和扩展(书上没找到) 用例图概要用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。用例图多用于静态建模阶段(主要是业务建模和需求建模)。实例用例之间扩展和包含关系用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。右图中的参与者有? (a) 1(b) 2 (c) 3(d) 4右图中的用例有? (a) 1(b) 2(c) 3(d) 42和3之间是什么关系? 5和6呢? (a) 扩展,包含(b) 包含,扩展 5缺少了 3仍然是个完整的用例? (a) 是的(b) 不是 4能够参与 2吗? 1能够参与 5吗? (a) 可以,不可以(b) 不可以,可以****题答案: 1、(a)(d) 2、(b)(c) 3、(b) 4、(b) 5、(b) 3) 常用软件过程模型 23页软件过程(简单了解) 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。过程定义了:(1 )运用方法的顺序;(2 )应该交付的文档资料;(3 为保证软件质量和协调变化所需要采取的管理措施;(4 )标志软件开发各个阶段任务完成的里程碑。包括 5 个框架活动:沟通,策划,建模,构建,部署。瀑布模型有时候, 可以清楚地了解问题的需求, 当从沟通到部署采用线性工作流方式的时候, 这种情况通常发生在对一个已经存在的系统进行明确定义的适应性调整或是增强的时候; 也可能发生在很少数新的开发工作上,但是需求必须是准确定义和相对稳定的。瀑布模型有许多优点: 可强迫开发人员采用规范的方法(例如,结构化技术) . 将使软件维护变得比较容易. 显著降低软件预算缺点: 1、实际的项目很少遵守瀑布模型提出的顺序。虽然线性模型可以加入迭代,但是它是用间接的方式实现的,结果是,随着项目的推进,变更可能造成混乱。 2、客户通常难以清楚地描述所有的需求。瀑布模型需要客户明确的需求,因此很难适应在许多项目开始阶段必然存在的不确定性。 3、客户必须要有耐心, 因为只有在项目接近尾声的时候, 他们才能得到可执行的程序。对于系统中存在的重大缺陷, 如果在可执行程序评审之前没有被发现, 将可能造成惨重损失。增量过程模型初始的软件需求有明确的定义, 但是整个开发过程却不宜单纯运用线性模型。同时, 可能迫切需要为用户迅速提供一套功能有限的软件产品, 然后再后续版本中再进行细化和扩展功能。这个时候,需要增量过程模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。特点增量模型的特点是引进了增量包的概念, 无须等到所有需求都出来, 只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改, 但只要这个增量包足够小,其影响对整个项目来说是可以承受的。优点 1) 由于能够在较短的时间内向用户提交一些有用的工作产品,因此能够解决用户的一些急用功能。 2 )由于每次只提交用户部分功能,用户有较充分的时间学****和适应新的产品。 3) 对系统的可维护性是一个极大的提高, 因为整个系统是由一个个构件集成在一起的, 当需求变更时只变更部分部件,而不必影响整个系统。缺点 1) 由于各个构件是逐渐并入已