<<需求分析与系统设计>>读书笔记之一
<<需求分析与系统设计>>这本书论述了软件分析和设计的迭代增量式过程,讨论软件分析与设计的原理,方法和技术,并特别关注了设计阶段,对软件体系结构的内容进行了很大的扩充。本书强调对象技术与统一建模语言UML在企业信息系统开发中的应用,并讨论了使用web技术和数据库技术进行开发的方法。这本书集中在面向对象软件开发上,统一建模语言用于捕捉建模的人工制品,主要论述用逐步细化的方式进行开发,并且在整个开发生命周期中都是用UML这种建模语言。系统分析师,设计师和程序员使用同一种语言和工具,但有时也会使用一些语言的配置文件来满足各自的需要。这本书提出了用UML进行企业系统分析和设计的详细方法,确定了以下方面的解决方法:1 分析和建模业务过程。2 控制大型系统模型的复杂性。3 改进软件体系结构。4 提高系统的适应性。5 处理详细的设计问题。6 理解用户图形界面。7 了解数据库的重要性。8 管理质量,管理变更等。
软件的复杂性随着软件的应用领域的性质不同而不同。通常情况下,计算密集型应用领域的软件系统比数据密集型应用领域的软件系统的复杂性要低。数据密集型应用系统包括电子商务,这样的系统处理大量数据和业务规则,而这些数据和业务规则往往是不一致或不明确的。构建能够容纳所有业务数据,规则和特殊情况的软件一贯是困难的。软件是开发出来的,而不是成批制造出来的,当然,也不能否认虽然软件工程的发展为开发实践引入了更多的确定性,但是并不能保证 软件项目的成功。这可以与传统的工程分支相对比,如土木工程或机械工程。在传统的工程中,产品是以数学般的精确来设计,然后利用机械和生产线来制造的。一旦将软件产品开发出来,就能够以最小的代价复制,但是对于企业信息系统这种情况,从来都不需要复制软件。每个系统都是独特的,并且是为特定企业开发的。困难在于开发,而并不在于成批制造。因此,整个软件生产的成本都在于它的开发。为了降低软件开发的工作量和成本,软件产业以可复用软件构建的形式提供了部分解决方案,在开发过程中可以利用这些构件。
软件实践鼓励从可定制的软甲框架或软件包--商用成品软件解决方案或企业资源规划系统来进行系统开发。然而,软甲框架只能提供常规的财务,制造或人力资源系统。这些常规的解决方案必须要适应企业所期望的和需要执行的特定业务过程。必须要对这些业务过程进行定义,然后开发系统模型,虽然强调的重点由从零开始的开发转变到了通过定制的软件框架进行开发,但是,在这两种情况下,软件开发的真正本质仍然是相同的。必须为每个系统的最终解决方案创建概念性构想,以确保这些构想能够满足组织的特定需要。一旦创建了这些概念性构想,就可以对软件框架的功能性定制,以符合概念性构想。编程任务可能有所不同,但是需求分析和系统设计活动与那些从头开发的软件类似。毕竟,一个概念性构想在许多可能的表示下是相同的。