正在加载图片...
用自然语言清楚地描述用户的要求,而需求规约的目的是消除获取需求的二义性和不一致 性 在软件生命周期中,一个错误发现得越晩,修复错误的费用也越高,所以,高质量的需 求工程是软件项目得以正确、高效完成的前提。对于系统分析人员,建立需求面临着以下三 个方面的困难: 1)问题空间的理解,系统开发人员通常是计算机专业人员,难以深入理解各种业务系 统所要解决的问题空间 2)人与人之间的通信,对于系统分析人员而言,通信主要包括同用户的通信以及同事 之间的通信,由于自然语言的二义性,会给准确刻画需求造成障碍 3)需求的不断变化,造成需求变化的原因很多,包括技术,用户方,市场等等,作为 分析人员,必须采用一些策略以适应变化 面向对象的分析方法被认为是解决上述困难较好的技术,但是完整、准确的刻划问题空 间始终是分析人员所面临的挑战 1.2.2系统设计 一般来说,需求分析阶段的主要任务是确定系统“做什么”,而设计阶段则要解决“怎 么做”的问题。通常·设计阶段又划分为总体设计和详细设计,总体设计确定系统的总体结 构框架;而详细设计要具体地描述如何具体地实现系统,通常可以依据详细设计的结果进行 编码。详细设计包括:详细的算法:数据表示和数据结构:实施的功能和使用数据之间的关 系。详细设计过程中,采用了一些工具,以便对数据、算法等进行描述,包括流程图, PAD( Problem Analysis Diagram),盒图(N-S图),伪码等等 2.3实现阶段 在软件实现阶段,要将设计的结果变换成程序设计语言编写的程序。在实现阶段,首先 要确定程序设计语言,其影响因素包括:开发人员对语言的熟悉程度,语言的可移植性,编 译程序的效率,编译工具的支持等等。目前,C艹语言是普遍被采用的构造系统软件的编程 语言,而Java则更多地应用于编写网络程序 无论采用哪一种编程语言,都要求编写高质量的源程序代码,程序质量通常包含正确性、 可读性、可移植性、程序效率等指标。考虑到系统的维护和演化,提高源程序的可读性是实 现阶段的一个重要目标,其途径包括添加注释,规范书写格式,确定标识符命名原则',采 用结构化的程序设计(不用或减少使用goto语句)等等。 1.2.4确认活动 尽管确认活动贯穿于软件开发活动的始终,但是系统完成后的软件测试是主要的确认活 动。软件测试是指按照特定规程,发现软件错误的过程。软件测试的技术大体上可以分为两 类,即白盒测试技术和黑盒测试技术,前者依据的是程序逻辑结构,后者依据的是软件行为 描述。根据测试的步骤,测试活动又可以划分为单元测试,集成测试,确认测试和系统测试, 其中确认测试是为了检验软件的功能和性能是否与用户需求一致,而系统测试主要是测试软 这里实际上是指结构化的设计,在面向对象方法学中,各个阶段的分界己经被模糊化了 微软所采用的匈牙利命名法是一个较好的对标识符进行命名的方法用自然语言清楚地描述用户的要求,而需求规约的目的是消除获取需求的二义性和不一致 性。 在软件生命周期中,一个错误发现得越晚,修复错误的费用也越高,所以,高质量的需 求工程是软件项目得以正确、高效完成的前提。对于系统分析人员,建立需求面临着以下三 个方面的困难: 1)问题空间的理解,系统开发人员通常是计算机专业人员,难以深入理解各种业务系 统所要解决的问题空间; 2)人与人之间的通信,对于系统分析人员而言,通信主要包括同用户的通信以及同事 之间的通信,由于自然语言的二义性,会给准确刻画需求造成障碍; 3)需求的不断变化,造成需求变化的原因很多,包括技术,用户方,市场等等,作为 分析人员,必须采用一些策略以适应变化。 面向对象的分析方法被认为是解决上述困难较好的技术,但是完整、准确的刻划问题空 间始终是分析人员所面临的挑战。 1.2.2 系统设计 一般来说,需求分析阶段的主要任务是确定系统“做什么”,而设计阶段则要解决“怎 么做”的问题。通常*设计阶段又划分为总体设计和详细设计,总体设计确定系统的总体结 构框架;而详细设计要具体地描述如何具体地实现系统,通常可以依据详细设计的结果进行 编码。详细设计包括:详细的算法;数据表示和数据结构;实施的功能和使用数据之间的关 系。详细设计过程中,采用了一些工具,以便对数据、算法等进行描述,包括流程图, PAD(Problem Analysis Diagram),盒图(N-S 图),伪码等等。 1.2.3 实现阶段 在软件实现阶段,要将设计的结果变换成程序设计语言编写的程序。在实现阶段,首先 要确定程序设计语言,其影响因素包括:开发人员对语言的熟悉程度,语言的可移植性,编 译程序的效率,编译工具的支持等等。目前,C++语言是普遍被采用的构造系统软件的编程 语言,而 Java 则更多地应用于编写网络程序。 无论采用哪一种编程语言,都要求编写高质量的源程序代码,程序质量通常包含正确性、 可读性、可移植性、程序效率等指标。考虑到系统的维护和演化,提高源程序的可读性是实 现阶段的一个重要目标,其途径包括添加注释,规范书写格式,确定标识符命名原则*,采 用结构化的程序设计(不用或减少使用 goto 语句)等等。 1.2.4 确认活动 尽管确认活动贯穿于软件开发活动的始终,但是系统完成后的软件测试是主要的确认活 动。软件测试是指按照特定规程,发现软件错误的过程。软件测试的技术大体上可以分为两 类,即白盒测试技术和黑盒测试技术,前者依据的是程序逻辑结构,后者依据的是软件行为 描述。根据测试的步骤,测试活动又可以划分为单元测试,集成测试,确认测试和系统测试, 其中确认测试是为了检验软件的功能和性能是否与用户需求一致,而系统测试主要是测试软 * 这里实际上是指结构化的设计,在面向对象方法学中,各个阶段的分界已经被模糊化了。 * 微软所采用的匈牙利命名法是一个较好的对标识符进行命名的方法
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有