软件工程知识点

软件工程常见知识点

  • 常见的软件生存周期模型
        • 1. 瀑布模型-- 顺序进行
        • 2. 演化模型--迭代
        • 3. 快速原型模型--原型
        • 4. 螺旋模型--风险驱动
        • 5. 喷泉模型--对象驱动
  • 项目关键路径的计算和四个时间
        • 关键路径的计算
        • 四个时间
        • 松弛时间
  • PERT图和Gantt图的区别和优势特点
  • 敏捷过程的开发方法的区别

常见的软件生存周期模型

软件生存周期
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理

1. 瀑布模型-- 顺序进行

核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们 自上而下、相互衔接 的固定次序,如同瀑布流水,逐级下落。
瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值

2. 演化模型–迭代

演化模型是一种全局的软件(或产品)生存周期模型。属于迭代开发风范。即根据用户的基本需求,通过快速分析构造出该软件的一个初始可运行版本,这个初始的软件通常称之为原型,然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进,获得原型的新版本。重复这一过程,最终可得到令用户满意的软件产品。采用演化模型的开发过程,实际上就是从初始的原型逐步演化成最终软件产品的过程。演化模型特别适用于对软件需求缺乏准确认识的情况

3. 快速原型模型–原型

快速原型的用途是获知用户真正的需求,一旦需求确定,原型被抛弃。主要用于需求分析阶段。不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法,所以不能定义完善的文档。

  • 特征:简化项目管理、尽快建立用户需求、加强用户参与和决策。
  • 具有广泛技能水平的原型化人员是原型实施的重要保证。原型化人员应该是具有经验与才干、训练有素的专业人员。衡量原型化人员能力的重要标准是他能否从用户模糊描述中快速获取需求。

4. 螺旋模型–风险驱动

螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。

  • 螺旋模型由风险驱动强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
  • 强调风险分析,很难让用户确信这种演化方法的结果是可以控制的。

5. 喷泉模型–对象驱动

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。
喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

项目关键路径的计算和四个时间

关键路径的计算

关键路径即权值相加最大的时间和

四个时间

最早开始时间,最晚开始时间,最早结束时间,最晚结束时间。

  • 最早开始时间和最早结束时间是这个活动最早能够开始和结束的时间
  • 而在最晚开始和最晚结束时间,是在不影响整个项目工期的情况下活动最晚开始和结束时间。

松弛时间

最早开始时间和最晚开始时间之间的一段时间余量,称之为松弛时间。

PERT图和Gantt图的区别和优势特点

PERT图和甘特图(Gantt图)都是项目管理中非常常用的工具,可以用来描述项目进度。但两者的侧重点不同。

  • PERT图描绘出项目包含的各种活动的先后次序,标明每项活动的时间或相关的成本,能清晰地描述子任务之间的依赖关系
  • 甘特图能清晰地描述每个任务从什么时候开始,到什么时候结束,以及任务之间的并行关系。但它不能清晰地反应出任务之间的依赖关系。

敏捷过程的开发方法的区别

  • 极限编程XP
  • 敏捷建模( Agile Modeling)
  • 自适应软件开发( Adaptive Software Development)
  • 水晶方法体系( Crystal)
  • 并列争球法

你可能感兴趣的:(软件工程)