background image

系统配置,我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不可能要
求程序员完成一个不可胜任的任务。然而我们在以前的多项工作中经常发现这类情节,因为
系统分析与设计相互脱节,导致一头扎在分析中不顾设计有关的事宜。
    分析与设计的脱节,还不利于设计现格说明的评估,因为分析往往会脱离现实,导致缺
乏评估的依据。
    因为不可能成功地完成设计而使分析需要重来,就会造成巨大的浪费与损失。一个好的工
具可以使分析与设计更紧密地连结起来,甚至于

—一对应。面向对象的分析方法使对象之间

相对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的
被动局面。
   (4)使程序员明白我们的设计。
    一个好的设计应该让程序员感到清晰明白,更少疑问。一个疑问很多的设计加上沟通不畅,
绝对会出现在应用环境下所不需要的另一个软件,所以设计规格说明书务必清楚、形象与明
确,当然,

Rational Rose 具有足够的图形与其他形式,能使程序员更加明确,甚至能细微

到每一个语句(事实上如果使用

VB,程序架构都有可能直接生成了)。

   (5)选择 UML 可能会有更多的理由。
    比如用户文档的编写、数据库设计,我们都需要做到有延续性,有自动化支持和具有质量
上的保证。
    所以,我们选用了以上的方法和工具。
    在分析中,面对考勤班次的问题时,由于过去一直使用纸卡方式考勤,使用户对班次形
成了固定的概念,而现在的许多考勤软件也采用多次刷卡的方法来形成一天的记录。经过面
向对象的分析可以发现,事实上每天的上班记录是由多个时段所形成的,时段的多少在各
个公司,各个工种与部门都不尽相同,每个时段可能有不同的属性,时段与时段组合可形
成为班次,这更适合于现实的情况,使之能更加灵活与更有扩展性。其实,在天与天之间也
都有相互之间的关系。在这一点上,我们又发现必须在考勤与薪金工资中加入与

MRP 中相

似的期段(

Periods)的基本概念,比如可以称之为考勤期段,允许为用户更加方便地设置

考勤期段,可能使之不一定与自然年月日相同等等。
    Rational Rose 使我们更方便地把上面的想法在类上去实现,更进一步地设计好我们的高
效率的数据库。
    当然,使用单一的一个工具去完成一个中大型的应用系统的需求分析,是不可能成功的。
因为社会在发展,用户的需求也在改变,如何把握住用户的需求是需要时间的,面向对象
的方法有时也会忽略外在的与表层的要求,不仅仅是要获得关键的需求,其他更多的需求
往往要等到用户在使用后才知道,然而等到用户使用是不现实的,作为原型开发模型中的
原型也是收集用户需求,描述与解释需求的一类相当有效的方法与工具。
    在我们的开发过程中,为了更好地让用户了解我们的系统和我们的设计方案,让用户在
见面会上更有方向性与针对性,我们首先用

Access 开发出原型,让用户先试用。这样,我

们在真正的分析与设计时就能更加符合用户的要求。
    总之,软件需求分析方法和工具的使用,对我们软件开发过程影响是很深远的,选用高
效能的正确的方法与工具,可以使我们的软件更加正确地反映现实需求,更加具有可用性、
可扩展性和可维护性;降低了软件项目的风险。