软件工程(一):软件开发过程和管理,典型软件过程模型

您所在的位置:网站首页 目前典型的软件开发模型有哪些 软件工程(一):软件开发过程和管理,典型软件过程模型

软件工程(一):软件开发过程和管理,典型软件过程模型

2024-06-26 08:36:38| 来源: 网络整理| 查看: 265

软件工程(一):软件开发过程和管理

软件工程是从工程学的角度认识软件在大型系统中的设计和应用,关注软件产品本身和软件开发的整个过程,是一个迭代学习,不断试错的工程学

软件工程划分成4个模块,需求工程、软件设计、软件实现和软件测试。本文先提出几个小问题帮助大家理解,然后从整体的角度介绍软件项目的开发过程和管理,然后根据上述四个方面细致地解释介绍详细的内容

什么是软件?

软件=程序+数据+文档

为什么需要软件工程?

这要从软件的本质出发来考虑,软件本身具有复杂性、一致性、可变性和不可见性,这类内在特性导致软件开发逐渐变得困难起来乃至于无法控制,并且随着软件规模的急速增长,传统的软件开发方法已经不适用于如此规模复杂度的软件了,因而需要一个系统的、体系的工程学来帮助我们规划整个软件的设计过程。软件工程也能够帮助我们在软件生产的过程中解决许多问题,优化策略方法。

介绍几个工程化的思想帮助理解

分治思想:将复杂问题划分成若干个可独立解决的简单子问题,分别独立求解,最后再将各个子问题的解综合起来,形成复杂问题的解

折中和侧重思想:不同的需求之间往往存在矛盾和冲突,需要折中来做出取舍,找到双方都满意的点(eg.算法设计中,时间和空间的这种;安全性和速度的折中),不同类型的软件对质量的目标要求是有侧重的(eg.实时系统侧重可靠性和效率)

复用思想:复用已有的的功能模块,提高开发效率

软件工程过程

在这里插入图片描述

目录 软件工程(一):软件开发过程和管理什么是软件?为什么需要软件工程?介绍几个工程化的思想帮助理解软件工程过程 一、软件项目开发过程与管理(一)典型软件过程模型1、瀑布模型:2、增量模型: ——增量过程模型3、快速应用程序开发: ——增量过程模型4、快速原型开发模型: ——演化过程模型5、螺旋模型: ——演化过程模型 (二)软件项目开发管理1、4P:people、product、process、project2、软件项目估算:时段项目规模、工作量、时间和成本等进行预算和估计的过程3、软件项目进度计划4、项目风险管理

一、软件项目开发过程与管理

开发过程是指软件从无到有的整个开发周期,包含从需求到实现再到维护几个典型的阶段,同时人们定义了几个典型的软件过程模型,将这些过程模型代表着不同的迭代方式。

开发管理是从开发人员对软件开发过程的一系列安排和管理。

(一)典型软件过程模型 1、瀑布模型:

定义:开发阶段严格按照线性方式进行,每一个阶段具有相关的里程碑和交付产品并且书需要求人和验证,整个过程完全依赖规格说明文档

特点:因为是严格线性的,所以最初的需求就需要绝对的准确,这样后续的步骤才能够都正确

优点:简单易懂快速,适用于工程量较小的项目,在项目之初就能够全面了解需求

缺点:无法快速响应用户需求变化,以至于无法满足用户的需求,乃至造成重大损失  

增量过程模型:需求明确,但是整个开发工程中不适合单纯用线性模型,用户迫切需要一套功能有限的产品

2、增量模型: ——增量过程模型

定义:以串行迭代的方式运用瀑布模型,开发过程被划分成几个增量,每一个增量都在前一个增量的基础上开发新功能,实现从核心功能到附加各种特性,逐步完善,直至产生最终产品。

优点:每次交付一个子产品,供用户体验,给用户打了镇定剂,用户能够在体验过程中发掘自己的需求,项目的失败风险低

缺点:在迭代的过程中不能破坏上一个增量所构造的东西,所以迭代的难度会逐级增大,最初选择的体系结构很大程度上影响着开发的成功率。

3、快速应用程序开发: ——增量过程模型

定义:是瀑布模型的高速变体,并行运行瀑布模型,根据不同功能划分项目组,并行开发,最后合并

优点:提高软件交付速度(并行)、可以利用企业已有资产进行开发(复用)

缺点:需要大量人力资源,每一个项目组就需要一个满配的团队;对企业的管理水平要求高,技术风险大(合并的时候是风险最大的)  

演化过程模型是为了适应经常发生变化的需求,本质是循环反复不断地调整当前系统以适应需求变化

4、快速原型开发模型: ——演化过程模型

定义:根据基本需求快速开发得到一个原型,根据用户对于原型的评估和意见进行完善,开始正式开发

优点:原型可与用户交互,方便用户沟通;可以弄清用户的需求

缺点:为了尽快完成原型,整体软件的质量和长期的可维护性可能被忽视

和增量模型的区别:增量模型是开发出核心功能,然后往上叠加,每一步都是重要的;而原型开发中的原型只是为了得到用户真实的需求,原型可能在正式开发的时候被抛弃。

5、螺旋模型: ——演化过程模型

定义:加入了风险分析,将软件生存周期划分成规划、风险分析、开发和评估四个循环重复的阶段,评估和风险分析阶段会做出项目是否继续的决策

优点:结合原型开发和瀑布模型的优势,是风险驱动的

缺点:加入了风险评估,周期变长,成本变高,项目管理变得困难,演化速度不易把控  

(二)软件项目开发管理 1、4P:people、product、process、project 2、软件项目估算:时段项目规模、工作量、时间和成本等进行预算和估计的过程

分段估算:对项目中的各阶段细化估算

专家判断:

参数估算:通过大量项目的历史数据进行统计分析,包括代码行技术、功能点技术方法、cocomo模型、用例点估算、故事点方法、机器学习法等

代码行技术:根据过去开发类似产品的经验估计代码行数、计算估计成本和工作量

功能点方法:根据软件信息域进行估算

故事点方法:根据功能的大小为没有个功能(故事)分配一个点值,关注不同功能之间点值的相对大小

3、软件项目进度计划

因为各任务之间存在相互依赖关系,画出网络图并标上开始时间和结束时间(最早和最晚),其中关键路径的时间之和就是项目开发所需要的时间,根据网络图绘制任务进度安排甘特图,画出人员资源分配图 在这里插入图片描述在这里插入图片描述

4、项目风险管理

风险识别->风险评估->应对计划->风险控制

建立风险表

在这里插入图片描述

未完待续,感谢阅读~   未经允许禁止转载



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭