软体开发流程


软体开发流程

文章插图
软体开发流程【软体开发流程】软体开发流程即软体设计思路和方法的一般过程 , 包括对软体先进行需求分析 , 设计软体的功能和实现的算法和方法、软体的总体结构设计和模组设计、编码和调试、程式联调和测试以及编写、提交程式等一系列操作以满足客户的需求并且解决客户的问题 , 如果有更高需求 , 还需要对软体进行维护、升级处理 , 报废处理 。
基本介绍中文名:软体开发流程
外文名:Software development process
主体:软体
套用:软体设计
目的:满足客户的需求并且解决客户的问题
简介周期和阶段从管理的角度 , 即从业务和经济的角度来看 , 软体的生命周期包括四个主要阶段:起始阶段(Inception)-- 有一个好的想法:具体构想出终于产品的构想和它的业务案例 , 确定项目的範围。
细化阶段(Elaboration)--计画必要的活动和所需资源 , 具体确定功能并设计构架。
构建阶段(Construction)-- 构建产品 ,  发展最初的构想、构架和计画 , 直到一个能够交付给用户的产品(完毕后的构想)完毕 。
移交阶段(Transition)-- 将产品移交用户使用 , 包含:製造、交付、培训、支持、维护 , 直到用户惬意 。
完毕这4个阶段称为一个开发周期 , 它产生的软体称作第一代(generation) 。除非产品的生命结束 ,  一个现有产品能够通过反覆下一个同样的起始、细化、构建和移交四阶段 , 各个阶段的侧重点与第一次不同 , 从而演进为下一代产品 。这个时期我们称之为演进(evolution) 。最后伴随着产品经过几个周期的演进 , 新一代产品也不断被製造出来 。比如 , 演进周期的启动可能由下面这几项触发:用户建议增强功能、用户环境的改变、重要技术的变更 , 以及应对竞争的需要 。实际中 , 周期之间会有轻微重叠:起始阶段和细化阶段可能会在上一个周期的移交阶段未结束时就开始了 。叠代从技术的角度来 看 , 软体开发能够视为一连串的叠代过程 , 通过这些叠代被开发的软体得以增量演进 。每次叠代都以一个可运行的产品的公布而结束 ,  该产品可能是完整版本号的一个子集 , 但从project的或用户的角度来看是实用的 。每次公布都伴随一些支持性工件:版本号描写叙述、用户文档和计画等 。一次叠代包含下面活动: 计画、分析、设计、实施和测试 。依据叠代在开发周期中所处位置的不同 , 这些活动分别占不同的比例 。管理角度和技术角度之间是协调的 ,  并且各个阶段的结束还和各次叠代的结束保持同步 。换句话说 , 每一个阶段能够分为一次或多次叠代过程 。差别对于不同的项目而言 , 每一个阶段的侧重点 , 入口和出口準则 , 一个开发周期的各个工件 , 以及各次叠代的数目和长度都会不同 。这主要取决于作为过程判别式的的四个主要项目特徵 。依照影响程度降序排列 , 它们是:业务环境
契约性工作 , 开发人员基于给定的客户规格说明仅仅为该客户开发软体 。
猜测性开发或商业开发 , 开发人员开发软体以推向市场 。
内部项目 ,  开发人员和客户在同一个机构中 。
软体开发工作量的规模:依照一些度量标準来确定 , 比方 Delivered Source Instructions , 或功能点、人-月数 , 或者仅仅依照成本 。新颖程度:对于软体开发组织 , 这个软体新颖程度怎样有多新 , 尤其是该软体是否为第二次或更后面的周期 。这项差别包含了组织和过程的成熟度、资产、技术水平 , 当前的技状况 , 以及诸如组建并培训团队、获取工具及其它资源这种问题 。套用类型 , 目标领域:MIS , 命令和控制系统, 嵌入式实时系统, 软体开发环境工具等等, 尤其时详细的套用领域会给开发提出特殊的约束条件:安全性、性能、国际化、记忆体限制等 。开发流程需求分析1.相关系统分析员向用户初步了解需求 , 然后用相关的工具软体列出要开发的系统的大功能模组 , 每个大功能模组有哪些小功能模组 , 对于有些需求比较明确相关的界面时 , 在这一步里面可以初步定义好少量的界面 。