随着信息技术的飞速发展,信息产业国际竞争日益激烈,促使社会各行各业纷纷加强信息化建设,而信息系统的建设是信息化建设工作中的关键环节。信息系统开发成功的关键在于正确地进行系统分析与设计,作为系统开发人员,如果缺乏这方面的专业指导和实践经验,往往会导致项目无法按计划实施、成本无法控制,最终导致项目失败。
目前,国内许多院校均开设计算机软件工程专业,目的是培养合格的软件开发人员,而系统分析与设计是决定软件项目开发成败的关键阶段,故软件工程专业的学生必须掌握系统分析与设计的原理、方法、技术和工具,并且能够将这些原理、方法、技术和工具应用到实际软件项目开发中。另一方面,国内关于系统分析与设计方面的书籍要么侧重于理论方面的介绍,要么侧重于实际应用项目的开发,而理论和实际并重适合充当教材的书籍比较少,一般是关于某个具体系统的分析与设计,如管理信息系统、会计系统和物流系统等; 而国外原版或翻译书籍对学生来说理解比较困难,采用的案例基本上都是商业案例,必须具备一定的商业知识才能很好地理解。这些都使我们感到必须编写一本将理论和实践有机结合起来、内容新颖全面、采用学生熟悉的系统作为应用案例的教材,来介绍信息系统分析与设计的原理、方法、技术、工具及其应用。
本书的主要特色如下。
理论和实践的有机结合,既包括一整套核心的概念与原理,也包括那些流行的工具与技术。通过一个完整而熟悉的具体案例,让学生归纳出应该做什么及如何做。
传统方法和新方法兼顾,既包括传统的结构化分析与设计方法,也集成了面向对象的分析与设计方法。
自动化工具的内容,包括CASE工具、交流工具和面向对象工具等,充分体现实践性。
采用完整的学生熟悉的案例贯穿全书,并将整个案例按章节进行划分,每章的案例充分体现每章的主要内容,使得学生能够实践具体的方法、工具和技术。
本书内容分为4大部分。
第1部分集中于系统分析与设计的整体描述,包括系统开发环境和信息系统开发方法,这些内容构成了系统分析与设计的基础知识。只有理解了概念和原理等基础知识,才能更好地应用后面几个部分的实际工具和技术,才能更快地适应新的方法,才能更好地解决实际开发中遇到的新情况和新问题。第1章概要介绍不同类型的信息系统,介绍当前影响信息系统开发的信息技术和业务问题,以及信息系统的相关人员,尤其强调系统分析员的重要角色。第2章介绍一个典型系统开发生命周期,在此基础上,介绍系统开发人员需要掌握的基本概念,包括支配成功系统开发的基本原理、方法、模型、工具和技术。
第2部分用5章篇幅介绍系统分析方法。第3章讲授各种用于收集新系统用户业务需求的各种调查研究技术,包括面谈、问卷调查表、联合需求计划和获取原型4种交互式方法,以及文档采样、实地调查和观察三种非交互式方法。第4章介绍各种记录系统需求的工具和技术,包括事件、用例建模和事物三种技术,来源于面向对象方法的用例建模技术在传统方法中也流行起来,而事物和事件则是两种方法的共同特性。第5章介绍传统开发方法的系统建模技术。结构化方法强调以过程为中心的过程建模技术,采用数据流图记录系统的过程及过程中的数据流; 而信息工程方法则强调以数据为中心的数据建模技术,采用实体关系图记录系统必须收集和存储的数据。第6章讲授使用UML工具进行系统分析的面向对象方法,首先介绍在需求用例建模的基础上如何进一步细化用例模型和用例描述,然后介绍如何使用活动图、交互图来详细描述业务需求。最后,介绍面向对象建模方法中最重要的一个模型图——类图,并介绍如何构造系统的问题域类图。第7章讲授如何集体讨论可能的系统方案,分析这些候选系统方案的可行性,选择一个整体最优的方案,以书面和口头建议的形式向系统相关人员提供一个系统方案建议。
第3部分用4章篇幅介绍系统设计方法。第8章讲授设计信息系统应用架构的技术,重点介绍物理过程建模。首先介绍构成物理数据流图的几个要素,然后讲解信息技术架构的若干方面,最后介绍如何采用物理数据流图将数据、过程和交互接口安排到一个分布式计算环境中。第9章讲授物理数据库的设计和构造,以及相关的工具和技术。首先介绍数据库、数据库管理系统和数据库模型等基本概念,然后给出一个比较完整的数据库设计过程,最后介绍分布式数据库设计的相关技术。第10章从传统结构化和面向对象两个方面讲授应用软件设计方法和技术。首先概要介绍传统结构化设计的过程及其使用的各种模型,然后介绍面向对象的应用软件设计方法,重点是如何构造设计类图和交互图。最后介绍面向对象设计的新方法、新技术和新趋势。第11章分别讲授输入、输出和用户界面设计的基本概念和技术。首先介绍输入方法、输入设备、输入表设计及输入控制,然后介绍各种输出类型、输出报表清单的设计及输出控制,最后介绍如何为一个信息系统开发一个高效友好的用户界面。
第4部分介绍系统分析与设计完成后的工作,包括系统开发生命周期的系统实施和系统支持两个阶段的主要活动。第12章首先概要介绍系统实施和支持阶段的所有活动,然后再分别介绍系统构造、系统实现和系统维护的主要活动,重点介绍软件测试和软件维护两个活动。
本书内容新颖,同时力求重点突出,层次清晰,语言通俗易懂,内容覆盖面广,各章均提供了丰富的复习题和思考题,同时也提供了相应的多媒体课件(PPT格式)。本书既可以面向主修软件工程专业和计算机专业的学生,也可以面向主修信息系统专业的学生。根据我们的教学体会,本书的教学可以安排为32~48学时。
本书第1~7、10、12章由刘冬梅老师编写,第8、9、11章由余立功老师编写。严悍和叶庆生老师为本书提供了许多宝贵的素材。本书的最终出版得到了许多老师和同学的帮助。南京理工大学教学改革项目对本书的编写进行了资助。另外,曹雪、张锟、衷宜、李千目、赵学龙、王科锐、王学金、杜兆喜、杨鹏飞、李阳、盛银银、叶枫、彭甫镕、付鹏和张学瑞等老师和同学协助做了许多工作。在本书完成之际,一并向他们表示诚挚的感谢。
尽管我们在写作过程中投入了大量的时间和精力,但由于水平有限,错误和不足之处仍在所难免,敬请读者批评指正(任何建议可以发至邮箱dmliukz@mail.njust.edu.cn)。我们会在适当时间对本书进行修订和补充。
本书的配套课件等相关资料可从清华大学出版社网站http://www.tup.tsinghua.edu.cn下载。读者在本书及课件的下载和使用中有任何问题,请发邮件至fuhy@tup.tsinghua.edu.cn。
编者
2008年2月于南京理工大学