Home
>
达内软件开发
>
计算机软件开发基础知识浅析
计算机软件开发基础知识浅析

time:2019-10-03 12:03:01

author:厦门会心信息科技有限公司

【Font size: big medium smail

  一个软件从开始计划到废弃为止,称为软件的生存周期。它包括计划、开发和运行三个周期,每一时期又可细分为若干个更小的阶段。计划时期为问题定义和可行性研究;开发时期为需求分析、概要设计、详细设计和编码;运行时期为测试和维护。我们在开发软件项目时,要做到系统计划、分析、设计、编码、测试及维护等基本的六大步骤。软件开发首先从制定计划开始,这是必不可少的一步,在制定计划时,要准确地弄清软件项目最终要解决的问题,并考虑相应的对策,宁愿花一些时间充分作好计划,也不要在计划不周的情况下仓促着手。

  一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折中关系。2、可行性研究它包括技术可行性、经济可行性及社会可行性方面。

技术可行性是研究应弄清现有技术条件能否顺利完成开发工作,对参加开发工作的人员应有哪些技术方面的要求。硬件配置能否满足开发的需要,估计的进度是否恰当以及对用户的技术方面的要求是否合理等等;经济可行性研究的目的是希望以最小的开发成本取得最佳的经济效益的软件产品;社会可行性研究则是指所开发的软件项目是否涉及到版权纠纷等法律问题,这样的软件产品投入运行后,对生产、管理或经营体制带来有什么社会影响。3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。

  二、系统需求分析:需求分析的任务在于完全地弄清用户对软件系统的确切需求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理交流等。需求分析的步骤:1、通过对现实环境的调查研究,获得当前系统的具体模型;2、去掉具体模型中的非本质因素,抽象于当前系统的逻辑模型;3、分析当前系统与目标的差别,建立目标系统的逻辑模型;4、对目标系统进行完善和补充,并写出完整的需求说明;5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。

  三、系统设计:主要分成两步即概要设计(总体设计或结构设计)和详细设计。概要设计阶段应着重解决实现需求的程序模块设计问题,如何把被开发软件系统划分成若干模块,并决定模块的接口,模块间的相互关系以及模块之间传递的信息。详细设计则是要决定每个模块内部的具体算法。经概要设计和详细设计完成后,需要进行必要的阶段评审,其目的在于使设计发生问题能够及时发现并得到及时的解决。实际上软件设计的主要任务是就是将软件分解成模块,该模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。

  四、系统编码:系统编码即编程序是软件开发的最终目标,是产生能在计算机执行的程序,其目的是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书定的源程序。实质上,软件=程序+文档。编码的目的是产生程序,其余阶段是产生文档。软件编码是指把软件设计转换成计算机可接受的程序,写成以某一程序设计语言表示的“源程序清单”。能充分了解软件开发语言、工具特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。

  五、系统测试:包括测试的方法与技术和测试步骤。测试在软件生命期中占重要地位,不仅是因为测试阶段占的时间、花费的人力和成本占软件开发的比重很大,而且它直接影响着软件的质量。程序中许多细微的地方要求绝对正确无误,不能半点马虎。软件开发工作在测试以前已经历了制定计划、需求分析、设计和编码等许多阶段,每一个人的思维不可能绝对周密,而不可能不出现差错,更不用说,在大中型软件开发项目中,系统内各部分之间、各种数据之间、各种人员之间存在着复杂的关系,因而目前可采用的开发方法都不能完全避免发生差错。

1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部、外部借口、资源管理、集成化以及系统错误。2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。

它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真的完成。  测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段,测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。  六、软件维护:当软件产品交付使用后,就进入生存周期的最后一个时期——运行时期。

必须搞好软件的维护,才能使它正常工作,还使它扩充功能、提高性能,为用户带来显著的效益。一般软件维护工作包括三个方面的内容:改正性维护、适应性维护和完善性维护。在软件生存期中,维护工作是不可避免的,按照不同的目标,维护活动可以分为四类:1、以加强软件功能为目标的完善性维护;2、纠正软件遗留错误的纠错性维护;3、为了适应运行环境变化而进行的适应性维护;4、以及为改进软件的可维护性,减少将来的维护工作量而进行的预防性维护。

软件的可维护性,主要决定开发时期的活动,用软件工程的方法来开发软件,编制齐全的文档,严格进行软件测试和阶段复审,是改善软件可维护性、降低维护费用的关键。要加强对维护的管理,尤其是配置管理。有效地对软件配置进行跟踪和控制,避免造成文档的混乱。为确保维护中修改的正确性,消除因修改不当给拥护带来的不良影响,要求对修改工作持谨慎态度。  软件工程环境是在开发软件工程时,开发者要求环境支持他们按照软件工程的方法,全面完成生存周期中的各项任务环境。

它要求有适用的语言、良好的工具、有力的编辑和调试手段,以及尽可能丰富的实用程序。良好的环境可以提高开发效率和软件质量的重要条件。软件项目的特点是软件产品和其它任何产业不同,它是无形的,既没有重量,也没有体积。对于这样看不见、摸不着、完全没有物理性质的产品,如何组织生产和研制,却有许多与众不同之处。

Reprint please indicate:http://sitesino.com/rjkf1-1064.html