第1章 导言
1.2 开发软件为什么需要模型
在开发软件的过程中,***在动手编写程序之前需要研究和分析软件的诸多复杂和纷乱的问题。例如,用户需求的准确描述问题、功能与功能之间的关系问题、��件的质量和性能问题、软件的结构组成问题、建立几十个甚至几百个程序或组件之间的关联问题等。所以,软件系统的开发是一个非常复杂的过程,它们的复杂程度不比任何一项大型的复杂土木建设工程逊色。但是,在这个复杂的开发过程中,我们*关注的还是***之间的交流问题。
软件开发中消除技术人员与非技术人员(用户)之间、使用不同技术的开发人员之间、不同功能使用者之间等交流障碍是软件开发成功的关键。直观的软件模型将有助于软件工程师与他们进行有效地交流。
在软件的需求分析中,用户和系统所属领域的专家更熟悉将要构建的系统的功能,我们称他们为领域专家(Domain Expert)。他们提出软件系统在这个领域中所需要具有的功能。所以,软件设计者可以通过建立需求模型来实现技术人员与非技术人员(用户)之间的交流。
在软件的设计中,设计人员首先要把描述系统功能需求的自然语言形式转化为软件程序的形式,在这个转化过程中,设计人员要借助许多模型来完成*终的程序设计模型。这些中间辅助模型包括系统的行为模型、对象的状态和行为模型等。如果这些模型都是严格遵循统一建模语言标准而建立的,那么,无论开发人员具有多么不同的开发条件和技
能,他们都可以理解软件设计,并且进行有效交流。
在软件的实施、测试和部署中,模型为不同领域的技术人员在软件和硬件的实施、测试和部署中提供有效的交流平台。
*后,要强调的是,在各种各样的软件中,软件模型是*有效的软件文档保存形式,软件模型在开发团队人员的培训、学习和知识的传递与传播等方面起着非常重要的作用。
所以,软件开发中需要建立需求(Requirement)模型、问题域(Domain)模型、设计(Design)模型、实施(Implementation)模型、测试(Test)模型和部署(Deployment)模型。可见,在系统开发生命周期中,需要从多角度来建立模型才能全面、准确地分析和设计软件系统。
……