软件开发应遵循”软件导向“

2018-07-21 13:36:27

一、软件开发遵循“软件导向”的必要性 

软件项目的日常决策会受到价值评判、成本权衡、人力因素、宏观经济趋势、技术趋势、市场形势和时机等传统经济因素的制约。因此软件生产不仅是一项高技术含量的工作,更是一项需要考虑成本因素的复杂系统工程。随着软件交付在企业中的地位日趋重要,传统的软件工程原则无法再为企业带来更多竞争优势。“软件经济学”便诞生在这一背景之下。

软件经济学的目的是为了成功地实现交付,关注软件开发中价值的判定、成本的权衡、人性的因素、宏观经济趋势、技术趋势以及市场状况和时机。它力图更好地挖掘经济目标、系统规定参数、内外部条件和软件开发技术之间的关系,来提升项目、企业、行业的业务价值。而软件工程学不再适应软件开发的原因也在于此,传统行业的工程管理理念无法解决软件开发这一服务产业业务灵活多变的特点。

二、软件开发如何遵循“软件导向”  

(一)分析中遵循“软件导向”   

软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。   

(二)设计中遵循“软件导向”   

软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。   

(三)编码中遵循“软件导向”   

软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。 

(四)测试中遵循“软件导向”

软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。黑盒法。

(五)维护中遵循“软件导向”  

维护是指在已完成对软件的研制工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件导向和软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。