Page 27 - 计算机应用软件开发技术研究
P. 27
第一章 软件工程
软件开发应当是能够对未来可能出现的变化和不确定性作出全面反应的。
敏捷开发被认为是一种“轻量级”的方法。在轻量级方法中最负盛名的应该
是“极限编程”(Extreme Programming,简称为 XP)。而与轻量级方法相对应
的是“重量级方法”的存在。重量级方法强调以开发过程为中心,而不是以人为
中心。重量级方法的例子,如 CMM、PSP、TSP。
面向侧面的程序设计(Aspect Oriented Programming,简称 AOP),被认为
是软件工程的另外一个重要发展。这里的方面指的是完成一个功能的对象和函数
的集合。
面向服务体系架构的程序设计 SOA,就是通过定义 SOA 编程模型来提高 AI
的抽象级别,解决当前 API 集合问题,以此降低应用程序开发者直接处理中间件
或 Web 服务特定 API 时面临的复杂度。通过从业务代码中移除大部分的通信支
持,并将它们隐藏在编程模型抽象/实现之后,简化业务服务的开发,简化作为
服务网络构建的业务解决方案的装配和部署。保护业务逻辑资产,使其不受底层
技术改变的影响,增加灵活性。
二、软件工程的结构化设计方法
针对一些大型项目的开发,为了提升软件的质量及其开发效率,在我们对程
序进行详细设计之前,必须对软件的总体结构进行确定,而在软件总体结构确定
的过程中,结构化设计方法属于一个主要的手段。基于此,本书关于软件工程之
中的结构化设计方法的研究具有非常强的实践指导作用。
(一)软件结构设计概述
1.软件设计概念及原则
在软件设计的过程中,最为基本的目标是使用抽象概括的方式确定目标系
统,换句话说,软件设计主要是将系统物理模型确定下来的过程。在软件设计
的过程中,我们会将比较复杂的问题分解为很多比较小的、容易解决的问题。另
外,在对其进行模块分解的过程中,我们会对每一个模块进行独立的开发及测
试,然后使其组装成为比较完成的程序,这样可以确保程序具有比较好的理解性
以及比较清晰的结构,对于后续的测试及修改都比较有利,了解这些内容对于加
深我们对结构化设计的理解非常有帮助。
·15·

