赞
踩
P:软件规格说明
D:软件开发
C:软件确认
A:软件演化
瀑布模型:
特点:前一个阶段的输出结果,是后一个阶段的输入
缺点:需求明确、严格串行化
抛弃式原型和演化式模型
快速原型的基础上扩展,风险分析,4个阶段
(1)目标设定。为该项目进行需求分析,定义和确定这一个阶段的专门目标,指定对过程
和产品的约束,并且制订详细的管理计划。
(2)风险分析。对可选方案进行风险识别和详细分析,制定解决办法,采取有效措施避免
这些风险。
(3)开发和有效性验证。风险评估后,可以为系统选择开发模型,并且进行原型开发,即
开发软件产品。
(4)评审。对项目进行评审,以确定是否需要进入螺旋线的下一次回路,如果决定继续,
就要制订下一阶段计划
敏捷核心思想:
1、适应性,而非预设性
2、以人为本,而非以过程为本
3、迭代增量式开发
1、极限编程 XP
2、水晶系列 Crystal
3、Scrumn
5大会议:产品代表列表、Sprint计划会议、每日Scrumn、评审会、回顾会
4、特征驱动 FDD
6种关键的项目角色:项目经理、首席架构设计师、开发经理、主程序员、程
序员和领域专家。
FDD有5个核心过程:开发整体对象模型、构造特征列表、计划特征开发、特征设计和特征构建
9个核心核心工作流
业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境
4个阶段
● 初始 (inception) 阶段:定义最终产品视图和业务模型,并确定系统范围。
● 细化 (elaboration) 阶段:设计及确定系统的体系结构,制订工作计划及资源要求。
● 构造 (construction) 阶段:构造产品并继续演进需求、体系结构、计划直至产品提交。
● 移交 (transition) 阶段:把产品提交给用户使用。3个特点
用例驱动、体系结构为中心、迭代与增量
4+1视图
- 分析人员和测试人员关心的是系统的行为,会侧重于用例视图;
- 用户关心的是系统的功能,会侧重于逻辑视图;
- 程序员关心的是系统的配置、装配等问题,会侧重于实现视图;
- 系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,会侧重于进程视图;
- 系统工程师关心的是系统的发布、安装、拓扑结构等问题,会侧重于部署视图
5个等级
1)Level 1 初始级
处于成熟度级别1级时,过程通常是随意且混乱的。这些组织的成功依赖于组织内人员的
能力与英雄主义。成熟度1级的组织也常常能产出能用的产品与服务,但它们经常超出在计划
中记录的预算与成本。
2)Level2已管理级 项目管理(成本、进度、质量)
在该等级下,意味着组织要确保策划、文档化、执行、监督和控制项目级的过程,并且需
要为过程建立明确的目标,并能实现成本、进度和质量目标等。
3)Level3已定义级 企业管理(企业标准化、行业标准化)
在这一等级,企业能够根据自身的特殊情况定义适合自己企业和项目的标准流程,将这套
管理体系与流程予以制度化,同时企业开始进行项目积累,企业资产的收集。
4)Level 4量化管理级
在成熟度4级,组织建立了产品质量、服务质量以及过程性能的定量目标。成熟度级别3
级与4级的关键区别在于对过程性能的可预测。
5)Level 5优化级
在优化级水平上,企业的项目管理达到了最高的境界。成熟度级别5级关注于通过增量式
的与创新式的过程与技术改进,不断地改进过程性能。处于成熟度5级时,组织使用从多个项
目收集来的数据对整体的组织级绩效进行关注。
3个层次
业务需求:组织高层次目标
用户需求:用户对软件产品的期望
功能需求:开发人员必须实现的功能
5个阶段
需求获取:用户面谈、需求联合会议、问卷调查、现场观察、原型、头脑风暴
需求分析
需求规格说明书
需求确认与验证
需求管理:变更控制、版本控制、需求跟踪、需求状态跟踪
需求跟踪(正向跟踪、反向跟踪):定义其他需求的连接链
变更控制过程:问题分析和变更描述、变更分析和成本计算、变更实现
数据流程DFD:以图形方式,表示业务系统中的数据处理过程和数据流,功能模型
数据流、处理、数据存储、外部实体
数据字典:元数据目录,所有数据定义的集合,数据进行定义和描述,数据模型
概要设计的主要任务是确定软件系统的结构,对系统进行模块划分,确定每个模块的功能、接口和模块之间的调用关系;
详细设计的主要任务是为每个模块设计实现的细节。
程序流程图又称为程序框图,是使用最广泛然的一种描述程序逻辑结构的工具。它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。其优点是:结构清晰,易于理解,易于修改。缺点是:只能描述执行过程而不能描述有关的数据。
N S 流程图,也称为盒图,是一种强制使用结构化构造的图示工具,也称为方框图。其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
PAD 图是一种改进的图形描述方式,可以用来取代程序流程图,相比程序流程图更直观,结构更清晰。最大的优点是能够反映和描述自顶向下的历史和过程。
数据库设计的内容包括:需求分析、概念结构设计(ER图:视图-联系图)、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护
OOA大致上遵循如下5个基本步骤。
(1)确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和
处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括
如何在一个类中建立一个新对象的描述。
(2)确定结构。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,
整体-部分结构反映整体和局部之间的关系。
(3)确定主题。主题是指事物的总体概貌和总体分析模型。
(4)确定属性。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,
并在对象的存储中指定。
(5)确定方法。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在
对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择的方法本身
都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的
在OOD 中,类可以分为3种类型:实体类、控制类和边界类。
实体类映射需求中的每个实体,是指实体类保存需要存储在永久存储体中的信息
控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。
控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统
执行用例的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控制类没有属性,但一定有方法。
边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包
括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口
封装、继承、多态
测试方法:
静态测试、动态测试
黑盒测试。黑盒测试将被测程序看成是一个黑盒,工作人员在不考虑任何程序内部结
构和特性的条件下,根据需求规格说明书设计测试实例,并检查程序的功能是否能够按照规范说明准确无误的运行。其主要是对软件界面和软件功能进行测试。对于黑盒测试行为必须加以量化才能够有效的保证软件的质量。
白盒测试。白盒测试主要是借助程序内部的逻辑和相关信息,通过检测内部动作是否
按照设计规格说明书的设定进行,检查每一条通路能否正常工作。白盒测试是从程序结构方面出发对测试用例进行设计。主要用于检查各个逻辑结构是否合理,对应的模块独立路径是否正常以及内部结构是否有效。常用的白盒测试法有控制流分析、数据流分析、路径分析、程序变异等。根据测试用例的覆盖程度,分为语句覆盖、判定覆盖、分支覆盖和路径覆盖等。
灰盒测试。灰盒测试介于黑盒与白盒测试之间。灰盒测试除了重视输出相对于输入的
正确性,也看重其内部的程序逻辑。
测试阶段:
单元测试、基础测试、系统测试、性能测试、验收测试(alpha测试、被他测试)
AB测试、web测试、链接测试
净室软件工程中应用的技术手段主要有以下4种。
1.统计过程控制下的增量式开发 (Incremental Development )
增量开发基于产品开发中受控迭代的工程原理——控制迭代。增量开发不是把整个开发过
程作为一个整体,而是将其划分为一系列较小的累积增量。小组成员在任何时刻只须把注意力集中于工作的一部分,而无须一次考虑所有的事情。
2.基于函数的规范与设计
盒子结构方法按照函数理论定义了3种抽象层次:行为视图、有限状态机视图和过程视图。
规范从一个外部行为视图(称为黑盒)开始,然后被转化为一个状态机视图(称为状态盒),最
后由一个过程视图(明盒)来实现。盒子结构是基于对象的,并支持软件工程的关键原则:信
息隐藏和实现分离。
3.正确性验证
正确性验证被认为是CSE的核心,正是由于采用了这一技术,净室项目的软件质量才有了
极大的提高。
4.统计测试 (Statistically Based Testing) 和软件认证
净室测试方法采用统计学的基本原理,即当总体太大时必须采取抽样的方法。
CBSE特征:可组装、可部署、文档化、独立性、标准化
主要活动:
(1)系统需求概览;
(2)识别候选构件;
(3)根据发现的构件修改需求;
(4)体系结构设计;
(5)构件定制与适配;
(6)组装构件,创建系统。组装方式:顺序、层次、叠加
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。