在线报名 | 加入收藏 | 学校地图

电话:400-0379-707 QQ:710034203

首页 > 新闻动态 > 行业资讯 > 正文阅读

对软件开发基础知识的认识

发布时间:2009-06-23 16:20:00 点击:0
洛阳北大青鸟导读:任何一切产品都有它自己的生存周期,软件也是如此,只是它是一种无形的、没有体积、也没有重量,模不着、看不见的产品。一个软件从开始计划到废弃为止,称为软件的生存周期。它包括计划、开发和运行三个时期,每一时期又可细分为若干更小的阶段。计划时期为问题定义和可

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

一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。

1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原有软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折衷关系。

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

3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。

二、系统需求分析:需求分析阶段的研究对象是软件产品的用户需求,这些需求最终要在所开发的软件产品上能够体现出来或得到一定程度的满足。用户的需求包括功能、性能、可靠性、安全保密、成本消耗、开发进度、资源使用和用户接口等多方面。进一步完成可行性分析和投资-效益分析,将可以接受的需求和分析的结论编写成软件需求说明书或软件规格说明书,作为需求分析阶段的主要工作成果。需求分析的任务在于完全地弄清用户对软件系统的确切要求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理等交流。软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来的过程。

需求分析的步骤:

1、通过对现实环境的调查研究,获得当前系统的具体模型;

2、去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型;

3分析当前系统与目标系统的差别,建立目标系统的逻辑模型;

4、对目标系统进行完善和补充,并写出完整的需求说明;

5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。

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

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

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

1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。

2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真地完成。否则,你经常会不知道,到底有哪些功能是否真正完成,离预期目标究竟还差多远。测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段。测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。测试阶段应完成综合测试与确认测试,系统测试则放在安装与验收阶段进行,各级测试都要事先计划,事后报告并正式存档,供以后维护使用。

六、软件维护:当软件产品交付用户后,就进入生存周期的最后一个时期——运行时期。必须搞好软件的维护,才能充分发挥软件的作用,产生良好的经济效益和社会效益。维护是生存周期中花钱最多、延续时间最长的活动。做好软件的维护工作不仅能排除障碍,并且能使它正常工作,还使它扩充功能,提高性能,为用户带来显著的效益。一般软件维护工作包括三个方面的内容:改正性维护、适应性维护和完善性维护。在软件生存期中,维护工作是不可避免的,按照不同的目标,维护活动可以分为四类。

1、以加强软件功能为目标的完善性维护;

2、纠正软件遗留错误的纠错性维护;

3、为了适应运行环境变化而进行的适应性维护;

4、以及为改进软件的可维护性,减少将来的维护工作量而进行的预防性维护。

软件的可维护性,主要决定于开发时期的活动,用软件工程方法来开发软件,编制齐全的文档,严格进行软件测试和阶段复审,是改善软件可维护性、降低维护费用的关键。每个开发人员都应经常想到维护工作需要,在开发中尽力提高软件的可维护性,而不是相反。要尽量避免在维护中因引入新错误降低软件的质量,要加强对维护的管理,尤其是配置管理。有效地对软件配置进行跟踪和控制,避免造成文档的混乱。为确保维护中修改的正确性,消除因修改不当给用户带来的不良影响,要求对修改工作持谨慎态度。

维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告和软件修改报告。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。

软件工程环境是在开发软件工程时,开发者要求环境支持他们按照软件工程的方法,全面完成生存周期中的各项任务环境。它要求有适用的语言、良好的工具、有力的编辑和调试手段,以及尽可能丰富的实用程序。良好的环境可以提高开发效率和软件质量的重要条件。

软件项目的特点是软件产品和其它任何产业不同,它是无形的,既没有重量,也没有体积。对于这样看不见、摸不着、完全没有物理性质的产品,如何组织生产和研制,确有许多与众不同之处。它把思维、概念、算法、组织、流程、效率和质量等多方面的问题融为一体。它所经历的各个阶段都渗透了大量人的因素,参加工作的人员,他们的业务水平、工作经验,以致心理素质,人际关系以及他们的工作环境对任务完成的好坏有直接的关系

分享该网页到:   转播到腾讯微博  分享到QQ空间
  • ①理论课
  • ②上机课
  • ③职业导向训练(COT)
  • ④指导学习课(DLC)
  • ⑤项目案例课
  • ⑥在线培训课(OLTL)
  • ⑦阶段项目课
  • ⑧毕业设计课
人才招聘 | 视频专区 | 专题活动 | 认证查询 | 网站地图