软件生存周期(软件开发的生命周期)

加油,有的省份上半年考试时间已经结束了,还有很多没考完。如果我一个人学习,不做笔记,我想我应该已经完成了,我已经开始复习了。但是,为了做笔记,还是要花很多时间。希望大家喜欢关注,给我支持。你们的支持是我更新的动力,等到明年考试就更重要了。本章主要关注软件工程,首先是信息系统。(软件过程模型,连同信息系统开发方法,几乎每年都是必考的!选择上午2-3分钟左右,相反测试和实现部分不经常测试)

1.信息系统生命周期

软件生存周期(软件开发的生命周期)

有四阶段,五阶段,最后一列是软件的生命周期有四个阶段,五个阶段,最后一栏是软件的生命周期。

软件工程的基本原则:用分阶段的生命周期计划严格管理,坚持分阶段评审,实现严格的产品控制,采用现代编程技术,成果要有清晰的考核,开发团队要有更少更好的人员,要不断提高软件工程的实践。

软件的基本要素:方法、工具和过程。

软件生命周期:可行性分析和项目开发计划、需求分析、总体设计(选择系统解决方案和规划子系统)、详细设计(设计子系统内的具体实施)、编码、测试和维护。

五阶段生命周期,掌握两点(考试基本是这样的):

一、概念意义,每个阶段做什么?

第二,每个阶段的输出!

1.系统规划阶段:任务是对组织的环境、目标和系统现状进行初步调查,根据组织的目标和发展战略确定信息系统的发展战略,分析和预测建设新系统的需求,研究建设新系统的必要性和可能性,同时考虑建设新系统的各种约束条件。根据需要和可能,给出了系统建设的备选方案。

产出:可行性研究报告和系统设计任务书。

2.系统分析阶段:任务是详细调查当前系统,描述当前系统的业务流程,指出当前系统的局限性和不足,确定新系统的基本目标和逻辑功能需求,即提出新系统的逻辑模型。系统分析阶段也称为逻辑设计阶段。这个阶段是整个系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别。

输出:系统手册。

3.系统设计阶段:系统分析阶段的任务是回答系统做什么的问题,而系统设计阶段要回答的问题是怎么做。这一阶段的任务是根据系统规格书中规定的功能需求,设计实现逻辑模型的技术方案,即设计新系统的物理模型。这一阶段也称为物理设计阶段,可分为两个子阶段:总体设计(概要设计)和详细设计。

输出:系统设计说明(总体设计、详细设计说明)。

4.系统实施阶段:将设计的系统付诸实施的阶段。这一阶段的任务包括计算机等设备的购置、安装调试、编程调试、人员培训、数据文件转换、系统调试转换等。这一阶段的特点是几项相互联系、相互制约的任务同时展开,必须精心安排、合理组织。系统的实施按实施计划分阶段完成,每个阶段都要写实施进度报告。测试完系统后,写出系统测试分析报告。

输出:实施进度报告和系统测试分析报告。

5.系统运行维护阶段:系统投入运行后,需要经常进行维护和评估,记录系统运行情况,按照一定的规则对系统进行必要的修改,评估系统的工作质量和经济效益。

2.能力成熟度模型

成熟度模型CMM集成了CMMI和I。

能力模型主要衡量一个公司或组织做软件项目的能力,是否能接手项目!

软件生存周期(软件开发的生命周期)

关键过程区域,有时候也会考,但是考的不多,可以适当了解下,预计考的话也就是1分左右关键过程区域有时会测试,但测试不多,可以适当了解一下。估计考试成绩在1分左右。

成熟度模型集成CMMI

它是几个过程模型的综合和改进。它不仅仅是软件,而是一个系统的和一致的过程改进框架,支持许多工程学科和领域。它能适应现代工程的特点和需要,提高过程的质量和效率。

CMMI的两种表述:

(1)分阶段模型:类似于CMM,侧重于组织的成熟度。五种成熟度模型如下:

软件生存周期(软件开发的生命周期)

(2)连续模型:“关注每个过程域的能力,一个组织可以针对不同的过程域实现不同的过程域能力水平。

考题来了:

1()是系统分析阶段后得到的工作产品,()是系统测试阶段后的工作产品。

A.系统设计说明书b .系统方案建议书c .程序说明书d .单元测试数据

A.验收测试计划b .测试标准c .系统测试计划d .操作手册

2.下列关于CMM的说法不正确的是()。

A.CMM是指软件过程能力成熟度模型。

B.CMM根据软件过程成熟度的不同分为五个等级,其中等级1被认为是最高成熟度,等级5被认为是最低成熟度。

C.CMMI的任务是将现有的几种CMM模型结合起来,使它们成为“集成模型”

D.一般来说,采用更成熟的CMM模型可以提高最终产品的质量。

答案:B D(前几项要求在测试阶段前完成)B

3.软件过程模型3.1瀑布模型

软件生存周期(软件开发的生命周期)

瀑布模型(SDLC):瀑布模型是一个经典的软件生命周期模型。软件开发一般分为几个阶段:可行性分析(规划)、需求分析、软件设计(概要设计、详细设计)、编码(包括单元测试)、测试、运维等。

瀑布模型的特征

(1)接受上次开发活动的工作对象作为输入。

(2)利用这个输入来实现在这个活动中应该完成的工作内容。

(3)将本次活动的工作成果作为输出,提供给下一次开发活动。

(4)回顾本活动的实施结果。如果其工作结果得到确认,则进行下一个开发活动;否则,返回到先前的或者甚至更先前的活动。尽量减少多个阶段之间的重复。以相对较小的成本开发软件。

注意:瀑布模型适合有明确需求的项目!

3.2螺旋模型

软件生存周期(软件开发的生命周期)

螺旋模型是一种进化的软件过程模型,它结合了原型实现的迭代特性和线性顺序(瀑布)模型的受控和系统方面。在螺旋模型中,软件开发是一系列的增量发布。

开发过程具有周期性重复的螺旋形状。四个象限分别标记了每个周期的四个阶段:计划、风险分析、工程实施和客户评估。螺旋模型强调风险分析,特别适用于大型、复杂和高风险的系统。

注意:螺旋模型主要用于解决风险问题,适用于高风险、复杂的模型!

3.3V模型

软件生存周期(软件开发的生命周期)

注意,这个图不是水平对应的!为什么会这样呢?比如编码阶段对应的是单元测试,但是单元测试的规划是在编码之前做的,也就是完成了详细设计阶段!

代码对应单元测试,助记符:单编译,

详细设计对应集成测试,助记:详细收集(吉祥)

设计大纲对应系统测试,助记符:系统大纲(膝)

需求分析对应于验收测试,记忆:需求检查(续)

整体来看,V型是一个V型结构,由左右两侧组成。左边带下划线的行分别代表需求分析、概要设计、详细设计和编码。右边第一行代表单元测试、集成测试、系统测试和验收测试。V型的特点如下:

(1)单元测试的主要目的是解决编码过程中可能出现的各种错误;

(2)集成测试的主要目的是解决详细设计中可能出现的问题;

(3)系统测试主要针对概要设计,检查系统整体是否有效运行;

(4)验收测试通常由业务专家或用户进行,以确认产品能够真正满足用户的业务需求。

(5)需求明确,需求变化不频繁时使用V-model。

3.4原型模型

原型模型的第一步是创建一个能够满足项目干系人和未来用户之间交互的快速原型。然后通过与相关利益方的充分讨论和分析,最终明确当前系统的需求,在充分了解后,在原型的基础上开发出用户满意的产品。

根据原型法,当难以一下子全面准确地提出用户的需求时,原型应具备以下特征。

(1)切实可行

(2)它具有最终系统的基本特征

(3)结构方便快捷,成本低廉。原型法的特点是动态地响应用户的需求,并逐渐将用户的需求融入其中。

3.5增量模型

增量模式:先开发核心模块的功能,然后与用户确认,再开发子核心模块的功能,即一次开发部分功能,与用户需求确认,最后完成项目开发,优先级最高的服务先交付。

特点:但是由于各个模块不是从整个系统的角度来规划的,不利于模块划分。难点在于如何将客户需求分成多个增量。与原型不同,增量模型的每一个增量版本都可以作为一个独立的、可操作的作品,原型一般是为了演示而构建的。

软件生存周期(软件开发的生命周期)

3.6其它模型

喷泉模型:是由用户需求和对象驱动的模型,适用于面向对象的开发方法。让开发过程迭代、无缝。

基于组件的开发模式CBSD:使用预先打包的组件来构建应用系统。组件可以在组织内部开发,也可以是商业化的软件组件。

该功能增强了可重用性。在系统开发过程中,会建立一个构件库供其他系统重用,这样可以提高可靠性,节省时间和成本。

形式方法模型:一种基于严格数学的软件开发方法。它的主要活动是生成计算机软件的正式数学规范。

考题来了:

1.假设某软件公司与客户签订合同开发一个软件系统,系统功能明确,客户对交付时间有严格要求,那么()是最适合的系统开发方式。

A.瀑布模型b .原型模型C.V模型d .螺旋模型

2.下列关于螺旋模型的说法中,不正确的是()

A.它是风险驱动的,要求开发者具有丰富的风险评估知识和经验。

B.它可以降低过度测试或测试不足带来的风险。

C.包含了维护周期,所以维护和开发没有本质区别。

D.它不适合大规模的软件开发

分析:A,D

谢谢大家的好评和关注,这是我不断学习和更新的动力。关注微信官方账号:Coding-9527,与你一起学习、成长、进步!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。系信息发布平台,仅提供信息存储空间服务。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

本文来自网络,若有侵权,请联系删除,作者:丁俊远,如若转载,请注明出处:

发表回复

登录后才能评论