1、计划
2、分析
3、设计
4、编码
5、测试
6、维护
1、计划
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施计划。
2、分析
软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
3、设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主兆陵要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可族竖戚更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
4、编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
5、测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
6、维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使纤迟用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
编写程序是一项系统而繁琐的工作,它不仅需要程序设计人员具有一定的功底,更需要有良好的编程习惯和风格。良好的编程习惯和风格不仅可以使程序代码更易于读懂和修改,更重要的是,它可以使程序的结构更加合理,有助于提高程序的执行效率。下面是我在程序设计中总结的一些经验,供大家参考。设计顺序在我们刚开始学习程序设计的时候,要编写一个程序,总是先进行一番构思,然后就一边写代码一边调试。这种方法一般只适用于非常小的程序,根据软件工程的特点,如果对所有程序都还按这种方法进行设计,是不合理的。
其实,设计程序就像我们盖高楼大厦,首先要设计图纸,然后动工。所以,对于个人编写程序来说,应遵循以下步骤:
2、结构设计:也就是对程序的整体肢或框架进行设计,设计出我们需要使用的模块等等,并画出流程图。
3、用户界面设计:在此,我们要设计出用于与用户交互的输入输出界面。
4、代码设计:在这个步骤中,我们要进行代码的编写。
5、调试:对程序中正在发生或可能发生的各种错误进行处理。
6、维护:通俗地说,维护就是对程序进行升级,对原有错误进行修改。
对于以上几个步骤,我想大多数人会认为代码设计最为重要,但如果程序的结构尚未清楚,我们在编写代码的时候就会发生混乱,一个程序性能的好坏,主要还是取决于它的结构是否合理。因此,在程序设计中,我们要尽可能注意这一点,这样才能使我们的程序更加完善。
设计环境一个良好的编程环境可以使我们在编写程序时,不至于造成各种资源的紊乱,还可以避免资源的丢失。建议大家要在放源程序的目录下建立“Programs”文件夹;然后再以你要编写的程序名和版本为名建立一个文件夹,用于存放整个源程序以及各种资源;最后,分别建立几个文件夹,“Documents”:用于存放程序文档,包括流程图等;“Resource”:用于存放图片,声音,影片等资源;“Debug”:用于存放调试的程序。“Release”:用于存放最终释放的程序。
例如:我们要制作一个英语学习软件,名为“English”,版本为1.0,那么我们的编程环境中应存在以下文件夹:
[DRIVE]:\\…\\Programs\\English1\\Debug\\
[DRIVE]:\\…\\Programs\\English1\\Documents\\
[DRIVE]:\\…\\Programs\\English1\\Resource\\
[DRIVE]:\\…\\Programs\\English1\\Release\\
另外,最好再建立一个专门的文件夹,用于存放各种模块,以便能实现代码的重用,这样,我们就不用在每次写程序时,都重写所有的模块,编程速度会有很大的提高。
设计技巧代码如果写得很乱,程序便不易被阅读与修改,所以,在编写代码时要注意以下几点:
(1)注释:写注释虽然要占用一定的时间,但在阅读和修改代码时却会节省很多的时间。所以,建议大家在定义一个函数时,在函数的第一行写出函数的作用,再用一行解释函数的参数,并在每个变量的定义语句后注释出其作用。
(2)变量和函数的命名:每个程序都会使用很多的变量和函数,如果随意命名变量与函数,每次使用时还得在变量或函数的定义语句处查出它的数据类型及名称,而且随意命名还会造成变量与函数重复定义。
建议大家使用匈牙历唯伍利命名法,方法是:每个变量或函数的开头都以其数据类型的缩写命名,然后再加上代表这个变量或函数的作用的英文单词简写共同组成变量或函数的名称。例如:要定义用于计数的整型变量count,其定义语句为C\\C++:int icountBasic:Dim icount as Integer。以这种方法定义,不仅可以有效地避免变量与函数的混乱与重复定义,还可以保证数据类型的匹配。
(3)控件命名:如果在山薯Windows下编程,你有可能会大量地使用控件,如果不对控件名严加管理,会造成很大程度的混乱,因此,建议在给控件命名时,以控件类型缩写再加上代表这个控件作用的英文单词的简写共同组成此控件的名称。例如:你要命名一个按钮控件,作用是进行删除 *** 作,那么控件名可以命名为cmdDel。
计算机基础及程序设计概述
“计算机程序设计基础”是大学计算机基础教学系列中的核心课程,主要介绍程序设计语言的基本知识和程序设计的方法与技术。下面是我整理的关于计算机基础及程序设计概述,欢迎参考!
【1】计算机基础及程序设计概述计算机基础其内容以程序设计语言的语法知识和程序设计的基本方法为主,同时包括程序设计方法学、数据结构与算法基础等方面的初步内容。本书旨在,使学生掌握计算机程序设计的基本思想和方法,初步具备在各领域应用计算机的能力,并为后续课程的学习创造条件。
本套教材分为《计算机程序设计基础》和《程序设计基础实验指导与习题》,力求详细介绍C语言结构化程序设计,并涵盖了计算机等级考试的要求。《计算机程序设计基础》教材是以程序设计的基础理论为主,重点介绍程序设计的基本理论和方法及C语言的语法知识。《程序设计基础实验指导与习题》教材与《计算机程序设计基础》配套,包括实验上机指导、实验思考题、练习题、二级考试等内容。
本书是以计算机基础课程教学指导分委员会制定的“计算机程序设计基础课程教学基本要求”为依据,结合近年瞎悄来C语言程序设计基础的教学实践经验编写而成。其内容涵盖了C语言结构化程序设计的基本理论、基本概念、方法和规范。以培养学生掌握程序设计的基本理论和方法及计算机应用编程能力为目标。
本书以一个小型的学生成绩管理系统为主线,将C语言程序设计的各个知识点分配到各个章节中详细介绍,并逐步实现该系统的全部功能。通过该案例,使学生对C语言程序设计的过程和所涉及知识有一个清晰的理解,力求理论与实践相结合,从而培养学生分析问题和解决问题的能力。
本书共分8章,内容包括:
第1章——程序设计概述,介绍程序、程序设计、算法等基本概念,程序设计的过程和程序设计的方法,以及C语言字符集、词法符号和C语言程序的基本结构。
第2章——数据类型、运算符与表达式,介绍C语言的数据类型、各种类型的常量、变量的声明和使用方法,各种类型运算符及表达式求值的运算规则。
第3章——程序控制结构,介绍结构化程序设计的基本概念和结构化程序设计的方法,C语言的顺序控制语言、选择控制语句、循环控制语句及应用问题的求解方法。
第4章——函数与预处理,介绍用函数实现模块化程序设计的思想,函数定义、函数声明、函数调用的基本概念和方法,函数的返回值及其类型,函数参数传递机制,递归函数,变量的作用域和存储类型及脊神耐预处理等。
第5章——数组,介绍数组的概念,一维数组的定义、初始化及应用,二维数组的定义、初始化及应用,字符串与字符数组的概念及应用。
第6章——指针,介绍指针的基本概念,指针变量的定义及其相关运算,指针与函数,指针与数组,动态内存分配。
第7章——结构体与共用体,介绍结构体、共用体等自定义数据类型的机制,结构体类型与结构体变量,结构体数组,结构体与函数,链表的概念和常用 *** 作,共用体的概念及应用。
第8章——文件,介绍文件的基本概念及对文件的常用 *** 作。
第9章——面向对象程序设计,介绍面向对象程序设计的基本概念及类的基本 *** 作。
附录包括ASCII码表、C语言运算符、常用C标准库函数。
本书第1章、第2章由田红梅编写,第3章由郭炜编写,第4章由刘菲编写,第5章由姬涛编写,第6章由江红编写,第7章、第8章由周启生编写,第9章由陈青编写。全书由周启生和姬涛统稿与审定。特别感谢刘宝忠教授对本书的指导与审阅。在编写本书的过程中,还得到了王海晖教授、庄鹏老师的大力支持,樱春在此也表示衷心感谢!
本书的编者都是长期从事程序设计教学的`教师,本书凝集了各位教师多年的教学实践经验。由于计算机科学技术发展迅速,程序设计的教学内容、方法和手段日新月异,加之编者水平有限,书中不足之处在所难免,敬请读者批评指正,以便今后进一步完善。
【2】计算机基础及程序设计概述软件是为了完成某些特定功能而编制的一到多个程序文件的集合。指令就是命令,可以被连续执行的指令集合,称为计算机程序。计算机语言是人们发明的一种,可以和计算机交流沟通的一种工具。
总而言之程序语言是软件工程师用来编写程序、制作软件的工具,是规则与符号的集合,是与计算机交流的工具。
程序语言的产生和发展,直接推动了计算机的普及和应用。总的来说程序分为4大类:
1、机械语言:机械语言全部都是由0和1构成的,但是不利于理解和记忆,也不方便我们 *** 作计算机。
2、汇编语言:汇编语言仅是机器语言的一种助记符,它们之间没有本质的区别,很多时候我们把二者等同视之。
3、中级语言:C语言即是中级语言也是高级语言,C语言是由B语言发展而来的,有C又有B当然还有A语言,而B语言就是由A语言发展来的。
4、高级语言:高级语言总是无限接近我们的自然语言和思维方式。程序语言的发展趁势就是:从最底层的机器语言逐步跨越计算机与客观事物(即问题域)之间存在的语言鸿沟。
如何进行程序设计呢?一个简单的程序设计一般包含了4个步骤,他们分别是:1、分析问题2、确定数据结构和算法3、编制程序4、调试程序。
有了步骤下面我们要考虑的就是算法了,而算法的基本特征包括了以下5项:
1、有穷性:一个算法必须在执行有限个 *** 作步骤后终止。
2、确定性:算法中每一步的含义必须是确切的,不可以出现任何二议性。
3、有效性:算法中的每一步 *** 作都应该能有效执行,一个不可执行的 *** 作是无效的。
4、有零个或多个输入:这里的输入是指在算法开始之前所需要的初始数据。这些输入的多少取决于特定的问题。
5、有一个或多个输出:所谓输出是指与输入有某种特定关系的量,在一个完整的算法中至少会有一个输出。
其中第4和第5项是一起的。
有了算法就该编码实现了:
首选是编写源代码然后是将源代码编译成为目标代码之后是连接目标代码成为可执行程序最后是运行程序。
程序编好了之后,我们需要调制程序中的错误:
首先是语法中的错误其次是逻辑上的错误然后是开发中的错误最后是运行是的错误。
今日打油诗:
程序基础
程序基础刚开学
九九乘法太困难
几个小时终算出
结果还是有错误
等待明日老师教
速吃晚饭写微博
微博笔记刚完成
时间已过十一点
明日课程快预习
预习完后好疲惫
赶快洗洗睡觉啦
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)