【分享】程序的开发与编写
程序是运行在电子计算机上,用于实现某种功能的一组指令的集合。程序的规定与功能的复杂度有关,一般而言,功能越复杂,程序的规模就越大。下面将从程序的开发流程、程序的编写方法、编程约定和数据的表示等方面对程序实现方法进行说明。
程序开发流程
为了保证程序与问题统一,也保证程序能长期稳定使用,人们将程序的开发过程分为以下6个阶段。
1.分析问题
编程的目的是控制计算机解决问题,在解决问题之前,应充分了解要解决的问题,明确真正的需求,避免因理解偏差而设计出不符合需求的程序。
2.划分边界
准确描述程序要“做什么”,此时无须考虑程序具体要“怎么做”。例如小李明天要从家出发到公司,对于此问题,只需要关心核心人物“小李”从“家里”出发,最终到达“公司”,至于小李如何从家到达公司,不需要考虑。在这一阶段可利用IPO(Input, Process, Output)方法描述问题,确定程序的输入、处理和输出之间的总体关系。
3.程序设计
这一步需要考虑“怎么做”,即确定程序的结构和流程。对于简单的问题,使用IPO方法描述,再着重设计算法即可。对于复杂的程序,应先“化整为零,分而治之”,即将整个程序划分为多个“小模块”,每个小模块实现小功能,将每个小功能当作独立的处理过程,为其设计算法,最后再“化零为整”设计可以联系各个小功能的流程。
4.编写程序
使用编程语言编写程序。这一阶段首先要考虑的是编程语言的选择,不同的编程语言在性能、开发周期、可维护性等方面有一定的差异,实际开发中开发人员会对性能、周期、可维护性等因素进行一定的考量。
5.测试与调试
运行程序,测试程序的功能,判断功能是否与预期相符,是否存在疏漏。如果程序存在不足,应着手定位和修复(即“调试”)程序。在这一过程中应尽量多地考量与测试。
6.升级与维护
程序并不会完全完成,哪怕它已投入使用。后续需求方可能提出新的需求,此时需要为程序增加新的功能,对其进行升级;程序使用时可能会产生问题,或发现漏洞,此时需要完善程序,对其进行维护。
综上所述,解决问题的过程不单单是程序编写的问题,问题分析、划分边界、程序设计、程序测试与调试、升级与维护亦是解决问题不可或缺的步骤。
【分享】程序的开发与编写相关推荐
- 好程序员前端分享使用JS开发简单的音乐播放器
好程序员前端分享使用JS开发简单的音乐播放器,最近,我们在教学生使用JavaScript,今天就带大家开发一款简单的音乐播放器.首先,最终效果如图所示: 首先,我们来编写html界面index.htm ...
- html air 桌面开发,adobeair桌面应用程序的开发流程分享.docx
PAGE / NUMPAGES Adobe AIR桌面应用程序的开发流程 富媒体时代使RIA成为桌面应用开发的主流,人们开始追求高互动性和具有美观感受的应用程序.Flash在视觉效果上的优势,加上在R ...
- 桌面版应用_【Nordic博文分享系列】开发你的第一个NCS(Zephyr)应用程序
Nordic有2套并存的SDK 1.老的nRF5 SDK 2.新的NCS SDK 两套SDK相互独立, 大家选择其中一套进行开发即可. 一般而言,如果你选择的芯片是nRF51或者nRF52系列,那么推 ...
- 编程日历小程序,对小程序云开发和生成分享海报的实践
1.起源 朋友圈晒的很多的一本日历书<了不起的程序员 2021>,我也买了,很厚,纸质书嘛,现在已经很少看了,加上这是一本日历书,希望是每天都打开看.可实际上的情况是,要么忘记看今天的内容 ...
- 好程序员web前端分享移动前端开发和web前端开发的区别
好程序员web前端培训分享移动前端开发和web前端开发的区别,既然都是前端开发,两者肯定有紧密的联系,但是楼主主要询问区别,我就先简单聊一下相同点,之后在着重分析不同点. 移动前端开发和web前端开发 ...
- 校园表白墙、微信表白墙、校园墙 微信小程序 JAVA 开发记录与分享
目录 最新版表白墙博客地址 1.微信小程序前台展示 2.功能介绍 3.后台管理 4.后端语言采用 JAVA 开发 5.体验此微信小程序 扫描下方二维码 6.如何联系我或需要源码进行联系 最新版表白墙博 ...
- 基于列表框的简单选课窗体开发。编写Windows应用程序,设计实现一个简单选课系统,要求:(1)点击“添加”按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加的课程不能为空,不能
基于列表框的简单选课窗体开发.编写Windows应用程序,设计实现一个简单选课系统,要求: (1)点击"添加"按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加 ...
- 头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础
头歌-信息安全技术-用Python实现自己的区块链.支持以太坊的云笔记服务器端开发.编写并测试用于保存云笔记的智能合约.支持以太坊的云笔记小程序开发基础 一.用Python实现自己的区块链 1.任务描 ...
- 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)
目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...
最新文章
- opencv源码解析之(6):hog源码分析
- 水杯测试----误人子弟啊!
- flutter - URL出现在网站名称的位置
- java简单课程设计_!高分跪求帮忙写一个简单小程序的JAVA课程设计报告(内详!!)...
- wxWidgets:wxColourPickerEvent类用法
- js粘贴板为什么获取不到图片信息_【第1829期】复制黏贴上传图片和跨浏览器自动化测试...
- kotlin获取属性_Kotlin程序| 属性获取器和设置器方法的示例
- Redis工作笔记-事务
- python炒股日记_自学python的日记分享
- IronPython 2.0 Alpha2
- C语言pid算法模糊控制,温度PID模糊控制的算法完整
- 怎么改mnist数据的标签_详解 MNIST 数据集
- 多功能下拉分页选择插件SelectPage插件 http://www.jq22.com/jquery-info14227
- win7一激活就蓝屏
- APP设计:(一)app界面常用设计规范
- Echarts设置y轴值间隔
- 高等数学基础概念的Python开发实现
- ITRON的内存管理,中断处理,时钟管理
- MAC 在线安装系统
- 通过创建script标签来引入外部js