系统分析设计工作是软件开发组织开发优秀软件系统的重要的工作,需要拥有很强的理论基础和实际工作经验的人来做。本书即是结合笔者的工作实践和多年的研究,讲解系统分析设计的过程、思想和相关的理论、方法,以及操作方式。所有的理论和方法都进行了细致的解释,力求帮助读者正确理解,在头脑中建立良好的知识体系结构,而不仅仅是知道理论和方法。
绪言\r\n本书的内容\r\n本书如何使用\r\n了解系统分析员\r\n第1章 系统分析设计思想概述\r\n 1.1 软件分析方法的产生和发展\r\n 1.2 软件系统分析设计方法的基本概念\r\n 1.2.1 算法\r\n 1.2.2 数据结构\r\n 1.2.3 小结\r\n 1.3 系统分析的实现过程\r\n 1.3.1 信息处理的一般模式\r\n 1.3.2 信息处理的实际模式\r\n 1.4 系统分析和设计方法的内容和结构\r\n 1.4.1 系统分析和设计方法的内容\r\n 1.4.2 系统分析和设计方法的结构\r\n 1.4.3 系统分析和设计方法的学习方法\r\n 1.5 系统分析方法的比较\r\n 1.5.1 结构化程序设计(SA)\r\n 1.5.2 面向对象(OO)\r\n 1.5.3 泛型(GP)\r\n 1.5.4 以组件为基础的设计(CBD)\r\n 1.5.5 面向规则(RO)\r\n 1.5.6 面向数据组织(DO)\r\n 1.5.7面向主题(面向数据应用)\r\n 1.5.8 面向服.务(SO)\r\n 1.6 本章小结\r\n第2章 基于变换:结构化设计和面向数据的设计\r\n 2.1 软件的结构化分析设计\r\n 2.1.1 结构化程序\r\n 2.1.2 结构化定理\r\n 2.1.3 结构化系统分析设计过程——自顶向下逐步求精\r\n 2.1.4 面向数据流的设计方法\r\n 2.1.5 数据字典\r\n 2.1.6 模块与模块化\r\n 2.2 面向数据的分析与设计\r\n 2.2.1 典型的基于数据的应用系统\r\n 2.2.2 面向数据设计的核心问题\r\n 2.2.3 其他可能的问题\r\n 2.3 本章小结\r\n第3章 基于分解:面向对象的机制与思想\r\n 3.1 面向对象思想概述 \r\n 3.1.1 OO思想的本质是什么\r\n 3.1.2 面向对象系统对其思想的支持机制\r\n 3.1.3 OO的支持机制的实现\r\n 3.1.4 OO的好处和如何发挥这些优势\r\n 3.2 什么是对象\r\n 3.2.1 对象概念的引入\r\n 3.2.2 对象的静态结构\r\n 3.2.3 对象的空间结构\r\n 3.2.4 对象的时间结构(生命周期)\r\n 3.2.5 对象的环境\r\n 3.2.6 面向对象的系统分析和设计方法的目标\r\n 3.2.7 对象的实际生存环境和实现方式\r\n 3.2.8 小结\r\n 3.3 类\r\n 3.3.1 类的结构(静态结构)\r\n 3.3.2 类的机制\r\n 3.3.3 类之间的相互关系\r\n 3.3.4 接口\r\n 3.3.5 异常\r\n 3.3.6 RTTI和反射\r\n 3.3.7 包\r\n 3.3.8 组件和控件\r\n 3.3.9 CBD设计开发\r\n 3.3.10 消息(事件)\r\n 3.4 对象持久化\r\n 3.4.1 信息持久化的数据库方式\r\n 3.4.2 信息持久化的XML方式\r\n 3.5 本章小结\r\n第4章 UML的概念和使用\r\n第5章 设计求精和设计模式\r\n第6章 系统架构和系统模型\r\n第7章 设计演进和设计优化\r\n第8章 需求捕获和分析\r\n第9章 系统分析员的工作职责与软件开发流程\r\n第10章 后记\r\n附录 Java语言简介\r\n\r\n
欢迎进入系统分析员的世界!这是一个软件技术、系统思想相互支撑的软件开发的世界。好的系统分析员会把一个由破碎的思绪、闪现的灵光、繁琐的需求和缥缈的想像组成的虚幻的系统慢慢地转化为一份符合预算和各方利益的软件实现的方案。而软件开发人员,则通过协调努力完成这份方案。最终,一个能够产生价值的软件系统从抽象的计算世界走了出来,为用户证明着信息的价值和威力。
随着组件技术和新的软件开发工具的投入使用,软件开发人员的开发能力得到了显著的提高,同时软件应用领域也迅速地扩展,许多原来认为软件不能完成的工作,现在却天经地义地交给软件系统了。早期的软件只是数值运算而已,后来出现了大规模的数据处理和联机处理业务。等到字符串取代数值成为运算主要的处理对象的时候,计算机也就脱离了科学计算的束缚,进入了社会经济的其他领域。面对那些没有成熟的计算公式和良好算法的领域,甚至是没有良好的问题形式化描述的领域,系统分析设计工作起到了重要的作用。越是复杂的系统越是如此,系统分析员为信息世界制定着运转的规则。显然,正是系统分析员在需求和实现的机制之间架起了一座桥梁,使得信息系统可以很好地完成现实世界需要的功能。好的系统分析员既了解需求那一端,也就是软件应用领域的情况,也了解具体的编程实现技术那一端,也就是实现技术的情况,不仅如此,他还应该具有实现这种映射和变换的能力。
成为系统分析员需要系统分析理论的学习和实际设计经验的积累。在实际项目的设计过程中,包含了许多技术以外的因素,这也是系统分析设计工作重视经验的原因。但是,掌握扎实的理论可以帮助系统分析员面对飞快发展的技术潮流而有所应对,能够迅速地使自己适应新的生产技术环境。在理论学习过程中,如何使用系统分析的思想和理论是学习的核心,可以把这样的实际理论和原则叫做“应用理论”。本书介绍的内容就是这种应用理论,也就是结合设计过程中的经验介绍理论的应用和应用时的理论,既包括系统分析设计的思想和理论,又阐述了这些理论和实际的分析设计如何结合,特别针对一些实际的设计过程中的典型问题,给出了经过验证的成熟的解决方法。
本书的内容基本涵盖了系统分析员需要掌握的知识和技能,适合软件程序员、软件工程师;高级软件工程师、系统分析员和项目经理阅读。此外,对于软件开发感兴趣的人员也可以作为参考。依据读者自身特点的不同,可以选择以系统分析设计方法、软件架构、系统分析设计理论、需求捕获方法或者是以软件开发过程管理为主,进行阅读和学习。但是也应该了解其他部分的内容,因为真正好的系统分析员需要了解各个方面的知识。本书是基于笔者的面向对象系统分析技术与CMM这门课程的内容和体会撰写的,同时结合了笔者的研究成果和其他企业培训的经验.因此,本书可以作教材从头至尾地学习.另外,各人章节也相对成体系,完整地讲述一个问题,读者可以直接查阅相关的章节,协助完成目前的任务.由于本书的着眼点是理论和方法的含义解释和具体使用,因此,读者结合自已的工作新闻记者本书会有更深的体会.
本书由飞思科技产品研发中心策划,凡是刘寅虓主笔,参与本书编写的工作人员还有刘晶雯,陈海明,梁晔宁,吴小军,刘镇国,潘藏云,李小晶 任玲,黄学文和潘媛颖等,在此一并表示感谢!
由于作者水平有限,加之时间仓促,不足之处 大气层难免,敬请批评指正.