软件工程复习总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学科内容:

可行性研究:经济可行性、技术可行性、社会可行性。

软件工程的三要素:工具、过程、方法。

软件过程部分:

软件的生命周期:

▪指软件孕育、诞生、成长、成熟、衰亡的过程

软件生命周期包括:定义、开发、维护。

定义包括:问题定义、可行性研究、需求分析。

开发包括:设计、编码、测试。

维护包括:运行维护。

•什么是软件过程模型?

•又称:软件开发模型/软件生命周期模型

•指软件生命周期内过程、活动和任务的结构框架

•过程模型是一个模型(需要进行具体定义和剪裁方可使用)

•过程模型是对不同过程的一种组织方式。

瀑布模型的优缺点:

优点

▪可强迫开发人员采用规范的方法

▪严格地规定了每个阶段必须提交的文档

▪要求每个阶段的所有产品都必须经过质量保证小组的仔细验证

缺点

▪无法解决软件需求不明确或不准确的问题;可能导致最终开发的产品不能真正满足用户需要

▪瀑布模型比较适合开发需求明确的软件(极少的情况)

▪不适应需求经常变化的软件开发

▪开发早期存在的问题往往要到交付使用时才发现,维护代价大

瀑布模型的特点:

阶段间具有顺序性和依赖性、推迟实现的观点(目的是什么?)、质量保证的观点(怎样实现的?)、只适用于极小型的项目!(为什么?)

瀑布模型的精髓和内涵:

精髓:针对每一步骤的要求严格的验证

内涵:保证质量

*********什么是瀑布式思维,怎样避免?

增量模型说明:

把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能

使用增量模型时,第一个阶段的增量构件往往实现软件的基本需求,提供最核心的功能;后面的增量构架逐渐添加系统的功能

增量和迭代开发的理解和实际应用:

增量模型的精髓和内涵:

精髓

▪从最主要的需求开始进行增量开发,不断获得用户的使用反馈,上一次增量作为下一次增量的基础,从而使需求逐渐完善

内涵

▪通过多次增量,不断获得用户的反馈,并使需求逐步精化

迭代的概念,增量?????????

*****************瀑布式有什么缺点;迭代、增量有什么优缺点,怎么实现

需求(requirements)就是确定系统该做些什么以及该符合什么条件。

软件需求包括:功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能性要求

需求分析的目标:明确性、完整性、一致性、可测试性

需求一致性的含义:一致性

▪业务需求与用户需求的一致性

▪用户需求与功能需求的一致性

RUP以及敏捷过程都采用迭代和进化式的需求分析

需求工程的任务:

1需求获取2需求分析、协商与建模3需求规约与验证4需求管理

如何进行增量和迭代式的开发?????(即增量和迭代的实际应用)

常用的需求分析(启发)技术:常用的分析和建模方法有面向数据流方法、面向数据结构方法和面向对象的方法。

▪实地观察

▪访谈

▪开会

▪问卷调查

▪原型制作

▪研究文档

▪研究竞争对手

几种常用的过程模型及其特点:(了解一下)

快速原型模型:

什么是“原型”

▪原型是快速实现和运行的早期版本,反映最终系统部分重要特性

▪常见的原型实例:人机界面;系统主要功能

▪优点:通常能反映用户真实需求、软件产品的开发基本上是线性顺序进行的

快速原型模型的精髓和内涵:

精髓:通过在早期建立原型系统,获得用户的反馈,并由反馈进一步精化用户需求

内涵:通过用户反馈精化需求

螺旋模型:

缺点:一个周期的执行时间太长、要有方法和自动化工具支持,否则无法实施、进行风险分析的费用可能较大

螺旋模型的精髓和内涵:精髓:风险驱动内涵:规避风险

可行性研究的目的(作用?):

1用最小的代价在尽可能短的时间内确定问题是否能够解决。2不是解决问题,而是确定问题是否值得去解决。 3说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。

可行性研究的内容:技术可行性、经济可行性、法律可行性、操作可行性

可行性研究的步骤:1项目目标和规模2研究目前的系统3形成高层逻辑模型4问题的重新定义。

敏捷和统一过程知识点:

•1,RUP的阶段划分

•1初始阶段2细化阶段(精化阶段)3构造阶段(构建阶段)4交付阶段(产品化阶段)

•2,RUP中迭代的理解 (RUP迭代阶段图):

•RUP:Rational Unified Process 四个阶段:

•1初始阶段2细化阶段(精化阶段)3构造阶段(构建阶段)4交付阶段(产品化阶段)

•工作流程(九个):业务建模、需求、分析设计、实施、测试、部署、配置和变更管理、项目管理、环境。

•RUP的六个最佳商业实践:

• 1 迭代式开发(develop software iteratively)

•给定的时间内,开发一个大型的复杂的软件系统,定义问题并构建解决方案是不可能一蹴而就的。

•允许每次迭代中的需求变化;

•每个迭代完成一个版本的程序。

• 2 管理需求(manage requirements)

•需求是变化的;

•RUP实现对需求的动态管理。

• 3 使用基于构件的体系结构(use component-based architectures)

•构件就是已存在的模块或子系统(重用);

•降低复杂度,提高效率,提高软件质量。

• 4 可视化软件建模(visually model software)

•建模就是建立模型,模型是对客观事物的抽象;

•可视化模型更容易理解;

•可采用UML建立可视化的模型。

相关文档
最新文档