软件工程(摘抄)

1、软件的生命周期

2、软件的开发方法
软件的开发方法主要有形式化方法和逆向工程。进行逆向工程时,抽象层次越高,则得到的结果完备性越低
逆向工程是指从已安装的软件中提取设计规范,用来进行软件开发

净室软件开发方法:是一种形式化的方法,可以开发较高质量的软件,使用盒结构规约进行分析和建模,并将正确性验证作为发现和排除错误的主要机制。

3、软件开发模型

软件开发模型主要有:瀑布模型;演化模型;螺旋模型;喷泉模型,变换模型,智能模型,V模型
也可以采用快速应用开发,同一过程,敏捷方法。
演化模型医院称之为快速原型模型,是在快速开发一个原型的基础上,对原型进行改进。
螺旋模型是瀑布模型和演化模型的结合,每次迭代包含计划制定,风险分析,工程实施和客户评估四个部分。
原型法:以快速的方法构造一个可工作的雏形,然后进行迭代。如果缺乏用户不参与不配合或者数据软件资源缺乏管理则不适用。
快速应用开发是一个线性顺序的软件开发模型,强调极短的开发周期和可复用的程序构件开发
统一过程:是一个通用过程框架,使用UML为系统建模,包括初始阶段,细化阶段(确定架构,建立支持环境,阶段技术评审),构建阶段,交付阶段。

敏捷方法包含如下几种
极限编程:包括十二种最佳时间,小型发布,简单设计,测试先行,重构,结对编程等等。基线编程在基本设计完成后,并不进行直接编码,而是开发一系列用于检测本次发布的story的单元测试
其他主要的敏捷开发方法有
SCRUM:认为发布产品的重要性高于一切
FDD:针对中小型项目,适用于需求经常变动的项目
ASD(自适应软件开发):强调开发方法的适应性
DSDM(动态系统开发):以业务为核心

敏捷开发的原则是:
要求经常性的交付(但是不需要每一次交付为完整功能)
即使到了项目后期,也欢迎需求变更

软件工程小组可以分为四个组织泛型:
封闭式泛型:由主程序员,技术人员,和后备工程师组成
随机式泛型:松散的组织小组,依赖个人的主动性
开放式泛型:以上两者的结合
同步式泛型:依赖于问题的自然划分,没有沟通的需要

软件过程管理
主要有软件能力成熟度模型,也可以采用Trillum模型进行评估,bootstrap方法,ISO/IEC 15504标准等进行评估

PROLOG语言
是一种逻辑编程语言,更像是一种文体描述型语言,用特定的方法描述一个文体,然后电脑会自动寻找答案

在软件架构评估中,敏感点是一个或者多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点

你可能感兴趣的:(软件工程)