软件工程基础知识1

NATO会议上首次提出了“软件工程”这个名词,希望用工程化的原则和方法来克服软件危机。此后,人们开展了软件开发模型、开发方法、工具与环境的研究,提出了瀑布模型、演化模型、螺旋模型和喷泉模型等开发模型,出现了面向数据流方法、面向数据结构方法、面向对象等开发方法,以及一批CASE(Computer Aided Software Engineering,计算机辅助的软件工程)工具和环境。

一.软件生存周期

              阶段 任务 参加人员 产生的主要文档
可行性分析与项目开发计划 确定软件的开发目标和可行性 用户、项目负责人和系统分析师 可行性分析报告和项目开发计划
需求分析 软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型 用户、项目负责人和系统分析师 软件需求说明书
概要设计 设计软件的结构,还要设计该项目的应用系统和总体数据结构和数据库结构。 系统分析师和软件设计师 概要设计说明书
详细设计 把功能描述转变为精确地、结构化的过程描述。 软件设计师和程序员 详细设计文档
编码 把每个模块的控制结构写成某种特定程序设计语言 程序员 源程序清单
测试 在测试用例的基础上检查软件的每一个部分 另一部门的软件设计师或系统分析师
软件测试计划

测试用例

软件测试报告

维护 由于各方面原因,对软件进行修改。 —— ——

二.软件过程

软件开发中所遵循的路线图称为“软件过程”。

1.能力成熟度模型(CMM)

软件过程能力成熟度模型(Capability Maturity Model of Software,CMM),其研究目的是提供一种评价软件承接方能力的方法,

同时它可以帮助软件组织改进其软件过程。

CMM将软件过程分为5个成熟度级别。

(1)初始级 杂乱无章,项目的成功完成完全依赖个人的努力和英雄式核心人物的作用。

(2)可重复级 有必要的过程准则来重复以前在同类项目中的成功。

(3)已定义级 管理和工程两方面的软件过程已经文档化、标准化。

(4)已管理级 制定了软件过程和产品质量的详细度量标准。

(5)优化级 加强了定量分析,通过反馈使过程能不断持续改进。

2.能力成熟度模型(CMMI)

CMMI是若干过程模型的综合和改进,是支持多个工程许学科和领域的、系统的、一致的过程改进框架。

CMMI提供两种表示方法,阶段式模型(关注组织的成熟度)和连续式模型(关注每个过程域中的能力)。

3.统一过程(UP)

统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,由UML方法和工具支持。

初始阶段:生命周期目标

精华阶段:生命周期框架

构件阶段:初试运作功能

移交阶段:产品发布

时间: 2024-08-06 01:12:11

软件工程基础知识1的相关文章

程序员教程-5章-软件工程基础知识

先给出目录结构 5.1 软件工程概述 5.1.1 软件生存周期 1 问题定义 2 可行性分析 3 需求分析 4 总体设计 5 详细设计 6 编码和单元测试 7 综合测试 8 维护 5.1.2 软件生存周期模型 1 瀑布模型 2 增量模型 3 演化模型 4 螺旋模型 5 喷泉模型 6 统一过程 7 敏捷方法 5.1.3 软件过程评估 1 软件能力成熟度模型 2 能力成熟度模型集成 5.1.4 软件工具 1 软件开发工具 2 软件维护工具 3 软件管理和软件支持工具 5.1.5 软件开发环境 5.2

软考考前冲刺第七章软件工程基础知识

瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段.其优点是:可以使过程比较规范化,有利于评审;缺点在与:过于理想,缺乏灵活性,容易产生需求偏移.所以瀑布模型的应用场合为:需求明确的项目.二次开发项目以及与原型法配合使用. 快速原型模型:采用了一种动态定义需求的方法,通过快速的建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与与决策.原型化人员对原型的实施很重要,衡量他们的重要标准是能否从用户

(4)软件工程基础知识

4.1 软件工程概述 4.2 软件过程模型 4.3 软件开发方法 4.4 软件工具与开发环境 4.5 软件项目管理 4.6 风险管理 4.7 软禁读量

软件工程基础知识

1.软件需求(功能需求.非功能需求.设计约束)(业务需求.用户需求.系统需求) 2.需求规格化的工作就是编制SRS-<软件需求规格说明书> 3.需求捕获技术:用户访谈.用户调查.现场观摩.文档考古.联合讨论会 4.可行性研究工作的任务:技术可行性.经济可行性.社会可行性 5.数据流图DFD 6.数据字典 7.实体-关系图 ER图 8.高内聚低耦合 9.黑盒.白盒.灰盒测试 10.

如何成为一名黑客(网络安全从业者)——计算机基础知识篇

大家好,我是Mr.Quark,大家可以叫我夸克,欢迎大家在微信公众号(Quark网络安全)上给我留言,如果有时间我一定会一一回复大家的.今天我将和大家一起学习"如何成为一名黑客"或者说"如何成为一名网络安全专家". 在进入正题之前,我们先来给黑客下一个定义,毕竟如果连黑客的含义都不了解,成为黑客更是无从谈起. "黑客"称呼的变迁 在很久很久以前(别问我有多久,不要在意这些细节),"黑客"指的是喜爱钻研技术.精通计算机技术的程序

计算机科学技术基础知识之标准化和知识产权基础知识

1.标准化的基础知识 (1)基本概念 ①标准化的过程模式:制定.实施.更新 ②标准的分类:(根据适用范围分类)国际.国家.区域.行业.企业.项目规范 我国标准分类:国家.行业.地方.企业等 ③标准的代号和编号 ④国际标准和国外先进标准 (2)信息技术标准化 ①信息编码标准化 ②条码标准化 ③汉字编码标准化 ④软件工程标准化 (3)标准化组织 ①国际标准化组织:国际标准化组织和国际电工委员会 ②区域标准化组织 ③行业标准化组织 ④国家标准化组织 (4)ISO 9000标准简介 ①ISO 9000标

考试备战系列--软考--02基础知识复习

这部分主要是计算机基础知识的概念介绍,相关系列文章如下所示. 考试备战系列--软考--01基础架构概念 考试备战系列--软考--02基础知识复习 考试备战系列--软考--03综合知识复习 考试备战系列--软考--04考题收集 考试备战系列--软考--05案例收集 考试备战系列--软考--06论文准备 操作系统时计算机系统的核心系统软件,其他软件均建立在其上,其分类包括:单用户操作系统和批处理操作系统.分时操作系统和实时操作系统.网络操作系统和分布式操作系统.嵌入式操作系统.其4大特征为并发性.共

oracle学习入门系列之二 数据库基础知识

oracle学习入门系列之二 数据库基础知识 本篇蛤蟆要梳理下那些被淡忘的数据库基础知识,也许根本就没被人记住过.不管是哪种情况,该记住的必须记住,记不住就把他记下来吧. 首先问几个问题如下: 数据库基础知识是什么? 好吧,蛤蟆直接吐后而不亡,看目录开始吧. 本人邮箱:[email protected] 微信公众号:HopToad 欢迎各界交流 1      基本概念 概念就是概念,大伙对这些名词不要死磕,但是对定义一定要理解,理解方能领悟,领悟方能运用自如后创新. 1.1      数据 数据

计算机基础知识的学习与巩固

计算机基础经典书籍 想在技术的道路上走得远,必须有扎实的计算机基础.下面按照学习的先后顺序给出一些推荐的好书: 编程语言<C程序设计语言> 离散数学<离散数学及其应用> 数据结构<数据结构与算法分析 C语言实现> 组成原理<深入理解计算机系统>(CSAPP) 操作系统<现代操作系统> 编译原理<编译原理>(龙书) 软件工程<计算机程序的构造和解释>(SICP) 看经书的同时要多练习和思考,课后题适当选作.如果某些知识 第一