如何自己编写一个程序

如何自己编写一个程序,第1张

编程是一项系统而繁琐的工作,不仅需要程序员有一定的基础,还需要良好的编程习惯和风格。良好的编程习惯和风格不仅可以使程序代码更容易阅读和修改,更重要的是可以使程序结构更加合理,有助于提高程序的执行效率。下面是我编程的一些经验,供大家参考。

设计顺序

我们刚开始学编程的时候,要写一个程序,总是先做一些思路,然后边写代码边调试。这种方法一般只适用于非常小的程序。根据软件工程的特点,按照这种方法设计所有的程序是不合理的。

其实设计过程就像我们盖高楼一样。首先,我们要设计图纸,然后开始施工。因此,对于个人编写程序,应该遵循以下步骤:

1.问题分析:通过编程的方式系统地分析我们想要解决的问题,了解程序是做什么的,想要达到什么样的效果。

2.结构设计:即设计程序的整体框架,设计我们需要使用的模块,绘制流程图。

3.用户界面设计:在这里,我们应该设计一个输入输出界面,用于与用户进行交互。

4.代码设计:在这一步,我们将编写代码。

5.调试:处理程序中正在发生或可能发生的各种错误。

6.维护:一般来说,维护就是升级程序,修改原来的错误。

对于上面的步骤,我想大部分人都认为代码设计是最重要的,但是如果程序的结构还没有明确,我们写代码的时候就会出现混乱。一个程序的性能主要取决于它的合理结构。因此,在程序设计中,我们应该尽可能地注意这一点,从而使我们的程序更加完善。

设计环境

好的编程环境可以防止我们写程序时各种资源的无序,避免资源的流失。建议您在存放源程序的目录下建立一个“程序”文件夹;然后用你要写的程序名和版本名创建一个文件夹,用来存放整个源程序和各种资源;最后分别建立几个文件夹,“文档”:用来存放程序文档,包括流程图等。“资源”:用于存储图片、声音、电影等资源;“调试”:用于存储调试程序。“版本”:用于存储最终版本的程序。

例如,如果我们要制作一个名为“english”的1.0版英语学习软件,那么我们的编程环境中应该存在以下文件夹:

[drive]:\\?\\程序\ \英语1 \ \调试\ \

[驱动器]:\\?\\程序\ \英语1 \ \文档\ \

[驱动器]:\\?\\程序\ \英语1 \ \资源\ \

[驱动器]:\\?\\程序\ \英语1 \ \发布\ \

另外,最好建立一个专门的文件夹来存放各种模块,这样代码就可以重用了。这样我们每次写程序都不用重写所有模块,编程速度会大大提高。

设计技巧

如果代码写得乱七八糟,程序就不容易被阅读和修改。因此,编写代码时应注意以下几点:

(1)注释:虽然写注释需要一定的时间,但是在阅读和修改代码的时候会节省很多时间。所以建议你在定义函数的时候,把函数写在函数的第一行,把函数的参数解释在一行,在每个变量的定义语句后面给函数加注释。

(2)变量和函数的命名:每个程序都会用到大量的变量和函数。如果随意给变量和函数命名,每次使用时都必须在变量或函数的定义语句中找出变量和函数的数据类型和名称,随意命名会导致变量和函数的重复定义。

建议您使用匈牙利命名法。方法是:每个变量或函数的开头以其数据类型的缩写命名,然后加上代表这个变量或函数的功能的英文单词缩写,形成变量或函数的名称。比如定义整数变量count进行计数,其定义语句为C \ \ c++:inti count;基本:dim icount为整数.这种定义既能有效避免变量和函数的混淆和重复定义,又能保证数据类型的匹配。

(3)控件命名:如果在windows下编程,可能会用到很多控件。如果不严格管理控件名,会造成很大程度的混乱。因此,建议在给控件命名时,使用控件类型的缩写和表示该控件功能的英文单词的缩写来构成该控件的名称。例如,如果要命名一个要删除的按钮控件,控件名称可以命名为cmddel。

不是每个人都能成为顶尖的程序员,但我们都在程序员的道路上不断进步,追求更完美、更专业的程序。你不妨改革一下你的程序,你会从中感受到很多好处。

软件开发是指一个软件项目的开发,如市场调查,需求分析,可行性分析,初步设计,详细设计,形成文档,建立初步模型,编写详细代码,测试修改,发布等。

软件是怎么样开发出来的

第一个步骤是市场调研,技术和市场要结合才能体现最大价值。

第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户 *** 作手 册。

用户视图 是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多 *** 作方面的流程和条件。

数据词典 是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。

用户 *** 作手册是指明了 *** 作流程的说明书。

请注意,用户 *** 作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。

需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。

第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。

作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。

第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最’干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。

那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。

第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。

编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有!

第六个步骤是测试

测试有很多种:

按照测试执行方,可以分为内部测试和外部测试

按照测试范围,可以分为模块测试和整体联调

按照测试条件,可以分为正常 *** 作情况测试和异常情况测试

按照测试的输入范围,可以分为全覆盖测试和抽样测试

以上都很好理解,不再解释。

总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。

完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,直到这个软件被彻底淘汰为止。

什么是软件开发的核心问题

按照软件工程鼻祖,《人月神话》作者 Brooks 在“没有银d——软件工程中的根本和次要问题”一章中阐述的思想,软件开发的核心问题就是如何从概念上对一个复杂的业务系统进行建模。这个建模是含义广泛的,不仅仅包括对象建模,还包括数据建模、算法建模等等一系列的内容。总而言之是要先找到解决复杂问题的突破口(先要搞明白需要做什么,然后再考虑如何做)。至于采用什么表示方法(简单文本、UML 图、E-R 图)、采用什么高级语言、是否一定要用面向对象、使用什么开发工具都是次要的问题。

软件开发方法

软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。

软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。

关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。

有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。

特别是软件开发的实践表明,在开发的早期阶段多做努力,在后来的测试和维护阶段就会使费用较大地得以缩减。因此,针对分析和设计阶段的软件开发方法特别受到重视。其它阶段的方法,从程序设计发展的初期起就是研究的重点,

已经发展得比较成熟(参见程序设计,维护过程)。除了分阶段的局部性软件开发方法之外,还有覆盖开发全过程的全局性方法,尤为软件开发方法学注意的重点。

对软件开发方法的一般要求:当提出一种软件开发方法时,应该考虑许多因素,包括:

①覆盖开发全过程,并且便于在各阶段间的过渡;

②便于在开发各阶段中有关人员之间的通信;

③支持有效的解决问题的

④支持系统设计和开发的各种不同途径;

⑤在开发过程中支持软件正确性的校验和验证;

⑥便于在系统需求中列入设计、实际和性能的约束;

⑦支持设计师和其他技术人员的智力劳动;

⑧在系统的整个生存周期都支持它的演化;

⑨受自动化工具的支持。此外,在开发的所有阶段,有关的软件产物都应该是可见和可控的;软件开发方法应该可教学、可转移,还应该是开放的,即可以容纳新的技术、管理方法和新工具,并且与已有的标准相适应。

参考:http://www.blog.edu.cn/user5/280156/archives/2008/2090192.shtml

 第一步:需求调研分析

软件开发流程

软件开发流程

1相关系统分析员向用户初步了解需求,然后用word列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。

2 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。

3 系统分析员向用户再次确认需求。

第二步:概要设计

首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

第三步:详细设计

在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实 现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。

第四步:编码

在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。 

第五步:测试

测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7852830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存