谈一谈程序设计全过程的各个阶段,及各阶段我们需遵循的原则有哪些?或者结合自身程序设计经历来谈。

作者&投稿:彩视 (若有异议请与网页底部的电邮联系)
编译过程分为哪几个阶段?各阶段的遵循的原则、识别机构、使用的文法?编译原理~

编译原理中的遍概念
编译阶段也常常划分为两大步骤,分析步骤和综合步骤 分析步骤和综合步骤 分析步骤是指对源程序的分析 -线性分析(词法分析或扫描) -层次分析(语法分析) -语义分析 综合步骤是指后端的工作,为目标程序的生成而进行的综合

你分析过吗?若按照这种组合方式实现编译程序,可以设想,某一编译程序的前端加上相应不同的后 端则可以为不同的机器构成同一个源语言的编译程序。也可以设想,不同语言编译的前端生成同一种中间 语言,再使用一个共同的后端,则可为同一机器生成几个语言的编译程序。

一个编译过程可由一遍、两遍或多遍完成。所谓"遍",也称作"趟",是对源程序或其等价的中间语言程 序从头到尾扫视并完成规定任务的过程。每一遍扫视可完成上述一个阶段或多个阶段的工作。例如一遍可 以只完成词法分析工作;一遍完成词法分析和语法分析工作;甚至一遍完成整个编译工作。对于多遍的编 译程序,第一遍的输入是用户书写的源程序,最后一遍的输出是目标语言程序,其余是上一遍的输出为下 一遍的输入。

在实际的编译系统的设计中,编译的几个阶段的工作究竟应该怎样组合,即编译程序究竟分成几遍, 参考的因素主要是源语言和机器(目标机)的特征。比如源语言的结构直接影响编译的遍的划分;像 PL/1 或 ALGOL 68 那样的语言,允许名字的说明出现在名字的使用之后,那么在看到名字之前是不便为包含该名 字的表达式生成代码的,这种语言的编译程序至少分成两遍才容易生成代码。另外机器的情况,即编译程 序工作的环境也影响编译程序的遍数的划分。遍数多一点,整个编译程序的逻辑结构可能清晰些,但遍数 多即意味着增加读写中间文件的次数,势必消耗较多时间,一般会比一遍的编译要慢。

一、问题定义
问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”因此,分析员通过对系统的实际用户和使用部门负责人的访问调查,扼要地写出他们对问题的理解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得到一份双方都满意的文档,此文档中系统分析员应该写明问题的性质、工程目标和规模。
问题定义阶段是软件生存周期中最简短的阶段,一般只需一天甚至更少的时间。
二、可行性研究
此阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解决,
是否有可行的解决办法。在这个阶段,系统分析员应该导出系统的高层逻辑模型,并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析,这是这个阶段的主要任务之一。
可行性研究的结果是使用部门负责人做出是否继续进行这项工程的决定的重要依据。
三、需求分析
这个阶段的任务,主要是确定目标系统必须具备哪些功能。因此,系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图濑据字典和简要的算法描述表示系统的逻辑模型。需求分析阶段确定的系统逻辑模型,是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。
四、总体设计
这个阶段必须回答的关键问题是:“应该如何解决这个问题?”
首先应该考虑几种可能的解决方案,一般包括:
1.低成本的解决方案。系统只能完成最必要的工作,不能多做一点额外的工作。
2.中等成本豹解决方案,这样的系统不仅能够很好地完成预定的任务,使用起来很方便,
而且可能还具有用户没有具体指定的某些功能和特点。
3.高成本的“十全十美”的系统。这样的系统具有用户可能希望有的所有功能和特点。
系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本
和效益;还应该在充分权衡各种方案利弊的基础上,推荐一个较好的系统,并且制定实现所推荐的系统的详细计划。
要完成上述任务,通常采用结构设计的一条基本原理就是程序应该模块化,因此,总体设计还应设计软件的结构,通常用软件结构图表示。
五、详细设计
详细设计阶段的任务就是把解法具体化,设计出程序的详细规格说明,包括必要的细节,
程序员可以根据它们写出实际的程序代码。
通常用程序流程图,N—S图,PAD图,}{IPO图或PDI_.语言描述详细设计的结果。
六、编码和单元测试
这个阶段的任务是程序员根据目标系统的性质和实际环境,选取一种适当的高级程序设
计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。
程序员在书写程序模块时,应使它的可读性、可理解性和可维护性良好。
七、综合测试
这个阶段的任务是通过各种类型的测试,使软件达到预定的要求。
最基本的测试是集成测试和验收测试。集成测试是根据设计的软件结构,把经单元测试的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试。验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收。
通过对软件测试结果的分析可以预测软件的可靠性;反之,根据对软件可靠性的要求也可以决定测试和调试过程什么时候可以结束。
在进行测试的过程中,应该用正式的文档把测试计划、详细测试方案以及实际测试结果保存下来,作为软件配置的一部分。
八、软件维护
维护阶段的任务,是通过各种必要的维护活动使系统持久地满足用户的需要。
通常维护活动有四类:改正性维护,即诊断和改正在系统使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。
每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
软件的生存周期划分为上述8个阶段,前3个阶段称为软件的定义阶段,第4至第7个阶段称为软件的开发阶段,最后一个阶段称为软件的维护阶段。在软件开发期间,测试的工作量最大,约占总开发量的40%;而软件的维护阶段周期最长,工作量非常大。
软件系统的研制工作,不可能是直线进行,研制人员常常需从后面阶段回复到前面。为了减少返工现象,研制人员通常在各个阶段进行阶段复审,以确保研制工作顺序进行。
在软件生存周期的各个阶段完成研制任务后,应提交各阶段的格式文档资料。
§1.4软件工程方法学
软件开发的目标就是在规定的投资和时间限制内,开发出符合用户需求的高质量软件。软件开发是一种高智能的活动,必须用软件工程的方法和技术指导软件开发的全过程。

2006年快乐


一个完整的交互设计流程是怎样的
七、专家评测(Expert Evaluation):至少两名设计师或对交互设计比较了解的人通过反复测试原型。找到问题后修改线框图并更新原型。八、用户评测(User Evaluation):让用户使用原型,可以给他们一些任务去完成。根据用户在使用过程中的问题和建议进行进一步修改。如果你想要知道具体怎么做,请继续看。一、定性...

产品设计程序与方法
1. 用户研究:了解目标用户的需求和偏好。这可能涉及用户访谈、调查问卷、用户测试等方法。2. 需求分析:基于用户研究的结果,确定产品的需求和功能。这可能需要创建用户故事、用例、需求文档等。3. 设计构思:确定产品的整体设计,包括用户界面、交互设计和视觉设计。4. 原型制作:创建一个或多个原型,以演示...

c语言程序设计流程图怎么画?具体有什么规范?
我就个人的经验来谈一下吧:如果你是会编程序而不会画流程图的这种我建议你应该先把自己的程序研究一遍倘若是画主程序流程图的话那就只需看懂主函数的程序就行了按照Main()函数中的具体书写过程来画比如:定义变量---初始化变量---使用选择或者循环或者顺序结构---调用某一个子函数(可以没有)--...

做网站的流程是怎样的
私人做网站的流程:域名、空间、网站程序、网站设计、更新、推广等。网站(Website)开始是指在因特网上根据一定的规则,使用HTML(标准通用标记语言下的一个应用)等工具制作的用于展示特定内容相关网页的集合。简单地说,网站是一种沟通工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关...

请教做一个app项目要那些流程?
软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。设计思路和方法的一般过程,包括设计软件...

建筑施工程序一般包括哪几个阶段
工程竣工验收是全面考核建设成果、检验设计和施工质量的重要步骤,也是建设项目转入生产和使用的标志。验收合格后,建设单位编制竣工决算,项目正式投入使用。7、考核评价阶段 建设项目后评价是工程项目竣工投产、生产运营一段时间后,在对项目的立项决策、设计施工、竣工投产、生产运营等全过程进行系统评价的一...

装修都有哪些步骤 装修大体流程
以上是与装修过程有关,希望对大家有所帮助!土巴兔在线免费为大家提供“各家装修报价、1-4家本地装修公司、3套装修设计方案”,还有装修避坑攻略!点击此链接:【https:\/\/www.to8to.com\/yezhu\/zxbj-cszy.php?to8to_from=seo_zhidao_m_jiare&wb】,就能免费领取哦~

园林景观设计的全过程是什么?
园林景观设计的全过程:1、接受设计任务、基地实地踏勘,同时收集有关资料;2、初步的总体构思及修改;3、方案的第二次修改文本的制作包装;4、业主的信息反馈;5、方案设计评审会;6、扩初设计评审会;7、基地的再次踏勘施工图的设计;9、施工图预算编制;10、施工图的交底;11、设计师的施工配合。

谈一下你对matlab程序设计与实验的认识
3.要保持“计算机程序”一样的思维。想问题的时候多换位,把自己当成电脑,用电脑的思维(角度)来想。4.看到一些好的软件,就发挥想象和所查资料结合,将它的每个零件都剥析清楚,也就是将它的来龙去脉搞得明明白白。最好还能常常自己设计一点东西,无论实不实用,这是从“懂了”到“会运用了”的...

自己制作一个十分简单的单机安卓app给自己用需要费用吗?大概流程是什么...
固定款的APP开发时间短,约2~3日的时间即可完成,费用大约在几千到几万之间。定制款:定制款是指APP的功能全部重新开发,过程比较繁琐,需要美工、策划、APP开发(前台\/客户端\/手机端)、后台程序员等工种协同完成,大型的、功能复杂的APP甚至需要数十人的团队。由于APP的功能和设计都是定制的,因此价格...

长乐市18845162786: 程序设计通常分为哪几阶段?
镡砍达体: 程序设计通常分为问题建摸,算法设计,编写代码,编译调试和整理并写出文档资料五个阶段

长乐市18845162786: 计算机程序设计的主要步骤有哪些? -
镡砍达体: 1、机器语言;2、汇编语言:通过汇编程序把汇编语言翻译为机器语言,然后执行,运行速度比高级语言快;另外VB也是通过翻译成为机器语言执行的;3、高级语言,比如C++,要通过编译转化为机器语言,然后执行,编译比翻译慢,所以运行速度比汇编慢.

长乐市18845162786: 程序设计分为几个步骤? -
镡砍达体: Turbo C程序设计分为三个基本步骤.程序设计方法包括三个基本步骤::第一步: 分析问题.第二步: 画出程序的基本轮廓.第三步: 实现该程序.源程序的输入、编译和运行: C语言是一种中级语言, 用户用C语言编写的程序称为源...

长乐市18845162786: 软件开发过程一般有几个阶段?每个阶段的作用? -
镡砍达体:[答案] 软件开发一般分为五个阶段:1.问题的定义及规划此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性.2.需求分析在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析.需求分析阶...

长乐市18845162786: c语言简单程序设计的步骤和过程? -
镡砍达体: c程序设计方法包括三个基本步骤: 第一步二分析问题. 第二步画出程序的基本轮廓. 第三步:实现该程序.(1)编写程序;(2)测试和调试程序;(3)提供数据打印结果.

长乐市18845162786: 软件开发的一般流程是什么? -
镡砍达体:一个软件从开始到最后一共需要以下几个流程: 1、计划 2、分析 3、设计 4、编码 5、测试 6、维护 1、计划 对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行...

长乐市18845162786: 软件开发有哪些步骤组成?每个步骤的主要任务是什么? -
镡砍达体: 需求、设计、开发、测试、交付、维护 需求:分析软件功能; 设计:设计软件架构及功能实现方式; 开发:编写代码实现功能; 测试:测试代码是否满足功能; 交付:交付软件; 维护:后期维护软件.

长乐市18845162786: 什么是软件开发工作的五个阶段 -
镡砍达体: 软件工程生命周期中软件开发的五个重要阶段第一阶段:需求分析 Requirements Capture软件需求分析就是回答做什么的问题.它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网