『软件工程3』你应该知道的三种原型实现模型:抛弃式、演化式、增量式

简介: 该文章详细解释了三种原型实现模型——抛弃式、演化式、增量式模型的特点、流程、优缺点及适用场景。

一、抛弃式原型开发

1、定义:验证和澄清系统的需求描述,重新构造系统。

2、流程图

3、典型例子

开发者与客户进行沟通交流,之后获取到客户的需求,于是开发者开发了该图形用户界面(GUI)的原型。但是之后呢,系统并没有用GUI继续做开发,而是采用C++或者是其他语言来开发。

4、有利条件

1)Reduce risk in a project, see if something can be done.

降低项目中的风险,评估哪些事情可以做,哪些事情不能做;

2)Capture requirements(e.g. whether client likes the GUI or not) .

捕捉需求,比如:客户是否喜欢GUI界面。

5、不利条件

1)Resources can be wasted, so control is needed.

资源可能会被浪费,因此需要控制。

2)Good Project Management is required.

需要良好的项目管理。

3)Good communication with the client is required.

与客户保持良好的沟通。

4)When is it a good time to stop developing the prototype.

无法判断停止开发原型的时间。

二、演化式原型开发

1、定义:逐步改进和细化原型,将原型进化为最终系统。

2、流程图

3、典型例子

与汽车行业类似,一款车型也在逐步完善。

4、有利条件

1)The client can see the changes that they want.

客户可以看到他们想要的改变。

2)Very good for improving user interface acceptance.

有利于提高用户界面的接受程度。

5、不利条件

1)Very weak on documentation (e.g. system keeps changing)

不利于文档撰写,比如:系统持续改变,那么文档就不好落笔。

2)The entire project needs strong project control,the same as leader needs to monitor development.

整个项目需要强有力的项目控制,同时领导者也需要监控项目的发展进程。

3)When is it a good time to stop evolving and finishing the project and possible lead to a badly structured system.

是什么时候停止发展和结束项目,我们都不知道;所以这很有可能会导致系统结构不良。

4)Special development staff may be required.

可能需要特殊的开发人员。

6、适用情况

1)Small projects.

小型项目。

2)Limited projects that are limited by time or money.

受时间或金钱限制的有限项目。

3)Those projects that need done quickly.

那些需要快速完成的项目。

4)Projects whose details cannot be determined in advance.

无法预先确定其细节的项目。

5)Projects with a high graphical content.

​ 图形内容丰富的项目。

三、增量式原型开发

1、定义:在建立软件总体设计基础上,采用增量开发方法,使原型成为最终系统。

2、流程图

3、典型例子

英文版

A software company and a client may agree on delivery of system parts. For example, a website delivery might be:

1st January - Delivery of web-server, web-pages,verification and validation scripts.

5th February - Delivery of database, security software.

21st February - Delivery of merchant payment system.

中文版

一个软件公司和客户就系统部件的交付达成协议。 例如,一个网站交付可能是:

1月1日 - 交付①网络服务器;②网页;③验证和确认脚本。

2月5日 - 交付数据库和安全软件。

2月21日 - 商家付款系统的交付。

4、有利条件

1)Good for breaking a larger system into parts, so components can be built easier.

​ 非常适合将较大的系统分解为多个部分,因此组件可以更轻松地被构建。

2)Customer sees the system in stages, so no “big bang” approach.

​ 客户分阶段看到系统,所以可能比较少会有“大爆炸”的态度。

5、不利条件

1)Requires good communication and agreement.

需要良好的沟通和协商。

2)Requires good project management, control and monitoring work.

需要良好的项目管理,控制和监视工作。

3)communication and agreement.

需要良好的沟通和协商。

4)Requires good project management, control and monitoring work.

需要良好的项目管理,控制和监视工作。

如果这篇文章对你有帮助,记得留下star哦~

相关文章
|
敏捷开发 算法 数据建模
『软件工程2』详解软件工程和软件过程模型
该文章深入解析了软件工程的概念及其过程模型,包括软件生命周期的不同阶段和常见的软件开发模型如瀑布模型、敏捷开发等,并探讨了各自的特点与适用场景。
『软件工程2』详解软件工程和软件过程模型
|
10月前
|
测试技术 数据库 uml
软考中级软件设计师专项-UML图篇
UML(统一建模语言)是一种用于软件系统建模的标准化语言,能够清晰表达系统的静态结构与动态行为。其核心包括三类构造块:事物、关系和图。事物分为结构事物、行为事物、分组事物和注释事物;关系包括依赖、关联、泛化和实现;图则涵盖了类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图和部署图等,分别用于静态建模、动态建模和物理建模。
993 1
软考中级软件设计师专项-UML图篇
|
存储 程序员
C 标准库 - <time.h>详解
`&lt;time.h&gt;` 是 C 标准库中用于处理时间和日期的头文件,提供了多种函数、宏和类型来获取和操作时间信息。重要数据类型包括 `time_t` 和 `struct tm`,前者表示从 1970 年 1 月 1 日以来的秒数,后者包含详细的日期和时间字段。
|
存储 机器学习/深度学习 人工智能
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
|
存储 自然语言处理 算法
【北京大学 软件工程】四、结构化分析方法
结构化分析方法是一种系统化的软件开发方法学,旨在通过使用问题域术语建立系统的功能模型,以明确“系统必须做什么”。该方法包括结构化分析、设计和程序设计三个主要部分。其核心工具是数据流图(DFD),用于表达系统功能模型,并结合数据字典定义数据流和数据存储。此外,还使用加工小说明(如判定表或判定树)描述加工逻辑。 结构化分析过程遵循自顶向下、逐步求精的原则,首先建立系统环境图确定边界,然后通过分解加工、分派数据流和引入文件来细化模型。整个过程中需确保模型平衡和信息组织的复杂性控制。最终输出为需求规格说明书(SRS),确保需求的正确性、无二义性、完整性和可验证性等特性。
1863 1
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
36511 1
|
人工智能 数据可视化 安全
瀑布模型是什么?在软件开发中有哪些主要阶段和步骤?
瀑布模型是一种经典的软件开发方法,将开发过程划分为需求分析、设计、编码、测试和维护等顺序阶段,强调阶段性和文档化。适用于需求明确、稳定且对安全性和可靠性要求高的项目。尽管存在局限性,但在特定场景下仍具重要价值。未来,瀑布模型可能与其他开发模型结合,更加灵活高效。
3493 3
瀑布模型是什么?在软件开发中有哪些主要阶段和步骤?
|
存储 自然语言处理 安全
『软件工程9』结构化系统分析——解决软件“做什么”问题
该文章深入讲解了结构化系统分析方法,用于明确软件需求和解决软件“做什么”的问题,并介绍了在此过程中使用的工具和技术。
『软件工程9』结构化系统分析——解决软件“做什么”问题
|
机器学习/深度学习 监控 项目管理
『软件工程4』一文了解软件项目管理中的4P
该文章讲述了软件项目管理中的四个关键要素(4P:People、Product、Process、Project)的重要性及如何在实践中应用这些要素来提高项目管理的有效性。
『软件工程4』一文了解软件项目管理中的4P