免费智能真题库 > 历年试卷 > 系统分析师 > 2022年上半年 系统分析师 下午试卷 论文
  第2题      
  知识点:   封装   面向对象设计   面向对象设计方法   数据结构

 
面向对象设计方法及其应用
系统设计是根据系统分析的结果,运用系统科学的思想和方法,设计出能满是用户所要求的目标(或目的)系统的过程。面向对象设计方法是一种接近现实的系统设计方法。在该方法中,数据结构和在数据结构上定义的操作算法封装在一个对象之中。
 
问题:2.1   请围绕“面向对象设计方法及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.面向对象设计方法包含多种设计原则,请简要描述其中的三种设计原则。
3.具体阐述你参与管理和开发的项目是如何遵循这三种设计原则进行信息系统设计的。
 
 
 

   知识点讲解    
   · 封装    · 面向对象设计    · 面向对象设计方法    · 数据结构
 
       封装
        面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流,外部不能对对象中的数据随意地进行访问,这就造成了对象内部数据结构的不可访问性,也使得数据被隐藏在对象中。封装的优点体现在以下三个方面。
        (1)好的封装能减少耦合。
        (2)类内部的实现可以自由改变。
        (3)一个类有更清楚的接口。
 
       面向对象设计
        面向对象设计(Object-Oriented Design,OOD)是将OOA所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图。OOA与OOD之间不存在鸿沟,采用一致的概念和一致的表示法,OOD同样应遵循抽象、信息隐蔽、功能独立、模块化等设计准则。
        OOD在复用OOA模型的基础上,包含与OOA对应如下五个活动:
        (1)识别类及对象。
        (2)定义属性。
        (3)定义服务。
        (4)识别关系。
        (5)识别包。
        OOD需要考虑实现问题,如根据所用编程语言是否支持多继承或继承,而调整类结构。
 
       面向对象设计方法
        面向对象设计(Object-Oriented Design,OOD)是OOA方法的延续,是在OOA模型基础上运用面向对象方法,主要解决与实现有关的问题,目标是产生一个符合具体实现条件的OOD模型。由于OOD以OOA模型为基础,且OOA与OOD采用一致的表示法,这使得从OOA到OOD不存在转换,只需做必要的修改和调整。
               设计软件类
               类封装了信息和行为,是面向对象的重要组成部分,它是具有相同属性、方法和关系的对象集合的总称。在系统中,每个类都具有一定的职责,职责是指类所承担的任务。设计类是OOD中最重要的组成部分。在系统设计中,类可以分为三种类型:实体类、边界类和控制类。
                      实体类
                      实体类通常对应现实生活中的实体,它包含了用于描述实体的不同实例的信息(称为属性),还封装了维护其信息或属性的行为(称为方法),它们是系统的核心。
                      实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词。
                      边界类
                      用户通过边界类实现用户界面与系统通信。描述用户直接同系统交互的用例功能应放在边界类中。每个参与者或用户都要通过各自的边界类同系统通信。边界类将系统与其外部环境的变更分隔开,使这些变更不会对系统的其他部分造成影响。
                      控制类
                      控制类实现系统的业务逻辑或业务规则。一般来说,每个用例由一个或多个控制类来实现。控制类通过向实体类发送消息和从实体类接收消息,处理来自边界类的消息并响应这些消息。控制类用于对一个或几个用例所特有的控制行为进行建模。
               面向对象设计过程
               面向对象设计期间,需要对面向对象分析期间得到的模型加以精炼,以反映所建议的方案的实际情况。
               面向对象设计主要包括以下活动。
                      对用例模型加以精炼以反映实现环境
                      在对用例模型的精炼过程中,参与者如何实际地与系统进行交互、系统如何响应激励处理业务事件的细节以及用户访问系统的方法等都应该被详细地描述,将OOA得到的分析用例转换成设计用例。
                      所有的系统分析用例被转换成设计用例后,可能会发现新的用例、用例关系甚至参与者,所以在这个活动中应对用例模型进行适当的修改。
                      建模支持用例情景的对象交互、行为和状态
                      在这个活动中,将确定并分类设计类(即实体类、边界类和控制类),这些设计类说明了用例中的功能需求,并且还要确定类之间的交互、类责任和行为。
                      修改对象模型以反映实现环境
                      一旦设计了对象及其所需的交互,就可以对类图加以精炼,以表示应用程序中的软件类,将分析类图转换为设计类图。设计类图通常包括以下内容:类;关联关系、泛化/特化关系、聚集关系;属性和属性类型信息;带参数的方法;导航能力和依赖关系。
 
       数据结构
        根据数据元素之间关系的不同特性,通常有下列4类基本的逻辑结构,即集合结构、线性结构、树形结构、图形结构。
        1)线性结构
        线性表是最常用且最简单的一种数据结构。线性表中除第一个元素外,每个元素均只有一个直接前驱;除最后一个元素外,每个元素都只有一个直接后继。
        栈是限定仅在表尾进行插入或删除操作的线性表,是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。
        队列是一种先进先出(FIFO)的线性表,它只允许在表的一端进行插入,而在另一端删除元素。
        2)树
        树是nn≥0)个互不相交的有限集,当n=0时称为空树。在一棵非空树中,有且仅有一个节点称为根节点;当n>1时,其余的节点可分为若干个不相交的集合,其中每一个集合本身又是一棵树,这些集合称为根节点的子树。
        3)图
        图是由两个集合VE组成的二元组,记为G=(V, E),其中V是顶点的非空有限集合,E是图中边的有限集合。
   题号导航      2022年上半年 系统分析师 下午试卷 论文   本试卷我的完整做题情况  
1 /
2 /
 
第2题    在手机中做本题