ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

软件工程(咬文嚼字系列)

2022-05-20 17:02:48  阅读:139  来源: 互联网

标签:需求 文档 系列 模型 咬文嚼字 软件工程 原型 软件 过程


软件工程

软件工程基本原理

  1:用分阶段的生命周期计划严格管理

  2:坚持进行阶段评审

  3:实现严格的产品控制

  4:采用现代程序设计技术

  5:结果应能清楚的审查

  6:开发小组的人员应该小而精

  7:承认不断改进软件工程实践的必要性

软件生存周期

  一个软件产品或软件系统也要经历许多阶段,这些阶段被称为软件生命周期。软件生命周期包括:可行性分析和项目开发计划,需求分析,设计,编码,测试,维护

  1:可行性分析与项目开发计划这个阶段必须回答的问题是要解决的问题是什么?这个问题有可行的解决办法么?如果有可行的解决办法,需要多少资源,需要多少时间。要回答这些问题就要进行问题定义,可行性分析,制定项目开发计划。主要文档有可行性分析报告和项目开发计划

  2:需求分析的任务不是具体的解决问题,而是准确的确定软件系统必须要做什么,确定软件系统的功能,性能,数据和界面,从而确定系统的逻辑模型。主要文档有软件需求说明书

  3:概要设计的主要任务是将功能需求转换成需要的体系结构,在该体系结构中,每个都是意义明确的模块。有文档概要设计说明书

  4:详细设计的任务是对每个模块完成的功能进行具体描述,然后把功能描述转换成为精确的结果化的过程描述

  5:编码阶段将每个模块的控制结构转换成计算机可接受的程序代码。

  6:测试阶段主要文档有软件测试计划,测试用例和软件测试报告

  7:维护阶段时软件周期最长的阶段

软件过程

  1:初始级:杂乱无章,没有明确定义的步骤,项目的成功全依赖个人的努力和英雄式核心人物的作用

  2:可重复级:建立了基本的项目管理和实践来跟踪项目费用,进度和功能特性,有必要的过程准则来重复以前同类项目的成功

  3:已定义级:管理和工程的软件过程已经文档化标准化,并综合成整个软件开发组织的标准过程,所有项目都采用实际情况修改后的标准软件过程开发和维护软件

  4:已管理级:制定了软件过程和产品质量的详细度量标准,软件过程的产品质量都被开发组织的成员理解和控制

  5:优化级:加强了定量分析,通过来自过程质量反馈和来自新观念和新技术的反馈过程让过程来不断持续的改进

  (2):能力成熟度模型集成:阶段式和连续式

    阶段式模型:

      1:初始的,过程不可测且缺乏控制

      2:已管理的,过程为项目服务

      3:已定义的,过程为组织服务

      4:定义管理级,过程已度量和控制

      5:优化的:集中过程改进

    连续式模型:

      1:未完成的:过程域未执行或未达到已执行级所有目标

      2:已执行的:其共性目标是将其可识别的输入工作产品转换成可标识输出的工作产品

      3:已管理的:其共性目标是已管理的过程制度化,项目遵循已文档化的技术和过程描述,所有人获得足够可用的资源,所有工作任务和工作产品被监控

      4:已定义的:其共性目标是已定义的过程制度化,必须收集过程资产和过程的度量并用于将来对项目的改进

      5:已定义管理的:建立和使用关于质量和过程执行的定量目标作为管理的准则

      6:优化的:使用量化手段改变和优化过程域,以满足客户的要求改变和持续改进计划中的过程域的功效

软件过程模型

  瀑布模型

    瀑布模型将软件的各个活动规定依照顺序连接的若干阶段的模型,包括需求分析,设计,编码,测试,运行与维护。它适合用于文档作为驱动,软件开发需求明确的软件目的模型

    瀑布模型的变体V模型,在编码完成之后按照V模型右侧向上推进工作。

    需求分析  验收测试

    概要设计  系统测试

    详细设计  集成测试

    编码    单元测试

    优点:容易理解,管理成本低。

    缺点:用户必须准确清晰的描述他们的需要,在开始的两到三个阶段很难评测项目真正的进度,同时在软件接近结束时出现大量的集成和测试工作

  增量模型

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

    增量1:需求分析->设计->编码->测试 交付客户

    增量2:需求分析->设计->编码->测试 交付客户

    优点:第一个可交付的版本时间和成本较少,很快发布第一个版本减少用户需求的变更,运行增量投资,只能对一两个增量进行投资

    缺点:没有对用户变更需求进行规划,产生初始需求增量很有可能对后台增量的不稳定

  演化模型

    适合场景:对于软件需求缺乏准确认识的情况。

    原型模型:原型是一个系统的可执行版本,反映了系统性质的一个选定的子集。一个原型不必满足目标软件所有约束,其目的能快速低成本的构建原型.其主要开发步骤是开发初始原型,征求用户用户对初始模型的改进意见,并根据意见修改模型。

    原型分为:演化型原型,探索型原型,实验型原型

    螺旋模型:螺旋模型将瀑布模型和演化模型结合起来,添加两者没有的风险分析。螺旋模型将开发周期分成四个步骤:

    制定计划:确定软件的目标,选定实施方案,明确项目开发的限制

    风险分析:分析所选的方案,识别风险,消除风险。

    实施工程:实施软件开发,验证阶段性产品

    用户评估:评估开发工作,提出修正建议,建立下一个周期的开发计划。

    适合:开发规模庞大,复杂具有高风险的系统 

  喷泉模型

    喷泉模型采取以用户需求为动力,以对象作为驱动的模型,适合面向对象的开发方法。解决了不支持软件重用和多项活动集成的局限性,具有迭代性和无间隙性。迭代性指开发活动重复多次,无间隙指开发不必等待需求获取完成和设计完成才开始开发。

  形式化方法模型

    本质是演化模型,不同之处采用预先打包的软件构件开发软件系统

  统一过程模型

    用例和风险驱动,以架构为中心,迭代且增量的开发过程。

    起始阶段:构想文档,初始用例模型,初始项目术语表,初始业务用例,初始风险评估,项目计划,业务模型 生命周期目标

    精化阶段:生命周期架构

    构建阶段:初始运作功能

    移交阶段:产品发布

敏捷方法

  极限编程:价值观,原则,实践,行为4个部分组成

  水晶法:每个项目都需要不同的策略,约定,方法论

  并列争求法:30天作为一个冲刺,并且按照需求的优先级别来实现产品

  自适应软件开发:特征被视为客户价值的关键点,

  敏捷统一过程:大型上面连续,小型上面迭代。采取了起始,精化,构建,移交

标签:需求,文档,系列,模型,咬文嚼字,软件工程,原型,软件,过程
来源: https://www.cnblogs.com/lc2624139184/p/16292912.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有