1.瀑布模型
瀑布模型将软件的生命周期划分为:制定计划、需求分析、软件设计、程序编写、软件测试、运行维护六个基本活动,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
在这里插入图片描述
瀑布模型将软件生命周期分为三个大阶段:定义阶段,开发阶段,运行和维护阶段。瀑布模型的阶段间具有顺序性和依赖性:前一阶段完成后,才能开始后一阶段;前一阶段的输出文本为后一阶段的输入文本。
在瀑布模型的每个阶段都坚持:
(1)每个阶段都必须完成每个阶段规定的文档。
(2)每个阶段结束前都要对所完成的文档进行评审,以便于尽早发现问题,改正错误。

2.软件生命周期
软件生命周期分为三个阶段:软件定义、软件开发、运行维护。软件定义时期,确定软件开发工程中的总目标,确定工程的可行性。估计完成该工程的时间成本,并且制定工程进度表。开发阶段,具体设计和设计前一个时期定义的软件。运行维护,使软件持久地满足用户的需求。
在这里插入图片描述

问题定义:通过对用户的调查访问,确立用户的问题性质,工程目标等。
可行性研究:确立问题研究的范围与可行性、哪些阶段应该投入更多的人力物力。
需求分析:与客户进行密切访问充分交流信息,以得出用户想要的系统逻辑模型(是以后设计和实现目标的基础)。
总体设计:应该先设计出实现目标系统的几种可能性方案,还有设计程序的体系结构,即确定程序由哪些模块组成及模块之间的关系。
详细设计:解决了具体实现系统的任务,详细地设计每个模块,确定模块功能所需要的算法及数据结构。
编码和单元测试:写出正确的容易理解、易于维护的程序模块。
综合测试:通过各种类型的测试达到预定的要求。最基本的测试是集成测试和验收测试。

3.分析模型
机构化分析导出的分析模型包括数据模型、功能模型、行为模型。该模型以“数据字典”为核心,描述了软件使用的所有数据对象,围绕这个核心的是“实体关系图”、“数据流图”、“状态转换图”。
在这里插入图片描述

实体关系图:描述数据对象以及对象间的关系,用于数据建模。
数据流图:描述了数据流在系统中流动的过程,以及指明对数据流进行变换的功能,是用于功能建模的基础。
状态转换图:描述了对外部事件的响应方式,表示了系统的各种行为模式(称为状态)以及在状态间进行变迁的方式,用于行为建模。

4.软件设计模型
分析模型中的每一个提供了建立设计模型所需的信息。软件设计,根据用数据、功能和行为模型表示的软件需求,采用某种设计方法进行数据设计、体系结构设计、接口设计和过程设计。
在这里插入图片描述

数据设计将实体关系图中描述的对象和对象之间的关系,以及数据字典中描述的详细数据内容转为数据结构的定义。
体系结构设计定义软件系统各主要成分的关系,主要需要分析数据之间怎样从一个模块流向另一个模块以及在模块内部的流向。
总体设计分为数据设计和体系结构设计。
接口设计根据数据流图定义软件内部各成分之间、软件与其他协同系统之间及软件与用户之间的交互机制,主要分析数据从不同的模块之间如何设计接口,需要用到数据流图。
过程设计把结构成分转化为软件的过程性描述,牵扯到数据状态的转换,以及状态变化的方式。

5.测试过程模型
测试时,首先进行单元测试,再进行组装测试,最后进行确认测试。
在这里插入图片描述

模块测试:即单元测试。每个模块对应一个独立的子功能,将每个模块作为一个独立的实体进行测试,确认每一个单元能够正常运行,在该阶段的错误通常是编码和详细设计的错误。由编码人员自己完成(白盒法)。

系统集成测试:即接口测试、组装测试。将经测试后的单元模块按照一定的顺序组装成系统,同时进行测试。重点是模块之间的相互通信与协调。当规模系统庞大时,进行集成测试一般分为子系统与系统测试(黑盒法)。应当验证系统是否能够实现需求分析的功能与性能,由专门的测试部门完成。

确认测试:合格测试或验收测试。验证系统是否达到系统规定的要求。

回归测试:在集成测试与确认测试之间加入回归测试。当某一个系统测试出现问题时,与该系统相关的系统进行局部测试,不用进行完全测试,节省时间应该返回就行回归测试。

6.喷泉模型
喷泉模型体现了软件工程开发过程中的迭代和无缝的特性。喷泉模型也称迭代模型,认为软件开发过程的各个阶段是相互重叠和多次反复的,就像喷泉一样,水喷上去又可以落下来,既可以落在中间,又可以落到底部。
在这里插入图片描述
不同阶段的圆圈相互重叠,表明两个活动之间存在交迭。
图中在一个阶段中的每一个向下的箭头表示阶段内的迭代。维护的圆圈较小,表示在采取了面向对象范型之后维护的时间缩短了。编码阶段与集成测试阶段的重叠较大,说明两个活动之间存在较大的重叠性,编码阶段的“单元测试”由编码人员自己完成。

与瀑布模型相比,瀑布模型是面向问题的一种软件模型,而喷泉模型是面向对象分析的一种模型,喷泉模型的各个活动之间存在交迭,且每一部分完成之后都要求精,以节省时间。

7.面向对象分析模型
面向对象分析,指的是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。
在这里插入图片描述

原型开发指向发现对象,对象也指向原型开发。因为原型开发综合其他活动进行是为了找出所有对象。早期的原型用于证实客户的需求,晚期原型用于修改交付用户前使用的状态。建立用况图是用户使用/需求情况图。发现对象是必要操作,是建立分析模型的必要环节。详细说明与发现对象、定义属性与服务、建立结构与连接、划分主题有双向箭头,详细分析对模型中的成分进行规范的定义和文字说明,可集中可分散。建立交互图、状态图、活动图是辅助模型,可有可无。

8.面向对象设计模型
面向对象设计模型分为四大系统:问题域、人机交互、任务管理、数据管理。
在这里插入图片描述

右边主要是面向对象分析模型,5个过程之间无严格层次,先抽取一部分对象,按照其属性与服务相同的归为一个类,当有很多类时存在结构划分,当有更多的结构时划分为主题。对象是在不断发现的,所以在发现新的对象时,又重新开始进行类与对象的划分。

9.建模过程框图
在进行一个软件模型建立时,应该具有先验知识、演绎分析、归纳程序、目标协调,然后进行模型构建,再进行可信度分析得到最终模型。
在这里插入图片描述

在进行一个软件模型建立时,应该具有一定的先验知识。

演绎分析应在一个逻辑上正确、数学上严格含义进行。

归纳法建模的主要信息来源是实验数据,其可信性分析是检查归纳程序是否按数学上和逻辑上进行。

10.建模的整个过程
将概念模型实例化,再次转化为计算机执行所需要的设计模型。概念模型中的边界类可以转化为操作界面或者系统接口。控制类可以转化为计算机程序或控制程序。实体类可以转化为数据库、文档或者其他持久化特征的类。
在这里插入图片描述

完成9种图例–完成5种视图–完成3种转换。
9种图例:用例图、类图、对象图、状态图、顺序图、协作图、活动图、构件图、部署图。
5种视图:用例、逻辑、构件、并发、部署。
3种转换:现实–业务 业务–概念 概念–设计。
概念模型:向上映射了原始需求,向下为计算机提出了一种更高层次的抽象。
边界类:界面,所有对计算机的操作都要通过界面进行。
实体类:业务实体的实例化结果 ,添加那些实际业务中使用不到但是转型计算机逻辑时需要的控制信息。
控制类:原始需求中的动态信息,即业务或用例场景中的步骤和活动。

Logo

分享最新、最前沿的AI大模型技术,吸纳国内前几批AI大模型开发者

更多推荐