background image

统配置,我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不可能要求
程序员完成一个不可胜任的任务。然而我们在以前的多项工作中经常发现这类情节,因为系
统分析与设计相互脱节,导致一头扎在分析中不顾设计有关的事宜。
分析与设计的脱节,还不利于设计现格说明的评估,因为分析往往会脱离现实,导致缺乏
评估的依据。
因为不可能成功地完成设计而使分析需要重来,就会造成巨大的浪费与损失。一个好的工具
可以使分析与设计更紧密地连结起来,甚至于一一对应。面向对象的分析方法使对象之间相
对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的被
动局面。

4)使程序员明白我们的设计。

一个好的设计应该让程序员感到清晰明白,更少疑问。一个疑问很多的设计加上沟通不畅,
绝对会出现在应用环境下所不需要的另一个软件,所以设计规格说明书务必清楚、形象与明
确,当然,

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

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

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

5)选择 UML 可能会有更多的理由。

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

MRP 中相似

的期段

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

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

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

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

1)写得有些特色,观点鲜明。

2)摘要写得不错,既反映了项目内容,也小结了本文的写作要点。

3)文中所举的例子虽然简单,但很实际。