集团官网
  • 国家级全民数字素养与技能培训基地
  • 河南省第一批产教融合型企业建设培育单位
  • 郑州市数字技能人才(码农)培养评价联盟

如何实现程序开发?计算机程序开发流程

编辑:云和数据 日期:2023-06-19 15:17

为了保证程序与问题统一,也保证程序能长期稳定使用,人们将程序的开发过程分为以下6个阶段。

(1)分析问题。编程的目的是控制计算机解决问题,在解决问题之前,应充分了解要解决的问题,明确真正的需求,避免因理解偏差而设计出不符合需求的程序。

例如,“小张问小李明天什么,小李说他明天必须要去补课,不能有其他安排”这一描述有两种理解:其一,“他”指小张,小张明天要去补课,小李的回答是提醒

他(小张)已有安排,既然无法一起活动,何必问自己(小李)的安排;其二,“他”指小李,小李表示自己明天要去补课,这就是他(小李)明天要做的事。

在实际开发中,提出问题和解决问题的通常是不同的人,自然语言又容易产生歧义,因此与需求方充分沟通,理清所需解决的问题是程序设计的前提。

(2)划分边界。准确描述程序要“做什么”,此时无须考虑程序具体要“怎么做”。例如对于“小李计划从家出发到学校”这一问题,只需要确定核心人物“小李”从“家里出发”,最终“抵达学校”,至于小李如何实现“家”到“学校”这一地址的转换,这里不需要考虑。在这一阶段可利用IPO方法(该方法将在1.5.2小节讲解)描述问题,确定程序的输入、处理和输出之间的总体关系。

(3)程序设计。这一步骤需要考虑“怎么做”,即确定程序的结构和流程。对于简单的问题,使用IPO方法描述,再着重设计算法即可。对于复杂的程序,应先“化整为零,分而治之”,即将整个程序划分为多个“小模块”,每个小模块实现小的功能,将每个小功能当作一个独立的处理过程,为其设计算法,最后再“化零为整”,设计可以联系各个小功能的流程。

(4)编写程序。使用编程语言编写程序。这一阶段首要考虑的是编程语言的选择,不同的编程语言在性能、开发周期、可维护性等方面有一定的差异,实际开发中开发人员会对性能、周期、可维护性等因素进行一定考量。

(5)测试与调试。运行程序,测试程序的功能,判断功能是否与预期相符,是否存在疏漏。如果程序存在不足,应着手定位和修复(即“调试”)程序。在这一过程中应做尽量多的考量与测试。

(6)升级与维护。程序总不会完全完成,哪怕它已投入使用。后续需求方可能提出新的需求,此时需要为程序添加新功能,对其进行升级;程序使用时可能会产生问题,或发现漏洞,此时需要完善程序、对其进行维护

综上所述,解决问题的过程不单单是程序编写的过程、问题分析、边界划分、程序设计、程序测试与调试、升级与维护亦是解决问题不可或缺的步骤。

相关内容

抢先一步 鸿蒙(HarmonyOS)应用开发者高级认证 免费考! 适合人群计算机相关专业在校生(技师、中职、高职、本科、研究生)对鸿蒙(HarmonyOS)有兴趣的非计算机相关专业在校生目前正在从事移动应用的开发者目前正在从事计算机行业相关的人计算机专业高校老师所有对鸿蒙(HarmonyOS)有兴趣的人 培训方案掌握鸿蒙的核心概念和端云一体化开发、... 什么是Java的多态性(polymorphism)?它有哪些不同的形式? 多态性是Java面向对象编程的一个重要概念,它允许不同的对象以一致的方式响应同一个方法调用,具体表现为对象在运行时可以表现出多个不同的形态。多态性主要有两种不同的形式:编译时多态性(静态多态性)和运行时多态性(动态多态性)。1. 编译时多态性(静态多态性):   ... 如何学习和搭建Hadoop开发环境? Hadoop是大数据处理领域的重要平台,能够处理和分析大量数据。为了有效地利用Hadoop,我们需要学习其基础知识,并正确搭建开发环境。下面是详细的学习和搭建指南。一、学习Hadoop基础掌握基础概念和原理Hadoop主要由HDFS和MapReduce两部分组成。HDFS是分布式文件系统,Ma... UI 设计学习如何进阶成为高手 我总结了六种方法,帮助你走出舒适区,提高技能,成长为自信且经验丰富的UI设计高手一位经验丰富的 UI 设计师,往往十分看中应用程序界面的吸引力和视觉刺激,确保满足用户期望和需求。但是,如果你已经在 UI 设计圈摸爬滚打多年,仍然没有出色的作品,那你极有可能是因为陷入了一个舒适圈,UI技能一直原... 在Java中Executor和Executors的区别? 在Java中,Executor和Executors都与线程池和并发执行有关,但它们是不同的概念和类。1.ExecutorExecutor是一个接口,位于java.util.concurrent包中,用于表示一个执行任务的执行器。它只定义了一个方法:void execute(Runnable c... String类型的常见命令有哪些? String类型,也就是字符串类型,是Redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:string是普通字符串,int整数类型,可以做自增、自减操作,float浮点类型,可以做自增、自减操作。String的常见命令有:SET:添加或者修改已经存在的...