表6-1结构化与面向对象系统开发的比较结构化的开发方法一般采用启发式规则,系统结构定义没有理论依据,完全靠系统分析员的经验和水平,以及对目标系统的认识程度。面向对象的系统开发优点是与人类习惯的思维方式一致,稳定性好,可重用性好,可维护性好。面向对象的系统开发工作的重点应该放在分析阶段上。......
2023-11-23
过去十几年中,人们逐渐从面向过程、面向数据的建模转换到面向对象的建模,即采用了面向对象分析和设计(OOA&OOD)的方法。下面的四个变化是OOA&OOD发展的主要因素:
1)人们的注意力从编码转移到分析与设计,对人员的素质要求更高,需要更好的分析和设计方法。
2)Smalltalk、C++等面向对象的编程语言的成熟,使OOA&OOD得到了有力的支持和促进。
3)系统趋于更大、更复杂、更易变、更注重用户界面。系统最稳定的方面是问题空间的对象对潜在变化最不敏感。用OO方法显式捕捉数据和处理的共性,使代表共性的类及对象稳定下来,而把不稳定的东西隐藏起来,这样可避免增加复杂性,产生更稳定的系统。
4)系统构造更“面向领域”,强调对问题领域的理解,这与OO方法也是吻合的。(www.chuimin.cn)
面向对象语言的发展大大减轻了软件开发的难度,提高了开发效率。但不管技术和工具多么先进,程序设计人员多么优秀,都要先了解需求,考虑设计的问题。面向对象的分析与设计从分析问题空间最稳定的因素——对象出发去构造系统模型,分析事物的本质和相互联系,对问题空间的理解更直接、更准确、更快和更容易。分析和设计阶段直至编程和测试采用统一的表示模型,具有很好的规范性、衔接性和易维护性。相似的项目可以重用以前分析的结果和以前的一些类和对象。
面向对象分析的主要任务是分析问题空间的主要目标和功能,寻找存在的对象,找出这些对象的特征和责任(即属性和服务),以及对象间的关系,并由此产生一个完整表达系统需求的规格说明——“做什么”的描述。
面向对象设计的主要任务是将分析得到的需求做进一步的明确和调整,选用有效的设计样式优化对象结构、设计用户界面类、设计数据库结构等。它强调的是对分析结果的完善和改良,产生一个指导面向对象编程的详细规格说明——“怎么做”的描述。
本书不对OOA和OOD分别讨论,只是以所提出的分析和设计步骤为主线详细展开介绍。
有关信息系统开发方法与实践教程的文章
表6-1结构化与面向对象系统开发的比较结构化的开发方法一般采用启发式规则,系统结构定义没有理论依据,完全靠系统分析员的经验和水平,以及对目标系统的认识程度。面向对象的系统开发优点是与人类习惯的思维方式一致,稳定性好,可重用性好,可维护性好。面向对象的系统开发工作的重点应该放在分析阶段上。......
2023-11-23
面向对象分析主要模拟问题域和系统任务,在设计期间主要扩充4个组成部分:人机交互部分、问题域、任务管理和数据管理。运用UML进行面向对象的系统分析设计,通常要经过如下3个步骤:1)识别系统的用例和角色。......
2023-11-23
UML是一种通用建模语言,它本身具有的可扩展性使其不仅可以用于软件系统开发各个阶段的建模,也可以用于商业和其他几乎所有类型的建模。总体来说,UML由以下几个部分构成。模型元素UML中的模型元素包括事物以及事物之间的联系。通用机制UML提供的通用机制可以为模型元素提供额外的注释、信息或语义。UML的组成结构如图6-1所示。图6-1 UML结构图用例图和类图是面向对象系统开发的重点内容。......
2023-11-23
信息系统的开发具有长期性、复杂性和风险性,需要科学的方法论作指导。常用的信息系统开发方法有结构化系统开发方法、面向对象系统开发方法和原型法三种。像决策支持系统这种具有开发性而无固定需求范围的系统,更适合用原型法进行开发。图1-15 原型法的开发过程本书的第2~5章主要讲述的是结构化的系统开发方法;第6~15章,主要介绍的是面向对象的系统开发方法。......
2023-11-23
继承是指子类可以自动拥有父类的全部属性和操作。另外如图7-2所示,表示出了几种类之间的继承关系,位于上层的类是下层类的直接或间接父类,最下层是几种类实例化成的对象。图7-1 继承的描述图7-2 继承的例子继承性又分为单重继承和多重继承两类。单重继承时一个子类只能有一个父类,多重继承时一个子类可以有多于一个的父类。单重继承构成的类之间关系是一棵树,多重继承构成的类之间的关系是一个图。继承具有传递性。......
2023-11-23
系统实施是开发信息系统的最后一个阶段。系统设计说明书详细规定了系统的结构和各个模块的功能、输入和输出,还规定了数据库的物理结构,这是系统实施的出发点。而系统实施则是调集各种人员、设备、材料在盖楼的现场,根据图样按实施方案的要求把大楼盖起来。系统实施的主要工作有:程序编码、质量保证与控制、数据准备、组织系统测试、项目管理与实施进度控制。......
2023-11-23
这一阶段的任务主要由系统分析员来完成。系统分析阶段是系统详细开发的关键性阶段,关键在于“理解”和“表达”。这是对系统进行概要描述的工具,是系统分析的核心内容。......
2023-11-23
相关推荐