软件设计师-软件工程基础知识

4.1 软件工程概述

4.1.3 软件生存周期

(1)可行性分析

确定开发目标及可行性,需要多少钱,多少时间,多少资源 

参与人员:用户、项目负责人、系统分析师

文档:可行性分析报告、项目开发计划

(2)需求分析

不具体解决问题,确定软件系统必须、做什么确定软件系统的功能、性能、数据、界面,从而确定系统逻辑模型

参与人员:用户、项目负责人、系统分析师

文档:软件需求说明书

(3)概要设计

设计软件结构,明确软件由哪些模块组成,层次结构,模块功能、模块调用关系。设计系统总结结构和数据结构

参与人员:系统分析师、软件设计师

文档:概要设计说明书

(4)详细设计

对每个模块进行具体设计

参与人员:软件设计师、程序员

(5)编码

(6)测试

参与人员:另一个部门软件设计师或系统分析师

文档:软件测试计划、测试用例、软件测试报告

(7)维护

4.2 软件过程模型

软件过程模型也叫软件开发模型。软件开发全部过程、活动和任务的结构框架

4.2.1 瀑布模型

瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型

它是以文档作为驱动、适合与软件需求很明确的软件项目模型

优点:容易理解,管理成本低,强调开发的阶段性早期计划及需求和产品测试

缺点:客户必须能够完整、正确和清晰地表达他们的需要,错误到了后期才能发现

4.2.2 增量模型

融合了瀑布模型的基本成本和原型实现的迭代特征,将需求分为一系列增量产品,每个增量可以分别开发

整个产品被分解成若干个构件,开发人员逐个构件地交付产品

优点:第一个可交付版本所需要的成本和时间少,

缺点:如果没有对用户的变更要求进行规划,产生的初始增量可能造成后来增量的不稳定

4.2.3 演化模型

(1)原型模型

先快速开发样品,再不断改进

(2)螺旋模型

大型软件原型往往达不到要求,

4.2.4 喷泉模型

主要用于描述面向对象

4.2.5 基于构件的开发模型

商品化成品软件构件

4.2.6 形式化方法模型

4.3 软件开发方法

4.3.1 结构化方法

面向数据流的开发方法,用数据流图建立系统的功能模型

4.3.2 Jackson方法

面向数据结构的开发方法

4.3.3 原型方法

确定用户需求,开发初始原型,征求用户意见进行改进

4.4.4 面向对象方法

4.4.5 敏捷方法

4.4 软件工具与开发环境

4.5 软件项目管理

4.6 风险管理

4.7 软禁读量

原文地址:https://www.cnblogs.com/buchizaodian/p/7496569.html