CSDN花神博客生涯之软件工程(2)

   日期:2020-10-02     浏览:93    评论:0    
核心提示:软件工程学习过程(2)七大软件开发模型瀑布模型生存周期模型或线性顺序模型模型图问题定义→ 可行性研究→ 需求分析→ 概要设计→ 详细设计→ 编码→ 测试和维护需求分析→ 规格说明→ 设计→ 编码 → 综合测试 → 维护????特点:阶段具有顺序性和依赖性推迟实现观点:推迟程序物理实现 ,逻辑设计和物理设计分开,充分的准备之后才编码实现质量保证观点, 以文档为驱动,适用于需求很明确的软件项目开发,每阶段都必须完成完整,准确的文档,每阶段结束前对文档评审有严格的顺序性,灵活

软件工程学习过程(2)

七大软件开发模型

瀑布模型

生存周期模型或线性顺序模型

模型图
  • 问题定义→ 可行性研究→ 需求分析→ 概要设计→ 详细设计→ 编码→ 测试和维护
  • 需求分析→ 规格说明→ 设计→ 编码 → 综合测试 → 维护
    特点
  • 阶段具有顺序性和依赖性
  • 推迟实现观点:推迟程序物理实现 ,逻辑设计和物理设计分开,充分的准备之后才编码实现
  • 质量保证观点, 以文档为驱动,适用于需求很明确的软件项目开发,每阶段都必须完成完整,准确的文档,每阶段结束前对文档评审
  • 有严格的顺序性,灵活性差,产品出现晚,开发人员,阻塞状态严重

快速原型模型

快速建立反应用户主要需求的原型系统,反复由用户评价修正需求,开发出最终产品

模型图
  • 快速原型→ 规格说明→ 设计→ 编码 → 综合测试 → 维护
    特点
  • 确定需求优于瀑布模型:通过原型与用户交互
  • 增加开发者和使用着对系统的了解
  • 出品速度块
  • 逐步求精
  • 开发阶段迭代特征
  • 连续修改导致内部结构可能不好
  • 实现过程中不应有的折中方案
  • 开发者急于完成原型二忽略了整体设计和可维性
  • 用户的参与造成软件开发管理的混乱

增量模型

分批向用户提交产品

模型图
  • 需求分析→ 规格说明→ 设计→ 编码和集成 → 维护
    特点
  • 较短时间内向用户提交完成有用的工作产品
  • 用户有充裕时间学习适应产品
  • 软件结构必须开发,方便向现有产品加入新构建,灵活性高
  • 并行构建后有可能会构建集成不到一起的风险

螺旋模型

螺旋模型是一种迭代模型,加入了风险分析→它是一种风险驱动的模型,适用于大规模高风险的软件项目开发

模型图

笛卡尔坐标四象限四方面活动

  • 制定计划:确定目标,选定方案,设定约束条件
  • 风险分析:评估方案,识别和消除风险
  • 实施工程:软件开发
  • 客户评估:评价开发工作,计划下一阶段工作,沿螺线自内而外每旋转一圈开发出更完善版本
    特点
  • 大型软件开发下目有较好的风险控制
  • 需要风险评估的经验
  • 契约式开发通常需要事先指定过程模型和分布产品 ,不适合螺旋模型
  • 普及度不如前者模型

喷泉模型

一种比较典型的面向对象软件开发模型以用户需求为动力,以对象作为驱动,适合面向对象的开发方法
特点

  • 迭代性→系统某部分常被重复工作多次,相关功能在每次迭代中加入演进系统,
  • 无间隙性→分析,设计,编码不存在明显界限
  • 提高开发效率和开发时间
  • 过分迭代增加开发成本,甚至延迟提交时间
  • 随时加入信息,审核难度加大

基于构建的开发模型,

利用预先封装的软件构件来构造应用软件系统,从而提高软件的重用性和可靠性,通常构件需要符合特定的接口标准,并实现一组接口
特点
可以在不同的计算机软件系统中复用,在某个领域具有一定的通用性

统一过程(RUP)模型

基于面向对象统一建模语言(UML)的一种面向对象的软件过程模型,RUP有九个核心工作流,包括6个核心过程工作流和三个核心支持工作流,有4个连续阶段,每阶段通过一次或多次迭代完成
特点

  • RUP软件由用例驱动,以构件为中心,采用迭代和增量的开发策略,
  • 它的软件生存周期是一个二维的软件开发模型

基于形式化的开发模型

借助数学的方法来研究计算机科学中的有关问题,确保严格,无错

变化模型→结合形式化软件开发方法和程序自动生成技术的一种软件开发模型,采用用严格的数学的表示体系来表示软件规格说明
净室模型→一种形式化的增量开发模型,在无错误或”净室“状态下实现软件开发

可行性研究

可行性研究的目的
这个阶段的目的不是解决用户提出的问题,而是确定这个问题是否值得去解决
可行性研究的任务

从经济,技术,操作,法律四个方面来研究每种算法的可行性

1.经济可行性→成本—效益分析,即要分析在整个软件周期中所花费的代价与得到的效益之间的度量
2.技术可行性→对要开发项目的功能,性能,限制条件进行分析
3.操作可行性→系统的操作方式在这个应用范围内是否新的通
4.法律可行性→会不会在社会上或政治上引起侵权

可行性研究的步骤

1.复查并确定系统规模和目标
2.研究目前正在使用的系统
3.建立新系统的高层逻辑模型
4.导出和评价各种方案
5/推荐可行方案
6.草拟初步的开发计划
7.编写可行性研究报告提交审查

成本-效益分析
系统成本包括开发成本和运行维护成本

系统效益包括
有形的经济效益

  • 货币的时间价值→钱数=存入P元 x(1+年利率 x n年)→P元钱在n年后的价值
  • 投资回收期
  • 纯收入

无形的经济效益

可行性研究报告的主要内容

  1. 引言:说明编写文档的目的,项目名称,背景
  2. 可行性研究前提:说明开发 项目的功能,性能,基本要求,限制条件
  3. 对现有系统的分析
  4. 对所建设系统的分析:经济,技术,社会因素可行性分析
  5. 其他与设计有关选择方案
  6. 其他与设计有关的专门问题
  7. 结论意见

花神的博客生涯之软件工程(1)结束了哦~
接下来会持续更新(⊙o⊙)!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服